IntelliAssign is the conversation-routing engine in Freshchat. Marketed as smart routing, it can be either a precision tool or a random lottery depending on configuration. The difference is in the capacity model and the routing rules.
How it works
IntelliAssign considers three things when assigning a conversation:
- Agent availability (online status, current load).
- Agent skills (matched to conversation tags or topic).
- Capacity (max concurrent conversations per agent).
If you only set availability, you get round robin. The intelligence comes from skill matching and capacity tuning.
Skill configuration
Define skills as tags: language, product area, tier. Each agent has a skill profile. Conversations get tagged at intake (by bot, by widget context, by user choice) and route to agents matching the tags.
Tag granularity: too few skills (just “tier 1” and “tier 2”) provides no routing intelligence. Too many (50 product subcategories) creates skill match failures and unrouted conversations.
Sweet spot: language, three to five product areas, two tiers. About 10-20 skill values total.
Capacity per agent
Default is unlimited concurrent conversations. This is wrong. Set a per-agent cap (3-5 active conversations is humane). When at cap, agent is skipped until they close one.
Cap also reflects agent skill: senior agents handle more concurrent (5), juniors fewer (3). Set per profile.
Without capacity caps, your top agent ends up with 12 conversations open and customer waits stretch.
Conversation aging
A conversation in queue too long should escalate, not just wait. Configure: unassigned for 60 seconds escalates to “any available agent” regardless of skill. 120 seconds escalates to manager group.
This trades skill match for response time. Long waits hurt CSAT more than imperfect skill matching.
Online status discipline
IntelliAssign respects agent status. Train agents to set status correctly:
- Online: accepting conversations.
- Away: not accepting (in a meeting, on break).
- Offline: end of shift.
Auto-status changes based on activity: 5 minutes idle moves to Away, 30 minutes to Offline. Configure under Agent Settings.
Skill-based routing failures
Conversation comes in with skill tag X, no online agent has skill X. Default behavior: queues until an X-skilled agent comes online or the escalation timer fires.
Better: configure a fallback skill. If no X agent online, route to Y agent who can do best-effort. Better than indefinite queue.
Multi-channel routing
The same agent handles chat, WhatsApp, and Facebook Messenger from one inbox. IntelliAssign capacity counts across channels, not per channel. An agent with 5 cap and 2 active WhatsApp conversations can take 3 more chat conversations.
If you want per-channel caps, configure separate agent profiles per channel and route accordingly. Most teams find unified caps simpler.
Reporting
Track:
- Average time to first response.
- Routing failures (unassigned > 60 seconds).
- Skill match rate (assigned to skill-matched agent vs fallback).
- Per-agent concurrent average.
A skill match rate below 80 percent suggests skill definitions are wrong (too granular) or skill assignment to agents is incomplete.
What to do this week
Review your agent capacity caps. If they are unlimited, set them. Pick a humane number (3-5) and watch agent stress and CSAT both improve.