Create a campaign

Create a draft campaign. It does nothing until it has audiences, a template and senders, and is activated.

POSThttps://app.trygtm.com/api/v1/campaigns
Scope
write

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

namestringrequired
The name to give it. Names are how campaigns, templates and lists are referred to, so make it specific.
goalstringoptional
What the campaign or template is for. Decides the default step chain and how the copy agent writes.start_conversationbook_meetingbook_demoevent_signupnurturereengage
end_datestringoptional
The last day the campaign runs, YYYY-MM-DD. Omit for no end date.

Request

curl -X POST https://app.trygtm.com/api/v1/campaigns \
  -H "Authorization: Bearer $TRYGTM_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q4 logistics leaders"
  }'

Response

{
  "data": {
    "detail": "Created the draft campaign “Q4 logistics leaders”.",
    "campaign": {
      "id": "3b7f0c52-91aa-4e0d-8c11-5a2d6e4f7b90",
      "name": "Q4 logistics leaders",
      "status": "draft",
      "goal": "book_meeting",
      "template_id": null,
      "template_name": null,
      "audiences": [],
      "daily_target": 40,
      "min_intent": 1,
      "wait_for_intent": false,
      "auto_source": true,
      "end_date": null,
      "created_at": "2026-09-01T12:00:00.000Z"
    }
  }
}

Was this page helpful?