Build and launch a campaign

Save a campaign build. With sourcing pool it launches on the workspace's ongoing lead pool, filled daily from its default ICP, from a name and a brief alone, one pool build at a time per workspace. With sourcing tam, the default, it pages the full TAM of a saved ICP and its active intent signal in batches. Either way: an email and LinkedIn sequence, activation through the normal send gates, and every connected sender serves it. The same separate_key, or the same name when there is none, returns the saved build instead of a second one.

POSThttps://app.trygtm.com/api/v1/campaign-builds
Scope
write
Cost
4 action credits per unit — ai.turn.standard

Headers

Idempotency-Keystringoptional
A key unique to this write, up to 255 characters. A retry carrying the same key returns the first response instead of running again. Kept for 24 hours.

Body

run_idstringoptional
Continue this saved build instead of starting one. Omit to start.
separate_keystringoptional
A stable key for an intentionally separate build. Reuse it on retries; a new key starts new work.
namestringoptional
The campaign's name. Required when starting.
briefstringoptional
What the campaign is for, in the operator's words. Required when starting.
sourcingstringoptional
pool launches on the workspace's ongoing lead pool, filled daily from its default ICP, and needs only name and brief. tam, the default, pages the full TAM of icpId and needs signalId.tampool
icp_idstringoptional
The saved ICP to source from, from list_icps. Omitted, a TAM build uses the workspace's default ICP (or its only one); a pool build always uses the default.
signal_idstringoptional
The active intent signal linked to that ICP, from list_signals. Omitted, a TAM build uses that ICP's newest active signal; a pool build uses none.
wait_for_intentfalseoptional
Always false: every campaign emails its audience from day one.
targetintegeroptional
People to import in a TAM build's first batch, 1 to 10,000. Defaults to 1,000. A pool build has no batch.

Request

curl -X POST https://app.trygtm.com/api/v1/campaign-builds \
  -H "Authorization: Bearer $TRYGTM_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q4 logistics leaders",
    "brief": "Open a conversation with demand-gen leaders at mid-market logistics software companies about routing costs."
  }'

Response

{
  "data": {
    "id": "7c1e2d3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
    "stage": "planning",
    "campaign_id": null,
    "target": 1000,
    "note": "Campaign build saved. Sequence creation and sourcing continue in scheduled batches."
  }
}

Was this page helpful?