Outbound Call
Outbound call requests manage AI-powered telephony campaigns with scheduling, retry logic, and calling hours compliance. Supports immediate execution, scheduled calls, and recurring patterns with configurable time windows for TCPA compliance.
Source: src/core/conversation/outbound-call.schema.ts
BusinessCallRequest
Complete outbound call request with all configuration options for AI-powered telephony campaigns. Supports immediate execution, scheduled calls, and recurring patterns with configurable retry logic.
Schema: BusinessCallRequestSchema
Schedule Types
| Type | Description |
|---|---|
immediate | Executes as soon as possible within calling hours |
scheduled | Executes at specific scheduledAt timestamp |
recurring | Executes on callingHours schedule pattern |
Call Request Lifecycle
| Status | Description |
|---|---|
pending | Created, awaiting execution window |
scheduled | Queued for specific time |
in_progress | Call currently active |
completed | Call finished successfully |
failed | Call failed after all retries |
cancelled | Manually cancelled before execution |
Attributes
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Unique identifier for this call request |
phoneConfigurationId | string | null | No | — | Phone configuration ID for caller ID display and telephony routing |
to | string | Yes | — | Destination phone number in E.164 format (e.g., '+12125551234') |
from | string | Yes | — | Caller ID phone number in E.164 format |
agentConfigurationId | string | Yes | — | Agent configuration ID defining AI behavior for this call |
instructionConfigurationId | string | null | No | — | Optional instruction configuration ID to override agent defaults |
maxDuration | number | No | — | Maximum call duration in seconds |
scheduleType | enum | Yes | — | Call timing strategy. One of immediate, scheduled, or recurring. |
serviceConversationConfigId | string | null | No | — | Linked conversation record ID for tracking |
timeZone | string | No | — | IANA timezone identifier (e.g., 'America/New_York') |
scheduledAt | number | No | — | Unix timestamp in milliseconds for scheduled execution |
callingHours | CallingHours | null | No | — | Permitted calling window configuration |
maxRetries | number | No | — | Maximum retry attempts (0-5) |
retryDelayMinutes | number | No | — | Delay in minutes between retry attempts |
status | enum | Yes | pending | Current status of the call request lifecycle |
metadata | object | No | — | Additional custom metadata for campaign tracking |
createdAt | number | No | — | Unix timestamp when created |
updatedAt | number | null | No | — | Unix timestamp when last updated |
CallingHours
Permitted time window configuration for outbound calls. Ensures TCPA compliance and respects customer preferences. Calls scheduled outside these hours are queued until the next available window.
Schema: CallingHoursSchema
Attributes
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
startTime | string | Yes | — | Start time in HH:MM 24-hour format (e.g., '09:00') |
endTime | string | Yes | — | End time in HH:MM 24-hour format (e.g., '17:00') |
daysOfWeek | array<number> | No | [1,2,3,4,5] | Permitted days (0=Sunday through 6=Saturday) |
CreateCallRequest
Schema for creating a new outbound call request. Omits auto-generated fields (id, timestamps, audit fields).
Schema: CreateCallRequestSchema
Attributes
Same as BusinessCallRequest, excluding: id, createdAt, updatedAt, createdBy, updatedBy, deletedAt, deletedBy, uniqueKey, version.
Example
Business Call Request
{
"id": "call_abc123",
"to": "+12125551234",
"from": "+12125559999",
"agentConfigurationId": "agent_456",
"scheduleType": "immediate",
"callingHours": {
"startTime": "09:00",
"endTime": "17:00",
"daysOfWeek": [1, 2, 3, 4, 5]
},
"maxRetries": 3,
"retryDelayMinutes": 30,
"status": "pending",
"metadata": {
"campaignId": "camp_789",
"leadSource": "website"
},
"createdAt": 1709856000000
}
Scheduled Call
{
"to": "+12125551234",
"from": "+12125559999",
"agentConfigurationId": "agent_456",
"scheduleType": "scheduled",
"scheduledAt": 1709942400000,
"timeZone": "America/New_York",
"maxDuration": 600,
"status": "scheduled"
}
Related
- Conversation Configuration - Conversation tracking for call outcomes
- Outbound SMS - SMS messaging requests
- Outbound Email - Email messaging requests