What it does
When a Ticket Dispatch action runs with scheduling enabled, Parallel Dispatch quietly:- Reserves the chosen calendar slot the moment the AI picks it, so two simultaneous dispatches can’t both grab the same time on the same technician.
- Asks the AI to pick again if the slot was reserved by a peer dispatch a moment ago, telling it which slot was lost. The conversation continues, so the AI keeps all the context it already had and your routing rules stay in force.
- Hands the slot straight back when the ticket ends up not being booked — somebody claimed it while Neo was deciding, for example. That technician stays available for the next ticket instead of looking busy until the reservation lapses.
- Holds the slot while a ticket waits for approval, because that exact technician and hour are the ones being approved. Another ticket dispatched during the wait is offered a different technician or time, so two approvals can’t be granted for the same slot. The hold lasts ten minutes. If nobody answers the card in that time the slot is released, and if the approval arrives later and the slot has since gone, Neo says so on the ticket and retries before asking again.
- Tells the AI which other dispatches are deciding at the same moment, and where this one sits among them, so a workflow whose rules need to separate simultaneous tickets has something to separate them by.
- Names the technician a concurrent dispatch has just assigned, so a later run does not repeat a choice whose record has not been written yet (see Seeing what a concurrent dispatch just did).
- Re-reads the technician’s live calendar before it settles on the slot (when the workflow has an Assign Ticket action to book the slot), to find a booking made outside Neo while it was deciding that ticket: a technician who booked their own time, or one of your own automations that created a service call. The reservation covers other Neo runs. When the slot is now taken, Neo picks another slot or technician, and Round Robin moves to the next technician. An entry Neo already saw in the calendar when it chose the slot, such as one your instructions allow Neo to double-book, does not count. The re-read looks at the scheduled work your PSA books against the technician, which on Autotask means service calls. On ConnectWise, an entry that spans several days counts only for the hours it books on each day, the same as in the calendar Neo reads — unless ConnectWise returns the series with no per-day detail rows, or a full page that may be truncated, when Neo treats the whole span as overlapping rather than clearing it.
Why it matters
No more silent double-bookings
Burst-day throughput
Conflicts recover in place
Zero workflow changes
Per-technician burst limit
Alongside the calendar-slot safety net, Neo Agent limits how much work a single technician can be handed in one burst: up to three assignments per rolling five minutes, counted per technician across all dispatches running concurrently for your account. This is a fairness guard, not a capacity rule. Without it, a burst of thirty tickets that all look like the same person’s speciality can land entirely on that person, because each dispatch reads the workload snapshot before any of the others have finished writing to it. The window is five minutes because a dispatch takes minutes to decide. A shorter window than one decision cannot see two assignments at once, so the limit never applies. Unlike calendar-slot reservation, this limit applies to every dispatch workflow — including those that only assign a technician without booking a calendar entry.What happens when the limit is reached
Neo asks the AI to pick again, and the retry keeps your routing rules intact:- A different technician your custom instructions still allow. Within the allowed set Neo will take a slightly worse fit rather than pile onto one person.
- If every remaining candidate is outside your rules, Neo assigns the rate-limited technician it proposed last. Neo will not route around a restriction you declared — a named team (“Security Incidents → only the Security Squad”), a named owner (“VIP accounts → only their account manager”), or a queue/tier rule (“Escalation queue → do not downgrade to lower teams”) — just to get past the limit. That technician already satisfied those rules, so Neo lets them through instead of leaving the ticket for a human.
- If the AI keeps proposing rate-limited technicians, after several attempts Neo allows the last one it proposed through rather than failing the dispatch. The limit is a guard, not a hard stop.
Seeing what a concurrent dispatch just did
Assignment counts come from Neo’s own dispatch record, which a run writes when it finishes. A dispatch spends a few minutes deciding, so a run that started shortly before could read counts that were already out of date. Two changes widen what each run sees:- The counts are read immediately before the AI decides, not at the start of the run. Any dispatch that finished while Neo was gathering context is included.
- A technician’s in-flight assignments are listed by name. A dispatch registers its choice the moment the AI makes it, ahead of the record being written. A run reading the counts after that point sees the entry under that technician, marked as work already given but not yet counted, and treats it as part of their load.
What you see
In Executions, a dispatch that met this situation names it in its reasoning — for example: “Ryan Irwin holds 1 assignment from a concurrent dispatch (#895292) on top of 2 today; Charlie Mathena has 1 and is on shift, so this ticket goes to Charlie.”When sequential dispatch is still the right choice
Parallel Dispatch replaces most uses of the Process Entities Sequentially workflow setting, but not all of them. Keep it on when:Your dispatch workflow doesn't book calendar slots
Your dispatch workflow doesn't book calendar slots
You want predictable, one-at-a-time processing for non-dispatch actions
You want predictable, one-at-a-time processing for non-dispatch actions
Your volume is low and you don't see throughput pressure
Your volume is low and you don't see throughput pressure
Migrating an existing sequential dispatch workflow
If you have a dispatch workflow currently running with Process Entities Sequentially enabled, you can safely turn it off once Parallel Dispatch is active on your account:Confirm the workflow books calendar slots
Turn off Process Entities Sequentially
Save and let it run on real traffic
Check Executions after the first busy day
Expected throughput improvement
The improvement depends on how many tickets the workflow processes in a typical burst:Frequently asked questions
Do I need to enable anything in the workflow editor?
Do I need to enable anything in the workflow editor?
What happens if every alternative technician is also busy?
What happens if every alternative technician is also busy?
What if the replacement slot clashes with something else?
What if the replacement slot clashes with something else?
Will it change the AI's technician selection?
Will it change the AI's technician selection?
Does it affect Round Robin dispatch?
Does it affect Round Robin dispatch?
Can I see how often conflicts happen?
Can I see how often conflicts happen?
