> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Lemlist Integration for AI Agents & Workflows

> Integrate Lemlist into your workflow. Retrieve campaign activities and replies, get lead information, and send emails through the Lemlist inbox.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/placeholder.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=a4046f9cd6d738c81259050e9833913c" alt="Lemlist logo" width="72" height="72" data-path="logos/placeholder.svg" />

## Overview

Add **Lemlist** to any ModuleX agent or workflow. Manage sales-engagement outreach against the Lemlist REST API (`api.lemlist.com`): retrieve campaign activities and replies, look up lead details, and send emails through the Lemlist inbox.

<Info>
  **Categories**: Sales · Email Marketing · Sales Engagement · **Auth**: API Key · **Actions**: 3
</Info>

## Authentication

### API Key Authentication

Authenticate using your Lemlist API key

<Steps>
  <Step title="Step 1">
    Sign in to Lemlist and open Settings -> Team Settings -> Integrations
  </Step>

  <Step title="Step 2">
    Generate an API key (it is shown only once — copy it immediately)
  </Step>

  <Step title="Step 3">
    Paste the API key below
  </Step>
</Steps>

#### Required Credentials

| Field           | Description                                             | Required | Format |
| --------------- | ------------------------------------------------------- | -------- | ------ |
| Lemlist API Key | Your Lemlist API key from Team Settings -> Integrations | Yes      | `-`    |

## Available Actions

<AccordionGroup>
  <Accordion title="get_activities — Retrieves campaign activities and steps performed, including email opens, clicks, replies, and other events.">
    ### Parameters

    <ResponseField name="type" type="string">
      Filter by activity type (e.g., emailOpened, emailClicked, emailReplied, paused)
    </ResponseField>

    <ResponseField name="campaign_id" type="string">
      Filter by campaign ID (e.g., "cam\_abc123def456")
    </ResponseField>

    <ResponseField name="lead_id" type="string">
      Filter by lead ID (e.g., "lea\_abc123def456")
    </ResponseField>

    <ResponseField name="is_first" type="boolean">
      Filter for first activity only
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Number of results per request (max 100, default 100)
    </ResponseField>

    <ResponseField name="offset" type="integer">
      Number of records to skip for pagination (e.g., 0, 100, 200)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "ActivityItem": {
          "additionalProperties": false,
          "description": "A single activity row in ``get_activities``.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Type"
            },
            "lead_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Lead Id"
            },
            "campaign_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Campaign Id"
            },
            "sequence_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Sequence Id"
            },
            "step_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Step Id"
            },
            "created_at": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Created At"
            }
          },
          "title": "ActivityItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "activities": {
          "items": {
            "$ref": "#/$defs/ActivityItem"
          },
          "title": "Activities",
          "type": "array"
        },
        "count": {
          "default": 0,
          "title": "Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetActivitiesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_lead — Retrieves lead information by email address or lead ID.">
    ### Parameters

    <ResponseField name="lead_identifier" type="string" required>
      Lead email address (e.g., "[john@example.com](mailto:john@example.com)") or lead ID (e.g., "lea\_abc123def456")
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "first_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Name"
        },
        "last_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Name"
        },
        "company_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Name"
        },
        "job_title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Job Title"
        },
        "company_domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Domain"
        },
        "is_paused": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Paused"
        },
        "campaign_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Campaign Id"
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Contact Id"
        },
        "email_status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email Status"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetLeadOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="send_email — Sends an email to a contact through the Lemlist inbox.">
    ### Parameters

    <ResponseField name="send_user_id" type="string" required>
      Identifier for the user sending the message (e.g., "usr\_abc123def456")
    </ResponseField>

    <ResponseField name="send_user_email" type="string" required>
      Email address of the sender (e.g., "[sales@company.com](mailto:sales@company.com)")
    </ResponseField>

    <ResponseField name="send_user_mailbox_id" type="string" required>
      Mailbox identifier for the sender (e.g., "mbx\_abc123def456")
    </ResponseField>

    <ResponseField name="contact_id" type="string" required>
      Recipient contact identifier (e.g., "con\_abc123def456")
    </ResponseField>

    <ResponseField name="lead_id" type="string" required>
      Associated lead identifier (e.g., "lea\_abc123def456")
    </ResponseField>

    <ResponseField name="subject" type="string" required>
      Email subject line
    </ResponseField>

    <ResponseField name="message" type="string" required>
      Email message body in HTML format
    </ResponseField>

    <ResponseField name="cc" type="array">
      Array of CC email addresses
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "ok": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ok"
        }
      },
      "required": [
        "success"
      ],
      "title": "SendEmailOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Pagination**: `get_activities` accepts `limit` (max 100, default
  100\) and `offset` for paging through campaign activity.
* **Send eligibility**: `send_email` requires a configured Lemlist
  sender user, mailbox, and an existing contact/lead — the values come
  from your Lemlist workspace.
* **Error model**: non-2xx responses and timeouts are caught and
  returned as `success=False` + `error` rather than raising. Plan for
  retries on the agent side based on the error string.

## Related integrations

<CardGroup cols={3}>
  <Card title="Enrow" href="/integrations/tools/enrow" />

  <Card title="Findymail" href="/integrations/tools/findymail" />

  <Card title="Icypeas" href="/integrations/tools/icypeas" />
</CardGroup>

## Links

* [Lemlist](https://www.lemlist.com)
