This topic describes how to start an agent call by passing call parameters to customize the call for your business needs.
Feature description
When you start a call, you can pass multiple parameters to the agent to control its running status and conversation responses. You can pass specific parameters to build an agent conversation that suits your business needs. For more information about business implementations, see AI interviews, Spoken language coaching, and Emotional companionship.
The agent currently supports two startup methods. You can choose a method that fits your business scenario:
Start from the server-side: High flexibility, strong extensibility, and consistency.
Start from the client: Low connection latency, minimal dependencies, and high independence.
Parameters such as greetings, voice, and language that you configure in the console are overwritten when the agent starts. You can also call the UpdateAIAgentInstance - Update AI agent instance configuration API during a call to modify the configuration.
Start an agent from the server-side
You can call the Create an AI agent call instance API to initiate a call. The response is then sent to the client, which uses the returned information to join the call. When you start the call, you can configure the AIAgentConfig parameter. For more information about the process of starting a call, see Start an agent call using a server-side API.
Start an agent from the client
To start a call from the client, you need to configure <a baseurl="t2844192_v4_2_0.xdita" data-node="5707963" data-root="69463" data-tag="xref" href="t2938416.xdita#L2uxx" id="ecb192782d0yu">ARTCAICallAgentConfig</a> in ARTCAICallConfig after you create and initialize the engine. For the startup flow for each client, see Android Integration Overview, iOS Integration Overview, Web Integration Overview.
Android
ARTCAICallAgentConfig
The configurable parameters for calls.
Parameter | Type | Description |
agentGreeting | String | Agent welcome message; if empty, use the agent configuration value. Maximum length: 100 characters |
wakeUpQuery | String | Instruction given by the user before call initiation, so the agent responds immediately after the call starts |
agentMaxIdleTime | int | Maximum idle wait time for the agent (unit: seconds). The agent automatically goes offline after timeout. Default value: 600 s |
userOnlineTimeout | int | Time for the agent to close the task if the user does not join the call. Default value: 60 s |
userOfflineTimeout | int | Time for the agent to close the task after the user leaves the call. Default value: 5 s |
enablePushToTalk | boolean | Enable walkie-talkie mode |
agentGracefulShutdown | boolean | Enable graceful shutdown: complete the current sentence before stopping |
volume | int | Agent speaking volume. Range: 0–400. Default value: 100 |
workflowOverrideParams | String | Workflow override parameters |
enableIntelligentSegment | boolean | Intelligent sentence segmentation switch |
asrConfig | Speech recognition configuration | |
ttsConfig | Speech synthesis configuration | |
llmConfig | Large Language Model (LLM) configuration | |
avatarConfig | Digital human configuration | |
interruptConfig | Interruption configuration | |
voiceprintConfig | Voiceprint denoising configuration | |
turnDetectionConfig | Turn detection configuration | |
experimentalConfig | Non-product customization configuration | |
ARTCAICallAgentVcrConfig | VCR configuration | |
preConnectAudioUrl | String | Sound effect played after connection but before the welcome message. Supports URL input. The welcome message still plays after the sound effect finishes. |
ambientConfig | Ambient sound configuration | |
backChannelingConfig | Back-channeling feature configuration module. After configuration, the system randomly broadcasts short back-channeling phrases at specific trigger moments. | |
autoSpeechForLlmPendingConfig | Configuration for agent automatic speech when LLM response is delayed | |
autoSpeechForUserIdleConfig | Configuration for agent inquiries during user silence |
iOS
ARTCAICallAgentConfig
Startup and runtime configuration for a call agent
Property name | Type | Description |
agentGreeting | String? | The welcome message from the agent. If this parameter is empty, the value configured for the agent is used. |
wakeUpQuery | String? | The user's instruction before the call starts. The agent responds immediately after the call starts. |
agentMaxIdleTime | Int32 | The maximum idle time for the agent, in seconds. If the agent is idle for longer than this time, it automatically goes offline. The default value is 600s. |
userOnlineTimeout | Int32 | The timeout period for the agent to close the task if the user does not join the call. The default value is 60s. |
userOfflineTimeout | Int32 | The timeout period for the agent to close the task after the user leaves the call. The default value is 5s. |
enablePushToTalk | Bool | Specifies whether to enable push-to-talk mode. |
agentGracefulShutdown | Bool | Specifies whether to enable graceful shutdown. |
volume | Int32 | The volume of the agent's speech. Valid values: 0 to 400. The default value is 100. |
workflowOverrideParams | [String: Any]? | The workflow override parameters. |
enableIntelligentSegment | Bool | The switch for intelligent sentence segmentation. |
asrConfig | The speech recognition configuration. | |
ttsConfig | The speech synthesis configuration. | |
llmConfig | The large language model configuration. | |
avatarConfig | The digital human configuration. | |
interruptConfig | The interruption configuration. | |
voiceprintConfig | The voiceprint-based denoising configuration. | |
turnDetectionConfig | The turn detection configuration. | |
experimentalConfig | Customized configuration that is not productized. | |
vcrConfig | The VCR configuration. | |
preConnectAudioUrl | String? | The sound effect to play after the connection is established but before the welcome message. You can pass in a URL. The welcome message is still played after the sound effect. |
ambientConfig | The environment configuration. | |
backChannelingConfig | The backchanneling configuration module. After configuration, the system randomly plays short backchanneling responses at specific trigger points. | |
autoSpeechForLlmPendingConfig | Configuration for the agent to automatically speak when the LLM response is delayed. | |
autoSpeechForUserIdleConfig | Configuration for the agent to make an inquiry when the user is silent. |
Web
AICallAgentConfig
Configuration for starting and running a call agent.
Property | Type | Description |
agentGreeting (Optional) | string | The agent's welcome message. If this is left empty, the value configured for the agent is used. The message can be up to 100 characters long. |
wakeUpQuery (Optional) | string | The user's instruction before the call starts. The agent responds immediately after the call starts. |
agentMaxIdleTime | number | The maximum idle time for the agent, in seconds. The agent automatically goes offline if the time is exceeded. Default value: 600s. |
userOnlineTimeout | number | The timeout period for the agent to close the task if the user does not join the meeting. Default value: 60s. |
userOfflineTimeout | number | The timeout period for the agent to close the task after the user leaves the meeting. Default value: 5s. |
enablePushToTalk | boolean | Specifies whether to enable push-to-talk mode. |
agentGracefulShutdown | boolean | Specifies whether to enable graceful shutdown. If enabled, the agent stops after broadcasting the current sentence. |
volume | number | The agent's speaking volume. Valid values: 0 to 400. Default value: 100. |
workflowOverrideParams | JSONObject | Workflow overwrite parameters. |
enableIntelligentSegment | boolean | The switch for intelligent sentence segmentation. |
asrConfig | Speech recognition configuration. | |
ttsConfig | Speech synthesis configuration. | |
llmConfig | Large language model configuration. | |
avatarConfig | Digital human configuration. | |
interruptConfig | Interruption configuration. | |
voiceprintConfig | Voiceprint noise reduction configuration. | |
turnDetectionConfig | Turn detection configuration. | |
experimentalConfig | JSONObject | Non-productized custom configuration. |
vcrConfig | VCR configuration. |