Get System Tools

Retrieve all available system tools that can be configured for agents.

HTTP Request

$GET https://app.resemble.ai/api/v2/agents/system_tools

Example Request

$curl --request GET "https://app.resemble.ai/api/v2/agents/system_tools" \
> -H "Authorization: Bearer YOUR_API_TOKEN" \
> -H "Content-Type: application/json"

Response

1{
2 "success": true,
3 "items": [
4 {
5 "identifier": "end_call",
6 "description": "Use this tool to end the current phone call immediately.",
7 "default_config": {
8 "parameters": {},
9 "assignments": [],
10 "disable_interruptions": false,
11 "force_pre_tool_speech": false
12 },
13 "default_active": true
14 },
15 {
16 "identifier": "transfer_to_number",
17 "description": "Transfers the current call to another phone number.",
18 "default_config": {
19 "parameters": {},
20 "assignments": [],
21 "disable_interruptions": false,
22 "force_pre_tool_speech": false
23 },
24 "default_active": false
25 },
26 {
27 "identifier": "voicemail_detection",
28 "description": "Detects if the call has reached voicemail.",
29 "default_config": {
30 "parameters": {},
31 "assignments": [],
32 "disable_interruptions": false,
33 "force_pre_tool_speech": false
34 },
35 "default_active": false
36 }
37 ]
38}

Response Body

AttributeTypeDescription
successbooleanIndicates if the request was successful
itemsarrayArray of system tool objects

System Tool Object

AttributeTypeDescription
identifierstringUnique identifier for the system tool
descriptionstringDescription of what the tool does (used by LLM)
default_configobjectDefault configuration for the tool
default_activebooleanWhether the tool is enabled by default

Default Config Object

AttributeTypeDescription
parametersobjectTool parameters (empty for most system tools)
assignmentsarrayVariable assignments (empty for most system tools)
disable_interruptionsbooleanWhether to prevent user interruptions during tool use
force_pre_tool_speechbooleanWhether to force agent to speak before using tool

Available System Tools

end_call

Ends the current phone call immediately.

  • Default Active: true
  • Use Case: Agent determines conversation is complete
  • Interruptions: Disabled by default to ensure clean call termination

transfer_to_number

Transfers the current call to another phone number.

  • Default Active: false
  • Use Case: Agent needs to escalate to human support or different department
  • Interruptions: Disabled during transfer to prevent confusion

voicemail_detection

Detects if the call has reached voicemail instead of a person.

  • Default Active: false
  • Use Case: Outbound calling scenarios where detecting voicemail matters
  • Interruptions: N/A (detection happens automatically)

Configuring System Tools

System tools are automatically created for each agent. You can configure them during agent creation or update:

1{
2 "system_tools": {
3 "end_call": {
4 "active": true,
5 "disable_interruptions": false,
6 "force_pre_tool_speech": false
7 },
8 "transfer_to_number": {
9 "active": true,
10 "disable_interruptions": true,
11 "force_pre_tool_speech": true
12 },
13 "voicemail_detection": {
14 "active": true,
15 "disable_interruptions": false,
16 "force_pre_tool_speech": false
17 }
18 }
19}

Limitations

  • System tools cannot be created manually (they are platform-provided)
  • System tools cannot be deleted (they can only be disabled via active: false)
  • System tool identifiers and core functionality cannot be modified
  • Only configuration flags (active, disable_interruptions, force_pre_tool_speech) can be updated

See Also