Telephony configuration is where an administrator decides who answers each of your organization's phone numbers: you label the trunks and numbers xMatix provisions for you, build queues of agents, register AI and human agents, and point every number at one of them with an inbound route. It comes after xMatix has provisioned voice for your organization and before your agents take calls on the softphone.
Overview
Telephony administration splits in two. The infrastructure — voice trunks and phone numbers — is provisioned for your organization by xMatix. Everything organizational — queues, agents, routes and the on/off switch — is yours to author. Five screens sit under Setup → Feature Hub → Service → Telephony:
| Screen | What you do there |
|---|---|
| Trunks & numbers | Rename, describe, enable and choose the default trunk; label numbers and switch them on or off. |
| Queues | Create the queues whose agent pools take inbound calls and other channel work. |
| Agents | Register AI voice agents (tab AI agents) and map users to telephony extensions (tab Human agents). |
| Routing | Give each number one inbound route to a queue, an AI agent or a human agent, and watch its sync status. |
| Settings | The master switch Enable Telephony (CTI). |
The Telephony group appears in Setup only when your organization holds the Telephony & Messaging product.
When to use it
- Telephony has just been provisioned and you are setting it up for the first time.
- A new team, line or AI assistant needs its own number, queue or agent.
- Calls ring the wrong people, ring everyone, or are not answered at all.
- Someone joins or leaves the call team.
- A route shows Error on the Routing screen.
How xMatix handles it
A call follows the route of the number that was dialled. Each number can carry one route. When a call arrives, xMatix first matches the caller to a contact and account, then reads the route of the called number:
- Queue — the call is offered to one available member of the queue's agent pool, chosen by the queue's routing model. Only that agent's softphone rings.
- Human agent — only that person's softphone rings.
- AI agent — the AI agent joins the call and answers it; no person is rung.
When the number has no active route, when a human-agent target is inactive, when nobody in the queue's pool can take the call, or when the queue no longer exists, the call rings every signed-in agent in your organization instead. Inbound routing explains this fallback in detail.
Routes are pushed to the voice platform. A route only works once it also exists as configuration on the voice platform that answers your numbers. xMatix pushes it there every time you create, edit, resync or delete a route, and every time you save or create an AI agent. The Status column shows the outcome — Synced, Syncing… or Error — and the screen checks again every 10 seconds while a route is syncing.
Who gets the call dock. The Calls drawer and the call bar at the bottom of the workspace appear only for users who are in the agent pool of at least one active queue, and only while Enable Telephony (CTI) is on. They are not shown on mobile devices. This applies to human agents you route to directly as well: a person who is not in an active queue's pool has no softphone, so a direct route to them never reaches them.
Infrastructure is managed for you. You cannot create or delete trunks or numbers, and no provider settings or credentials appear anywhere in Setup.
Prerequisites
- Your organization holds the Telephony & Messaging product, and xMatix has provisioned at least one trunk and one number. Until then the screens open but list nothing.
- Your security profile grants Manage telephony (CTI). To use the Settings screen you also need Manage module settings.
- Each person who will take calls has a resource record linked to their user, and belongs to a resource group. Queue pools are resource groups — see Queues and omni-channel routing.
- Any AI agent identity you plan to use has been deployed for your organization by xMatix.
Procedure
Step 1 — Check that telephony is switched on
- Open Setup → Feature Hub → Service → Telephony → Settings.
- Make sure Enable Telephony (CTI) is on. It is on by default.
- If you changed it, select Save.
When the switch is off, telephony is unavailable to every user and nobody gets the call dock. Setup stays reachable, so you can switch it back on.
Step 2 — Review and label trunks and numbers
- Open Setup → Feature Hub → Service → Telephony → Trunks & numbers. The page has two tabs, Trunks and Phone numbers.
- On Trunks, select Edit on a row. In Edit trunk, set:
- Name — a friendly name. Left blank, the trunk shows the provider name.
- Description — optional notes.
- Enabled — whether xMatix uses this trunk.
- Default for outbound calls — turn it on for the trunk xMatix should use first.
- Select Save. Making one trunk the default clears the default flag on every other trunk.
- On Phone numbers, select Edit on a number and set its Label (for example Main support line), its Outbound caller ID and Active. Select Save.
An empty Trunks tab means telephony has not been provisioned yet; contact xMatix to enable it. An empty Phone numbers tab means no numbers have been allocated yet.
Step 3 — Create a queue
- Open Setup → Feature Hub → Service → Telephony → Queues and select New queue.
- Enter a Name (required) and choose a Routing model: Direct, Round robin, Load balance or Skill-based. The dialog suggests Round robin.
- Optionally add a Description.
- In Channels, keep Voice for a queue that takes calls. You can add other channels, such as Email, Chat, SMS and Web.
- In Agent pool, choose the resource group whose members take work from this queue.
- Leave Active on, and select Create.
The queue appears in the list with its routing model, channels, agent pool and status. Members of its pool who are signed in on a desktop browser get the call dock the next time their session loads. The full queue reference — eligibility, presence, capacity and how each routing model picks an agent — is on Queues and omni-channel routing.
Step 4 — Add human agents
- Open Setup → Feature Hub → Service → Telephony → Agents and select the Human agents tab.
- Select New human agent.
- Choose the User and enter an Extension — the agent's telephony identity, such as 1001. Both are required.
- Optionally pick an Outbound caller ID from your active numbers.
- Leave Active on, and select Create.
The user appears with their extension and status. You need a human agent entry only to route a number straight to that person; queue members take queue calls without one. To change an entry later, select Edit — the user cannot be changed, only the extension, caller ID and Active.
Step 5 — Add an AI agent
- On the Agents screen, select the AI agents tab, then New AI agent.
- Enter the Agent identity (required). It must match the identity of a voice agent deployed for your organization by xMatix; calls routed to an unknown identity are not answered.
- Give it a Name and an optional Description.
- Shape how it talks to callers with Greeting, Instructions, Caller language, Voice, Pause before replying and Let the caller interrupt.
- In Transfer to, enter the number the agent connects a caller to when they ask for a person, with its country code.
- For a fixed conversation with no AI, enter Script lines, one reply per line, and an optional Goodbye line.
- Leave Other settings empty unless xMatix support gives you a value.
- Leave Active on, and select Create.
xMatix checks the settings when you save and shows any problem, for example Transfer to must be a phone number with its country code, like +919876543210. Saving also pushes the agent's settings to every route that targets it. Active AI agents are also offered in the softphone's Call as list, so an agent can place an outbound call that the AI agent conducts.
Step 6 — Route each number
- Open Setup → Feature Hub → Service → Telephony → Routing and select New route.
- Enter a Name. If you leave it blank, xMatix names the route route- followed by the number.
- Choose the Number (required). Only active numbers are offered.
- Under Route to, choose Queue, AI agent or Human agent, then choose the target in the field beside it. Only active targets are offered. A queue without the Voice channel is shown with (no Voice channel) after its name.
- Leave Active on, and select Create.
The route appears with Status Syncing…, which changes to Synced once the voice platform has it. Point at Synced to see when it last synced. If it shows Error, point at the status to read the reason, fix it, and select Resync on the row. See Common problems.
Step 7 — Test the setup
- Ask an agent in the queue's pool to sign in on a desktop browser, open the Calls drawer and choose Available.
- Call the routed number from another phone.
- Check that the right softphone rings — or, for an AI agent, that the agent answers with its greeting.
- Open the call register and check that the call was recorded with the caller match you expect.
Step 8 — Change, retarget or retire
- Change a route's target: select Edit on the route, choose the new target and select Save. The route syncs again.
- Remove a route: select Delete and confirm. The confirmation warns that inbound calls to the number will stop being routed, and the route is removed from the voice platform.
- Retire a queue: retarget the routes that use it first. Deleting a queue is not blocked by routes; calls to their numbers then ring every signed-in agent. Switching a queue off does not stop a route from sending calls to it.
- Remove an AI agent or human agent: retarget or delete the routes that target it first. Otherwise deleting it fails with This AI agent is the target of an inbound route. Delete or retarget the route first. (or This agent is the target… for a human agent).
- Stop a number taking routed calls: switch the number off on Phone numbers, then select Resync on its route. The route then shows the error The route's number is missing or inactive.
Fields
Trunk (Edit trunk)
| Field | What it means | Notes |
|---|---|---|
| Name | The trunk's friendly name | Up to 100 characters. Blank shows the provider name. |
| Description | Your notes about the trunk | Up to 500 characters. |
| Enabled | Whether xMatix uses this trunk | A human agent can only be added while at least one trunk is enabled. |
| Default for outbound calls | The trunk xMatix uses first | Only one trunk can be the default; setting it clears the others. |
The Trunks list also shows Provider (always the xMatix telephony service), Default and Status (Enabled or Disabled).
Phone number
| Field | What it means | Notes |
|---|---|---|
| Number | The phone number allocated to your organization | Read-only. |
| Label | A friendly name for the number | Up to 100 characters. Shown next to the number in the route dialog. |
| Trunk | The trunk the number belongs to | Read-only. |
| Outbound caller ID | A caller ID recorded against the number | Up to 32 characters. Set to the number itself, and the number switched on, whenever xMatix allocates it. The softphone does not use it to choose the caller ID of an outbound call. |
| Active | Whether the number can be routed | Inactive numbers are not offered in the route or caller-ID pickers, and a route on an inactive number fails to sync. |
Queue
| Field | What it means | Notes |
|---|---|---|
| Name | The queue's name | Required. Up to 100 characters. |
| Routing model | How an agent is picked from the pool | Direct, Round robin, Load balance, Skill-based. Details on Queues and omni-channel routing. |
| Description | Notes about the queue | Up to 500 characters. |
| Channels | The kinds of work the queue serves | Voice, Email, Chat, SMS, Web and a messaging-app channel. A new queue starts with Voice. |
| Agent pool | The resource group whose members take the work | A pool member gets the call dock only while the queue is active. |
| Active | Whether the queue is in use | Controls the call dock and whether the queue is offered as a route target. Routing does not check it for routes that already point at the queue. |
Human agent
| Field | What it means | Notes |
|---|---|---|
| User | The person the entry belongs to | Required. Cannot be changed after creation. One entry per user per trunk. |
| Extension | The agent's telephony identity | Required. Up to 100 characters. |
| Outbound caller ID | A caller ID recorded for the agent | Chosen from active numbers. The softphone does not use it to choose the caller ID of an outbound call. |
| Active | Whether the entry is in use | Inactive entries are not offered as route targets, and a route to one rings every signed-in agent instead. |
AI agent
| Field | What it means | Notes |
|---|---|---|
| Agent identity | The deployed voice agent this entry points at | Required and unique in your organization. Must match an identity deployed by xMatix. |
| Name | The name shown in lists, routes and the softphone | Up to 100 characters. Outbound calls it places are recorded as AI: followed by this name. |
| Description | Notes about the agent | Up to 500 characters. |
| Greeting | Said word for word when the call connects | Up to 1,000 characters. Empty: the agent greets in its own words. |
| Instructions | Who the agent is and how it handles the call | Up to 16,000 characters. Empty: a general dealership receptionist. |
| Caller language | What the agent listens for | Multilingual (Hindi + English) — understands both, even mixed in one sentence — or English. Empty: English. |
| Voice | The voice the agent speaks with | Female or Male. Empty: female. |
| Pause before replying | How long the caller can stop talking before the agent answers | 0.3 to 3 seconds, in steps of 0.1. Empty: 0.6 seconds. |
| Let the caller interrupt | Whether the caller can talk over the agent | On: the agent stops when the caller talks. Off: it finishes each sentence, then listens. |
| Transfer to | The number the agent connects the caller to when they ask for a person | Must start with + and the country code, for example +919876543210. Empty: a default number set by xMatix, if there is one. Must not be the number routed to this agent. |
| Script lines | Fixed replies with no AI, one per line | The agent says the first line to the caller's first answer, the next line to the next, and repeats the last. At most 50 lines. Empty: the AI answers. |
| Goodbye line | Said before hanging up when the caller says goodbye | Used with script lines. Up to 500 characters. Empty: Dhanyavaad ji. Namaste. |
| Other settings | Settings the form does not show, as JSON | Leave empty unless xMatix support gives you a value. Must be a JSON object. |
| Active | Whether the agent is in use | Inactive agents are not offered as route targets or in Call as, and their routes show Error. |
Route
| Field | What it means | Notes |
|---|---|---|
| Name | The route's name | Up to 100 characters. Blank: route- plus the number. |
| Number | The number whose calls this route handles | Required. One route per number. |
| Route to | The kind of target | Queue, AI agent or Human agent. A new route starts on Queue. |
| Queue / AI agent / Agent | The target itself | Required. Only active targets are offered. |
| Active | Whether the route is in use | An inactive route shows Status Inactive and is removed from the voice platform; xMatix then treats its number as unrouted. |
The list also shows Target (the target type and name), Status and Updated.
Business rules
- One route per number. A second route on the same number is refused with This number already has a route; edit the existing route instead.
- One target per route, matching the Route to choice.
- Unique identities. Two AI agents cannot share an Agent identity (An AI agent with this agent name already exists for the tenant.). A user can have only one human-agent entry per trunk (This user already has a binding on the selected telephony connection.).
- Human agents need a trunk. Adding one picks your enabled trunk, the default first. With no enabled trunk, it fails with Telephony is not provisioned for this tenant yet.
- Delete guards. An AI agent or human agent that a route targets cannot be deleted. Queues have no such guard.
- Default trunk. Setting a trunk as default clears the flag on every other trunk. xMatix uses the enabled default trunk first, then any other enabled trunk.
- Sync on change. Creating, editing, resyncing or deleting a route, and creating or saving an AI agent, pushes every route in your organization to the voice platform. Opening the Routing screen retries any route still syncing.
- Shadowed numbers. A route can be in place on the voice platform but still never get its calls, because another rule there takes the number's calls first. xMatix detects this and marks the route Error instead of Synced.
- Caller IDs. The Outbound caller ID values on numbers and human agents are recorded but not used when the softphone places a call.
Example
A two-wheeler dealership has two numbers: a service line and an after-hours line.
- In Settings, the administrator confirms Enable Telephony (CTI) is on.
- In Trunks & numbers, they label the first number Service desk and the second After hours.
- In Queues, they create Service advisors, with routing model Round robin, channel Voice and the agent pool Service advisors team.
- In Agents → AI agents, they create After-hours assistant, with the agent identity xMatix deployed for them, the greeting Thank you for calling. Our workshop is closed now — how can I help?, caller language Multilingual (Hindi + English) and Transfer to set to the duty manager's mobile number.
- In Routing, they create Service desk (Number: the service line, Route to: Queue, Service advisors) and After hours (Number: the after-hours line, Route to: AI agent, After-hours assistant). Both reach Synced within seconds.
- An advisor signs in, chooses Available in the Calls drawer and receives the next call to the service line. A test call to the after-hours line is answered by the assistant with its greeting.
Training
Practice exercise
In a sandbox where telephony is provisioned with at least two numbers:
- Create a queue Practice queue with channel Voice and an agent pool that contains your own user.
- Create a route from the first number to Practice queue. Wait for Synced.
- Sign in on a desktop browser, open the Calls drawer, choose Available and call the number. Your softphone should ring.
- Switch the queue off, reload, and confirm the Calls drawer is gone.
- Try to create a second route on the same number.
Expected result: step 3 rings only you; step 4 removes your call dock because you are no longer in an active queue's pool; step 5 is refused with This number already has a route; edit the existing route instead. Switch the queue back on when you finish.
Quick reference
- All five screens: Setup → Feature Hub → Service → Telephony.
- Trunks and numbers come from xMatix — you label them, you cannot create them.
- One number, one route, one target.
- No call dock unless the user is in an active queue's pool and Enable Telephony (CTI) is on.
- Unroutable calls ring every signed-in agent; they are not lost.
- Error on a route: point at it, fix the cause, select Resync.
- Retarget routes before deleting a queue, AI agent or human agent.
- Manage telephony (CTI) configures; Supervise telephony (CTI) watches live calls.
Permissions
Both telephony capabilities belong to the Metadata Administration feature and are granted on a security profile's Entitlements tab. See Security profiles.
| Capability | What it opens | Without it |
|---|---|---|
| Manage telephony (CTI) | The Trunks & numbers, Queues, Agents and Routing screens and everything they save | The four entries are missing from Setup, and their requests are refused. |
| Manage module settings | The Telephony Settings screen with Enable Telephony (CTI) | The Settings entry is missing. |
| Supervise telephony (CTI) | The supervisor console: live calls, agent statistics, listen and barge | The console shows that access is required. |
The built-in SystemAdmin profile holds all three. Keep the manage and supervise capabilities apart on purpose: team leads usually need supervision without configuration rights, and supervisors see every live call in the organization.
Agents themselves need no telephony capability to take calls — they need a place in an active queue's pool.
Configuration
| Setting | Where | What changing it affects |
|---|---|---|
| Enable Telephony (CTI) | Setup → Feature Hub → Service → Telephony → Settings | Off: telephony is unavailable to everyone and nobody gets the call dock. On by default. |
| Trunk Enabled / Default for outbound calls | Trunks & numbers → Trunks → Edit | Which trunk xMatix uses. |
| Number Label / Active | Trunks & numbers → Phone numbers → Edit | How the number reads in pickers; whether it can be routed. |
| Queues | Telephony → Queues | Who is offered queue calls and who gets the call dock. |
| Queue agent pools | The resource group behind each queue | Staffing a queue is resource-group membership, not queue editing. |
| AI agents | Telephony → Agents → AI agents | How AI-answered calls sound and behave; who is in Call as. |
| Human agents | Telephony → Agents → Human agents | Which people can be a direct route target. |
| Routes | Telephony → Routing | Who answers each number. |
Deployment shapes
Telephony reaches an organization in one of three shapes, chosen with your xMatix account team:
- Platform-managed voice — xMatix runs the voice infrastructure and allocates your numbers. There is nothing to host and no provider credentials to hold.
- Your own carrier trunk — your organization keeps its carrier and numbers, and the trunk is connected to the platform's voice infrastructure. Agents use the same softphone.
- Third-party dialer — calls are handled in an external dialer and logged into the call register through the integration. There is no in-app softphone in this shape.
Common problems
Adding a human agent fails with "Telephony is not provisioned for this tenant yet."
Human-agent entries attach to an enabled trunk. Open Trunks & numbers → Trunks. If the list is empty, telephony has not been provisioned — arrange it with your xMatix account team. If a trunk is listed as Disabled, enable it and try again.
An agent has no Calls drawer
The agent is not in the agent pool of an active queue, the queue's pool has no resource linked to their user, Enable Telephony (CTI) is off, or they are on a mobile device. Add them to the pool's resource group (or switch the queue on), then ask them to reload the page.
A route shows Error: "The route's number is missing or inactive."
The number was switched off or removed. Switch it back on in Trunks & numbers → Phone numbers, or edit the route to use another number, then select Resync.
A route shows Error: "The route's AI agent is missing or inactive."
Switch the AI agent back on in Agents → AI agents, or retarget the route, then select Resync.
A route shows Error: "The voice platform could not be reached. Retry or contact support."
The push to the voice platform failed. Select Resync after a few minutes. If it keeps failing, contact xMatix support. Creating the route on the voice platform failed. and Updating the route on the voice platform failed. are handled the same way.
A route shows Error: "Calls to … are answered by another dispatch rule on the voice platform …"
Another rule on the voice platform takes this number's calls before your route, so callers never reach your target. You cannot remove that rule yourself. Ask xMatix support to remove it, then select Resync. If the message says the platform could not be checked for another rule, simply select Resync.
A route shows Error: "Telephony is not provisioned for this tenant yet."
There is no usable trunk behind your routes. Check Trunks & numbers → Trunks and contact your xMatix account team if it is empty.
Calls to a number ring everybody
The number has no active route, the target human agent is inactive, the target queue was deleted, or nobody in the queue's pool is available with spare capacity. Check the route on Routing, then the target. See Queues and omni-channel routing for the agent checks.
Calls to a human agent never reach them
The person has no call dock because they are not in an active queue's pool. Add them to the pool of an active queue, even if you route to them directly.
Saving an AI agent fails with a settings message
The message names the field: for example Pause before replying must be a number of seconds from 0.3 to 3., A script can have at most 50 lines. or Other settings must be valid JSON, like {"key": "value"}. Correct that field and save again.
Deleting an AI agent or human agent fails
A route still targets it. Edit or delete that route on Routing first.
Common questions
Who do I ask for a new phone number?
xMatix. Numbers are allocated by the platform, not created in Setup. Once a number is allocated, it appears on the Phone numbers tab, where you can label it, switch it on and give it a route. The same applies to trunks: you can rename, describe, enable and choose the default trunk, but you cannot add or remove one. If you need your own carrier numbers rather than numbers from the managed pool, raise it with your account team.
Can one number ring a queue during the day and an AI agent after hours?
Not automatically. A route has no schedule — it is one number and one target. Use two numbers, or edit the route's target when your hours change; the route syncs again within seconds. See Inbound routing.
Does every agent need a human-agent entry?
No. Queue members take queue calls without one. You need a human-agent entry only when a number should ring one specific person directly. Even then, that person must be in an active queue's pool to have a softphone.
Which caller ID do the people we call see?
Outbound calls from the softphone use the caller ID set on your trunk by xMatix. With platform-managed voice, that is the first number allocated to your organization, and it stays the same when more numbers are added. The Outbound caller ID fields on numbers and human agents are recorded for reference and are not used to choose it. If calls show the wrong number, contact xMatix support.
What does an AI agent do when a caller asks for a person?
The agent transfers when the caller asks for a person, or asks something it cannot answer. It tells the caller it is connecting them, then dials the number in Transfer to into the same call. If you leave the field empty, it uses a default number that xMatix may have set for your deployment. When there is no number to dial, or the number is the one the caller rang, the agent apologises and offers to take a message. Fill in a staffed number with its country code, and make it a different number from the one routed to the agent.
Can I hide the telephony screens from most administrators?
Yes. The four configuration screens follow Manage telephony (CTI), so only profiles that hold it see them. The Settings switch follows Manage module settings. Keep Supervise telephony (CTI) similarly narrow, because its holders see every live call.
