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.
POST
https://app.trygtm.com/api/v1/campaign-builds- Scope
write- Cost
- 4 action credits per unit —
ai.turn.standard - MCP tool
- start_campaign_run
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."
}
}