Vapi · Schema

CreateCampaignDTO

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
name string This is the name of the campaign. This is just for your own reference.
assistantId string This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used.
workflowId string This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used.
squadId string This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used.
phoneNumberId string This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive.
dialPlan array This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: ph
schedulePlan object This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as
customers array These are the customers that will be called in the campaign. Required if dialPlan is not provided.
View JSON Schema on GitHub

JSON Schema

vapi-createcampaigndto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CreateCampaignDTO",
  "title": "CreateCampaignDTO",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "This is the name of the campaign. This is just for your own reference.",
      "example": "Q2 Sales Campaign"
    },
    "assistantId": {
      "type": "string",
      "description": "This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used."
    },
    "workflowId": {
      "type": "string",
      "description": "This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used."
    },
    "squadId": {
      "type": "string",
      "description": "This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used."
    },
    "phoneNumberId": {
      "type": "string",
      "description": "This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive."
    },
    "dialPlan": {
      "description": "This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DialPlanEntry"
      }
    },
    "schedulePlan": {
      "description": "This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization\u2019s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn\u2019t be placed won\u2019t be retried.",
      "allOf": [
        {
          "$ref": "#/components/schemas/SchedulePlan"
        }
      ]
    },
    "customers": {
      "description": "These are the customers that will be called in the campaign. Required if dialPlan is not provided.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCustomerDTO"
      }
    }
  },
  "required": [
    "name"
  ]
}