Skills
Purpose
Section titled “Purpose”Describe skills: the tags that match callers to the agents best able to help.
Overview
Section titled “Overview”Skills are free-form tags (e.g. spanish, billing) stored as a TEXT[] on
both agents.skills and queues.required_skills (migration 043). They are
only engaged under a queue’s skills_based strategy: when picking work for a
newly-available agent, the worker skips any queue whose required_skills the
agent does not fully hold. Other strategies ignore skills entirely.
Configuration
Section titled “Configuration”Assign skills to agents (PUT /api/v1/agents/{id}/skills) and set
required_skills on a queue, then set the queue strategy to skills_based. An
empty requirement always passes. A GIN index supports array-overlap lookups.
Examples
Section titled “Examples”A billing call in Spanish requires billing + spanish; under skills_based
routing only agents holding both tags are considered for that queue, so the
caller reaches someone who can actually help.
- The agent must hold all of a queue’s required skills (superset match), not just one.
- Too many fine-grained skills fragment the agent pool and raise wait times.
- Within a queue, caller selection is FIFO with preferred-agent affinity; the strategy field primarily gates the skills check today.