add_contacts_to_list | Add existing CRM contacts to a contact list. **When to use:** The user wants to organize contacts into a list. |
add_lead_to_campaign | Add a lead to a campaign. Requires campaignId plus at least one lead field (email, firstName, etc.). Optional enrichment workflows may apply. |
add_sequence_step | REQUIRES CONFIRMATION: Add a step (email, LinkedIn, phone, manual, api, conditional) to a campaign sequence. |
add_unsubscribe | Add an email to the unsubscribe blocklist. Blocks all future campaign sends to that address. Use delete_unsubscribe to reverse. |
bulk_enrich_data | Enrich multiple contacts in batch (max 500). ASYNC: each item returns an enrichment ID; poll with get_enrichment_result. |
check_domain_health | Check DNS health for email sending domains (MX, SPF, DMARC, blacklists). Returns score 0–100 and per-domain guidance. |
connect_email_account | Connect a custom SMTP/IMAP email account for sending and receiving. For Google or Microsoft mailboxes, prefer the product's OAuth connect flows when available. |
create_campaign_with_sequence | Create a campaign. If subject AND body are provided, creates the first email step; if omitted, creates an empty campaign shell to build in the UI. |
create_contact_list | Create a new static contact list in the user's CRM. **When to use:** The user wants to create a new contact list for segmentation or imports. |
create_or_update_company | Create a new company in the user's Lemlist company database, or update an existing one (upsert). Required fields depend on your CRM mapping. |
create_or_update_contact | Create a new contact in the user's Lemlist contact database, or update an existing one (upsert). Required fields depend on your CRM mapping. |
create_webhook | Create a webhook for real-time campaign activity notifications. Max 200 per account; duplicate target URLs are rejected. |
delete_memory | Delete a memory by topic. Use when the user asks you to forget something or when stored information is obsolete. |
delete_unsubscribe | Remove an email address from the unsubscribe list so it can be contacted again in future campaigns. |
delete_webhook | Delete a webhook from your lemlist account. The webhook stops receiving notifications immediately. |
disconnect_email_account | Disconnect an email account. Stops sending immediately and cannot be undone. Use get_user_channels to find mailbox IDs. |
enrich_data | Enrich a single contact. ASYNC: returns enrichment ID; poll with get_enrichment_result. Supports configurable enrichment options. |
enrich_lead | Enrich an existing campaign lead. ASYNC: poll with get_enrichment_result. For non-campaign contacts use enrich_data. |
get_campaign_details | Get configuration and settings for ONE campaign (timezone, emoji, sequences). For metrics use get_campaigns_stats or get_campaigns_reports. |
get_campaign_sequences | Get the email sequences and their content (subject, body) for a specific campaign. Useful for reviewing or editing outreach copy. |
get_campaigns | List campaigns with search, filtering and sorting. Use 'search' to find campaigns by name (recommended for large workspaces). |
get_campaigns_reports | Get lifetime stats for MULTIPLE campaigns in one call. Returns metadata, sender info, and 65+ metrics per campaign. |
get_campaigns_stats | Get detailed stats for one or more campaigns, with optional time-period filtering. Returns lead funnel and performance metrics. |
get_contact_lists | Get available CRM contact lists. Use before push_leads_to_contacts so the user can choose a target list. |
get_enrichment_result | Poll enrichment status. Wait 3–5s between calls, max 10 retries. When isComplete=true, results appear in the response data. |
get_inbox_conversation | Get the conversation thread (all messages) for a specific contact. Returns activities across email, LinkedIn, SMS, and other channels. |
get_inbox_conversations | List inbox conversations for a user. Returns conversations with contact info and last message previews. |
get_lemleads_filters | Get available filters for People Database searches. Call this FIRST before lemleads_search or when displaying filter UI. |
get_settings | Retrieve settings for a given entity type. Available types include "campaign" (behavior settings for campaigns and sequences); see lemlist MCP documentation for additional entity types. |
get_team_info | Get basic team info (ID, name, plan, credits remaining). For member details use get_team_members. |
get_team_members | Get all team members with ID, email, name, and role. Use to find user IDs for other operations. |
get_team_overview | Account summary: campaign count by status. Use get_campaigns for the full list with names and details. |
get_unsubscribes | List unsubscribed emails with pagination. Use delete_unsubscribe to allow sending again. |
get_user_channels | Check connected sending channels (email, LinkedIn, WhatsApp). Returns connection status, plan availability, and channel configuration. |
get_webhooks | List all configured webhooks. Returns array entries with _id, targetUrl, createdAt, type, campaignId, isFirstLead, and related flags. |
lemleads_search | Search the People Database (450M+ B2B contacts). Returns JSON with results array, totalCount, and hasMore for pagination. |
load_skill | Load specialized guidance for a specific domain. Returns skill content to steer assistant responses for that workflow. |
preview_sequence_update | SAFE READ-ONLY: Preview what would change in an email sequence step before applying modifications. Use before update_sequence_step. |
push_leads_to_contacts | Push leads from the People Database to your contacts (CRM). **When to use:** The user wants to save People Database search results as CRM contacts. |
recall_memory | Retrieve memories from previous conversations. Use when the user asks about something you stored earlier. |
report_unsupported_case | Report a feature request or unsupported use case to the product team. Use ONLY when the user's goal cannot be met with available tools. |
save_business_context | Save the user's business context for future conversations. Use after collecting company information the assistant should remember. |
save_memory | Save information to persistent memory for future conversations. Use when the user asks you to remember something across chats. |
search_campaign_leads | Find leads in your campaigns. Two modes: search by email or ID (provide email or id and optional campaign scope), or broader filters per schema. |
search_contacts | Search your team's Lemlist contacts by name, email, or contact list. Returns matching contacts with IDs and metadata. |
search_help_center | Search the lemlist help center for official documentation and guides. Use when you need documentation-backed setup or troubleshooting answers. |
send_inbox_email | Send an email from the inbox to a contact or lead. Requires sender info (userId, email, mailboxId) and message payload per schema. |
send_inbox_linkedin | Send a LinkedIn message from the inbox to a contact or lead. Requires sendUserId, message, and either leadId or contact identifier. |
send_inbox_sms | Send an SMS from the inbox to a contact or lead. Requires sendUserId, from phone number, message, and recipient identifiers. |
send_whatsapp_message | Send a WhatsApp message to a contact or lead. Requires sendUserId, sendUserWhatsappAccountId, message, and recipient identifiers. |
set_campaign_senders | Assign senders to a campaign. Senders are team members who deliver the campaign's outreach messages. |
set_campaign_state | Start or pause a campaign. Use action "start" to launch a draft or paused campaign; use pause to stop outreach. |
test_email_account | Test SMTP/IMAP connectivity for an email account. No email is sent. Use get_user_channels to find the account to test. |
update_lead | Update standard fields on an existing lead (firstName, lastName, jobTitle, companyName, email, phone, LinkedIn URL, etc.). |
update_lead_variables | Set custom variables on an existing lead (upsert). Requires leadId plus variables as key-value pairs. Automatic merge on existing keys. |
update_sequence_step | REQUIRES CONFIRMATION: Update a sequence step. **For email/content steps:** Call preview_sequence_update first. |
validate_campaign_readiness | Check whether a campaign is ready to launch by validating step content, sender configuration, DNS health, and related requirements. |