> ## 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.

# Customize calls

> Set the agent, branch, and environment associated with a phone number and verify the saved routing configuration.

Phone-number assignment selects the agent and configuration context intended for calls to that number. Use the update operation carefully: omitted fields and explicit null values can have different effects.

## Change the assignment

<Steps>
  <Step title="Inspect the current record">
    Read [Get phone number](/api-reference/agents-platform/get-phone-number). Record its agent assignment, branch, environment, and trunk settings before preparing a change.
  </Step>

  <Step title="Choose the intended configuration">
    Select an agent in the same workspace. If you choose a branch, confirm it belongs to that agent and review its published version through [versioning](/agents-platform/deploy/versioning). Review the [environment variables](/agents-platform/deploy/environment-variables) needed by the deployment.
  </Step>

  <Step title="Apply a focused update">
    Use [Update phone number](/api-reference/agents-platform/update-phone-number) with only the fields you intend to change. Read the returned record and then retrieve it again to confirm the assignment you saved.
  </Step>
</Steps>

## Assignment rules

| Request | Current behavior |
| - | - |
| Supply `branch_id` without `agent_id` | Validates the branch against the number's existing assigned agent. |
| Supply a branch without any assigned agent | Rejects the update. |
| Supply a branch belonging to another agent | Rejects the update. |
| Supply `branch_id: null` | Removes the explicit branch selection. |
| Supply `agent_id` without `branch_id` | Clears the previous branch selection; supply the intended branch together with the agent when needed. |
| Supply `agent_id: null` | Clears the agent assignment. |

The update also accepts a label, environment, trunk configuration, and SIP-message storage preference. Treat nested trunk objects as complete candidate configurations and read them back; do not assume every omitted nested value is preserved by a partial update.

## Review the call experience

Configure instructions, first message, tools, and speech settings on the selected agent. Keep the greeting appropriate for the number's purpose and review [call consent](/agents-platform/legal/call-consent) and [AI disclosure](/agents-platform/legal/ai-disclosure) before deployment.

A saved assignment does not start a call or establish that the selected version can execute. After the runtime is released and configured, verify routing to the intended version, resolved environment values, greeting, two-way audio, and end behavior with an authorized test call.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Will a branch from another agent be accepted?" id="customize-calls-faq-branch">No. The update validates branch ownership against the assigned agent.</Accordion>
  <Accordion title="Does removing an assignment cancel the number?" id="customize-calls-faq-cancel">No. Clearing the assignment and canceling a number are separate operations. Review the cancellation workflow and provider state before relying on service termination.</Accordion>
</AccordionGroup>


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