# Lemlist — how to use (mcp.ai)

Connect your Lemlist account and use 54 tools for marketing automation straight from your AI agent. Connect with your own API key. lemlist is a prospecting tool that automates multichannel outreach, enabling users to find leads with valid contact information and reach them across email, LinkedIn, or calls with personalized messages.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_lemlist?ms=1787295780000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `lemlist_create_company_note`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/lemlist`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/lemlist/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/lemlist/create/company/note` — Tool to create a note attached to a specific company. Use when you need to add annotations or notes to a company record for tracking purposes.
  - body: { note: string, companyId: string }
- `POST https://api.mcp.ai/api/lemlist/delete/delete/schedule` — Tool to delete a specific schedule by scheduleId. Use when you need to remove a schedule permanently after confirming its ID.
  - body: { scheduleId: string }
- `POST https://api.mcp.ai/api/lemlist/delete/delete/unsubscribe/email` — Tool to delete an email from the unsubscribed list. Use when restoring a subscriber who has opted back in and you need to remove them from the suppressed contacts.
  - body: { email: string }
- `POST https://api.mcp.ai/api/lemlist/delete/unsubscribe/lead/from/campaign` — Tool to unsubscribe a lead from a campaign. Use when you need to stop further outreach by removing a lead from the specified campaign.
  - body: { leadId: string, campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/all/webhooks` — Tool to retrieve the list of all webhooks configured for the team. Use when you need to sync or audit active webhooks.
- `POST https://api.mcp.ai/api/lemlist/get/campaign/by/id` — Tool to retrieve a specific campaign by campaignId. Use when you need detailed campaign information by ID.
  - body: { campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/campaign/export/start` — Tool to start an asynchronous export of all campaign statistics (CSV). Use when you need to initiate a CSV export for a given campaign and track its progress.
  - body: { campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/campaign/export/status` — Tool to check the status of an asynchronous campaign export. Use after starting an export to poll until done or error.
  - body: { exportId: string, campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/campaign/sequences` — Tool to retrieve a list of all sequences for a campaign with steps and conditions. Use after fetching campaign to inspect its nested sequences and branching rules.
  - body: { campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/campaign/stats` — Tool to retrieve performance statistics for a specific campaign within a date range. Use when you need campaign analytics including lead engagement, message delivery, and step-by-step performance metr
  - body: { endDate: string, channels?: string[], sendUser?: string, startDate: string, ABSelected?: string, campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/companies/schema` — Tool to retrieve the schema definition for companies in the people database. Use when you need to understand the structure, fields, and data types available for company records.
- `POST https://api.mcp.ai/api/lemlist/get/contact/messages` — Tool to retrieve all messages exchanged with a specific contact. Use when you need to fetch conversation history for a contact by their contactId.
  - body: { skip?: integer, limit?: integer, userId?: string, contactId: string, markAsRead?: boolean }
- `POST https://api.mcp.ai/api/lemlist/get/database/filters` — Tool to retrieve available filters for searching the people and companies database. Use when you need to discover what search criteria are available before querying the database.
- `POST https://api.mcp.ai/api/lemlist/get/export/campaign/leads` — Tool to export campaign leads with state filtering and choose between JSON or CSV output. Use when you need to download leads and their statuses for reporting or analysis.
  - body: { state: string, format?: string, campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/get/export/unsubscribes` — Tool to download a CSV file containing all unsubscribed email addresses. Use when you need to export the full unsubscribes list for analysis or archival.
- `POST https://api.mcp.ai/api/lemlist/get/get/unsubscribe/email` — Tool to retrieve a single unsubscribed email record. Use when you need to verify if a specific email has opted out of campaigns before re-subscribing them.
  - body: { email: string }
- `POST https://api.mcp.ai/api/lemlist/get/label` — Tool to retrieve information about a specific label by its ID. Use when you need details about an inbox label.
  - body: { labelId: string }
- `POST https://api.mcp.ai/api/lemlist/get/list/campaigns` — Tool to retrieve a list of campaigns for the team. Use when you need to discover campaign IDs, names, or statuses before performing operations like auditing or pausing campaigns.
  - body: { page?: integer, limit?: integer, offset?: integer, sortBy?: string, status?: string, sortOrder?: string }
- `POST https://api.mcp.ai/api/lemlist/get/list/tasks` — Tool to retrieve all pending tasks assigned to team members. Use when you need to view tasks by campaign, assignee, or other filters. Completed tasks are automatically excluded from results.
  - body: { page?: integer, filters?: string }
- `POST https://api.mcp.ai/api/lemlist/get/list/team/senders` — Tool to retrieve all team members and their associated campaigns. Use when you need to discover which team members are managing which campaigns or to understand campaign distribution across the team.
  - body: { state?: string }
- `POST https://api.mcp.ai/api/lemlist/get/list/watchlist/signals` — Tool to retrieve paginated watchlist signals with filtering and sorting. Use when you need to fetch signals from watchlists based on type, status, date range, or specific watchlist ID.
  - body: { page?: integer, type?: string, limit?: integer, offset?: integer, sortBy?: string, status?: string, sortOrder?: string, watchListId?: string, receivedAtTo?: string, receivedAtFrom?: string }
- `POST https://api.mcp.ai/api/lemlist/get/people/schema` — Tool to retrieve the schema definition for people in the people database. Use when you need to understand available fields and their structure before querying or importing people data.
- `POST https://api.mcp.ai/api/lemlist/get/retrieve/activities` — Tool to fetch recent campaign activities. Use after authentication to retrieve activities filtered by campaignId, type, or limit.
  - body: { type?: string, limit?: integer, leadId?: string, offset?: integer, isFirst?: boolean, contactId?: string, campaignId?: string }
- `POST https://api.mcp.ai/api/lemlist/get/retrieve/lead/by/email` — Tool to retrieve a lead by their email address. Use when you have a lead's email to fetch complete lead details.
  - body: { email: string }
- `POST https://api.mcp.ai/api/lemlist/get/retrieve/unsubscribes` — Tool to retrieve the list of all people who are unsubscribed. Use when you need to sync or audit unsubscribed contacts across your campaigns.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/lemlist/get/team/credits` — Tool to retrieve credits left in the team. Use after authenticating your session.
- `POST https://api.mcp.ai/api/lemlist/get/team/info` — Tool to retrieve information about your team. Use after authentication to inspect current team settings, members, webhooks, and enabled features. Verify the returned teamId matches the intended worksp
- `POST https://api.mcp.ai/api/lemlist/get/user` — Tool to retrieve all information for a specific user by their ID. Use when you have a user ID to fetch complete user details including LinkedIn settings and connected mailboxes.
  - body: { userId: string }
- `POST https://api.mcp.ai/api/lemlist/get/user/info` — Tool to retrieve all information of the authenticated user. Use after confirming a valid access token.
- `POST https://api.mcp.ai/api/lemlist/list/companies` — Tool to retrieve a paginated list of all companies in your CRM. Use when you need to discover companies, search by name, or fetch company details for further operations.
  - body: { page?: integer, limit?: integer, fields?: string, search?: string, sortBy?: string, sortOrder?: string }
- `POST https://api.mcp.ai/api/lemlist/list/company/notes` — Tool to retrieve all notes associated with a specific company. Use when you need to view annotations, comments, or activities logged against a company record.
  - body: { page?: integer, limit?: integer, sortBy?: string, companyId: string, sortOrder?: string }
- `POST https://api.mcp.ai/api/lemlist/list/labels` — Tool to list all labels available to your team. Use when you need to retrieve the full list of labels for inbox organization or filtering.
- `POST https://api.mcp.ai/api/lemlist/patch/mark/lead/as/not/interested/in/campaign` — Tool to mark a lead as not interested in a specific campaign. Use after confirming campaign and lead IDs to set status to not_interested.
  - body: { campaignId: string, leadIdOrEmail: string }
- `POST https://api.mcp.ai/api/lemlist/patch/update/campaign` — Tool to update settings of a campaign. Use after fetching or creating a campaign to adjust name, stop-on behaviors, and other campaign flags.
  - body: { name?: string, campaignId: string, sequenceSharing?: boolean, autoLeadInterest?: boolean, disableTrackOpen?: boolean, disableTrackClick?: boolean, disableTrackReply?: boolean, stopOnLinkClicked?: boolean, opportunityClicked?: boolean, opportunityReplied?: boolean, stopOnEmailReplied?: boolean, stopOnMeetingBooked?: boolean, leadsPausedByInterest?: boolean, stopOnLinkClickedFilter?: string }
- `POST https://api.mcp.ai/api/lemlist/patch/update/schedule` — Tool to update an existing schedule with new parameters. Use after retrieving schedule details to adjust days, time window, and limits.
  - body: { days?: string[], name?: string, enabled?: boolean, sendEnd?: string, timezone?: string, maxPerDay?: integer, sendStart?: string, scheduleId: string }
- `POST https://api.mcp.ai/api/lemlist/patch/update/sequence/step` — Tool to update an existing step in a sequence (edit subject/message/delay/etc.) by sequenceId and stepId. Use after retrieving sequences to modify step content or timing.
  - body: { url?: string, type: string, delay?: integer, title?: string, method?: string, stepId: string, message?: string, subject?: string, delayType?: string, altMessage?: string, campaignId?: string, sequenceId: string, conditionKey?: string }
- `POST https://api.mcp.ai/api/lemlist/post/add/step/to/sequence` — Tool to add a new step (email, LinkedIn, conditional, etc.) to an existing sequence. Use when building or editing campaign sequences to add outreach steps.
  - body: { url?: string, type: string, delay?: integer, index?: integer, title?: string, method?: string, message?: string, subject?: string, delayType?: string, altMessage?: string, campaignId?: string, sequenceId: string, conditionKey?: string }
- `POST https://api.mcp.ai/api/lemlist/post/add/unsubscribe/email/domain` — Tool to add an email or domain to the unsubscribed list. Use when you need to globally block sending to a specific recipient or domain.
  - body: { email: string }
- `POST https://api.mcp.ai/api/lemlist/post/add/variables/to/lead` — Tool to add one or more variables to a lead. Use when you need to enrich a lead with custom data after its creation or retrieval.
  - body: { leadId: string, company: string, variables: object }
- `POST https://api.mcp.ai/api/lemlist/post/associate/schedule/with/campaign` — Tool to associate a schedule with a campaign. Use after confirming both campaignId and scheduleId to bind a schedule to its campaign.
  - body: { campaignId: string, scheduleId: string }
- `POST https://api.mcp.ai/api/lemlist/post/create/campaign` — Tool to create a new campaign. Use after confirming the team ID. Returns campaign, sequence, and schedule IDs nested under a `data` key (e.g., `result['data']['campaignId']`).
  - body: { name: string, teamId: string }
- `POST https://api.mcp.ai/api/lemlist/post/create/label` — Tool to create a new label for inbox conversations. Use when you need to organize inbox messages with custom labels.
  - body: { labelName: string }
- `POST https://api.mcp.ai/api/lemlist/post/create/lead/in/campaign` — Tool to create a lead and add it to a specific campaign. Use when you need to enroll a new lead into an outreach campaign. Supports optional deduplication and enrichment features.
  - body: { email: string, phone?: string, jobTitle?: string, lastName?: string, timezone?: string, findEmail?: boolean, findPhone?: boolean, firstName?: string, campaignId: string, icebreaker?: string, companyName?: string, deduplicate?: boolean, linkedinUrl?: string, verifyEmail?: boolean, contactOwner?: string, companyDomain?: string, linkedinEnrichment?: boolean }
- `POST https://api.mcp.ai/api/lemlist/post/create/schedule` — Tool to create a new schedule for the team. Use when you need to define custom active times or delays for outreach operations. Returns a `scheduleId`; store it for association with campaigns or sequen
  - body: { end?: string, name?: string, start?: string, timezone?: string, weekdays?: integer[], secondsToWait?: integer }
- `POST https://api.mcp.ai/api/lemlist/post/create/task` — Tool to create a manual task (opportunity) associated with a contact, company, or lead. Use when you need to track follow-ups or action items for outreach prospects.
  - body: { type: string, title?: string, dueDate: string, message?: string, priority?: string, recordId: string, assignedTo: string }
- `POST https://api.mcp.ai/api/lemlist/post/ignore/tasks` — Tool to mark one or more tasks as ignored in Lemlist. Use when you want to dismiss tasks without completing them.
  - body: { ids: string[] }
- `POST https://api.mcp.ai/api/lemlist/post/mark/lead/as/interested` — Tool to mark a lead as interested in all campaigns. Use when a lead responds positively and you want to advance or personalize your outreach.
  - body: { email: string }
- `POST https://api.mcp.ai/api/lemlist/post/mark/lead/as/interested/in/campaign` — Tool to mark a lead as interested in a specific campaign. Use after confirming the lead's positive engagement in that campaign.
  - body: { leadEmail: string, campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/post/mark/lead/as/not/interested` — Tool to mark a lead as not interested in all campaigns. Use when a lead explicitly declines outreach and should be paused across campaigns.
  - body: { lead_id_or_email: string }
- `POST https://api.mcp.ai/api/lemlist/post/pause/campaign` — Tool to pause a running campaign. Use after confirming you have the correct campaign ID and that the campaign is currently running.
  - body: { campaignId: string }
- `POST https://api.mcp.ai/api/lemlist/post/pause/lead` — Tool to pause a lead in all campaigns or a specific campaign. Use when you want to temporarily halt outreach to a lead.
  - body: { campaignId?: string, leadIdOrEmail: string }
- `POST https://api.mcp.ai/api/lemlist/search/companies/database` — Tool to search the companies database using filters, keywords, and pagination. Use when you need to find companies based on criteria like industry, size, or keywords. Returns a paginated list of compa
  - body: { page?: integer, size?: integer, search?: string, filters?: object[] }
- `POST https://api.mcp.ai/api/lemlist/search/people/database` — Tool to search the Lemlist people database using filters, keywords, and pagination. Use when you need to find prospects based on criteria like location, job title, seniority, or company. Supports free
  - body: { page?: integer, size?: integer, search?: string, filters: object[], excludes?: string[] }
- `POST https://api.mcp.ai/api/lemlist/update/task` — Tool to update an existing task including assignment, scheduling, and status. Use when modifying task details such as title, priority, due date, or completion status.
  - body: { id: string, done?: boolean, title?: string, dueDate?: string, message?: string, priority?: string, assignedTo?: string }

## Example prompts
- "What can I do in Lemlist?"
- "Show me a summary of my Lemlist account"

## More
- Page: https://mcp.ai/lemlist
- Agent spec (llms.txt): https://mcp.ai/lemlist/llms.txt
- Postman collection: https://mcp.ai/lemlist/postman.json
