@gnosticdev/highlevel-sdk
Version:
SDK for the HighLevel API
1,363 lines • 67 kB
TypeScript
//#region src/v2/types/voice-ai.d.ts
interface paths {
'/voice-ai/actions': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create Agent Action
* @description Create a new action for a voice AI agent. Actions define specific behaviors and capabilities for the agent during calls.
*/
post: operations['create-action'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/voice-ai/actions/{actionId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Agent Action
* @description Retrieve details of a specific action by its ID. Returns the action configuration including actionParameters.
*/
get: operations['get-action'];
/**
* Update Agent Action
* @description Update an existing action for a voice AI agent. Modifies the behavior and configuration of an agent action.
*/
put: operations['update-action'];
post?: never;
/**
* Delete Agent Action
* @description Delete an existing action from a voice AI agent. This permanently removes the action and its configuration.
*/
delete: operations['delete-action'];
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/voice-ai/agents': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Agents
* @description Retrieve a paginated list of agents for given location.
*/
get: operations['get-agents'];
put?: never;
/**
* Create Agent
* @description Create a new voice AI agent configuration and settings
*/
post: operations['create-agent'];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/voice-ai/agents/{agentId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Agent
* @description Retrieve detailed configuration and settings for a specific voice AI agent
*/
get: operations['get-agent'];
put?: never;
post?: never;
/**
* Delete Agent
* @description Delete a voice AI agent and all its configurations
*/
delete: operations['delete-agent'];
options?: never;
head?: never;
/**
* Patch Agent
* @description Partially update an existing voice AI agent
*/
patch: operations['patch-agent'];
trace?: never;
};
'/voice-ai/dashboard/call-logs': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List Call Logs
* @description Returns call logs for Voice AI agents scoped to a location. Supports filtering by agent, contact, call type, action types, and date range (interpreted in the provided IANA timezone). Also supports sorting and 1-based pagination.
*/
get: operations['get-call-logs'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/voice-ai/dashboard/call-logs/{callId}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get Call Log
* @description Returns a call log by callId.
*/
get: operations['getCallLog'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
type webhooks = Record<string, never>;
interface components {
schemas: {
AgentActionResponseDTO: {
/** @description Action parameters - structure varies by actionType */actionParameters: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | components['schemas']['InCallDataExtractionActionParameters'] | components['schemas']['WorkflowTriggerParameters'] | components['schemas']['SMSParameters'] | components['schemas']['AppointmentBookingActionParameters'] | components['schemas']['CustomActionParameters'];
/**
* @description Type of action
* @example CALL_TRANSFER
* @enum {string}
*/
actionType: 'CALL_TRANSFER' | 'DATA_EXTRACTION' | 'IN_CALL_DATA_EXTRACTION' | 'WORKFLOW_TRIGGER' | 'SMS' | 'APPOINTMENT_BOOKING' | 'CUSTOM_ACTION';
/**
* @description Unique identifier for this action
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Human-readable name for this action
* @example Transfer to Manager
*/
name: string;
};
AgentCreationRequestDTO: {
/**
* @description Display name for the voice AI agent, between 1-40 characters. Default: "My Agent {random 3 digit number}"
* @example Customer Support Agent
*/
agentName?: string;
/**
* @description Custom instructions defining the agent's behavior and personality. Default: Basic prompt generated automatically
* @example You are a helpful customer service representative. Always be polite and professional.
*/
agentPrompt?: string; /** @description Time intervals defining when the agent accepts calls, organized by day of week. Default: [] (available 24/7) */
agentWorkingHours?: components['schemas']['AgentWorkingHoursDTO'][];
/**
* @description Name of the business this agent represents. Default: Uses location name
* @example Acme Corporation
*/
businessName?: string;
/**
* @description Array of workflow IDs to trigger automatically when calls end. Default: []
* @example [
* "wf_507f1f77bcf86cd799439011",
* "wf_507f1f77bcf86cd799439012"
* ]
*/
callEndWorkflowIds?: string[];
/**
* @description Phone number for receiving inbound calls to this agent. Default: null
* @example +1234567890
*/
inboundNumber?: string;
/**
* @description Prevents this agent from being used as a fallback option. Default: false (Available as backup agent)
* @example false
*/
isAgentAsBackupDisabled?: boolean; /** @example en-US */
language?: components['schemas']['VoiceAILanguage'];
/**
* @description Unique identifier for the location where this agent will operate
* @example LOC123456789ABCDEF
*/
locationId?: string;
/**
* @description Maximum call duration in seconds, between 180-900 (3-15 minutes). Default: 300 seconds (5 minutes)
* @example 600
*/
maxCallDuration?: number;
/**
* @description Identifier for the number pool managing phone number allocation. Default: null
* @example pool_507f1f77bcf86cd799439011
*/
numberPoolId?: string; /** @example low */
patienceLevel?: components['schemas']['PatienceLevel'];
/**
* @description Seconds to wait before sending idle reminders, between 1-20. Default: 8 seconds
* @example 5
*/
reminderAfterIdleTimeSeconds?: number; /** @description Configuration for post-call email notifications to various recipients. Default: [] */
sendPostCallNotificationTo?: components['schemas']['SendPostCallNotificationDTO'];
/**
* @description Enables automatic reminders when callers are silent. Default: true
* @example true
*/
sendUserIdleReminders?: boolean;
/**
* @description IANA timezone identifier affecting working hours and scheduling. Default: Location timezone
* @example America/New_York
*/
timezone?: string; /** @description Language translation settings including enablement flag and target language code. Rules: (1) translation.enabled can only be true if the agent's language is not en-US; (2) when enabled, translation.language must be either the agent's language or en-US; (3) when enabled, translation.language is required. */
translation?: components['schemas']['TranslationDTO'];
/**
* @description Identifier for the speech synthesis voice from available voice options. Default: Auto generated
* @example 507f1f77bcf86cd799439011
*/
voiceId?: string;
/**
* @description Initial greeting spoken when the agent answers calls. Default: Auto generated
* @example Hello! Thank you for calling Acme Corporation. How can I assist you today?
*/
welcomeMessage?: string;
};
AgentWorkingHoursDTO: {
/**
* @description Day of the week for this working hours configuration (Monday=1 to Sunday=7)
* @example 1
* @enum {number}
*/
dayOfTheWeek: 1 | 2 | 3 | 4 | 5 | 6 | 7;
/**
* @description Array of time intervals when the agent is available on this day
* @example [
* {
* "startHour": 9,
* "startMinute": 0,
* "endHour": 17,
* "endMinute": 30
* }
* ]
*/
intervals: components['schemas']['IntervalDTO'][];
};
AppointmentBookingActionParameters: {
/**
* @description Calendar ID to book appointments in
* @example 507f1f77bcf86cd799439011
*/
calendarId: string;
/**
* @description Number of days ahead to offer booking dates
* @example 3
*/
daysOfOfferingDates: number;
/**
* @description Hours between available slots
* @example 1
*/
hoursBetweenSlots: number;
/**
* @description Number of available slots per day
* @example 3
*/
slotsPerDay: number;
};
BadRequestDTO: {
/** @example Bad Request */message?: string; /** @example 400 */
statusCode?: number;
};
CallActionSchema: {
/**
* @description Action ID reference
* @example 507f1f77bcf86cd799439015
*/
actionId?: string;
/**
* @description Action name
* @example Send SMS Confirmation
*/
actionName: string; /** @description Action parameters - structure varies by actionType */
actionParameters?: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | components['schemas']['InCallDataExtractionActionParameters'] | components['schemas']['WorkflowTriggerParameters'] | components['schemas']['SMSParameters'] | components['schemas']['AppointmentBookingActionParameters'] | components['schemas']['CustomActionParameters'] | components['schemas']['KnowledgeBaseParameters'];
/**
* @description Action type
* @example SMS
* @enum {string}
*/
actionType: 'CALL_TRANSFER' | 'DATA_EXTRACTION' | 'IN_CALL_DATA_EXTRACTION' | 'WORKFLOW_TRIGGER' | 'SMS' | 'APPOINTMENT_BOOKING' | 'CUSTOM_ACTION';
/**
* @description Action description
* @example When caller asks for booking confirmation
*/
description?: string;
/**
* Format: date-time
* @description When the action was executed
* @example 2024-01-15T10:32:00.000Z
*/
executedAt?: string;
/**
* Format: date-time
* @description When the trigger was received
* @example 2024-01-15T10:31:45.000Z
*/
triggerReceivedAt?: string;
};
CallLogDTO: {
/**
* @description Agent ID associated with the call
* @example 507f1f77bcf86cd799439013
*/
agentId: string;
/**
* @description Associated contact ID
* @example 507f1f77bcf86cd799439012
*/
contactId?: string;
/**
* Format: date-time
* @description Timestamp when the call was created
* @example 2024-01-15T10:30:00.000Z
*/
createdAt: string;
/**
* @description Call duration in seconds
* @example 180
*/
duration: number;
/**
* @description Actions performed during the call
* @example [
* {
* "actionId": "507f1f77bcf86cd799439015",
* "actionType": "CALL_TRANSFER",
* "actionName": "Transfer to Manager",
* "description": "Transfers call to a manager when customer requests escalation",
* "actionParameters": {
* "transferToType": "number",
* "transferToValue": "+12345678901",
* "triggerMessage": "Let me transfer you to a manager right away",
* "hearWhisperMessage": true
* },
* "executedAt": "2024-01-15T10:32:00.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439016",
* "actionType": "SMS",
* "actionName": "Send Confirmation SMS",
* "description": "Sends SMS confirmation to customer",
* "actionParameters": {
* "triggerPrompt": "When caller asks for booking confirmation",
* "triggerMessage": "I'll send you a confirmation text",
* "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
* },
* "executedAt": "2024-01-15T10:33:30.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439017",
* "actionType": "DATA_EXTRACTION",
* "actionName": "Extract Phone Number",
* "description": "Extracts customer phone number for contact record",
* "actionParameters": {
* "contactFieldId": "507f1f77bcf86cd799439018",
* "description": "Customer's phone number",
* "examples": [
* "+1234567890",
* "+9876543210"
* ],
* "overwriteExistingValue": false
* },
* "executedAt": "2024-01-15T10:34:15.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439019",
* "actionType": "WORKFLOW_TRIGGER",
* "actionName": "Start Follow-up Workflow",
* "description": "Triggers follow-up workflow for lead nurturing",
* "actionParameters": {
* "triggerPrompt": "When caller requests a quote",
* "triggerMessage": "Let me start that process for you",
* "workflowId": "507f1f77bcf86cd799439020"
* },
* "executedAt": "2024-01-15T10:35:00.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439021",
* "actionType": "APPOINTMENT_BOOKING",
* "actionName": "Book Consultation",
* "description": "Books consultation appointment with sales team",
* "actionParameters": {
* "calendarId": "507f1f77bcf86cd799439022",
* "daysOfOfferingDates": 3,
* "slotsPerDay": 3,
* "hoursBetweenSlots": 1
* },
* "executedAt": "2024-01-15T10:36:45.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439023",
* "actionType": "CUSTOM_ACTION",
* "actionName": "Check Order Status",
* "description": "Checks order status via external API",
* "actionParameters": {
* "triggerPrompt": "When caller provides order number",
* "triggerMessage": "Let me check that order status",
* "apiDetails": {
* "url": "https://api.example.com/orders",
* "method": "GET",
* "authenticationRequired": true,
* "authenticationValue": "token123",
* "headers": [
* {
* "key": "Content-Type",
* "value": "application/json"
* }
* ],
* "parameters": [
* {
* "name": "orderId",
* "description": "Order ID to look up",
* "type": "string",
* "example": "ORD-12345"
* }
* ]
* },
* "responsePathsToExtract": [
* "data.orderId",
* "status"
* ]
* },
* "executedAt": "2024-01-15T10:37:20.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439024",
* "actionType": "IN_CALL_DATA_EXTRACTION",
* "actionName": "Extract Email During Call",
* "description": "Extracts customer email during the call",
* "actionParameters": {
* "contactFieldId": "507f1f77bcf86cd799439025",
* "description": "Customer's email address",
* "examples": [
* "john@example.com",
* "jane@company.com"
* ],
* "overwriteExistingValue": true
* },
* "executedAt": "2024-01-15T10:31:45.000Z"
* },
* {
* "actionId": "507f1f77bcf86cd799439026",
* "actionType": "KNOWLEDGE_BASE",
* "actionName": "Query Product Info",
* "description": "Queries knowledge base for product information",
* "actionParameters": {
* "triggerPrompt": "When caller asks about pricing",
* "triggerMessage": "Let me look that up for you",
* "knowledgeBaseId": "507f1f77bcf86cd799439027",
* "parameters": [
* {
* "name": "category",
* "description": "Product category to search",
* "type": "string",
* "example": "pricing"
* }
* ]
* },
* "executedAt": "2024-01-15T10:38:10.000Z"
* }
* ]
*/
executedCallActions: components['schemas']['CallActionSchema'][];
/**
* @description Dynamic data extracted from the call based on agent configuration
* @example {
* "phoneNumber": "+1234567890",
* "customerName": "John Doe",
* "email": "john.doe@example.com",
* "companyName": "Acme Corp",
* "customField1": "Custom value",
* "customField2": "Another value"
* }
*/
extractedData?: {
[key: string]: unknown;
} & components['schemas']['ExtractedDataSchema'];
/**
* @description Caller phone number
* @example +1234567890
*/
fromNumber?: string;
/**
* @description Unique identifier for the call
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Whether the agent is deleted
* @example false
*/
isAgentDeleted: boolean;
/**
* @description Message identifier associated with the call
* @example 507f1f77bcf86cd799439014
*/
messageId?: string;
/**
* @description Call summary
* @example Customer called to inquire about product pricing and was transferred to sales team.
*/
summary: string;
/**
* @description Call transcript
* @example bot: Hello, how can I help you today?
* human: I would like to know about your pricing...
*/
transcript: string;
/**
* @description Transcript translation details
* @example {
* "translatedTranscript": "Translated version of the call transcript"
* }
*/
translation?: components['schemas']['TranslationSchema'];
/**
* @description Whether this call was a trial call
* @example false
*/
trialCall: boolean;
};
CallLogsResponseDTO: {
/** @description Array of call logs */callLogs: components['schemas']['CallLogDTO'][];
/**
* @description Page number starting from 1
* @example 2
*/
page: number;
/**
* @description Number of items per page
* @example 10
*/
pageSize: number;
/**
* @description Total number of items
* @example 150
*/
total: number;
};
CallTransferActionParameters: {
/**
* @description Whether to play whisper message to the receiving party
* @example true
*/
hearWhisperMessage?: boolean;
/**
* @description Type of transfer destination (currently only "number" is supported)
* @example number
* @enum {string}
*/
transferToType: 'number';
/**
* @description Phone number to transfer to. Must start with +, include country code, contain only numbers, and be 11-16 characters long (e.g., +12345678901).
* @example +12345678901
*/
transferToValue: string;
/**
* @description Message to tell the caller before transferring
* @example Let me transfer you to a manager right away
*/
triggerMessage?: string;
/**
* @description When to trigger this action during the call
* @example When the caller asks to speak to a manager
*/
triggerPrompt: string;
};
CreateActionResponseDTO: {
/** @description Action parameters - structure varies by actionType */actionParameters: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | components['schemas']['InCallDataExtractionActionParameters'] | components['schemas']['WorkflowTriggerParameters'] | components['schemas']['SMSParameters'] | components['schemas']['AppointmentBookingActionParameters'] | components['schemas']['CustomActionParameters'];
/**
* @description Type of action
* @example CALL_TRANSFER
* @enum {string}
*/
actionType: 'CALL_TRANSFER' | 'DATA_EXTRACTION' | 'IN_CALL_DATA_EXTRACTION' | 'WORKFLOW_TRIGGER' | 'SMS' | 'APPOINTMENT_BOOKING' | 'CUSTOM_ACTION';
/**
* @description Unique identifier for the created action
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Human-readable name for this action
* @example Transfer to Manager
*/
name: string;
};
CreateAgentResponseDTO: {
/**
* @description Display name of the voice AI agent
* @example Customer Support Agent
*/
agentName: string;
/**
* @description Custom instructions defining the agent's behavior
* @example You are a helpful customer service representative.
*/
agentPrompt: string;
/**
* @description Time intervals when the agent accepts calls, organized by day of week
* @example []
*/
agentWorkingHours?: components['schemas']['AgentWorkingHoursDTO'][];
/**
* @description Name of the business this agent represents
* @example Acme Corporation
*/
businessName: string;
/**
* @description Array of workflow IDs triggered automatically when calls end
* @example []
*/
callEndWorkflowIds?: string[];
/**
* @description Unique identifier for the created agent
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Phone number for receiving inbound calls
* @example +1234567890
*/
inboundNumber?: string;
/**
* @description Indicates whether this agent is excluded from backup scenarios
* @example false
*/
isAgentAsBackupDisabled: boolean;
/**
* @description Language code for the agent's speech and understanding
* @example en-US
*/
language: string;
/**
* @description Unique identifier for the location where this agent operates
* @example LOC123456789ABCDEF
*/
locationId: string;
/**
* @description Maximum call duration in seconds, between 180-900
* @example 600
*/
maxCallDuration: number;
/**
* @description Identifier for the number pool managing this agent's phone allocation
* @example pool_507f1f77bcf86cd799439011
*/
numberPoolId?: string;
/**
* @description Current tolerance level for caller response delays
* @example medium
*/
patienceLevel: string;
/**
* @description Seconds to wait before sending idle reminders, between 1-20
* @example 5
*/
reminderAfterIdleTimeSeconds: number; /** @description Current post-call notification settings including recipient configuration */
sendPostCallNotificationTo?: components['schemas']['SendPostCallNotificationSchema'];
/**
* @description Indicates whether automatic idle reminders are enabled
* @example true
*/
sendUserIdleReminders: boolean;
/**
* @description IANA timezone identifier for working hours and scheduling
* @example America/New_York
*/
timezone: string; /** @description Current language translation settings including enablement status and target language */
translation?: components['schemas']['TranslationSchema'];
/**
* @description Identifier for the speech synthesis voice being used
* @example 507f1f77bcf86cd799439011
*/
voiceId: string;
/**
* @description Greeting message spoken when the agent answers calls
* @example Hello! Thank you for calling. How can I assist you today?
*/
welcomeMessage: string;
};
CreateSingleActionDTO: {
/** @description Action parameters - structure varies by actionType */actionParameters: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | components['schemas']['InCallDataExtractionActionParameters'] | components['schemas']['WorkflowTriggerParameters'] | components['schemas']['SMSParameters'] | components['schemas']['AppointmentBookingActionParameters'] | components['schemas']['CustomActionParameters'];
/**
* @description Type of action
* @example CALL_TRANSFER
* @enum {string}
*/
actionType: 'CALL_TRANSFER' | 'DATA_EXTRACTION' | 'IN_CALL_DATA_EXTRACTION' | 'WORKFLOW_TRIGGER' | 'SMS' | 'APPOINTMENT_BOOKING' | 'CUSTOM_ACTION';
/**
* @description Agent ID to attach the action to
* @example 507f1f77bcf86cd799439011
*/
agentId: string;
/**
* @description Location ID
* @example 507f1f77bcf86cd799439012
*/
locationId: string;
/**
* @description Human-readable name for this action
* @example Transfer to Manager
*/
name: string;
};
CustomActionApiDetailsDTO: {
/**
* @description Whether authentication is required
* @example true
*/
authenticationRequired?: boolean;
/**
* @description Authentication token or API key (required if authenticationRequired is true)
* @example token123
*/
authenticationValue?: string; /** @description HTTP headers to include */
headers?: components['schemas']['CustomActionHeaderDTO'][];
/**
* @description HTTP method
* @example GET
* @enum {string}
*/
method: 'POST' | 'GET'; /** @description API parameters to send */
parameters?: components['schemas']['CustomActionParameterDTO'][];
/**
* @description API endpoint URL
* @example https://api.example.com/orders
*/
url: string;
};
CustomActionHeaderDTO: {
/**
* @description HTTP header name
* @example id
*/
key: string;
/**
* @description HTTP header value
* @example 1234567890
*/
value: string;
};
CustomActionParameterDTO: {
/**
* @description Parameter description
* @example Order ID to look up
*/
description?: string;
/**
* @description Example parameter value
* @example ORD-12345
*/
example?: string;
/**
* @description Parameter name
* @example orderId
*/
name: string;
/**
* @description Parameter type
* @example string
*/
type?: string;
};
CustomActionParameters: {
/** @description API endpoint configuration */apiDetails: components['schemas']['CustomActionApiDetailsDTO'];
/**
* @description Selected response paths to extract from API response. Required: at least 1 value if the method is GET. Should be empty if the method is POST.
* @example [
* "data.orderId",
* "status"
* ]
*/
selectedPaths?: string[];
/**
* @description Message to tell the caller
* @example Let me check that order status
*/
triggerMessage?: string;
/**
* @description When to call the custom API
* @example When caller provides order number
*/
triggerPrompt: string;
};
DataExtractionActionParameters: {
/**
* @description ID of the contact field to be updated with the extracted data
* @example 507f1f77bcf86cd799439011
*/
contactFieldId: string;
/**
* @description Description of what data to extract
* @example Caller's phone number
*/
description: string;
/**
* @description Example values to help Agent understand the expected format. At least one example is required, maximum 5 examples allowed.
* @example [
* "+1234567890",
* "+9876543210"
* ]
*/
examples: string[];
/**
* @description Whether to overwrite existing field value if already set, default is false
* @default false
* @example false
*/
overwriteExistingValue: boolean;
};
ExtractedDataSchema: Record<string, never>;
GetActionResponseDTO: {
/** @description Action parameters - structure varies by actionType */actionParameters: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | components['schemas']['InCallDataExtractionActionParameters'] | components['schemas']['WorkflowTriggerParameters'] | components['schemas']['SMSParameters'] | components['schemas']['AppointmentBookingActionParameters'] | components['schemas']['CustomActionParameters'];
/**
* @description Type of action
* @example CALL_TRANSFER
* @enum {string}
*/
actionType: 'CALL_TRANSFER' | 'DATA_EXTRACTION' | 'IN_CALL_DATA_EXTRACTION' | 'WORKFLOW_TRIGGER' | 'SMS' | 'APPOINTMENT_BOOKING' | 'CUSTOM_ACTION';
/**
* @description Unique identifier for the action
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Human-readable name for this action
* @example Transfer to Manager
*/
name: string;
};
GetAgentResponseDTO: {
/**
* @description Raw actions configured for this agent with complete actionParameters structure
* @example [
* {
* "_id": "507f1f77bcf86cd799439011",
* "actionType": "CALL_TRANSFER",
* "name": "Transfer to Manager",
* "actionParameters": {
* "triggerPrompt": "When caller asks for manager",
* "triggerMessage": "Let me transfer you",
* "transferToType": "number",
* "transferToValue": "+1234567890"
* }
* }
* ]
*/
actions: components['schemas']['AgentActionResponseDTO'][];
/**
* @description Display name of the voice AI agent
* @example Customer Support Agent
*/
agentName: string;
/**
* @description Custom instructions defining the agent's behavior
* @example You are a helpful customer service representative.
*/
agentPrompt: string;
/**
* @description Time intervals when the agent accepts calls, organized by day of week
* @example []
*/
agentWorkingHours?: components['schemas']['AgentWorkingHoursDTO'][];
/**
* @description Name of the business this agent represents
* @example Acme Corporation
*/
businessName: string;
/**
* @description Array of workflow IDs triggered automatically when calls end
* @example []
*/
callEndWorkflowIds?: string[];
/**
* @description Unique identifier for the created agent
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Phone number for receiving inbound calls
* @example +1234567890
*/
inboundNumber?: string;
/**
* @description Indicates whether this agent is excluded from backup scenarios
* @example false
*/
isAgentAsBackupDisabled: boolean;
/**
* @description Language code for the agent's speech and understanding
* @example en-US
*/
language: string;
/**
* @description Unique identifier for the location where this agent operates
* @example LOC123456789ABCDEF
*/
locationId: string;
/**
* @description Maximum call duration in seconds, between 180-900
* @example 600
*/
maxCallDuration: number;
/**
* @description Identifier for the number pool managing this agent's phone allocation
* @example pool_507f1f77bcf86cd799439011
*/
numberPoolId?: string;
/**
* @description Current tolerance level for caller response delays
* @example medium
*/
patienceLevel: string;
/**
* @description Seconds to wait before sending idle reminders, between 1-20
* @example 5
*/
reminderAfterIdleTimeSeconds: number; /** @description Current post-call notification settings including recipient configuration */
sendPostCallNotificationTo?: components['schemas']['SendPostCallNotificationSchema'];
/**
* @description Indicates whether automatic idle reminders are enabled
* @example true
*/
sendUserIdleReminders: boolean;
/**
* @description IANA timezone identifier for working hours and scheduling
* @example America/New_York
*/
timezone: string; /** @description Current language translation settings including enablement status and target language */
translation?: components['schemas']['TranslationSchema'];
/**
* @description Identifier for the speech synthesis voice being used
* @example 507f1f77bcf86cd799439011
*/
voiceId: string;
/**
* @description Greeting message spoken when the agent answers calls
* @example Hello! Thank you for calling. How can I assist you today?
*/
welcomeMessage: string;
};
GetAgentsResponseDTO: {
agents: components['schemas']['GetAgentResponseDTO'][];
/**
* @description Page number starting from 1
* @example 2
*/
page: number;
/**
* @description Number of items per page
* @example 10
*/
pageSize: number;
/**
* @description Total number of items
* @example 150
*/
total: number;
};
InCallDataExtractionActionParameters: {
/**
* @description ID of the contact field to be updated with the extracted data
* @example 507f1f77bcf86cd799439011
*/
contactFieldId: string;
/**
* @description Description of what data to extract
* @example Caller's phone number
*/
description: string;
/**
* @description Example values to help Agent understand the expected format. At least one example is required, maximum 5 examples allowed.
* @example [
* "+1234567890",
* "+9876543210"
* ]
*/
examples: string[];
/**
* @description Whether to overwrite existing field value if already set, default is false
* @default false
* @example false
*/
overwriteExistingValue: boolean;
};
IntervalDTO: {
/**
* @description Ending hour of the working interval in 24-hour format (0-23)
* @example 17
*/
endHour: number;
/**
* @description Ending minute of the working interval (0-59)
* @example 30
*/
endMinute: number;
/**
* @description Starting hour of the working interval in 24-hour format (0-23)
* @example 9
*/
startHour: number;
/**
* @description Starting minute of the working interval (0-59)
* @example 0
*/
startMinute: number;
};
KnowledgeBaseParameters: {
/**
* @description Knowledge base ID to query
* @example 507f1f77bcf86cd799439011
*/
knowledgeBaseId: string; /** @description Additional parameters for the knowledge base query */
parameters?: components['schemas']['CustomActionParameterDTO'][];
/**
* @description Message to tell the caller
* @example Let me look that up for you
*/
triggerMessage: string;
/**
* @description When to query the knowledge base
* @example When caller asks about pricing
*/
triggerPrompt?: string;
};
PatchAgentDTO: {
/**
* @description Display name for the voice AI agent, between 1-40 characters. Default: "My Agent {random 3 digit number}"
* @example Customer Support Agent
*/
agentName?: string;
/**
* @description Custom instructions defining the agent's behavior and personality. Default: Basic prompt generated automatically
* @example You are a helpful customer service representative. Always be polite and professional.
*/
agentPrompt?: string; /** @description Time intervals defining when the agent accepts calls, organized by day of week. Default: [] (available 24/7) */
agentWorkingHours?: components['schemas']['AgentWorkingHoursDTO'][];
/**
* @description Name of the business this agent represents. Default: Uses location name
* @example Acme Corporation
*/
businessName?: string;
/**
* @description Array of workflow IDs to trigger automatically when calls end. Default: []
* @example [
* "wf_507f1f77bcf86cd799439011",
* "wf_507f1f77bcf86cd799439012"
* ]
*/
callEndWorkflowIds?: string[];
/**
* @description Phone number for receiving inbound calls to this agent. Default: null
* @example +1234567890
*/
inboundNumber?: string;
/**
* @description Prevents this agent from being used as a fallback option. Default: false (Available as backup agent)
* @example false
*/
isAgentAsBackupDisabled?: boolean; /** @example en-US */
language?: components['schemas']['VoiceAILanguage'];
/**
* @description Maximum call duration in seconds, between 180-900 (3-15 minutes). Default: 300 seconds (5 minutes)
* @example 600
*/
maxCallDuration?: number;
/**
* @description Identifier for the number pool managing phone number allocation. Default: null
* @example pool_507f1f77bcf86cd799439011
*/
numberPoolId?: string; /** @example low */
patienceLevel?: components['schemas']['PatienceLevel'];
/**
* @description Seconds to wait before sending idle reminders, between 1-20. Default: 8 seconds
* @example 5
*/
reminderAfterIdleTimeSeconds?: number; /** @description Configuration for post-call email notifications to various recipients. Default: [] */
sendPostCallNotificationTo?: components['schemas']['SendPostCallNotificationDTO'];
/**
* @description Enables automatic reminders when callers are silent. Default: true
* @example true
*/
sendUserIdleReminders?: boolean;
/**
* @description IANA timezone identifier affecting working hours and scheduling. Default: Location timezone
* @example America/New_York
*/
timezone?: string; /** @description Language translation settings including enablement flag and target language code. Rules: (1) translation.enabled can only be true if the agent's language is not en-US; (2) when enabled, translation.language must be either the agent's language or en-US; (3) when enabled, translation.language is required. */
translation?: components['schemas']['TranslationDTO'];
/**
* @description Identifier for the speech synthesis voice from available voice options. Default: Auto generated
* @example 507f1f77bcf86cd799439011
*/
voiceId?: string;
/**
* @description Initial greeting spoken when the agent answers calls. Default: Auto generated
* @example Hello! Thank you for calling Acme Corporation. How can I assist you today?
*/
welcomeMessage?: string;
};
PatchAgentResponseDTO: {
/**
* @description Display name of the voice AI agent
* @example Customer Support Agent
*/
agentName: string;
/**
* @description Custom instructions defining the agent's behavior
* @example You are a helpful customer service representative.
*/
agentPrompt: string;
/**
* @description Time intervals when the agent accepts calls, organized by day of week
* @example []
*/
agentWorkingHours?: components['schemas']['AgentWorkingHoursDTO'][];
/**
* @description Name of the business this agent represents
* @example Acme Corporation
*/
businessName: string;
/**
* @description Array of workflow IDs triggered automatically when calls end
* @example []
*/
callEndWorkflowIds?: string[];
/**
* @description Unique identifier for the created agent
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Phone number for receiving inbound calls
* @example +1234567890
*/
inboundNumber?: string;
/**
* @description Indicates whether this agent is excluded from backup scenarios
* @example false
*/
isAgentAsBackupDisabled: boolean;
/**
* @description Language code for the agent's speech and understanding
* @example en-US
*/
language: string;
/**
* @description Unique identifier for the location where this agent operates
* @example LOC123456789ABCDEF
*/
locationId: string;
/**
* @description Maximum call duration in seconds, between 180-900
* @example 600
*/
maxCallDuration: number;
/**
* @description Identifier for the number pool managing this agent's phone allocation
* @example pool_507f1f77bcf86cd799439011
*/
numberPoolId?: string;
/**
* @description Current tolerance level for caller response delays
* @example medium
*/
patienceLevel: string;
/**
* @description Seconds to wait before sending idle reminders, between 1-20
* @example 5
*/
reminderAfterIdleTimeSeconds: number; /** @description Current post-call notification settings including recipient configuration */
sendPostCallNotificationTo?: components['schemas']['SendPostCallNotificationSchema'];
/**
* @description Indicates whether automatic idle reminders are enabled
* @example true
*/
sendUserIdleReminders: boolean;
/**
* @description IANA timezone identifier for working hours and scheduling
* @example America/New_York
*/
timezone: string; /** @description Current language translation settings including enablement status and target language */
translation?: components['schemas']['TranslationSchema'];
/**
* @description Identifier for the speech synthesis voice being used
* @example 507f1f77bcf86cd799439011
*/
voiceId: string;
/**
* @description Greeting message spoken when the agent answers calls
* @example Hello! Thank you for calling. How can I assist you today?
*/
welcomeMessage: string;
};
/**
* @description Tolerance level for caller response delays. Default: "high"
* @enum {string}
*/
PatienceLevel: 'low' | 'medium' | 'high';
SendPostCallNotificationDTO: {
/**
* @description Enables post-call notifications to all admin users in the location. Default: true
* @example true
*/
admins: boolean;
/**
* @description Enables post-call notifications to all users in the location. Default: false
* @example false
*/
allUsers: boolean;
/**
* @description Enables post-call notifications to the user assigned to the contact. Default: false
* @example false
*/
contactAssignedUser: boolean;
/**
* @description Array of custom email addresses to receive post-call notifications. Default: []
* @example [
* "manager@company.com"
* ]
*/
customEmails: string[];
/**
* @description Array of specific user IDs to receive post-call notifications. Default: []
* @example [
* "user_507f1f77bcf86cd799439011"
* ]
*/
specificUsers: string[];
};
SendPostCallNotificationSchema: {
/**
* @description Send notifications to admins
* @example true
*/
admins?: boolean;
/**
* @description Send notifications to all users
* @example false
*/
allUsers?: boolean;
/**
* @description Send notifications to contact assigned user
* @example false
*/
contactAssignedUser?: boolean;
/**
* @description Custom email addresses to notify
* @example []
*/
customEmails?: string[];
/**
* @description Specific user IDs to notify
* @example []
*/
specificUsers?: string[];
};
SMSParameters: {
/**
* @description SMS message content to send
* @example Your appointment is confirmed for tomorrow at 2 PM
*/
messageBody: string;
/**
* @description Message to tell the caller
* @example I'll send you a confirmation text
*/
triggerMessage: string;
/**
* @description When to send the SMS
* @example When caller asks for booking confirmation
*/
triggerPrompt: string;
};
TranslationDTO: {
/**
* @description Enables language translation for agent conversations. Default: false
* @example false
*/
enabled: boolean;
/**
* @description Target language code for translation (e.g., "es" for Spanish, "fr" for French).
* @example es
*/
language?: string;
};
TranslationSchema: {
/**
* @description Whether translation is enabled
* @example false
*/
enabled?: boolean;
/**
* @description Translation language code
* @example es
*/
language?: string;
};
UnauthorizedDTO: {
/** @example Unauthorized */error?: string; /** @example Invalid token: access token is invalid */
message?: string; /** @example 401 */
statusCode?: number;
};
UnprocessableDTO: {
/** @example Unprocessable Entity */error?: string;
/**
* @example [
* "Unprocessable Entity"
* ]
*/
message?: string[]; /** @example 422 */
statusCode?: number;
};
UpdateActionResponseDTO: {
/** @description Action parameters - structure varies by actionType */actionParameters: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | components['schemas']['InCallDataExtractionActionParameters'] | components['schemas']['WorkflowTriggerParameters'] | components['schemas']['SMSParameters'] | components['schemas']['AppointmentBookingActionParameters'] | components['schemas']['CustomActionParameters'];
/**
* @description Type of action
* @example CALL_TRANSFER
* @enum {string}
*/
actionType: 'CALL_TRANSFER' | 'DATA_EXTRACTION' | 'IN_CALL_DATA_EXTRACTION' | 'WORKFLOW_TRIGGER' | 'SMS' | 'APPOINTMENT_BOOKING' | 'CUSTOM_ACTION';
/**
* @description Unique identifier for the created action
* @example 507f1f77bcf86cd799439011
*/
id: string;
/**
* @description Human-readable name for this action
* @example Transfer to Manager
*/
name: string;
};
UpdateSingleActionDTO: {
/** @description Action parameters - structure varies by actionType */actionParameters: components['schemas']['CallTransferActionParameters'] | components['schemas']['DataExtractionActionParameters'] | c