Campaigns

Connecting tokens in Lemlist

Kai writes personalised copy for each contact and injects it into Lemlist using custom variables called tokens. For this to work, the tokens need to be placed in the right fields inside your Lemlist sequence steps. This is a one-time setup per sequence.

How tokens work

When Kai approves a contact and pushes them to Lemlist, it sends a set of variables alongside the lead. Each variable carries the personalised content Kai generated: the email body, the subject line, the LinkedIn note, the call brief. Lemlist then injects those values into your sequence steps at send time.

The variables are named after the step they belong to. An email at step two gets variables named kai_email2_body and kai_email2_subject. A LinkedIn connection request gets kai_linkedin_note. This naming is generated automatically when you pull the steps in Kai.

The sequence structure is the source of truth. Kai reads your Lemlist sequence and generates the exact set of tokens it needs. If you have four email steps, Kai writes four emails and sends four token variables. You do not configure step counts in Kai. It follows whatever is in Lemlist.

Step 1 -- Pull the steps in Kai

Before placing tokens, Kai needs to read your Lemlist sequence and generate the correct token names.

1
Open your campaign in Kai

Go to Campaigns in the sidebar, select the campaign, then scroll down to the Lemlist Sequence section in the settings panel.

2
Confirm the Campaign ID is set

The cam_ ID of your Lemlist campaign must be in the Campaign ID field. If it is missing, add it and save before pulling steps.

3
Click "Pull latest steps"

Kai reads the sequence from Lemlist and displays every step it found. The injection token panel appears below showing the exact variable name for each step, with a Copy button next to each one.

Injection tokens -- paste into your Lemlist sequence steps
Step 1 -- LinkedIn Connection
Note
{{kai_linkedin_note}}
Step 2 -- Email 1
Subject
{{kai_email1_subject}}
Body
{{kai_email1_body}}
Step 3 -- Email 2
Subject
{{kai_email2_subject}}
Body
{{kai_email2_body}}
The injection token panel in Kai. Each step in your Lemlist sequence gets its own token. Use Copy to grab the variable name, then paste it directly into Lemlist.

Step 2 -- Place tokens in your Lemlist sequence

Open your sequence in Lemlist. You are going to paste a token into each step that Kai will populate. Steps Kai does not handle (anything that is not an email, LinkedIn touch, or call) do not need tokens.

Email steps

Every email step needs two tokens: one for the subject line and one for the body. Open the step in Lemlist, clear any existing placeholder content, and paste the tokens from Kai.

{{kai_email1_subject}}

Paste this into the Subject field of your first email step.

{{kai_email1_body}}

Paste this into the Body field. Delete any existing copy first. The entire body should contain only this token.

Lemlist -- Email step editor
Subject
{{kai_email1_subject}}
Body
{{kai_email1_body}}
Kai will replace this variable with personalised content for each contact at push time.
Inside the Lemlist email step editor. The subject and body fields should contain only the Kai token variable. Nothing else.
Do not add anything else to the body. If the body field contains anything other than the token, Lemlist will send that content alongside Kai's copy or instead of it. The token must be the only thing in the field.

LinkedIn connection request

For the connection request step, paste the note token into the Note field. This is the short personalised message that goes with the connection invite.

{{kai_linkedin_note}}

LinkedIn message steps

For follow-up LinkedIn messages after the connection is accepted, paste the message token into the message body field. If you have multiple LinkedIn message steps, use the numbered tokens in order.

{{kai_linkedin_msg1}}
{{kai_linkedin_msg2}}

Call steps

Call steps in Lemlist create a task in your CRM for the rep. Kai generates a call brief with a hook, talking points, and prep questions for each contact. The brief is visible to the rep in Kai's Approvals view. No token is needed on the call step in Lemlist itself.

Call steps in Lemlist -- leave them as-is. Lemlist will pause the sequence at the call step and create a task. The rep uses Kai's call brief (visible in the Approvals panel) to prepare. No token needed in Lemlist for this step.

Token reference

Token Step type Field in Lemlist
{{kai_email1_subject}}Email 1Subject line
{{kai_email1_body}}Email 1Body (entire field)
{{kai_email2_subject}}Email 2Subject line
{{kai_email2_body}}Email 2Body (entire field)
{{kai_email3_subject}}Email 3Subject line
{{kai_email3_body}}Email 3Body (entire field)
{{kai_email4_subject}}Email 4Subject line
{{kai_email4_body}}Email 4Body (entire field)
{{kai_linkedin_note}}LinkedIn connectionNote field
{{kai_linkedin_msg1}}LinkedIn message 1Message body
{{kai_linkedin_msg2}}LinkedIn message 2Message body
{{kai_linkedin_msg3}}LinkedIn message 3Message body

Step 3 -- Verify before running

1
Preview the sequence in Lemlist

Lemlist shows a preview of each step. Confirm that every email subject and body shows only the token variable with no placeholder text.

2
Run one contact through first

Upload a single test contact, run the pipeline, approve the sequence in Kai, and push it. Check the lead in Lemlist and confirm all variables populated correctly before running your full list.

3
Check for empty variables in Lemlist

If a token shows as empty after a push, it usually means one of three things: the token name in Lemlist does not match the one Kai generated, the step structure changed after the last pull, or the contact sequence failed to generate. Go back to Approvals in Kai and check that the sequence looks complete before pushing again.

Previous Creating a campaign