Skip to main content
A campaign is a working set of leads — the people you are currently trying to reach for one motion — together with the channels that motion uses. The important thing to understand, especially if you are coming from a CRM built around cadences: a campaign is an audience, not a sequence. It does not hold an ordered list of timed steps. Automation lives in workflows, which are separate and can be triggered by far more than “N days since the last touch”.

How membership is decided

A campaign’s leads are the union of two things:
  • A live query — the campaign’s audience filter, the same filter shape Smart Views use. Leads matching it are in the campaign automatically, and a lead that stops matching leaves. This is what makes a campaign stay current without anyone maintaining a list.
  • Pinned leads — leads added explicitly, by import, by API, or from your lead database. A pinned lead stays in regardless of the query.
A campaign with no query is exactly its pinned leads — a static list. That is a perfectly normal way to run one, and it’s what you get if you never set a filter.
Because pins win over the query, adding a lead explicitly is permanent until it is explicitly removed. Narrowing the audience filter will not evict it.

What else a campaign carries

  • Channels — which of call, SMS, email, LinkedIn or WhatsApp this motion uses. This is a label for humans and reporting; nothing reads it to decide behaviour.
  • Statusdraft while you build it, active once it’s running, paused when you stop sends, completed when it’s done.
  • An inbound webhook — an optional per-campaign URL that external tools can post leads to. See Inbound webhooks.

Campaigns and the API

POST /v1/leads also takes a campaignId, so a lead can be created straight into a campaign in one call — see Writing data. Adding a lead to a campaign fires the Lead enters campaign trigger, so any workflow built on it runs exactly as it would for a lead added in the Cockpit.
“Campaign” is the product term for what’s called a funnel in some internal contexts — they’re the same thing. The API uses campaign everywhere.