# lemlist

> Automate lemlist cold outreach: list campaigns, add and remove leads, look leads up, and pull engagement activities with an API key.

App · Email Marketing · 5 actions. Web page: https://docs.lodol.com/docs/integrations/lemlist

## Actions

### Add lead to campaign

Add a lead to a lemlist campaign, creating the lead if it does not exist yet. The lead enters the campaign's sequence and starts receiving its steps.

**Inputs**

- Campaign ID (`campaign_id`, text, required): Id of the campaign to add the lead to, as returned by List campaigns (e.g. cam_aaWL92T22Sei3Bz6v).
- Email (`email`, text, required): The lead's email address.
- First name (`first_name`, text): The lead's first name.
- Last name (`last_name`, text): The lead's last name.
- Company name (`company_name`, text): The lead's company name.
- Phone (`phone`, text): The lead's phone number.
- LinkedIn URL (`linkedin_url`, text): URL of the lead's LinkedIn profile.
- Company domain (`company_domain`, text): Domain of the lead's company (e.g. acme.com).
- Icebreaker (`icebreaker`, text): Personalized opening line, usable as the {{icebreaker}} variable in the campaign's emails.
- Skip if already in another campaign (`deduplicate`, true/false): When true, the lead is not added if the same email is already present in another campaign.
- Verify email first (`verify_email`, true/false): When true, lemlist verifies the email address before adding the lead. This uses lemlist credits.

**Outputs**

- `_id` (text): lemlist lead id
- `campaignId` (text): Id of the campaign the lead belongs to
- `campaignName` (text): Name of the campaign the lead was added to
- `companyName` (text): The lead's company
- `email` (text): The lead's email address
- `firstName` (text): The lead's first name
- `isPaused` (true/false): Whether the lead is currently paused
- `lastName` (text): The lead's last name

**Example output**

```json
{
  "_id": "lea_aaNfSAHJoa4gj86Px",
  "campaignId": "cam_aaWL92T22Sei3Bz6v",
  "campaignName": "Q3 Outreach",
  "companyName": "Acme",
  "email": "jane@acme.com",
  "firstName": "Jane",
  "isPaused": false,
  "lastName": "Doe"
}
```

### Delete lead from campaign

Delete a lead from a campaign. This removes the lead and its statistics from that campaign and cannot be undone.

**Inputs**

- Campaign ID (`campaign_id`, text, required): Id of the campaign to remove the lead from.
- Email (`email`, text, required): Email address of the lead to delete.

**Outputs**

- `_id` (text): Deleted lead id
- `deleted` (true/false): Whether the lead was deleted
- `email` (text): Email of the deleted lead

**Example output**

```json
{
  "_id": "lea_aaNfSAHJoa4gj86Px",
  "deleted": true,
  "email": "jane@acme.com"
}
```

### Get activities

Retrieve recent campaign activities such as emails sent, opened, clicked, replied, or bounced. Useful for reporting and for triggering follow-up automations.

**Inputs**

- Activity type (`type`, text): Optional. Only return activities of this type, e.g. emailsSent, emailsOpened, emailsClicked, emailsReplied, or emailsBounced.
- Campaign ID (`campaign_id`, text): Optional. Only return activities for this campaign.
- Limit (`limit`, number): How many activities to return (1-100). From 1 to 100. Default: `100`.
- Offset (`offset`, number): How many activities to skip, for pagination. At least 0. Default: `0`.
- First occurrence only (`is_first`, true/false): When true, only the first time each activity happened for a lead is returned.

**Outputs**

- `activities` (list): Recent activities

**Example output**

```json
{
  "activities": [
    {
      "_id": "act_aaXiFy3Y7BNSuYwDr",
      "campaignId": "cam_aaWL92T22Sei3Bz6v",
      "campaignName": "Q3 Outreach",
      "createdAt": "2026-07-20T14:56:39.172Z",
      "leadEmail": "jane@acme.com",
      "type": "emailsOpened"
    }
  ]
}
```

### Get lead

Look up a single lead by email address, returning its profile and current campaign status.

**Inputs**

- Email (`email`, text, required): Email address of the lead to look up.
- Campaign ID (`campaign_id`, text): Optional. Restrict the lookup to this campaign id.

**Outputs**

- `_id` (text): lemlist lead id
- `campaignId` (text): Id of the campaign the lead belongs to
- `companyName` (text): The lead's company
- `email` (text): The lead's email address
- `firstName` (text): The lead's first name
- `isPaused` (true/false): Whether the lead is currently paused
- `lastName` (text): The lead's last name

**Example output**

```json
{
  "_id": "lea_aaNfSAHJoa4gj86Px",
  "campaignId": "cam_aaWL92T22Sei3Bz6v",
  "companyName": "Acme",
  "email": "jane@acme.com",
  "firstName": "Jane",
  "isPaused": false,
  "lastName": "Doe"
}
```

### List campaigns

List the campaigns in your lemlist account. Returns each campaign's id, which the lead actions use as 'campaign_id'.

**Inputs**

- Limit (`limit`, number): How many campaigns to return (1-100). From 1 to 100. Default: `100`.
- Offset (`offset`, number): How many campaigns to skip, for pagination. At least 0. Default: `0`.

**Outputs**

- `campaigns` (list): Campaigns in the account

**Example output**

```json
{
  "campaigns": [
    {
      "_id": "cam_aaWL92T22Sei3Bz6v",
      "id": "cam_aaWL92T22Sei3Bz6v",
      "labels": [
        "outbound"
      ],
      "name": "Q3 Outreach"
    }
  ]
}
```
