> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threetone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# System tools

> Review built-in conversation-control tool contracts and prepare their conditions without assuming live transfer or telephony support.

System tools describe conversation-control actions, such as ending a conversation or requesting a handoff. Configure a clear condition for each action and an appropriate response when the action is unavailable.

<Note>
  System-tool definitions are authoring contracts. Their presence does not establish working call transfers, keypad tones, language detection, voicemail detection, or procedure execution in a live conversation.
</Note>

## Available contract categories

A system-tool definition uses `type: "system"` and a `params` object whose `system_tool_type` selects the action contract.

| Category | Contract values |
| - | - |
| Conversation control | `end_call`, `skip_turn` |
| Language | `language_detection` |
| Handoff | `transfer_to_agent`, `transfer_to_number` |
| Telephony input and detection | `play_keypad_touch_tone`, `voicemail_detection` |
| Knowledge | `knowledge_base_rag`, `knowledge_base` |
| Procedures | `start_procedure`, `end_procedure` |

The agent prompt's `built_in_tools` field describes built-in tool configuration. Follow the current [agent schema](/api-reference/agents-platform/get-agent) for its exact shape. Do not treat a system-tool name as an ordinary workspace tool ID.

## Prepare the behavior

<Steps>
  <Step title="Write the action condition">
    State when the action is appropriate. For a handoff, describe the request that requires another handler and what information should be retained in a summary.
  </Step>

  <Step title="Review required resources">
    Transfer tools require their own destination configuration. Procedure tools reference procedures. Review those resources independently; a destination field does not provision a phone number or grant access to another agent.
  </Step>

  <Step title="Save a configuration draft">
    Preserve the complete snapshot through [versions and drafts](/agents-platform/deploy/versioning). Read the saved built-in configuration back and compare it with your intended conditions.
  </Step>

  <Step title="Prepare an unavailable-action response">
    Write a response the agent should use if a transfer or other action cannot complete. Do not tell a user that an action succeeded without a verified result.
  </Step>
</Steps>

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Does end_call prove that outbound calls are available?" id="faq-system-tools-calls">
    No. Conversation controls and channel readiness are separate. Review [telephony availability](/agents-platform/deploy/telephony/overview) before planning phone workflows.
  </Accordion>

  <Accordion title="Does a knowledge tool make retrieval ready?" id="faq-system-tools-knowledge">
    No. Inspect the document, attachment, index, and retrieval behavior separately. Start with [RAG](/agents-platform/configure/knowledge-base/rag).
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.