# Lemlist

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.

- **Category:** marketing automation
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 54
- **Triggers:** 0
- **Slug:** `LEMLIST`
- **Version:** 20260309_00

## Tools

### Create Company Note

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | Yes | The note content to be created for the company. |
| `companyId` | string | Yes | The unique identifier of the company to attach the note to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Schedule

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scheduleId` | string | Yes | The unique ID of the schedule to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Unsubscribed Email

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address to remove from the unsubscribed list |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unsubscribe Lead From Campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `leadId` | string | Yes | The unique ID of the lead to unsubscribe |
| `campaignId` | string | Yes | The unique ID of the campaign from which the lead will be unsubscribed |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Webhooks

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Campaign By ID

**Slug:** `LEMLIST_GET_CAMPAIGN_BY_ID`

Tool to retrieve a specific campaign by campaignId. Use when you need detailed campaign information by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | Yes | Unique identifier of the campaign to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Start Campaign Export

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | Yes | Unique identifier of the campaign to export. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Campaign Export Status

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `exportId` | string | Yes | The ID of the export job returned from the start export endpoint. |
| `campaignId` | string | Yes | The ID of the campaign whose export is being checked. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Campaign Sequences

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | Yes | Unique identifier of the campaign to fetch sequences for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Campaign Stats

**Slug:** `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 metrics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endDate` | string | Yes | End date for the statistics period in ISO 8601 format (e.g., 2026-02-14T23:59:59.999Z). |
| `channels` | array | No | Filter by communication channels. Valid values include 'email', 'linkedin'. |
| `sendUser` | string | No | Filter statistics by specific user. Format: sendUserId\|sendUserEmail |
| `startDate` | string | Yes | Start date for the statistics period in ISO 8601 format (e.g., 2025-01-01T00:00:00.000Z). |
| `ABSelected` | string | No | Filter by A/B test variant. Valid values: 'A' or 'B'. |
| `campaignId` | string | Yes | Unique identifier of the campaign to retrieve statistics for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Companies Schema

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contact Messages

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of items to skip for pagination (default: 0) |
| `limit` | integer | No | Maximum number of messages to retrieve |
| `userId` | string | No | Identifier of the user viewing the conversation. Required if markAsRead is provided. |
| `contactId` | string | Yes | The unique identifier of the contact (format: ctc_*) |
| `markAsRead` | boolean | No | When true, marks the conversation as read (default: false). Requires userId to be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Database Filters

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Campaign Leads

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `state` | string | Yes | Filter to export only the specified leads' last state. Specify one of the global states: imported, scanned, skipped, reviewed, contacted, hooked, attracted, warmed, interested, notInterested, emailsBounced, emailsUnsubscribed, meetingBooked, paused, failed; or detailed states: emailsSent, emailsOpened, emailsClicked, emailsReplied, emailsInterested, emailsNotInterested, emailsFailed, opportunitiesDone, aircallDone, aircallInterested, aircallNotInterested, apiDone, apiInterested, apiNotInterested, linkedinVisitDone, linkedinVisitFailed, linkedinInviteDone, linkedinInviteAccepted, linkedinInviteFailed, linkedinSent, linkedinOpened, linkedinReplied, linkedinInterested, linkedinNotInterested, linkedinSendFailed, manualInterested, manualNotInterested. Use 'all' to export all leads regardless of state. |
| `format` | string ("json" | "csv") | No | Output format for the export. Choose 'json' or 'csv'. |
| `campaignId` | string | Yes | The ID of the campaign to export leads from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Unsubscribes

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Unsubscribed Email

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the unsubscribed user to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Label

**Slug:** `LEMLIST_GET_LABEL`

Tool to retrieve information about a specific label by its ID. Use when you need details about an inbox label.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `labelId` | string | Yes | Unique identifier of the label to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Campaigns

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (alternative to offset). |
| `limit` | integer | No | Maximum number of campaigns to retrieve. Default: 100, Max: 100. |
| `offset` | integer | No | Pagination offset - number of campaigns to skip. |
| `sortBy` | string | No | Field to sort by. Currently only supports 'createdAt'. |
| `status` | string ("running" | "draft" | "archived" | "ended" | "paused" | "errors") | No | Filter campaigns by status. |
| `sortOrder` | string ("asc" | "desc") | No | Sort order: ascending or descending. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (0-indexed). Default: 0. |
| `filters` | string | No | JSON array of filter objects as a string. Available filters: fullName, email, phone, linkedin, campaignId, campaignState, type, assignedTo, dueDate. Must be valid JSON array format (e.g., '[]' or '[{"campaignId":"abc123"}]'). Empty array returns all tasks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Team Senders

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `state` | string ("running" | "paused" | "draft" | "ended" | "archived" | "errors") | No | Valid campaign states for filtering. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Watchlist Signals

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve (cannot be used with offset). |
| `type` | string | No | Filter by signal type(s) such as 'jobChange', 'companyIsHiring', 'companyRaisedFunds', 'newHire', 'companyEmployeeVisitedMyWebsite', 'linkedinProfile', 'linkedinTopic'. |
| `limit` | integer | No | Number of signals to retrieve. Maximum value: 100. |
| `offset` | integer | No | Number of records to skip (cannot be used with page). |
| `sortBy` | string ("receivedAt" | "createdAt") | No | Fields available for sorting watchlist signals. |
| `status` | string | No | Filter by signal status(es) like 'new', 'old', 'handled', or 'ignored'. |
| `sortOrder` | string ("asc" | "desc") | No | Sort order direction. |
| `watchListId` | string | No | Filter signals by specific watchlist ID. |
| `receivedAtTo` | string | No | Filter signals received on or before this date (ISO date-time format). |
| `receivedAtFrom` | string | No | Filter signals received on or after this date (ISO date-time format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get People Schema

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Activities

**Slug:** `LEMLIST_GET_RETRIEVE_ACTIVITIES`

Tool to fetch recent campaign activities. Use after authentication to retrieve activities filtered by campaignId, type, or limit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | Filter activities by type, e.g., 'paused', 'linkedinInviteAccepted', 'emailSent'. |
| `limit` | integer | No | Maximum number of activities to retrieve. Default: 100, Max: 100. |
| `leadId` | string | No | Filter activities by lead ID. |
| `offset` | integer | No | Number of records to skip for pagination. |
| `isFirst` | boolean | No | Filter for first activity only. |
| `contactId` | string | No | Filter activities by contact ID. |
| `campaignId` | string | No | Filter activities by specific campaign ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Lead By Email

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the lead to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Unsubscribes

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team Credits

**Slug:** `LEMLIST_GET_TEAM_CREDITS`

Tool to retrieve credits left in the team. Use after authenticating your session.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team Info

**Slug:** `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 workspace before passing it to campaign-creation or other write operations to avoid creating resources in the wrong account context.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | Unique identifier of the user to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Info

**Slug:** `LEMLIST_GET_USER_INFO`

Tool to retrieve all information of the authenticated user. Use after confirming a valid access token.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Companies

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve. |
| `limit` | integer | No | Quantity of companies to retrieve per page. Default: 100, Max: 100. |
| `fields` | string | No | Specify returned fields as comma-separated list. Omit to get all fields. |
| `search` | string | No | Search by company name (case insensitive). |
| `sortBy` | string | No | Field to sort by. Currently only supports 'createdAt'. |
| `sortOrder` | string | No | Sort direction: 'desc' for descending, other values for ascending. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Company Notes

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `limit` | integer | No | Number of notes to retrieve; default 100, max 100. |
| `sortBy` | string | No | Sort field; currently supports 'createdAt'. |
| `companyId` | string | Yes | Unique identifier of the company to retrieve notes for. |
| `sortOrder` | string | No | Sort direction ('asc' or 'desc'); defaults to ascending. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Labels

**Slug:** `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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Lead as Not Interested in Campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | Yes | The unique identifier of the campaign. |
| `leadIdOrEmail` | string | Yes | The unique identifier of the lead or the lead's email address. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the campaign. |
| `campaignId` | string | Yes | Identifier of the campaign to update. |
| `sequenceSharing` | boolean | No | Enable or disable sharing of the sequence. |
| `autoLeadInterest` | boolean | No | Automatically determine lead interest. |
| `disableTrackOpen` | boolean | No | Disable email open tracking. |
| `disableTrackClick` | boolean | No | Disable email click tracking. |
| `disableTrackReply` | boolean | No | Disable reply tracking. |
| `stopOnLinkClicked` | boolean | No | Whether the campaign should stop on any link click. |
| `opportunityClicked` | boolean | No | Mark opportunity when clicked. |
| `opportunityReplied` | boolean | No | Mark opportunity when replied. |
| `stopOnEmailReplied` | boolean | No | Whether the campaign should stop when an email is replied to. |
| `stopOnMeetingBooked` | boolean | No | Whether the campaign should stop when a meeting is booked. |
| `leadsPausedByInterest` | boolean | No | Pause leads when they show interest. |
| `stopOnLinkClickedFilter` | string | No | URL filter for stopping on link click; set to null to unset. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Schedule

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `days` | array | No | List of weekdays when sends are allowed. e.g., ['monday','tuesday','wednesday']. |
| `name` | string | No | New name for the schedule. |
| `enabled` | boolean | No | Whether the schedule is active (true) or paused (false). |
| `sendEnd` | string | No | Daily send window end time in HH:mm format. e.g., '17:30'. |
| `timezone` | string | No | IANA timezone for the schedule. e.g., 'Europe/Paris'. |
| `maxPerDay` | integer | No | Maximum number of sends allowed per day. |
| `sendStart` | string | No | Daily send window start time in HH:mm format. e.g., '09:00'. |
| `scheduleId` | string | Yes | Identifier of the schedule to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Sequence Step

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Valid HTTP/HTTPS URL for API call. Only applicable for 'api' type steps. |
| `type` | string | Yes | Type of the step (required but cannot be changed; must match existing step type). Valid types: 'email', 'linkedinInvite', 'linkedinView', 'linkedinSend', 'manual', 'phone', 'whatsappMessage', 'api', 'conditional', 'sendToAnotherCampaign'. |
| `delay` | integer | No | Delay in hours before step execution. Not applicable for 'sendToAnotherCampaign' type. |
| `title` | string | No | Manual task label. Only applicable for 'manual' type steps. |
| `method` | string ("GET" | "POST" | "PUT" | "DELETE" | "PATCH") | No | HTTP verb for API call. Only applicable for 'api' type steps. |
| `stepId` | string | Yes | Unique identifier of the step to update. |
| `message` | string | No | Message content. Applicable for 'email', 'manual', 'phone', LinkedIn types, and 'whatsappMessage' steps. |
| `subject` | string | No | Email subject line. Only applicable for 'email' type steps. |
| `delayType` | string ("within" | "waitUntil") | No | Timing logic for conditional steps. Only applicable for 'conditional' type steps. |
| `altMessage` | string | No | Fallback message. Only applicable for 'linkedinSend' type steps. |
| `campaignId` | string | No | Destination campaign ID. Only applicable for 'sendToAnotherCampaign' type steps. |
| `sequenceId` | string | Yes | Unique identifier of the sequence containing the step. |
| `conditionKey` | string | No | Behavior trigger identifier. Only applicable for 'conditional' type steps. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Step to Sequence

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | URL of the API endpoint to call. Required for api steps. Must start with http:// or https:// |
| `type` | string ("email" | "manual" | "phone" | "api" | "linkedinVisit" | "linkedinInvite" | "linkedinSend" | "sendToAnotherCampaign" | "conditional" | "whatsappMessage") | Yes | The type of step to create. Must be one of: email, manual, phone, api, linkedinVisit, linkedinInvite, linkedinSend, sendToAnotherCampaign, conditional, whatsappMessage |
| `delay` | integer | No | Delay in seconds before the step executes. Defaults to 0 for the first step, 1 for subsequent steps. For conditional steps with delayType other than 'within', delay is not required |
| `index` | integer | No | Position in the sequence (must be >= -1). If omitted or exceeds the step count, the step is appended to the end |
| `title` | string | No | Title or label for manual steps. Required for manual steps |
| `method` | string ("GET" | "POST" | "PUT" | "DELETE" | "PATCH") | No | HTTP method for API steps. Required for api steps |
| `message` | string | No | Content for email, LinkedIn, manual, phone, or WhatsApp steps. Required for steps that send messages |
| `subject` | string | No | Email subject line. Required for email steps |
| `delayType` | string ("within" | "waitUntil") | No | Delay type for conditional steps. Must be 'within' or 'waitUntil'. For conditional steps with delayType other than 'within', the delay field is not required |
| `altMessage` | string | No | Alternate message for linkedinSend steps |
| `campaignId` | string | No | Target campaign ID for sendToAnotherCampaign steps. Required for sendToAnotherCampaign steps |
| `sequenceId` | string | Yes | The unique identifier of the sequence to add the step to |
| `conditionKey` | string ("emailsOpened" | "emailsClicked" | "emailsUnsubscribed" | "meetingBooked" | "linkedinInviteAccepted" | "hasWhatsappAccount") | No | Condition type for conditional steps. Must be one of: emailsOpened, emailsClicked, emailsUnsubscribed, meetingBooked, linkedinInviteAccepted, hasWhatsappAccount |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Unsubscribe Email/Domain

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address or domain to add to the unsubscribed list. Domain entries must start with '@', e.g. '@example.com'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Variables to Lead

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `leadId` | string | Yes | Unique identifier of the lead to which the variables will be added. |
| `company` | string | Yes | Namespace for these variables; must match your company name in Lemlist. |
| `variables` | object | Yes | Mapping of variable names to values. Keys must be unique and not override existing variables. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Associate schedule with campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | Yes | ID of the campaign to which the schedule will be associated |
| `scheduleId` | string | Yes | ID of the schedule to associate with the campaign |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Campaign

**Slug:** `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']`).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the campaign to create |
| `teamId` | string | Yes | The ID of the team under which the campaign will be created |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Label

**Slug:** `LEMLIST_POST_CREATE_LABEL`

Tool to create a new label for inbox conversations. Use when you need to organize inbox messages with custom labels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `labelName` | string | Yes | Name of the label to create. Must be unique within the team. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Lead In Campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the lead (required for lead creation). |
| `phone` | string | No | Contact phone number for the lead. |
| `jobTitle` | string | No | Lead's professional role or job title. |
| `lastName` | string | No | Last name of the lead. |
| `timezone` | string | No | IANA format timezone for the lead (e.g., Europe/Paris, America/New_York). |
| `findEmail` | boolean | No | If true, attempts to find and verify the lead's email address. |
| `findPhone` | boolean | No | If true, attempts to find the lead's phone number. |
| `firstName` | string | No | First name of the lead. |
| `campaignId` | string | Yes | Unique identifier of the campaign to add the lead to. |
| `icebreaker` | string | No | Personalized message or icebreaker text for the lead. |
| `companyName` | string | No | Name of the lead's organization. |
| `deduplicate` | boolean | No | If true, checks if email exists in other campaigns and skips insertion if found (prevents duplicate leads). |
| `linkedinUrl` | string | No | URL to the lead's LinkedIn profile. |
| `verifyEmail` | boolean | No | If true, validates the existing email using debounce service. |
| `contactOwner` | string | No | User ID or email of the contact owner responsible for this lead. |
| `companyDomain` | string | No | Domain of the lead's company website. |
| `linkedinEnrichment` | boolean | No | If true, executes LinkedIn enrichment to enhance lead data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Schedule

**Slug:** `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 sequences. Avoid creating unused schedules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | Optional end time in HH:mm format. Defaults to '18:00'. |
| `name` | string | No | Optional name for the schedule. Defaults to 'Default schedule'. |
| `start` | string | No | Optional start time in HH:mm format. Defaults to '09:00'. |
| `timezone` | string | No | Optional timezone for the schedule (IANA timezone identifier). Defaults to 'Europe/Paris'. |
| `weekdays` | array | No | Optional list of active weekdays (1=Monday .. 7=Sunday). Defaults to [1,2,3,4,5]. |
| `secondsToWait` | integer | No | Optional delay in seconds between operations. Defaults to 1200 seconds. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("email" | "manual" | "phone" | "linkedin") | Yes | Task type - must be one of: email, manual, phone, or linkedin. |
| `title` | string | No | Task title; defaults to empty string if not provided. |
| `dueDate` | string | Yes | Due date timestamp in ISO 8601 format (e.g., 2026-03-15T10:00:00.000Z). |
| `message` | string | No | Task description/message; defaults to empty string if not provided. |
| `priority` | string | No | Priority level - empty string, 0, 1, or 2; defaults to empty string if not provided. |
| `recordId` | string | Yes | The ID of the contact, company, or lead associated with the task. |
| `assignedTo` | string | Yes | The user ID of the team member assigned to the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Ignore Tasks

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | Yes | Array of task IDs to ignore (e.g., opp_ouYzdLYGs4RcrHTfm) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Lead As Interested

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the lead to mark as interested. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Lead As Interested In Campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `leadEmail` | string | Yes | Email address of the lead to mark as interested. |
| `campaignId` | string | Yes | Unique identifier of the campaign. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Mark Lead As Not Interested

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id_or_email` | string | Yes | Email address or lead ID ('lea_...') to mark as not interested. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pause a running campaign

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | Yes | ID of the campaign to pause |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pause Lead

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaignId` | string | No | ID of the campaign to pause the lead in. If omitted, pauses in all campaigns. |
| `leadIdOrEmail` | string | Yes | Email address of the lead or the lead's Lemlist ID (e.g., lea_xxx) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Companies Database

**Slug:** `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 companies matching the specified filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-indexed). Defaults to 1. |
| `size` | integer | No | Number of results per page. Maximum 100. Defaults to 25. |
| `search` | string | No | Free-text query to search across common company fields like name, domain, and keywords. |
| `filters` | array | No | Array of filter objects to narrow search results by criteria like keywords, industry, or company size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search People Database

**Slug:** `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-text search and structured filtering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-indexed). Minimum value is 1. |
| `size` | integer | No | Number of results per page. Must be between 1 and 100. |
| `search` | string | No | Free-text search query across common fields (name, title, company, location). Use for keyword-based filtering. |
| `filters` | array | Yes | Array of filter objects to narrow search results. Each filter must include filterId, 'in' array, and 'out' array (can be empty). |
| `excludes` | array | No | Array of field names to omit from the response. Use to reduce payload size when certain fields are not needed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the task to update. |
| `done` | boolean | No | Mark task as completed (true) or incomplete (false). |
| `title` | string | No | Updated task title. |
| `dueDate` | string | No | Updated due date in ISO 8601 format. |
| `message` | string | No | Updated task message/description. |
| `priority` | string ("" | "0" | "1" | "2") | No | Priority levels for tasks. |
| `assignedTo` | string | No | The ID of the team member to assign the task to (userId). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
