Skip to main content
Back to API List Use this API to create a voice campaign that uses Preview dialing mode. In this mode, agents review contact information before initiating calls. The campaign routes answered calls to a specified agent queue.
MethodPOST
Endpointhttps://{{host}}/agentassist/api/v1/public/{{IId}}/campaign?campaignType=voice
Content-Typeapplication/json
Authorizationauth: {{JWT}} See How to generate the JWT Token
API ScopeCampaign Management

Path Parameters

ParameterDescriptionType
hostEnvironment URL, for example, https://platform.kore.aistring, required
IIdThe Application ID.string, required

Query Parameter

ParameterDescriptionType
campaignTypeType of Campaign. Use sms.string, required

Sample Request

curl --location 'https://{{host}}/agentassist/api/v1/public/{{botId}}/campaign?campaignType=voice' \
--header 'auth: <token>' \
--header 'Content-Type: application/json' \
--header 'iid: st-0603182c-7ffb-53c3-b307-47ca14b9xxxx' \
--header 'accountId: 67777ce93e25326494e9xxxx' \
--data '{
    "name": "Billing Reminder Voice Campaign",
    "description": "Progressive dialing campaign to remind customers about upcoming bill payments. Connects to an agent if available, else plays a recorded message",
    "contactLists": [
        "Recent Buyers - Q2 2025"
    ],
    "priority": "5",
    "dialingMode": "Preview",
    "dialingStrategy": {
        "callerId": {
            "phoneNumber": "+181234567"
        },
        "callingHours": {
            "frequency": "WEEKLY",
            "timezone": "Asia/Kolkata",
            "days": [
                {
                    "day": "MO",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "TU",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "WE",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "TH",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "FR",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                }
            ]
        },
        "dialingOrder": "FIFO",
        "maxAttemptsPerRecord": 3,
        "defaultRetryPeriod": 10,
        "maxRingTime": 30
    },
    "schedule": {
        "isSchedulingEnabled": false
    },
    "queue_name": "Default Queue",
    "enableMachineDetect": false,
    "maxSkips": 1,
    "campaignType": "voice"
}'

Headers

HeaderDescriptionRequired/Optional
authJWT token for authentication.required
iidThe Application Id.required
accountIdThe Account Id.required

Body Parameters

ParameterDescriptionType
nameName of the campaign. Used to identify it in Kore.ai. The name must be a maximum of 48 characters.string, required
descriptionDescription of the campaign’s objective. The description must be a maximum of 256 characters.string, required
contactListsList of contact list names. These must already exist. At least one contact list name is required.array[string], required
priorityCampaign priority. Higher values indicate higher execution priority. Priority must be one of the following: 1, 2, 3, 4, or 5.string, required
dialingModeDialing mode defines how calls are handled. Valid values are: Agentless, Progressive, or Preview.string, required
dialingStrategy.callerId.phoneNumberCaller ID number to display when calling. Must be a verified number.string, required
dialingStrategy.callingHours.frequencyFrequency of calling hours must be one of: WEEKLY, DAILY, or CUSTOM.string, required
dialingStrategy.callingHours.timezoneTimezone in which calling hours should be enforced, e.g., “Asia/Kolkata”.string, required
dialingStrategy.callingHours.daysList of allowed calling time blocks. Each object should include: day (‘MO’, ‘TU’, ‘WE’, ‘TH’, ‘FR’, ‘SA’, ‘SU’), start (“9:00 AM”), end (“6:00 PM”). You can define multiple entries to cover different days and time slots.array[object], required
dialingStrategy.dialingOrderOrder in which contacts are dialed: “FIFO” (First In First Out) or “LIFO” (Last In First Out).string, required
dialingStrategy.maxAttemptsPerRecordMaximum number of call attempts per contact. Minimum is 1 and maximum is 100.number, required
dialingStrategy.defaultRetryPeriodTime (in minutes) to wait between retries. Must be between 1 and 1440.number, required
dialingStrategy.maxRingTimeMax time (in seconds) the phone should ring before disconnecting. Must be between 5 and 120.number, required
queue_nameName of the agent queue used for connecting calls in the campaign.string, required
enableMachineDetectEnables detection of answering machines or voicemails. Valid values are true or false.boolean, required
maxSkipsNumber of contact skips allowed for agents in preview mode before the record is flagged.number, required
campaignTypeType of campaign. Must be either ‘voice’ or ‘sms’.string, required

Sample Response

{
    "status": "success",
    "message": "Campaign Voice From API- With Preview Dialing Mode- 2 creation in progress",
    "id": "cd-c806ae6-8e00-4131-ba20-bc072038xxxx",
    "data": {
        "campId": "cd-c806ae6-8e00-4131-ba20-bc072038xxxx"
    }
}

Response Body Parameters

ParameterDescriptionType
statusStatus of the operation (success).string
messageDescriptive message of the action result.string
idUnique identifier for the campaign.string
data.campIdUnique ID of the campaign.string