Lemlist

Automation
Email

Run personalized email outreach campaigns via Lemlist. Manage campaigns, sequences, and tasks, track lead engagement, search people and company databases, and automate outreach workflows with labeling and scheduling.

Install

openclaw skills install @hith3sh/lemlist-outreach

Lemlist

Lemlist

Run personalized email outreach campaigns via Lemlist. Manage campaigns and sequences, track lead engagement, search people and company databases, handle tasks, and automate outreach with labels and schedules.

This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Lemlist API access yourself.

Setup in 3 Steps

Step 1: InstallStep 2: Pair AccountStep 3: Connect Lemlist
InstallPairApp-specific connection GIF coming soon

How It Works

┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐
│   OpenClaw      │────▶│   ClawLink   │────▶│   Lemlist API     │
│   (User Chat)   │     │   (OAuth)    │     │   (v1)          │
└─────────────────┘     └──────────────┘     └──────────────────┘
         │                       │                       │
         │  1. Install Plugin  │                       │
         │  2. Pair Device   │                       │
         │  3. Connect Lemlist│                      │
         │                   │  4. Secure Token      │
         │                   │  5. Proxy Requests    │
         │                   │                       │
         ▼                   ▼                       ▼
   ┌──────────┐      ┌──────────┐           ┌──────────┐
   │  SKILL   │      │ Dashboard│           │ Lemlist  │
   │  File    │      │ Auth     │           │ Campaigns│
   └──────────┘      └──────────┘           └──────────┘

Install

Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.

openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart

Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Lemlist again."

Quick Start

# List campaigns
clawlink_call_tool --tool "lemlist_get_list_campaigns" --params '{}'

# Get campaign stats
clawlink_call_tool --tool "lemlist_get_campaign_stats" --params '{"campaign_id": "CAMPAIGN_ID"}'

# Get team info
clawlink_call_tool --tool "lemlist_get_team_info" --params '{}'

Authentication

All Lemlist tool calls are authenticated automatically by ClawLink using the user's connected Lemlist team.

No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Lemlist API request on the user's behalf.

Getting Connected

  1. Install the ClawLink plugin (see Install above).
  2. Pair the plugin with clawlink_begin_pairing if it is not configured yet.
  3. Open https://claw-link.dev/dashboard?add=lemlist and connect Lemlist (requires an active Lemlist team).
  4. Call clawlink_list_integrations to verify the connection is active.

Connection Management

List Connections

clawlink_list_integrations

Response: Returns all connected integrations. Look for lemlist in the list.

Verify Connection

clawlink_list_tools --integration lemlist

Response: Returns the live tool catalog for Lemlist.

Reconnect

If Lemlist tools are missing or the connection shows an error:

  1. Direct the user to https://claw-link.dev/dashboard?add=lemlist
  2. After they confirm, call clawlink_list_integrations to verify
  3. Then call clawlink_list_tools --integration lemlist

Security & Permissions

  • Access is scoped to the connected Lemlist team only.
  • All write operations require explicit user confirmation. Before executing any campaign, lead, or sequence action, confirm the target resource and intended effect with the user.
  • Destructive actions (delete schedule, unsubscribe lead, delete unsubscribed email) are marked as high-impact and must be confirmed.
  • Campaign creation returns IDs nested under result['data'] — store campaignId, sequenceId, scheduleId from responses.
  • Lead status changes (mark interested/not interested, pause) affect ongoing outreach — confirm before executing.

Tool Reference

Campaigns

ToolDescriptionMode
lemlist_get_list_campaignsList all campaigns for the team with IDs, names, statusesRead
lemlist_get_campaign_by_idGet campaign details by IDRead
lemlist_get_campaign_statsGet campaign performance metrics within a date rangeRead
lemlist_get_campaign_export_startStart async CSV export of all campaign statisticsWrite
lemlist_get_campaign_export_statusCheck status of campaign export jobRead
lemlist_get_campaign_sequencesGet all sequences for a campaign with steps and conditionsRead
lemlist_get_export_campaign_leadsExport campaign leads with state filtering (JSON or CSV)Read
lemlist_post_create_campaignCreate a new campaign (returns campaignId, sequenceId, scheduleId)Write
lemlist_patch_update_campaignUpdate campaign settings (name, stop-on behaviors, flags)Write
lemlist_post_pause_campaignPause a running campaignWrite

Leads

ToolDescriptionMode
lemlist_get_retrieve_lead_by_emailGet lead details by email addressRead
lemlist_post_create_lead_in_campaignCreate a lead and add to a campaign with optional enrichmentWrite
lemlist_post_mark_lead_as_interestedMark a lead as interested in all campaignsWrite
lemlist_post_mark_lead_as_interested_in_campaignMark a lead as interested in a specific campaignWrite
lemlist_post_mark_lead_as_not_interestedMark a lead as not interested in all campaignsWrite
lemlist_patch_mark_lead_as_not_interested_in_campaignMark a lead as not interested in a specific campaignWrite
lemlist_post_pause_leadPause a lead in all campaigns or a specific campaignWrite
lemlist_delete_unsubscribe_lead_from_campaignUnsubscribe a lead from a specific campaignWrite
lemlist_post_add_variables_to_leadAdd custom variables to a leadWrite

Sequences

ToolDescriptionMode
lemlist_patch_update_sequence_stepUpdate a sequence step (subject, message, delay)Write
lemlist_post_add_step_to_sequenceAdd a new step (email, LinkedIn, conditional) to a sequenceWrite

Schedules

ToolDescriptionMode
lemlist_post_create_scheduleCreate a new schedule (returns scheduleId — store for campaign association)Write
lemlist_patch_update_scheduleUpdate an existing schedule's days, time window, limitsWrite
lemlist_delete_delete_schedulePermanently delete a schedule by IDWrite
lemlist_post_associate_schedule_with_campaignAssociate a schedule with a campaignWrite

Tasks

ToolDescriptionMode
lemlist_get_list_tasksList all pending tasks assigned to team membersRead
lemlist_post_create_taskCreate a manual task associated with a contact, company, or leadWrite
lemlist_update_taskUpdate task assignment, scheduling, and statusWrite
lemlist_post_ignore_tasksMark one or more tasks as ignoredWrite

Unsubscribes & Suppression

ToolDescriptionMode
lemlist_get_retrieve_unsubscribesList all unsubscribed peopleRead
lemlist_get_get_unsubscribe_emailCheck if a specific email is unsubscribedRead
lemlist_get_export_unsubscribesDownload CSV of all unsubscribed email addressesRead
lemlist_post_add_unsubscribe_email_domainAdd an email or domain to the unsubscribed listWrite
lemlist_delete_delete_unsubscribe_emailRemove an email from the unsubscribed listWrite

Labels

ToolDescriptionMode
lemlist_list_labelsList all labels for inbox organizationRead
lemlist_get_labelGet label details by IDRead
lemlist_post_create_labelCreate a new label for inbox conversationsWrite

Companies

ToolDescriptionMode
lemlist_list_companiesList all companies in CRM with paginationRead
lemlist_list_company_notesGet all notes for a specific companyRead
lemlist_create_company_noteAdd a note to a company recordWrite
lemlist_search_companies_databaseSearch companies database with filters and keywordsRead
lemlist_get_companies_schemaGet schema definition for company recordsRead

People Database

ToolDescriptionMode
lemlist_search_people_databaseSearch people database with filters, keywords, paginationRead
lemlist_get_people_schemaGet schema definition for people recordsRead
lemlist_get_database_filtersDiscover available search filters for people and companiesRead

Contact Messages

ToolDescriptionMode
lemlist_get_contact_messagesGet all messages exchanged with a specific contactWrite

Activity & Analytics

ToolDescriptionMode
lemlist_get_retrieve_activitiesGet recent campaign activities filtered by campaign, type, limitRead

Team & Users

ToolDescriptionMode
lemlist_get_team_infoGet team settings, members, webhooks, and enabled featuresRead
lemlist_get_list_team_sendersGet all team members and their associated campaignsRead
lemlist_get_userGet user details by ID including LinkedIn settings and mailboxesRead
lemlist_get_user_infoGet authenticated user informationRead
lemlist_get_list_watchlist_signalsGet paginated watchlist signals with filteringRead

Credits

ToolDescriptionMode
lemlist_get_team_creditsGet remaining credits in the teamRead

Webhooks

ToolDescriptionMode
lemlist_get_all_webhooksList all configured webhooks for the teamRead

Code Examples

List campaigns

clawlink_call_tool --tool "lemlist_get_list_campaigns" \
  --params '{}'

Get campaign stats

clawlink_call_tool --tool "lemlist_get_campaign_stats" \
  --params '{"campaign_id": "CAMPAIGN_ID", "start_date": "2024-01-01", "end_date": "2024-01-31"}'

Create a lead in campaign

clawlink_call_tool --tool "lemlist_post_create_lead_in_campaign" \
  --params '{"campaign_id": "CAMPAIGN_ID", "email": "lead@example.com", "first_name": "John"}'

Mark lead as interested

clawlink_call_tool --tool "lemlist_post_mark_lead_as_interested" \
  --params '{"lead_id": "LEAD_ID"}'

Create a task

clawlink_call_tool --tool "lemlist_post_create_task" \
  --params '{"contact_id": "CONTACT_ID", "title": "Follow up call", "due_date": "2024-12-15"}'

Discovery Workflow

  1. Call clawlink_list_integrations to confirm Lemlist is connected.
  2. Call clawlink_list_tools --integration lemlist to see the live catalog.
  3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.
  4. If the user describes a capability but the exact tool is unclear, call clawlink_search_tools with a short query and integration lemlist.
  5. If no Lemlist tools appear, direct the user to https://claw-link.dev/dashboard?add=lemlist.

Execution Workflow

┌─────────────────────────────────────────────────────────────┐
│  READ OPERATIONS (Safe)                                     │
│  list → get → search → describe → call                      │
│                                                             │
│  Example: List campaigns → Get stats → Show results         │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  WRITE OPERATIONS (Require Confirmation)                     │
│  list → get → describe → preview → confirm → call          │
│                                                             │
│  Example: Preview lead create → User approves → Execute     │
└─────────────────────────────────────────────────────────────┘
  1. For unfamiliar tools, ambiguous requests, or any write action, call clawlink_describe_tool first.
  2. Use the returned guidance, schema, whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.
  3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.
  4. For writes or anything marked as requiring confirmation, call clawlink_preview_tool first.
  5. Execute with clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.
  6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.

Notes

  • Campaign creation returns IDs nested under result['data'] (e.g., result['data']['campaignId']). Store these for subsequent operations.
  • Schedules return scheduleId — store it for association with campaigns or sequences.
  • Avoid creating unused schedules; delete them when no longer needed.
  • Lead status changes affect all campaigns or specific campaigns depending on the tool used.
  • Company notes are for tracking annotations and activities on company records.
  • People and companies database search supports free-text and structured filtering.
  • Verify returned teamId matches the intended workspace before passing to campaign-creation.

Error Handling

Status / ErrorMeaning
Tool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration lemlist.
Missing connectionLemlist is not connected. Direct the user to https://claw-link.dev/dashboard?add=lemlist.
Permission errorThe authenticated user lacks permission for this operation.
Campaign not foundThe campaign ID does not exist. Verify with lemlist_get_list_campaigns.
Write rejectedUser did not confirm a write action. Always confirm before executing writes.

Troubleshooting: Tools Not Visible

  1. Check that the ClawLink plugin is installed:
    openclaw plugins list
    
  2. If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
  3. If a fresh chat does not help, run:
    openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
    openclaw gateway restart
    
  4. After restart, tell the user to send /new again and retry.

Resources

Related Skills


Powered by ClawLink — an integration hub for OpenClaw

ClawLink Logo