> SpecStream is the live web data engine for teams and agents. This is the Markdown copy of https://specstream.ai/docs/integrations/lemlist. Every page, with what SpecStream does and costs: https://specstream.ai/llms.txt

# lemlist

Send live web data to a lemlist campaign. SpecStream finds the companies and people the campaign is for, each value with the page it came from, and every match becomes a lead through Zapier, n8n, lemlist's API, or a CSV file.

[SpecStream for lemlistOutreach & sales](https://specstream.ai/integrations/lemlist.md)

## What you need

-   A lemlist account with a campaign to add leads to.
-   A SpecStream account. New accounts get $10 of work free, with no card.
-   A Zapier account or self-hosted n8n, and a SpecStream API key. The CSV route needs neither.

1.  1

    ## 1. Ask for records lemlist can use

    lemlist identifies each lead by its email, so ask for one in the request, for example `Independent dental practices in Austin, with the owner's name and email and the practice website`. SpecStream returns an email only when the business or person published it.

    If the campaign has LinkedIn steps, ask for each person's LinkedIn profile too. Ask in the workspace, from an agent, or from a Zap with **Find a List**.

2.  2

    ## 2. Connect SpecStream to Zapier

    Add the SpecStream app to Zapier and connect it with an API key, as the [Zapier guide](https://specstream.ai/docs/integrations/zapier.md) shows.

    Make the key in SpecStream under **Agents & API**, then **API keys**, then **Create API key**. A key that only receives records needs **Read saved requests**, **Read results and their sources**, and **Read account and balance**. Leave **Project** on **All your projects**, because the trigger registers a webhook on your account.

3.  3

    ## 3. Add each record to the campaign

    Start a Zap with SpecStream's **New Row in a Finished List** trigger. Add lemlist's **Add Lead to Campaign** action and pick the campaign.

    Map the lead's email from the record's email column, then the name and company fields from the columns that hold them. Fields are named the way your list names its columns.

    A record without an email stops at the lemlist step. Put a **Filter by Zapier** step before it that continues only when the email field exists.

4.  4

    ## 4. Keep the campaign current

    For records that arrive over time, start the Zap with **New or Changed Row in a Watched List** instead. In SpecStream, open the list, click **Keep it current**, choose how often it runs, and click **Start monitor**. Each run then sends only the records that are new or changed. [Monitors](https://specstream.ai/docs/schedules.md) covers cadence and limits.

## With n8n

n8n has a built-in lemlist node. Start a workflow with **SpecStream Trigger** on **Run Completed**, read each record with the SpecStream node's **Get List Results**, and add it with the lemlist node's **Lead** resource and **Create** operation. The [n8n guide](https://specstream.ai/docs/integrations/n8n.md) covers the SpecStream side.

## From your own code

lemlist's API adds a lead with `POST https://api.lemlist.com/api/campaigns/{campaignId}/leads/`, using HTTP Basic auth with an empty user name and your lemlist API key as the password. Any field beyond lemlist's own, such as `sourceUrl`, becomes a custom variable you can use in the campaign's messages.

Receive SpecStream records with a [webhook](https://specstream.ai/docs/webhooks.md) when a run finishes or a monitor finds something, or read them with the [REST API](https://specstream.ai/docs/api.md).

## With a CSV file

In SpecStream, select the records, click **Export**, and download a CSV. In lemlist, open the campaign, go to **Leads**, click **Actions**, choose **Import new leads**, and import the file. Map the email column to lemlist's email, and match the rest to lemlist's variables. Each value's source page comes along in the file.

## Cost

Sending records to lemlist costs nothing on SpecStream's side. SpecStream bills your balance for the records that match a request, never above the maximum you approved, and a request that finds nothing is free. Zapier, n8n, and lemlist bill for their own plans. [Balance, quotes, and billing](https://specstream.ai/docs/billing.md) has the rates.

## More

[SpecStream for lemlist](https://specstream.ai/integrations/lemlist.md) covers what it does in lemlist on one page. Every other tool has its guide in [Connect your tools](https://specstream.ai/docs/integrations.md). You see the most a request can cost before it starts, and the matches are paid from your balance. [Billing](https://specstream.ai/docs/billing.md) has the details. For help, email [support@specstream.ai](mailto:support@specstream.ai).
