Skill-Based Routing allows inbound queues to route calls or live transfers to agents based on assigned skills. This helps ensure that calls are delivered only to agents who are eligible to handle that specific type of call.
For example, if your team receives calls from different states, you can create state-based skills such as NJ, CA, or TX. When a call enters the queue, CallTools can identify the required skill and route the call only to an available agent who has that skill assigned.
What Skill-Based Routing Does
Skill-Based Routing is used to determine whether an available agent is eligible to receive a call based on one or more assigned skills.
This is especially useful for inbound queues that receive:
- Inbound calls
- Live transfers
- Vendor-generated calls
- Calls that require state-based routing
- Calls that should only go to specific agents or teams
When enabled, the system checks the required skill before sending the call to an agent. If no available agent has the required skill, the call will not be routed to that agent group.
Common Use Case: State-Based Routing
One common use case for Skill-Based Routing is routing calls by state.
For example:
- A caller from New Jersey should only be routed to agents with the
NJskill. - A caller from California should only be routed to agents with the
CAskill. - If no available agent has the correct skill, the system can return that no eligible agents are available.
This helps teams control which agents receive calls based on geography, licensing, market coverage, or campaign requirements.
Before You Begin
Before setting up Skill-Based Routing, make sure you have:
- An inbound queue created
- Agents assigned to that queue
- The skills you want to use clearly defined
- Agents assigned to the correct skills
- Any vendor ping or availability check configured, if applicable
If your vendors are already pinging CallTools to check agent availability, Skill-Based Routing can be used as part of that availability check.
Step 1: Create Skills
To create skills:
- Go to the Account Menu.
- Select Skills.
- Create the skills you want to use.
- Name each skill according to the value that will be used for routing.
For state-based routing, it is recommended to use the two-letter state abbreviation.
Examples:
NJfor New JerseyCAfor CaliforniaTXfor TexasFLfor Florida
You may also create skills for Canadian provinces or other routing categories, depending on your workflow.
Important: The skill name should match the value your vendor or routing process will send into CallTools. For example, if your vendor sends NJ, the skill should also be named NJ.
Step 2: Assign Skills to Agents
After the skills are created, they need to be assigned to the agents who should be eligible to receive those calls.
To assign skills:
- Go to Agent Skills.
- Select the agent.
- Assign the appropriate skill or skills to that agent.
- Save your changes.
For example, if an agent should receive New Jersey calls, assign that agent the NJ skill.
If an agent should receive calls from multiple states, assign each applicable state skill to that agent.
Step 3: Enable State Skill Requirements on the Queue
Once your skills are created and assigned to agents, you need to enable the skill requirement on the inbound queue.
To enable state-based skill routing:
- Go to the inbound queue you want to update.
- Edit the queue settings.
- Locate the state skill routing option.
- Enable the checkbox for State Skills Required.
- Save the queue settings.
When this setting is enabled, CallTools will only route calls to available agents who have the correct state skill.
The system can identify the state requirement using either:
- The state field on the contact record
- The phone number area code entering the queue
Step 4: Test Agent Availability with a Vendor Ping
If you are using a vendor ping or availability check, you can test whether agents are available for a specific skill.
This is commonly done through the Agent Status API.
The ping URL parameters should include:
queue=&agent_status_id=&skill_name=
Where:
queueis the queue ID being checkedagent_status_idis the agent status ID used for availabilityskill_nameis the skill value being evaluated for routing
For example, if you ping the queue without a skill requirement, the system may show that one agent is available.
If you then include the skill value NJ, and an available agent has the NJ skill, the system should still return that one agent is available.
If you change the skill value to CA, and no available agent has the CA skill, the system should return zero available agents.
Example Testing Scenario
Assume the following setup:
- Queue: Sales Team Queue
- Skill created:
NJ - Agent: CallTools Demo One
- Assigned skill:
NJ - State Skills Required: Enabled on the queue
Test 1: Ping the Queue Without a Skill
If the agent is available, the system may return:
1 available agent
Test 2: Ping the Queue with NJ
Using:
queue=&agent_status_id=&skill_name=NJ
Because the agent has the NJ skill, the system should return:
1 available agent
Test 3: Ping the Queue with CA
Using:
queue=&agent_status_id=&skill_name=CA
Because the agent does not have the CA skill, the system should return:
0 available agents
This confirms that Skill-Based Routing is working as expected.
Sending the Call to the Queue
Once the availability check confirms that an eligible agent is available, the call can be sent to the DID that is pointed at the appropriate inbound queue.
The call will then be routed to an available agent in that queue who has the required skill.
Important Setup Notes
For state-based Skill-Based Routing to work correctly:
- The skill must be created in CallTools.
- The skill name should match the value used in the ping or routing logic.
- The agent must be assigned to the correct skill.
- The queue must have State Skills Required enabled.
- The call or contact should include a usable state value or area code.
- The agent must be available in the correct status to receive the call.
If any of these pieces are missing, the system may not identify an eligible agent for the call.
Troubleshooting
The ping returns zero available agents
Check the following:
- Is the agent currently available?
- Is the agent assigned to the correct queue?
- Does the agent have the required skill?
- Does the skill name match the value being sent in
skill_name? - Is State Skills Required enabled on the queue?
- Is the correct queue ID being used in the
queueparameter?
Calls are not routing to the expected agent
Confirm that:
- The agent has the proper skill assigned.
- The contact record has the correct state value.
- The phone number area code is associated with the expected state.
- The queue settings are saved correctly.
- The agent is in an available status.
A vendor is sending a skill value but no agents are available
Make sure the vendor is sending the exact value that matches the skill name in CallTools using the skill_name parameter.
For example, if the skill is named NJ, the vendor should send NJ, not New Jersey, new_jersey, or N.J. unless those exact skill names were created.
Best Practices
Use clear, consistent skill names. For state-based routing, two-letter abbreviations are usually the simplest option.
Assign only the skills an agent should actually receive. This keeps routing accurate and prevents calls from going to agents who should not handle them.
Test each skill before going live. Send test pings for both matching and non-matching skills to confirm that the system returns the expected availability.
Keep your vendor values aligned with your CallTools skill names. The value sent through skill_name should match the skill created in CallTools.
Review agent skill assignments regularly. If your team changes coverage areas, update their skills accordingly.
Summary
Skill-Based Routing gives you more control over which agents can receive specific inbound calls or live transfers.
For state-based routing, the basic setup is:
- Create skills using two-letter state abbreviations.
- Assign those skills to the appropriate agents.
- Enable State Skills Required on the inbound queue.
- Test availability using the vendor ping or Agent Status API with
queue=&agent_status_id=&skill_name=. - Send the call to the DID pointed at the queue.
When configured correctly, CallTools will identify the required skill and route the call only to eligible available agents.
If you have any questions or need help with setup, please contact the CallTools support team by phone, live chat, or email at support@calltools.com.
Comments
0 comments
Article is closed for comments.