Create campaign description

Programmatically create a new outbound Dialer campaign.

Please refer to the detailed API endpoint specification: Create a new campaign

What you can achieve with the Create campaign API

This API enables you to programmatically create a new outbound Dialer campaign.
You can preconfigure campaign settings, including naming, Dialer type, time restrictions, retry behavior, and so on, allowing automated campaign creation from external tools or internal systems based on business logic.

User permissions required

  • Create campaigns

Prerequisites

  • You must provide all required campaign configuration values.
  • Team and agent names must match those that exist in your contact center.
  • Time values must follow the required format (see individual field notes).
  • The user associated with the API key must have permission to create campaigns.

Making requests

The Create campaign API requires the Base URL (cluster_id) and the contact center API key as a bearer token in the request header.

This is a POST request with a JSON body defining the campaign’s configuration.

Request body parameters

ParameterDescriptionTypeRequiredNotes
nameThe name of the new campaign.stringYesMust be unique within your contact center.
campaign_typeType of campaign.stringYesUse "live" for API-based campaigns.
timezoneTime zone used to evaluate contact time ranges.stringYesFormat: IANA time zone, e.g. "America/New_York"
start_hourAllowed starting hour for calls.stringNoFormat: "HH:MM"
end_hourAllowed ending hour for calls.stringNoFormat: "HH:MM"
retry_attemptsNumber of retry attempts for failed calls.integerNoOptional — must be 0 or greater.
retry_intervalMinutes to wait between retries.integerNoOptional — must be 0 or greater.
agentsList of agent sign-in email addresses to assign to the campaign.arrayNoMust match existing agent sign-in emails.
teamsList of team names to assign to the campaign.arrayNoMust match existing team names.
caller_id_group_idID of the Caller ID group to use.integerNoRefer to the Caller ID settings in the Admin Panel.

Request example

POST {
  "method": "POST",
  "url": "https://cluster1.voiso.com/api/dialer/v1/campaigns",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  "body": {
    "name": "Q4 Inbound Lead Follow-up",
    "campaign_type": "live",
    "timezone": "America/New_York",
    "start_hour": "09:00",
    "end_hour": "18:00",
    "retry_attempts": 3,
    "retry_interval": 10,
    "agents": ["[email protected]", "[email protected]"],
    "teams": ["NorthEastTeam"],
    "caller_id_group_id": 42
  }
}

Response

A successful response returns details of the newly created campaign.

ElementDescriptionType
idID of the newly created campaign.integer
nameName of the campaign.string
campaign_typeType of the campaign.string
statusCurrent status of the campaign.string
agentsAssigned agents.array
teamsAssigned teams.array

Response sample

{
  "id": 98765,
  "name": "Q4 Inbound Lead Follow-up",
  "campaign_type": "live",
  "status": "draft",
  "agents": ["[email protected]", "[email protected]"],
  "teams": ["NorthEastTeam"]
}

Troubleshooting

Invalid Key

If you receive "error": "Invalid Key", ensure your API token is correct and active. Refer to Authentication.

Missing or duplicate name

If no name is provided or the name already exists:

{
  "error": "Campaign name must be unique"
}

Invalid time or timezone format

If time or timezone values are improperly formatted, the request may fail with:

{
  "error": "Invalid time or timezone format"
}

Agent or team not found

If assigned agents or teams don’t exist:

{
  "error": "Some agents or teams not found"
}

Use List agents and List teams to confirm valid entries.