---
title: "Create Campaign Calls Bulk"
method: POST
path: "/campaigns/v1/schedule/calls"
tags: ["Campaign Bulk Calls", "Bulk Calls"]
---

# Create Campaign Calls Bulk

`POST /campaigns/v1/schedule/calls`

Create a new campaign call configuration in bulk.
- **body**: The campaign call configuration data.
- **config**: Configuration options for the campaign call.
- **data**: List of campaign call data to be processed in bulk.

## Request body

- BulkCampaignCallsRequest
  - `config` CampaignConfig
    - `name` string, nullable — Campaign name
    - `callType` string
    - `campaignType` string
    - `timezone` string
    - `startHours` integer
    - `endHours` integer
    - `reportEmails` string[]
    - `maxParallelCalls` integer
    - `isReviewRequired` boolean
    - `validateOnUpload` boolean
    - `reviewEmails` string[]
    - `maxRetries` integer
    - `uidExtension` string
    - `schedule` object[]
    - `assistantNumbers` string[]
    - `webhook` WebhookConfig — Represents the configuration for webhooks.
      - `enabled` boolean — Enable/disable webhooks. When enabled, webhook notifications will be sent based on the configured events.
      - `url` string, nullable — The endpoint URL where Interactly will send webhook notifications about campaign and call events using HTTP POST requests.
      - `secret` string, nullable — An optional secret key used for authenticating webhook requests. Each request will include this key in the 'x-interactly-secret' header to help you verify that the request originated from Interactly.
      - `headers` WebhookHeader[], nullable — A list of additional HTTP headers to include with each webhook request. These headers can be used to authenticate your webhook endpoint or send custom metadata. Headers marked as sensitive will have their values encrypted before storage. All headers will be automatically included in every webhook request.
        - `key` string — The name of the HTTP header to include in the webhook request (e.g., 'Authorization').
        - `value` string — The value of the HTTP header (e.g., 'Bearer token'). This value will be encrypted if marked as sensitive.
        - `sensitive` boolean — If true, the header value will be encrypted and stored securely in the database.
      - `events` WebhookEvents[] — The list of events for which webhook notifications will be sent. You can choose one or more events to receive notifications about specific campaign and call activities.
    - `retryPolicy` RetryPolicyInput — Represents the retry policy for a call. This model includes fields for enabling/disabling the retry policy, setting the maximum number of retries, and the rules.
      - `enabled` boolean — Enable/disable retry policy
      - `maxNumberOfRetries` integer — Maximum number of retries
      - `maxRetriesPerDay` integer — Max retries per day
      - `rules` RetryRule[] — List of retry rules
        - `ruleId` string, nullable — Rule id for the retry attempt
        - `ruleType` 'call_status_based' | 'outcome_based' — Enum representing the type of retry rule. This enum is used to categorize the type of retry rule being applied to a call. Each type represents a different category of retry rule, allowing for better organization and handling of retries. Attributes: CALL_STATUS_BASED (str): Represents a retry rule based on the status of the call. OUTCOME_BASED (str): Represents a retry rule based on the outcome of the call.
        - `callStatusCode` 'call_declined' | 'call_not_answered' | 'call_dropped' — Enum representing the status code of a call. This enum is used to categorize the status code of a call, allowing for better organization and handling of calls. Attributes: CALL_DECLINED (str): Represents a call that was declined. CALL_NOT_ANSWERED (str): Represents a call that was not answered. CALL_DROPPED (str): Represents a call that was dropped.
        - `outcome` string, nullable — Custom outcome string from call processing to trigger retry
        - `delayStartInMinutes` integer, nullable — Delay period's start in minutes
        - `delayEndInMinutes` integer, nullable — Delay period's end in minutes
    - `preCallMessage` PreCallMessage — Represents the message sent before a call is initiated. This model includes fields for enabling/disabling the pre-call message, scheduling the message, and the content of the message.
      - `enabled` boolean — Enable/disable pre-call message
      - `scheduledBefore` string, nullable — Time before call to schedule message
      - `scheduledAt` string, date-time, nullable — Scheduled time for message
      - `messageType` string, nullable — Type of pre-call message
      - `message` string, nullable — Pre-call message content
    - `afterCallMessages` AfterCallMessages — Represents the messages sent after a call is processed. This model includes messages for various outcomes of the call, such as answered, not answered, declined, voicemail, and dropped calls.
      - `enabled` boolean — Enable/disable after call messages
      - `callAnswered` CallMessage — Represents a message associated with a call. This model includes fields for enabling/disabling the message, specifying the type of message, and the content of the message.
        - `enabled` boolean — Enable/disable message
        - `messageType` string, nullable — Type of message
        - `message` string, nullable — Message content
      - `callNotAnswered` CallMessage — Represents a message associated with a call. This model includes fields for enabling/disabling the message, specifying the type of message, and the content of the message.
        - `enabled` boolean — Enable/disable message
        - `messageType` string, nullable — Type of message
        - `message` string, nullable — Message content
      - `callDeclined` CallMessage — Represents a message associated with a call. This model includes fields for enabling/disabling the message, specifying the type of message, and the content of the message.
        - `enabled` boolean — Enable/disable message
        - `messageType` string, nullable — Type of message
        - `message` string, nullable — Message content
      - `voicemail` CallMessage — Represents a message associated with a call. This model includes fields for enabling/disabling the message, specifying the type of message, and the content of the message.
        - `enabled` boolean — Enable/disable message
        - `messageType` string, nullable — Type of message
        - `message` string, nullable — Message content
      - `callDropped` CallMessage — Represents a message associated with a call. This model includes fields for enabling/disabling the message, specifying the type of message, and the content of the message.
        - `enabled` boolean — Enable/disable message
        - `messageType` string, nullable — Type of message
        - `message` string, nullable — Message content
    - `tags` string[]
  - `data` UploadCallItem[] — List of call records to create. Each item must include phone_number; all other fields are optional. Extra fields are stored as call payload.
    - `phone_number` string, required — Target phone number (E.164 format recommended, e.g. '+12065551234')
    - `override_assistant_id` string, nullable — Override the campaign's default AI assistant for this specific call
    - `override_timezone` string, nullable — IANA timezone override for this call's scheduling window (e.g. 'America/Chicago')
    - `override_schedule` Schedule[], nullable — Call window override — each entry has 'startAt' and 'endAt' as ISO 8601 strings
      - `startAt` string, date-time, nullable — Schedule start datetime
      - `endAt` string, date-time, nullable — Schedule end datetime

## Response `200`

Successful Response

- unknown

## Other responses

- `202` — Batch accepted — campaign and calls created
- `400` — Bad request — invalid input or constraint violation
- `404` — Requested resource not found
- `422` — Validation Error
- `500` — Internal server error

---

[API](https://skmtc.dev/interactly/apis/interactly-api-2.md) · [All operations](https://skmtc.dev/interactly/apis/interactly-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/interactly/interactly-api-2/revisions/a9901c64edf4/schema)
