Set a campaign's status
Activate, pause, complete or return a campaign to draft. Activation needs an audience and a template, and answers 409 naming what is missing; with no sender attached it attaches the workspace's connected email and LinkedIn senders and names them. Activating is not sending: the launcher works the queue behind the send gate.
PUT
https://app.trygtm.com/api/v1/campaigns/{campaign}/status- Scope
write- MCP tool
- set_campaign_status
Path parameters
campaignstringrequired- The campaign, by id or exact name (case-insensitive).
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
statusstringrequired- The state to move it to.
draftactivepausedcompleted
Request
curl -X PUT https://app.trygtm.com/api/v1/campaigns/Q4%20logistics%20leaders/status \
-H "Authorization: Bearer $TRYGTM_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"status": "active"
}'Response
{
"data": {
"detail": "“Q4 logistics leaders” is now active.",
"campaign": {
"id": "3b7f0c52-91aa-4e0d-8c11-5a2d6e4f7b90",
"name": "Q4 logistics leaders",
"status": "active",
"goal": "book_meeting",
"template_id": "c1d2e3f4-0a1b-4c2d-8e3f-4a5b6c7d8e9f",
"template_name": "Logistics opener",
"audiences": [
{
"id": "5e6f7a8b-1c2d-4e3f-9a0b-1c2d3e4f5a6b",
"name": "Logistics VPs — US"
}
],
"daily_target": 40,
"min_intent": 1,
"wait_for_intent": false,
"auto_source": true,
"end_date": null,
"created_at": "2026-09-01T12:00:00.000Z"
}
}
}