---
title: "Create Outbound Communication Campaign"
method: POST
path: "/api/v1/outbound/campaigns"
tags: ["outbound.campaigns"]
---

# Create Outbound Communication Campaign

`POST /api/v1/outbound/campaigns`

## Request body

- OutboundCampaignInput
  - `campaign_name` string, required — Human readable name of campaign
  - `description` string, nullable — Description of campaign
  - `mode` string, nullable — Mode of the campaign (e.g. voice, sms, email)
  - `sms_session_ttl` integer, nullable — Time to live for SMS session in minutes
  - `label` string, nullable — Label for campaign (DEPRECATED - use labels instead)
  - `labels` string[], nullable — Labels for campaign
  - `campaign_variables` object, required — Variables for campaign
  - `daily_start_time` string, nullable — Start time of campaign each day
  - `daily_end_time` string, nullable — End time of campaign each day
  - `source` string, nullable — Source phone number, email, or SMS number
  - `caller_id` string, nullable, required — Caller ID for call
  - `hourly_rate` integer — Target number of outreach calls per hour
  - `max_daily_calls` integer, nullable — Maximum number of outreach calls per day
  - `retry_count` integer — Number of retries per target
  - `retry_interval` string, nullable — How long to wait before retrying
  - `active_days` DaysOfWeek[], required — Days of the week when campaign is active
  - `voicemail_detection` object, nullable — Config for voicemail detection for voice campaigns. Set to None to disable.
  - `webhooks` OutboundCampaignWebhookInput[] — Webhooks for campaign (note: this is an in-development feature - webhooks will not yet trigger even if configured)
    - `trigger_statuses` ChannelManagerStatus[], required — Condition expression evaluated when the trigger fires
    - `url` string, required — HTTPS URL to which to send the webhook payload
    - `request_method` string, required — HTTP method for the outbound request (POST, PUT, or PATCH)
    - `id` integer, nullable — Unique ID for webhook, if updating an existing webhook
    - `auth_values` object, nullable — Optional dict of auth values. Currently, only the key "hmac_secret" is allowed; value must be standard Base64 (RFC 4648) decoding to 32–512 bytes of key material. On update, leave a value for a given key null and the stored value for that key is kept. (If a key is omitted entirely, any existing value for that key is removed.)

## Response `200`

Successful Response

- OutboundCampaign
  - `campaign_name` string, required — Human readable name of campaign
  - `description` string, nullable — Description of campaign
  - `mode` string, nullable — Mode of the campaign (e.g. voice, sms, email)
  - `sms_session_ttl` integer, nullable — Time to live for SMS session in minutes
  - `label` string, nullable — Label for campaign (DEPRECATED - use labels instead)
  - `labels` string[], nullable — Labels for campaign
  - `campaign_variables` object, required — Variables for campaign
  - `daily_start_time` string, nullable — Start time of campaign each day
  - `daily_end_time` string, nullable — End time of campaign each day
  - `source` string, nullable — Source phone number, email, or SMS number
  - `caller_id` string, nullable, required — Caller ID for call
  - `hourly_rate` integer — Target number of outreach calls per hour
  - `max_daily_calls` integer, nullable — Maximum number of outreach calls per day
  - `retry_count` integer — Number of retries per target
  - `retry_interval` string, nullable — How long to wait before retrying
  - `active_days` DaysOfWeek[], required — Days of the week when campaign is active
  - `voicemail_detection` object, nullable — Config for voicemail detection for voice campaigns. Set to None to disable.
  - `id` integer, required — Unique ID for campaign
  - `agent_id` integer, nullable — ID of agent assigned to campaign
  - `created_at` string, date-time — Timestamp of campaign creation
  - `updated_at` string, date-time — Timestamp of campaign update
  - `last_updated_by` string, required — Email of user who last updated campaign
  - `webhooks` OutboundCampaignWebhookResponse[], nullable — Webhooks for campaign (note: this is an in-development feature - webhooks will not yet trigger even if configured)
    - `trigger_statuses` ChannelManagerStatus[], required — Condition expression evaluated when the trigger fires
    - `url` string, required — HTTPS URL to which to send the webhook payload
    - `request_method` string, required — HTTP method for the outbound request (POST, PUT, or PATCH)
    - `id` integer, required — Unique ID for webhook
    - `auth_value_keys` string[], nullable — Auth value keys (values omitted for security); only hmac_secret is currently supported

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/asksyllable/apis/syllablesdk.md) · [All operations](https://skmtc.dev/asksyllable/apis/syllablesdk/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asksyllable/syllablesdk/revisions/fa854ea4fdc1/schema)
