--- title: "How to enable skills routing" slug: "how-to-enable-skills-routing" tags: ["Skills", "Skills-Based Routing", "Request a Skills App"] updated: 2026-10-01T14:47:02Z published: 2026-10-01T14:47:02Z canonical: "docs.natterbox.com/how-to-enable-skills-routing" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.natterbox.com/llms.txt > Use this file to discover all available pages before exploring further. # How to enable skills routing ## Overview Skills routing allows you to direct calls to the most appropriately skilled agent within a call queue. Instead of maintaining separate call queues for each team or language, you can place all agents in a single queue and use skills to determine who receives which calls. This guide presumes you already have your users, groups, and call queues set up. If you are new to call queues, review the [Call Queue App](/docs/call-queue-app) article first. ## Common Use Cases - **Language routing:** Route calls to agents who speak the caller's language (e.g. French, Spanish, Italian) based on IVR selection or Salesforce data. - **Product or service lines:** Route calls based on the product the caller needs help with (e.g. Billing, Technical Support, Sales). - **Regional routing:** Route calls based on geographic region. For example, query the caller's zip code or state from a Salesforce record and request the corresponding skill. - **Overflow system:** Use skilled agents as primary and unskilled agents as overflow. Set **Agents require all skills** with a defer time (e.g. 120 seconds) so that after 2 minutes, the call is offered to the wider team. - **Consolidating multiple queues:** Replace multiple separate call queues with a single queue using skills to differentiate. This solves the issue where wrap-up time in one queue can be ignored by another queue, because separate call queues are not aware of each other's wrap-up states. ## Steps at a glance 1. Create the skills 2. Assign skill levels to your agents 3. Ensure users are in the correct group 4. Enable skills routing in the call queue and configure the advanced settings 5. Add the Request Skill apps to your routing policy 6. Optional: add skills to the wallboard 7. Optional: update your reporting for skills ## Top tips before you begin - **Use one group per call queue** - if you have multiple groups in a call queue, the system tries the first group before overflowing to subsequent groups. To ensure all skill levels are evaluated simultaneously, keep one group. - **Freedom users: add new groups to the Availability State** - if you create a new group for skills routing, you must add it to the relevant Availability Profile. Without this, Freedom users logging into their available state will not be logged in to receive calls from that group. - **Use a reporting gate for skills** - rather than [enabling the separate skills report type](/v1/docs/account-settings-tab) and rebuilding reports, add a reporting gate using the Manage Properties app. This lets you add a single field to existing reports. You can also do both (the reporting gate and new report type) - **Plan for transfers between skills** - if agents transfer calls between skills, place the Request Skill app *after* the transfer extension and tick **Delete all current requested skills** to clear the previous skill request. ## Step 1: Create the skills Skills are created from the **Account Settings** page in the Natterbox Admin Portal. 1. Navigate to **Account Settings**. 2. Scroll down to the **Skills** section. 3. Click **New**. 4. Enter a **Name** for the skill (e.g. "French", "Support", "Sales"). 5. Leave the **Default Proficiency** set to **No Knowledge** (zero). This ensures that newly created users are not automatically skilled. 6. Optionally, enter a **Description**. This field is used by the [Get Skills AI Assistant](/docs/cai-get-skills) to understand the skill's purpose. 7. Click **Save**. When a skill is created, a relationship is automatically established with every Natterbox user at the default proficiency level (zero/No Knowledge). You then elevate individual agents to the appropriate level. ## Step 2: Assign skill levels to agents There are two ways to assign skill levels: ### From the skill object 1. Navigate to **Account Settings > Skills**. 2. Click **Edit** on the skill you want to assign. 3. Locate the agent in the user list. 4. Set their proficiency level using the dropdown (Minimal, Basic, Novice, Intermediate, Advanced, Expert, Guru) or choose **Custom** to enter a specific number between 0 and 100. 5. Click **Save**. ### From the Natterbox user 1. Navigate to the [Natterbox Users tab](/v1/docs/configuring-additional-settings). 2. Click on the user's name in the Name column (not Salesforce User column unless you want to go to the Salesforce user record). 3. Scroll down to the **Skills** section, you will see all skills listed with their current proficiency. 4. Set the appropriate proficiency level for each relevant skill. 5. Click **Save**. > [!WARNING] > 📌 *Proficiency levels are relative, not absolute. A user with a proficiency of 80 is not answered "faster" than a user with 40, they are simply ranked higher in the queue order. The system creates a ranked list of available agents from highest to lowest proficiency and offers the call in that order.* ## Step 3: Ensure users are in the correct group The group used in the call queue must have the **Contact Centre** licence ticked. Without this, the group cannot be added to a call queue. 1. Navigate to **Groups**. 2. Open the group you plan to use (or [create a new one](/v1/docs/creating-a-group)). 1. For Freedom users, if a new group is created, ensure you have added it to the ‘available’ availability state in the relevant [availability profile](/v1/docs/4-availability-profiles-and-states). 3. Confirm that [Contact Centre](/v1/docs/license-management) is enabled under the group's purpose/licence settings. 4. Ensure all relevant agents are members of this group. ## Step 4: Enable skills routing in the call queue Open the call queue configuration and enable skills routing: 1. Navigate to your routing policy and open the **Call Queue** app. 2. Tick the **Skills Routing** checkbox. 3. Configure the advanced skill settings that appear (described below). 4. Click **Save**. ### Skill engine Select **Built-in** for standard skills routing. A **Lua Script** option exists for complex custom scenarios (e.g. routing to a case owner before overflowing to a wider team), but this requires bespoke scripting by the Natterbox deployment team. ### Order algorithm (Sum vs Maximum) The order algorithm determines how agents are ranked when **more than one skill is requested** for a single call. If only one skill is requested, this setting has no effect. | Algorithm | How it works | Example | | --- | --- | --- | | **Sum** | Adds the agent's proficiency scores for all requested skills together. The agent with the highest total is offered the call first. | Agent A: French 40 + Support 60 = **100** Agent B: French 70 + Support 60 = **130** Agent B is offered the call first. | | **Maximum** | Uses the agent's highest single skill proficiency score from the requested skills. The agent with the highest maximum is offered the call first. | Agent A: French 40, Support 60 → max = **60** Agent B: French 70, Support 50 → max = **70** Agent B is offered the call first. | **Sum** is the more commonly used algorithm. It provides a balanced ranking when agents have varying proficiency across multiple skills. ### Agents require all skills This checkbox controls whether unskilled agents (proficiency of zero) are considered: - **Unticked** - all agents in the group are included in the ranking. Skilled agents are prioritised, but unskilled agents are offered the call immediately after all skilled agents have been tried or are unavailable. - **Ticked** - only agents with a proficiency of 1 and higher for the requested skills are considered. Unskilled agents are never offered the call (unless the defer time setting is used). ### Ignore unskilled agents and defer time When **Agents require all skills** is ticked, an additional option appears: - **Ignore unskilled agents (ticked)** - the call is *never* offered to unskilled agents, regardless of wait time. - **Ignore unskilled agents (unticked)** - after the specified **defer time** (in seconds), the call is opened up to all agents in the group, including those without the requested skill. This is useful when you need to meet SLA targets and would rather get the call answered by any agent than have it wait indefinitely. ## Step 5: Add the Request Skill apps to your routing policy The [Request Skill app](/v1/docs/request-skills-app) tells the call queue which skill to look for. Place it in the routing policy *before* the Call Queue app, inside an Action container. 1. Open your routing policy in Policy Builder. 2. Add a **Request Skill** app inside an Action container, positioned before the Call Queue app. 3. Click **Add Skill** and select the appropriate skill from the dropdown, for example ‘French’. 4. Set the **Minimum Proficiency** and **Maximum Proficiency**. For most use cases, leave these at **1** and **100** respectively. 5. Make sure to **Save** the routing policy! ### Key Configuration Notes - **Proficiency range 1-100:** This is recommended for most setups. If you increase the minimum (e.g. to 10), any agent with a proficiency between 1 and 9 is treated as "No Knowledge" and will not be considered skilled. - **Multiple skills:** You can add more than one skill to the same Request Skill app. This makes a combination of skills that are equally required for the call. - **Delete all current requested skills:** Tick this checkbox when you need to clear any previously requested skills. This is essential for transfers between skills (see below). ### Handling transfers between skills If agents transfer calls to a different skill group (e.g. from Sales to Support), the new skill request must be applied *after* the transfer. A common pattern is: 1. The agent transfers the call to an extension number. 2. The extension routes through a new Request Skill app with **Delete all current requested skills** ticked. 3. The new skill is requested. 4. The call enters the call queue with the updated skill. Without this, both the original and new skill will be active on the call, and the system will look for agents with both skills, which may result in no agents being found. ## Step 6 (optional): Add skills to the wallboard If you use wallboards, you can filter and display skills information: - **Filter a queue component by skill:** When adding a Queue List or Queue Status component, select specific skills to filter. This lets a team leader view data only for their skilled team (e.g. the "French Support" view). - **Display requested skills:** Enable the "Skills Requested" column on queue components to show which skill was requested for each waiting call. - **Filter the agent list:** Use skill filters on Agent List components to show only agents with specific skills. - **Hover for details:** Hovering over a call in the wallboard displays the requested skill information. ## Step 7 (optional): Update your reporting for skills There are two approaches to reporting on skills. You can both if you want options. ### Option A: Reporting gate (recommended) This is the preferred approach because it does not require rebuilding existing reports. 1. Create a custom text field on the **Call Reporting** object in Salesforce (e.g. "Skill"). 2. In your routing policy, add a **Manage Properties** app in the same Action container as your Request Skill app (before the Call Queue). 3. Configure it to populate the custom field with the skill name (e.g. "French", "Support"). 4. Add the new field as a column or filter on your existing reports. ### Option B: Skills report type This provides a dedicated report type with full skill detail. 1. Click ‘Enable Skills Reporting’ on the [Account Settings page](/v1/docs/account-settings-tab). 2. Now you can use the the report type **Call Reporting with Requested Skills and Skill**. 3. This gives you access to fields such as Skill Name, Minimum Requested Proficiency, and Maximum Requested Proficiency. The downside of this approach is that you must build new reports using this report type, you cannot change the report type on existing reports. For report examples, see [Reports with the Natterbox Skills Objects](/v1/docs/reports-with-the-natterbox-skills-objects). --- ### FAQs #### Why are my calls stuck in the queue with a skills shortage? A "skills shortage" occurs when no agents in the group have the requested skill. Check the following: - Confirm that agents have a proficiency above zero for the requested skill. - Confirm that skilled agents are members of the group assigned to the call queue. - For Freedom users, confirm that skilled agents are logged into their available state and that the group is included in the Availability Profile. - If you are using Agents require all skills with Ignore unskilled agents ticked, there is no fallback — consider adding a defer time or unticking this option. #### Why does the destination agent report no available agents after a skills transfer? If a call is transferred between skills and the agent at the destination reports no available agents, it is likely that both the original and new skills are being requested simultaneously. Ensure the Request Skill app on the transfer path has Delete all current requested skills ticked. #### Why is the skills routing checkbox greyed out in the call queue? Ensure that the group assigned to the call queue has the Contact Centre licence enabled. Skills routing requires this licence to be active on the group. #### Why do Freedom users show as "logged off" despite being available? This indicates the group is missing from the Availability Profile. Navigate to Account Settings > Availability, open the relevant profile, and confirm that any groups users are in are listed under the ‘available’ availability state. ## Related - [Request Skills App](/request-skills-app.md) - [Natterbox Skills Objects](/natterbox-skills-objects.md) - [Reports with the Natterbox Skills Objects](/reports-with-the-natterbox-skills-objects.md) - [Availability Profiles and States](/4-availability-profiles-and-states.md)