Skip to content

Sales Enablement

Lemlist
API integration

Ship Sales Enablement features without building the integration. Full Lemlist API access via Proxy, normalized data through Unified APIs, and 70+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Lemlist

Use Cases

Why integrate with Lemlist

Common scenarios for SaaS companies building Lemlist integrations for their customers.

01

Power autonomous AI SDR agents with live Lemlist outreach

AI sales agent platforms can use Truto to push AI-researched prospects and generated copy directly into active Lemlist campaigns on behalf of the correct sender, enabling fully autonomous outbound sequences without manual intervention.

02

Route intent-triggered leads to the right sales rep's sequence

Intent data and job-change tracking platforms can match prospects to the correct Lemlist user via Truto's Unified User Directory API, ensuring automated enrollments send from the right rep's mailbox for maximum relevance and deliverability.

03

Sync CRM contacts into Lemlist sequences from a single pane of glass

Niche and vertical CRMs can offer one-click sequence enrollment by pushing contacts into Lemlist campaigns through Truto, giving their users outbound automation without leaving the CRM.

04

Build unified sales performance dashboards across outreach tools

Revenue intelligence and BI platforms can pull Lemlist campaign analytics alongside data from other sales tools via Truto, giving revenue leaders a consolidated view of outbound performance metrics.

05

Pause outreach automatically when deals progress

Pipeline management tools can react to deal-stage changes by removing or pausing prospects in Lemlist sequences via Truto, preventing awkward cold emails from reaching prospects who are already in active conversations.

What You Can Build

Ship these features with Truto + Lemlist

Concrete product features your team can ship faster by leveraging Truto’s Lemlist integration instead of building from scratch.

01

Rep-aware lead routing for outbound enrollment

Map your platform's users to Lemlist Users and Workspaces via Truto's Unified User Directory API so leads are always enrolled under the correct SDR's sender identity.

02

Workspace and team member sync

Automatically import and keep in sync the Lemlist Team (Workspace) structure and its Users so your product reflects the customer's real sales org.

03

One-click sequence enrollment from your UI

Let your users select a contact in your app and push them into a specific Lemlist campaign with pre-populated custom variables — no tab-switching required.

04

AI-generated icebreaker injection

Pass AI-written personalization fields like custom icebreakers or research summaries as dynamic variables when adding leads to Lemlist campaigns through Truto.

05

Engagement-driven lead scoring updates

Listen for Lemlist activity events like email replies and LinkedIn interactions via webhooks, then update lead scores and trigger alerts inside your product in real time.

06

Outbound activity timeline in your CRM

Surface Lemlist send, open, reply, and bounce events on your product's contact timeline so users see the full engagement history without leaving your app.

SuperAI

Lemlist AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_lemlist_teams

Get the lemlist team associated with the authenticated API key. Returns the team object including _id, name, userIds, createdBy, createdAt, hooks, slackWebhook, invitedUsers, customDomain, agency, beta, and pictureId. Pass version=v2 to additionally receive the users array with each member's userId, name, email, and role.

list_all_lemlist_team_senders

List all team senders in lemlist, each with their associated campaigns. Returns: userId, campaigns. Optionally filter by campaign state.

list_all_lemlist_team_credits

Get the remaining credit balance for a lemlist team. Returns: credits, details.

list_all_lemlist_team_crm_users

List team members in lemlist whose CRM account is connected to the team. Returns an array of records, each with userId and crm (the name of the connected CRM platform).

get_single_lemlist_user_by_id

Get a single lemlist user by id. Returns the user's _id, email, role, linkedIn connection details (limits, URL, status), and an array of mailboxes (each with _id, email, provider, status, and email/warm limits). Required: id.

list_all_lemlist_campaigns

List lemlist campaigns. Returns: _id, name, emoji, labels, createdAt, createdBy, status, sequenceId, scheduleIds, timezone, teamId, hasError, errors, creator, senders. Filter by status, createdBy, sortBy, and sortOrder. Max 100 per page.

create_a_lemlist_campaign

Create a new lemlist campaign. Returns: _id, sequenceId, scheduleIds, teamId, createdBy, createdAt, state, scannedCount, reviewedCount, inSequenceLeadCount, variableKeys, senders, sendUsers, displayedVariableKeys, emoji, stopOnEmailReplied, crmOpportunitiesOnTask, unsubscribe, name, crm, crmUserId. Required: name.

get_single_lemlist_campaign_by_id

Get a single lemlist campaign by id. Returns: _id, name, emoji, labels, createdAt, createdBy, status, sequenceId, scheduleIds, timezone, teamId, hasError, errors, creator, senders. Required: id.

update_a_lemlist_campaign_by_id

Update a lemlist campaign by id. Returns: name, stopOnEmailReplied, stopOnMeetingBooked, stopOnLinkClicked, leadsPausedByInterest, opportunityReplied, opportunityClicked, autoLeadInterest, disableTrackOpen, disableTrackClick, disableTrackReply, disableOutOfOffice, sequenceSharing, stopOnLinkClickedFilter, sendUsers. Required: id.

lemlist_campaigns_pause

Pause a lemlist campaign, halting all active outreach for the specified campaign. Returns: _id, state. Required: campaign_id.

list_all_lemlist_campaigns_reports

List lemlist campaign reports for one or more campaigns. Returns per-campaign aggregated statistics including _id, name, state, status, emailsSent, emailsOpened, emailsReplied, linkedinSent, linkedinReplied, totalCount, and interested lead counts. Required: campaignIds.

list_all_lemlist_campaign_sequences

List all sequences for a lemlist campaign. Returns a map where each key is a sequence ID and each value is a sequence object containing _id, steps (each with _id, delay, type, message, subject, and conditions), level, parentId, and conditionalStepIndex. Required: campaign_id.

list_all_lemlist_campaign_schedules

List all schedules associated with a specific campaign in lemlist. Returns an array of schedule objects, each including: _id, name, timezone, start, end, weekdays, secondsToWait, teamId, createdBy, and createdAt. Required: campaign_id.

create_a_lemlist_campaign_schedule

Associate an existing schedule with a campaign in lemlist. Returns: scheduleId, campaignId. Required: campaign_id, schedule_id.

list_all_lemlist_campaign_stats

Retrieve detailed statistics for a lemlist campaign within a date range, with optional filtering by user, A/B variant, and communication channel. Returns: nbLeads, nbLeadsLaunched, nbLeadsReached, nbLeadsOpened, messagesSent, delivered, opened, clicked, replied, perChannel, steps, and 10 more. Required: campaign_id, startDate, endDate.

list_all_lemlist_schedules

List lemlist schedules. Returns: _id, name, secondsToWait, timezone, start, end, weekdays, public, teamId, createdBy, createdAt, deletedAt, deletedBy. Optionally sort results with sortBy and sortOrder.

create_a_lemlist_schedule

Create a new lemlist schedule. Returns the created schedule including _id, name, timezone, start, end, weekdays, secondsToWait, public, teamId, createdBy, and createdAt. Required: name, timezone, start, end, weekdays.

get_single_lemlist_schedule_by_id

Get a single lemlist schedule by id. Returns: _id, name, secondsToWait, timezone, start, end, weekdays, public, teamId, createdBy, createdAt, deletedAt, deletedBy. Required: id.

update_a_lemlist_schedule_by_id

Update a lemlist schedule by id. All body fields are optional. Returns the updated schedule including _id, name, timezone, start, end, weekdays, secondsToWait, public, teamId, createdBy, and createdAt. Required: id.

delete_a_lemlist_schedule_by_id

Delete a lemlist schedule by id. Returns the _id of the deleted schedule on success. Required: id.

create_a_lemlist_sequence_step

Add a step to a lemlist sequence. Returns the created step including _id, type, delay, emailTemplateId, and message. Required: sequence_id. Supported step types include email, LinkedIn actions, phone, manual, API, conditional, WhatsApp, and SMS.

update_a_lemlist_sequence_step_by_id

Update an existing lemlist sequence step by id. Returns the updated step including _id, type, delay, emailTemplateId, and message. Required: sequence_id, id, type. The type field must match the existing step type and cannot be changed.

delete_a_lemlist_sequence_step_by_id

Delete a step from a lemlist sequence by id. Returns: ok. Required: sequence_id, id.

get_single_lemlist_lead_by_id

Get a single lemlist lead by id. Returns the lead object including _id, createdAt, updatedAt, isPaused, state, status, source, personalized, variables (firstName, lastName, email, etc.), campaign, enrichment, contactId, and sendingUser. Required: id.

lemlist_leads_search

Search for a lemlist lead by email address or lead ID. Returns _id, isPaused, contactId, state, status, variables, campaign, and enrichment in v2 format, or a flat legacy response with firstName, lastName, campaignId, and emailStatus. Supply at least one of email or lead_id.

create_a_lemlist_campaign_lead

Create a new lead in a lemlist campaign. A contact already in the campaign is refused with 400; use `update` for existing leads. Returns: campaignId, campaignName, email, firstName, lastName, companyName, jobTitle, companyDomain, _id, isPaused, contactId, hubspotLeadId, salesforceContactId, salesforceLeadId, and 3 more. Required: campaign_id.

update_a_lemlist_campaign_lead_by_id

Update an existing lead in a lemlist campaign by id, applying changes to the lead, its linked contact, and company. Returns: campaignId, campaignName, leadUrl, email, firstName, lastName, companyName, jobTitle, companyDomain, preferredContactMethod, _id, isPaused, contactId, emailStatus, warnings. Required: campaign_id, id.

lemlist_campaign_leads_bulk_delete

Unsubscribe (remove) a lead from a lemlist campaign by email address. Returns the removed lead record including: _id, email, firstName, lastName, isPaused, campaign_id, contactId. Required: campaign_id, email.

create_a_lemlist_leads_start

Resume a paused lead in lemlist. Returns the updated lead record including _id, firstName, lastName, email, isPaused, campaignId, contactId, and emailStatus. Required: start_id.

create_a_lemlist_leads_pause

Pause a lead in lemlist, optionally scoped to a specific campaign. Returns an array of updated lead objects including _id, email, isPaused, campaignId, contactId, emailStatus, firstName, lastName, companyName, jobTitle, companyDomain, preferredContactMethod, and industry. Required: pause_id.

create_a_lemlist_leads_interested

Mark a lead as interested across all lemlist campaigns by their ID or email. Returns an array of lead objects, each including _id, email, firstName, lastName, campaignId, contactId, emailStatus, isPaused, companyName, jobTitle, companyDomain, preferredContactMethod, and industry. Required: lead_id_or_email.

create_a_lemlist_leads_notinterested

Mark a lead as not interested across all campaigns in lemlist. Returns an array of lead objects each containing _id, email, campaignId, contactId, emailStatus, firstName, lastName, isPaused, jobTitle, companyName, companyDomain, industry, and preferredContactMethod. Required: lead_id_or_email.

create_a_lemlist_lead_interested

Mark a lead as interested in a lemlist campaign. Returns the updated lead object including _id, email, campaign_id, contactId, emailStatus, isPaused, firstName, and lastName. Required: campaign_id, lead_id_or_email.

create_a_lemlist_lead_notinterested

Mark a lead as not interested in a lemlist campaign. Returns the updated lead object including _id, email, campaign_id, emailStatus, firstName, lastName, isPaused, jobTitle, companyName, companyDomain, contactId, and other contact fields. Required: campaign_id, lead_id_or_email.

create_a_lemlist_lead_variable

Add custom variables to a lemlist lead and set their initial values. Pass each custom variable name and its value as a query parameter (e.g., customField1, customField2). Returns: ok, warnings. Required: lead_id.

lemlist_lead_variables_bulk_update

Update values of existing custom variables on a lemlist lead. Pass each custom variable name and its new value as a query parameter. Default variables are also written to the lead's linked contact and company. Returns: ok, warnings. Required: lead_id.

lemlist_lead_variables_bulk_delete

Erase the values of custom variables on a lemlist lead. Pass each custom variable name to clear as a query parameter. Returns: ok, warnings. Required: lead_id.

create_a_lemlist_leads_audio

Upload an audio file for a voice message step in lemlist. Returns: ok, status. Required: leadId, stepId.

list_all_lemlist_hooks

List all webhooks configured in lemlist. Returns an array of webhook objects, each including _id, targetUrl, createdAt, type, campaignId, zapId, and isFirst.

create_a_lemlist_hook

Add a new webhook in lemlist to receive event notifications at a target URL. Returns the created webhook object including _id, targetUrl, createdAt, and type. Required: targetUrl. Max 200 webhooks per team; targetUrl must be unique across the workspace.

delete_a_lemlist_hook_by_id

Delete a lemlist webhook by id. Returns the deleted webhook object including _id, targetUrl, createdAt, type, and campaignId. Required: id.

list_all_lemlist_unsubscribes

List all unsubscribed variables in lemlist, including emails, domains, LinkedIn URLs, and phone numbers. Returns: _id, value, source, createdAt. Max 100 entries per page.

get_single_lemlist_unsubscribe_by_id

Get a specific unsubscribed variable in lemlist by id. Returns: _id, value, variable, source. Required: id.

create_a_lemlist_unsubscribe

Unsubscribe a variable (email address, domain, LinkedIn URL, or phone number) in lemlist. Idempotent — returns the existing record if already unsubscribed. Returns: _id, value, variable, source. Required: value.

delete_a_lemlist_unsubscribe_by_id

Re-subscribe a variable in lemlist by id, removing it from the unsubscribe list. Variables with a protected source (LEAD or ABUSE) cannot be re-subscribed. Returns a string confirmation on success. Required: id.

list_all_lemlist_unsubs_exports

List all unsubscribed variables (email addresses or domains) exported from lemlist. Returns records including _id, value, source, and createdAt.

get_single_lemlist_enrich_by_id

Get the state and result of a lemlist enrichment by id. Returns: enrichmentId, enrichmentStatus, input, data, failedWorkflows, code, reason, error. The HTTP status reflects the enrichmentStatus: 200 for done, 202 for in-progress, 400 for failed, 404 for not-found. Prefer webhooks over polling. Required: id.

create_a_lemlist_enrich

Start a lemlist enrichment for one person. Returns the enrichment id immediately; results are delivered asynchronously via webhook or via the get endpoint. At least one of findEmail, findPhone, verifyEmail, or linkedinEnrichment must be set to true. Every call uses credits, even for a previously enriched person.

create_a_lemlist_lead_enrich

Start an enrichment for a lemlist lead from its contact data. Returns: id. Required: lead_id. At least one of findEmail, findPhone, verifyEmail, or linkedinEnrichment must be enabled.

list_all_lemlist_export_starts

Start an asynchronous campaign statistics export in lemlist, which produces a CSV file. Returns the export job object including id, status, campaignName, startedAt, progress, total, and progressType. Required: campaign_id.

list_all_lemlist_export_status

Check the status of an asynchronous campaign export in lemlist. Returns ok (success flag) and a status object containing id, campaign_id, campaignName, status (pending/done/error), progress, total, startedAt, and — when complete — endedAt, fileSize, and url (CSV download link). Required: campaign_id, export_id.

lemlist_export_emails_bulk_update

Set a notification email address for a lemlist campaign export. When the export completes, lemlist sends the download URL to the specified email. Returns: ok, status. Required: campaign_id, export_id, email.

list_all_lemlist_export_leads

Export leads from a lemlist campaign in JSON or CSV format, optionally filtered by lead state. Returns an array of lead objects including _id, email, emailStatus, firstName, lastName, lastState, status, companyName, linkedinUrl, and CRM integration ids (hubspotId, salesforceId, pipedriveId, attioId). Required: campaign_id.

list_all_lemlist_crm_filters

List the filters from which leads can be imported in your connected CRM — HubSpot contact lists, Salesforce list views or reports, or Pipedrive filters. Returns each filter's id and name. Pass the returned id to the Import Leads from CRM endpoint. For Salesforce, optionally scope results by type (lead, contact, or report).

create_a_lemlist_leads_import

Import leads into a lemlist campaign from a connected CRM filter, linking the campaign to that filter for recurring automatic imports. The import runs in the background — leads appear over the next minutes, not in the response. Returns: ok, importPending, reason. Required: campaign_id, filterId.

list_all_lemlist_activities

List lemlist activities across campaigns and leads. Returns: _id, type, leadId, campaignId, sequenceId, stepId, sequenceStep, createdAt, contactId, leadEmail, teamId, userId, userName, bot, campaignName, opportunityId, metaData, and 7 more. Optionally filter by type, campaignId, leadId, isFirst, minDate, or maxDate. Required: version.

lemlist_enrichments_bulk_create

Send a batch of up to 500 enrichment requests in lemlist in a single call. Returns one result per input row, each containing id (when the row started), error, message, and metadata (echoed back). Required per row: input and enrichmentRequests. Each call starts new enrichments and consumes credits, even for previously enriched contacts.

list_all_lemlist_database_filters

List available lemlist People Database filters, optionally scoped by usage context or search mode. Returns an array of filter objects; each item includes filterId, description, mode, type, and — depending on the filter type — either a values list (for select filters) or a range object (for slider filters). Optional: usage, mode.

create_a_lemlist_database_people

Search the lemlist People database by applying attribute filters (e.g. country, department, company). Returns: results, total, took, page, size, search, limitation, team. Supply filters or fromSearchId to define the search criteria.

create_a_lemlist_database_company

Search the lemlist Companies database using structured filters with pagination support. Returns company records including company_id, company_name, company_industry, company_location, techno_used_array, company_headquarters_country, and additional business intelligence fields. Max 500 results per page.

list_all_lemlist_tasks

Search lemlist tasks using flat filters and an optional advanced filter tree, with the same vocabulary as the Tasks page. Returns each task's _id, type, status, channel, dueDate, priority, assignedTo, title, campaign, ownerName, and lead name fields. Every status is returned unless narrowed by the status filter.

create_a_lemlist_task

Create a manual task in lemlist associated with a contact, company, or lead. Returns the created task including _id, type, title, dueDate, userId, content, priority, leadId, campaignId, and contactId. Required: type, assignedTo, dueDate.

lemlist_tasks_bulk_update

Update details of a lemlist task such as assignment, due date, title, message, priority, or completion status. Returns the updated task including _id, type, title, dueDate, userId, content, and priority. Required: id.

create_a_lemlist_tasks_ignore

Ignore one or more lemlist tasks by their IDs. Marks the specified tasks as ignored so they no longer appear in the active task list. Returns an empty success response on success. Required: ids.

list_all_lemlist_inboxes

List inbox conversations in lemlist filtered by a user ID. Returns: _id, leadId, messages, createdAt, opportunities, lastActivityAt, createdBy, channels, teamId, contactId, users, haveReplies, lastRepliedAt, lastRepliedChannel, contact. Required: userId.

get_single_lemlist_inbox_by_id

Get messages for a lemlist inbox conversation by contact ID. Returns: _id, conversationId, sender, recipient, body, sentAt, type, messageId, createdAt, teamId, leadId, campaignId, sequenceId, sequenceStep, sendUserId, sendUserName, sendUserEmail, sendUserMailboxId, leadEmail, contactId, message, subject, attachments. Required: id.

create_a_lemlist_inbox_email

Send an email from a lemlist inbox to a contact or lead, optionally replying within an existing thread. Returns: ok, contactId. Required: sendUserId, sendUserEmail, sendUserMailboxId, message. Either contactId or leadId must also be supplied.

create_a_lemlist_inbox_linkedin

Send a LinkedIn message via lemlist. Returns: ok. Required: sendUserId, leadId, contactId, message.

create_a_lemlist_inbox_whatsapp

Send a WhatsApp message via lemlist to a specific lead and contact. Returns an empty 200 response on success. Required: sendUserId, sendUserWhatsappAccountId, contactId, leadId, message.

list_all_lemlist_contacts

List lemlist contacts, optionally filtered by search, email, contact list, company, campaign membership, CRM sync status, or field rejection reason. Returns: _id, teamId, fullName, email, firstName, lastName, jobTitle, ownerId, companyId, createdAt, createdBy, unsubscribed, campaignCount, crmSync, fieldRejections.

get_single_lemlist_contact_by_id

Get a single lemlist contact by id. Returns the full Contact object including _id, email, fullName, fields (firstName, lastName, jobTitle, industry, leadStatus), campaigns (campaignId, campaignState, leadState, leadId), ownerId, createdAt, createdBy, and unsubscribed. Required: id.

lemlist_lemwarms_start

Start lemwarm for a specific user mailbox in lemlist. Returns: ok. Required: user_mailbox_id.

lemlist_lemwarms_pause

Pause lemwarm for a specific user mailbox in lemlist. Returns: ok. Required: user_mailbox_id.

list_all_lemlist_lemwarm_settings

Get lemwarm settings for a specific user mailbox in lemlist. Returns: active, dailyLimit, warmupTemplate, warmDailyVarianceEnabled, deliverability, warmEmailRampup, warmEmailMax, activeAt. Required: user_mailbox_id.

lemlist_lemwarm_settings_bulk_update

Update lemwarm settings for a specific user mailbox in lemlist. Returns: ok. Required: user_mailbox_id.

list_all_lemlist_companies

List companies in lemlist with optional filters by IDs/domains, CRM record IDs, name search, list membership, CRM sync status, or field rejection reason. Returns: _id, teamId, domain, linkedinUrl, linkedinUrlSalesNav, fields, accountPenetration, createdBy, ownerId, createdAt, source, fieldRejections, crmSync.

list_all_lemlist_company_notes

List notes for a lemlist company. Returns an array of note records, each including _id, company_id, note, createdAt, userId, and teamId. Required: company_id.

create_a_lemlist_company_note

Create a note for a lemlist company. Returns the created note including _id, company_id, note, type, createdAt, userId, sendUserId, and teamId. Required: company_id, note.

list_all_lemlist_fields

List all fields defined in lemlist, grouped by entity type. Returns: contact, company. Optionally filter by entity and/or source.

Why Truto

Why use Truto’s MCP server for Lemlist

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1000+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

For your product

Ship Lemlist tools in your product

Give the AI in your product access to each customer’s own Lemlist account, with one MCP server per connected account.

Rather talk it through? Book a demo

Elaichi

For your own team

Use Lemlist in ChatGPT or Claude yourself

Connect your company’s Lemlist once, then ask in the AI you already use, with exactly your own access.

From the team behind Truto · 14-day free trial

Unified APIs

Unified APIs for Lemlist

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Users

The User object represents a User.

View Docs

Workspaces

Workspaces represent concepts like teams, workspaces, projects in apps that support them

View Docs

How It Works

From zero to integrated

Start with Lemlist in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.

01

Link your customer’s Lemlist account

Use Truto’s frontend SDK to connect your customer’s Lemlist account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Lemlist

Truto’s Proxy API is a 1-to-1 mapping of the Lemlist API. You call us, we call Lemlist, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Lemlist’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Lemlist on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does Lemlist's API use?

Lemlist supports Basic Auth (using an API key) and OAuth. Truto handles the auth flow for you, so your end users can connect their Lemlist accounts without your team managing tokens or credentials directly.

What Unified APIs does Truto offer for Lemlist?

Truto currently maps Lemlist to the Unified User Directory API, covering Users and Workspaces (Lemlist Teams). This lets you resolve which rep and team a lead should be routed to. Additional tools and unified models can be built on request.

Can I push leads into Lemlist campaigns through Truto?

Lemlist's API supports adding leads to campaigns with custom variables. While specific Truto tools for this are built on request, the integration can be scoped to cover lead creation, campaign enrollment, and dynamic variable injection based on your needs.

How does Truto handle Lemlist's rate limits and pagination?

Truto abstracts away API-specific quirks including rate limiting and pagination. When you query Users or Workspaces through the Unified User Directory API, Truto manages retries and page cursors so your code doesn't have to.

Can I receive real-time engagement events from Lemlist?

Lemlist supports webhook subscriptions for events like emailsSent, emailsOpened, emailsReplied, emailsBounced, and linkedinInterested. Truto can be configured to relay these events to your application — contact the team to scope this for your use case.

What if I need Lemlist API coverage beyond Users and Workspaces?

Truto builds additional tools and unified model mappings on request. Common asks include campaign management, lead enrollment, activity polling, and enrichment endpoints. Reach out to scope what you need and Truto will build it.

Lemlist

Get Lemlist integrated into your app

Our team understands what it takes to make a Lemlist integration successful. A short, crisp 30 minute call with folks who understand the problem.