Skip to content

Sticky sessions & skills

When a customer messages again, they should not start from zero with a random agent. And when the topic needs a specialist, the router should prefer someone who can actually help.

That is what sticky sessions and skills-based routing are for.

A sticky session keeps a customer conversation with the same agent across messages for a period of time (or until the conversation is closed / transferred).

If Priya handled the customer this morning, the afternoon follow-up should try Priya first — as long as she is available and under capacity.

Without stickyWith sticky
Customer repeats the storyAgent already has context
Inconsistent answersContinuity of care
Lower trustFeels like one relationship

Sticky is a customer experience feature as much as a routing feature.

  1. First inbound message is assigned by capacity (and skills, if configured).
  2. CXGear remembers the owner agent on that conversation.
  3. Later messages in the same conversation prefer that agent.
  4. If the owner is Offline, over capacity, or the sticky window expired, the router falls back to another eligible agent.

Exact timers and transfer rules will be configurable as the module lands.

Screenshot needed
Conversation detail showing assigned agent and sticky indicator (when available).
Where: Conversations / agent dock (when available)
Save as: src/assets/screenshots/44-sticky-session.png

Skills are labels on agents (and sometimes on queues or channels) such as:

  • Language (Hindi, English, Spanish)
  • Product line (loans, cards, support)
  • Tier (tier-1, retention)

When a conversation needs a skill, the router prefers agents who have it.

Capacity alone can assign a Spanish-speaking customer to an English-only agent. Skills keep first-contact resolution high and transfers low.

  1. Supervisors define the skill catalog for the organization.
  2. Agents (or admins) attach skills on the agent profile / presence.
  3. Inbound conversations carry required skills from channel, project, or message metadata.
  4. Router ranks Available agents who have capacity and matching skills.
  5. If no skilled agent is free, fallback policy applies (wait, broader skill, or any available agent — depending on configuration).

Dialler presence already has a skills field in the platform model; conversations will use the same idea for messaging.

Screenshot needed
Agent profile or desk showing skills tags (language, product).
Where: Agent desk / user profile (when available)
Save as: src/assets/screenshots/45-agent-skills.png

Typical priority order (illustrative):

  1. Sticky owner if available and under capacity (and still skilled enough).
  2. Else agents with required skills and capacity.
  3. Else broader fallback.

Sticky without skills can lock a customer to the wrong specialist. Skills without sticky can bounce a customer between equally skilled agents. Together they balance continuity and competence.

Ready nowRoadmap
Agent / Supervisor roles for desk staffSticky window configuration UI
Presence model (including skills storage on presence)Skills-aware chat router
WhatsApp connectivityConversation ownership in the dock

Voice dialler routing today is primarily extension + presence + DID rules. Skills for voice queues may deepen later; messaging is the first full skills-and-sticky story.

  • Repeat customers land on the same agent when that agent is working.
  • Language and product skills reduce transfers.
  • Supervisors can explain in one sentence why a chat went to a given agent.
  • No agent is assigned above their open-chat capacity.
SituationDesign intent
Sticky agent on breakFall back; optionally return when they are back
Skill too rareAlert supervisors; widen fallback
Agent leaves the companyClear ownership; reassign open conversations
Skills outdated on profilePeriodic review in user admin
Confusing sticky vs new conversationClear “new topic / new conversation” rules in the dock
  1. Decide which skills matter (start with language + one product dimension).
  2. Assign Agent / Supervisor roles correctly.
  3. Connect messaging channels under Integrations.
  4. Keep projects and metadata clean so conversations attach to the right campaign.
  5. Train agents on presence discipline (same habit as the dialler).