
Support desks
The ticket reaches someone who has actually solved this before.
Route by product area, language and tier — and keep the newest agent off the case that needs ten years.
For teams where AI agents and people share the work
Each job goes to whoever should take it. An agent takes what it can finish. A qualified person takes what it can’t. You see why for every job.
35 seconds. One job, from request to the person who gets it. The example routes work between people. Scores in the film are labelled examples.
Here’s how Fivexer picks who gets a task, and where you check why.
A billing dispute comes in, tagged with what it needs.
First, your rules. Priya is off shift, so she’s ruled out.
Next, everyone left is scored.
Amara scores highest, so she gets the offer.
When she’s done, the outcome comes back, and the engine learns who closes these.
That’s the whole path.
Your rules first, then the closest fit, and every step on record.
The right person. With the reason on record.
Sign up free at 5xer.com.
The film’s six steps, as text. For readers who skim, and for search.
Agents do more every month. What they can’t do still lands on a person. Which one?
This is AI agent orchestration on one queue. Choose the work an agent may take and when it hands over to a person. The morning’s queue re-routes as you change it, and you get the rules to paste into your setup.
// the agent, registered as a worker
routingWeights: {
'refund:small': 1,
'address-change': 1,
'claims': 0,
'fraud': 0,
'kyc': 1,
}
// the workflow step the agent works in: one route per handover
.route('result.success === false', 'human-review')
.route('result.confidence < 0.8', 'human-review')A value of 0 means the agent is never offered that work. The two routes hand over inside a workflow; without one, a failed result simply finishes the task. Handing over on how sure the agent is only works if your agent reports it in its result.
Illustrative. The queue, the confidence figures and the roles are examples, not a customer’s data.

1 · Route

2 · Hand off

3 · Record and staff
4 · Plan the people side
A roster plans who should be on shift. It reads the next three days, and tells you early when a shift won’t be covered.
Automatic rostering · Skills-based scheduling · Scheduling rules

Owner notified: Thursday night is at risk. One colleague could step in. The standby list names them.
The vocabulary changes with the sector. The decision does not: every job is offered to the people and agents who can actually do it, and to nobody else.

Support desks
Route by product area, language and tier — and keep the newest agent off the case that needs ten years.

Field service
Certifications are a hard gate, distance is priced against urgency, and a full van is never given a sixth job.

Expert networks
Best-fit available specialist surfaces automatically, and the ones who resolve fastest per domain earn more of the work.

Logistics
Fairness modes stop one crew absorbing the day while another idles, with the load penalty derived per pass.
For teams who ship software
A P1 arrives, a PR wants a reviewer, an incident needs a follow-up. It is the question the four operations above are stuck on — asked at standup, answered from memory. Triage is dispatch, and it can have an engine.

How the matcher decides · When to build your own · The engine on npm
Review, support and operations teams where an agent does the first pass and a person takes what it can’t.
Plants, depots, warehouses and field crews, with trained-person rules, rest between shifts and same-day cover.
One engine, five vocabularies, and agents or people in every one. None of what follows changes with the operation, and that is why the same product fits all five.
Written down here rather than found out in month two.
Start with a free workspace. Add your people, register an agent as a worker, and send a first job. The decision record shows where it went and why.

Yes. An agent registered with the @fivexer/agent daemon is a worker like any other, with its own tags, skills and backlog limit, so the same rules route work to it and to people. Agents run on your own machines or servers. Fivexer does not host or build them. Setup is at /docs/agentic/agent.
The agent reports why, and the reason stays on the task. A job the agent rejects, or one it cannot run because its host fails, is requeued and offered to the next eligible worker, a person if they qualify. The agent that rejected it is not offered it again. Rejected tasks raise task.rejected, and the agent’s reason is on the task thread.
Anything an agent or a person is handed and can finish: support tickets, field service visits, expert reviews, bug triage, deliveries, inspections, shift cover. The engine matches on tags, weighted skills and priority, so the vocabulary is yours — it has no built-in idea of what a “ticket” is.
Fivexer is not a helpdesk and does not replace one. It decides who gets the work and hands it back to whatever you already run. The differences that matter are hard vetoes the engine always enforces, a decision record per job, four fairness modes, and the fact that the engine is open source so you are never locked in.
For the engine, yes. A routing weight of zero is a hard veto: the job is never offered to that person at all, rather than flagged for someone to override. Certifications, licences and jurisdiction limits are the usual reason people need this, and it is checked before any scoring or learning happens. A manager can still assign a job by hand, overriding the check as a deliberate, separate step, and the decision record shows it was manual.
Every decision keeps a trace: who was considered, who was excluded and the reason, and the score of everyone who was eligible. It is queryable afterwards, so “why did they get it?” is a lookup rather than an argument.
That is what the fairness modes are for. First-come is the default; best-match picks the strongest fit deterministically; balanced and spread-work apply a load penalty derived per pass, so busy people lose near-ties — or most contests — to less-loaded colleagues who are still eligible.
Fivexer Cloud runs in Frankfurt, Germany. The Article 28 data-processing agreement is published at /dpa and the subprocessor list, including the two flows that leave the EEA and their safeguards, is on /security. The engine is MIT-licensed, so self-hosting means no processor at all.
Run it in shadow mode: send real jobs to the engine, throw its answers away, and compare them with your dispatchers’ for a few weeks. There is a free four-week checklist for it at /guides/shadow-mode-checklist, including the one finding that means stop.