Campaigns

Creating a campaign

A campaign is the container that holds your target audience, outreach sequence, and settings. Before Kai can research or write anything, a campaign needs to exist. This guide walks through creating one from scratch.

Before you start

You need two things in place before creating a campaign:

  • A sequence in your outreach platform built and ready, with at least one email step. Kai pulls its structure from your outreach platform, so the sequence must exist first. See Personalization tokens for how that works.
  • Your platform campaign ID. You find this in your outreach platform under campaign settings. In Lemlist it looks like cam_XxxxxxxxxxxxxxxxxQDk.
API connections first. If you have not connected your outreach platform and AI provider yet, start with API connections. A campaign will not run without them.
The Campaigns group expanded in the Kai sidebar, showing the five campaign types with their counts.
The five campaign types in the sidebar. The type is chosen at creation and cannot be changed afterwards.

Campaign types

Kai has five campaign types. Choose the one that matches your outreach motion before you create anything. The type cannot be changed after creation.

Targeted List
A defined list of contacts, run as a one-time push or short campaign window. The standard starting point. You upload a CSV or pull from a platform source campaign, Kai researches and writes for each contact, you approve, and it executes.
Account-based
One target account per campaign. Kai enriches the account, discovers contacts in the right roles, and runs a wave approach: one senior contact first, then two below the line. Best for strategic accounts where you want deep, coordinated coverage.
Always-on
Always-on sourcing against an ICP brief. Kai finds contacts automatically every four hours, queues them for approval, and keeps outreach running continuously. A saturation gate (default: 50 pending approvals) pauses sourcing when the queue is full.
Intent-driven
Anchored to a live HubSpot list of accounts showing intent, RB2B de-anonymised visitors, website activity, product signals, or a segment your RevOps team maintains. A rep opens the account browser, picks the accounts worth working that day, and cherry-picks which people at each account to pull in. Kai leads its research with the intent signal, then writes and queues as usual. Best when the "who to reach today" question is answered by your CRM rather than a fixed list.
Nurture
A defined list of people who already showed intent, a gated-content download, a form fill, a webinar attendee, most often pulled from a CRM list. Same one-shot list mechanism as Targeted List, but aimed at re-engaging a known lead toward a reply, a booked demo, or a return to the site, rather than earning a first reply from a stranger.

Creating a Targeted List campaign

Targeted List is the right starting point for most teams. Here is the full creation flow.

1
Open the Campaigns sidebar

In the left navigation, click Campaigns to expand it, then click Targeted List. If no campaigns exist yet, you will see an empty state with a button to create the first one.

2
Click "New campaign"

This opens the campaign creation form. Give the campaign a name that tells you what it covers. The vertical, list source, or campaign window works well. For example: Media and Publishing Q3 2026.

3
Set the vertical

Select the vertical this campaign targets. This tells Kai which industry context to use when writing outreach. Kai uses vertical-specific proof points, terminology, and angles, so getting this right matters for copy quality.

4
Enter the platform campaign ID

Paste the ID of the campaign in your outreach platform this outreach will run through. The ID lives in your outreach platform under your campaign settings and starts with cam_. This is what Kai uses to push approved contacts into the right sequence.

New campaign Targeted List
Campaign name
Vertical
Media & Publishing
Platform campaign ID
The new campaign form. Name, vertical, and platform campaign ID are the three required fields.
5
Pull the latest steps

After saving, open the campaign settings panel and click Pull latest steps. Kai reads your sequence in your outreach platform structure and maps a token to every step. The current sequence appears below the button, and the injection token panel shows exactly what to paste into each platform sequence step.

Platform sequence
Day 1LinkedInConnection request
Day 2EmailEmail 1
Day 3CallCall step
Day 4EmailEmail 2
Day 7LinkedInMessage 1
Day 9EmailEmail 3
Day 13EmailEmail 4
{{kai_linkedin_note}}
{{kai_email1_subject}}
{{kai_email1_body}}
After pulling steps, Kai shows the full sequence structure and generates a token for every step. Use the Copy buttons to paste tokens into your outreach platform.
Changed your sequence in your outreach platform? If you add, remove, or reorder steps in your outreach platform after a campaign is running, come back to the campaign settings and hit Pull latest steps again. Kai's token map needs to match the live sequence or the push will fail.

What happens next

With the campaign created and steps pulled, the next task is placing the tokens in your sequence in your outreach platform steps, then uploading contacts and running the pipeline. Kai will research each contact, write a personalised sequence, and queue everything for your review in Approvals before anything reaches a real inbox.

Account-based, Always-on, and Intent-driven campaigns

Account-based

You enter the target company's name and website, and Kai enriches the account automatically using Firecrawl and your outreach platform's company data. After enrichment, Kai surfaces contacts it found in the right roles for you to approve or reject before anything is written.

Always-on

Instead of a contact list, you provide an ICP brief describing the companies and roles you want Kai to find. Kai sources new contacts on a four-hour cycle and queues them for approval. A saturation gate prevents the queue from getting ahead of your review capacity. You can pause, resume, or trigger an immediate source run from the campaign view.

Intent-driven

Instead of a contact source, you point the campaign at a HubSpot list. On the creation form, choose whether the list is a Contacts list or a Companies list using the toggle, paste the list ID or its HubSpot URL, and click Preview to confirm Kai can read it and see how many records it holds. You can also name the intent properties Kai should treat as signals, the HubSpot fields carrying the visit data, trigger event, or segment, so research leads with them.

There is no CSV step. Once the campaign exists, open it and Kai shows an account browser built from the live list: accounts as expandable rows with their intent signals and contact counts. Search for an account, expand it, tick the specific people you want, and click Pull selected into campaign. Those contacts drop into the normal pending-research flow. When your RevOps team enriches an account in HubSpot (adding colleagues through Clay, for example), click Refresh from HubSpot to re-pull the list. See Instructions & briefs for how the intent signal feeds Kai's research.

Running a campaign across a team? Campaign Programs let one manager-defined setup run for several reps at once, either off one shared list or a separate list per rep. You build these under Strategy → Team campaigns rather than the Campaigns section. See Team campaigns for the full walkthrough.