Skip to main content
The Ticket Dispatch (Suggest Technician) action intelligently recommends which technician should handle a ticket. It considers factors like availability, skills, current workloads, and customer relationships to make the best suggestion.
Stop playing ticket assignment roulette! This action takes the guesswork out of dispatching by automatically finding the best technician for each ticket. It saves managers time, balances workloads fairly, and ensures tickets go to people who actually know how to solve them.
This action can suggest a technician, but you’ll need to add the Assign Ticket to Technician action afterward to actually make the assignment in your PSA.

Quick start

1

Choose your trigger

Add to workflows triggered by “Ticket Created” or when tickets move between boards/statuses.
2

Select your technician pool

Choose how Neo gets the pool of technicians: manually select them (Dashboard Pool), pull from the ticket’s company team, or use the ticket’s board team (ConnectWise only).
3

Enable smart features

Turn on calendar checking and workload balancing (both are on by default).
4

Add assignment action

Follow this action with “Assign Ticket to Technician” to actually make the assignment.

How it works

This action uses intelligent analysis to recommend the best technician:
  1. Analyzes ticket requirements - Reviews ticket content, priority, and complexity
  2. Checks technician availability - Considers calendars, working hours, and current status
  3. Evaluates expertise - Matches technicians to similar past tickets and skill areas
  4. Balances workload - Considers current ticket assignments and capacity
  5. Maintains relationships - Prefers technicians who have worked with the customer before

Setup

Technician pool

The first thing to configure is where Neo should get the pool of technicians to consider for dispatch. You can choose from three sources using the Technician Pool Source dropdown:
Technician Pool Settings showing the pool source dropdown

Select where Neo should get the pool of technicians from

Technician Pool Source dropdown expanded showing Dashboard Pool, Company Team, and Board Team options

The three available pool source options

Dashboard Pool lets you manually select a fixed set of technicians directly in the workflow configuration. This is the default option.Use this when you have a specific team or group of technicians you always want Neo to choose from, regardless of the ticket’s company or board.After selecting this option, use the Technician Pool dropdown below it to pick which technicians should be included.

Other settings

Smart features: Enable calendar checking, workload balancing, and expertise matching. Custom instructions: Provide specific guidance for your team’s needs and preferences. Scheduling options: Enable automatic calendar booking to reserve time for assigned work. Round Robin mode (optional): Use fair rotation instead of AI optimization for equal distribution.

Teams availability (presence & shifts)

With the Teams Technician Mapping & Availability integration connected and technicians mapped to their Microsoft accounts (the integration’s auto-map does this — see the setup guide), the Teams availability toggle makes dispatch aware of each technician’s live Microsoft Teams presence and, optionally, their Teams Shifts rota:
  • Skip technicians who are on a break (on by default) — technicians who are Away, Offline, or out of office in Teams are not assigned work starting now. Busy, In a call, Presenting, Do not disturb, and Be right back still count as working. The check is time-scoped: a schedule entry booked further in the future is not blocked by someone being on a break right now.
  • Teams holding the shift rota — if your service desk runs its schedule in the Teams Shifts app, list the team(s) here. Neo prefers technicians whose shift covers the proposed assignment time and deprioritizes mapped technicians with no shift in the planning window.
Both checks degrade gracefully: if Teams can’t be reached or technicians aren’t mapped, dispatch falls back to its normal PSA-based logic and the run output says why. Round Robin honors the on-break skip too (shifts apply to AI dispatch only). Custom instructions override the defaults — e.g. “Treat Do not disturb as unavailable” or “Ignore Teams presence for P1 tickets”. If presence isn’t being picked up the way you expect, see the integration page’s troubleshooting section.

Writing effective custom instructions

Custom instructions help Neo make better dispatch decisions, but they need to be clear and specific. Here’s how to write instructions that work:
Key principles for good custom instructions:
  • Always use full names (first and last) for technicians
  • Write dates in full format (e.g., “2nd October 2025” instead of “02/10/25”)
  • Be specific about clients, ticket types, or conditions that trigger the rule
  • Identify exact technicians, skill tags, or team names for routing

Examples: Good vs. Bad

What you get

After running, you’ll have technician recommendations with detailed reasoning, availability analysis, and workload considerations ready to apply with assignment actions.
Running this action on high-volume workflows? See Parallel Dispatch — Neo Agent automatically prevents double-bookings when multiple dispatches run at the same time, so you can drop the Process Entities Sequentially safety knob and recover full burst throughput.

Common use cases

Automatically route new tickets to the best available technician based on skills, availability, and workload balance.
Maintain customer relationships by preferring technicians who have previously worked with specific clients.
Distribute tickets fairly across your team while still considering expertise and availability.
Use simple, fairness-first rotation to spread work evenly across your team, regardless of workload optimization.

Best practices

Begin with basic availability and workload checking enabled. Add more sophisticated rules later once you see how it works.
Calendar integration ensures Neo considers technician availability and working hours when making suggestions.
Add specific guidance like “Prefer Sarah for network issues” or “Critical tickets go to senior technicians first.”
Turn on automatic calendar booking to not only assign technicians but also reserve time in their calendars.You can also control the name of the booked entry through your custom instructions — for example, “Name every schedule entry ‘NEO - [client] - [short summary]’”. If you don’t specify a naming convention, the entry is named after the ticket title (the default).HaloPSA appointment types: Neo can set the appointment type on the entries it books (e.g. Firm vs Tentative, Remote vs Onsite) from your own Halo appointment types. Two ways to control it, and they work together:
  • Default appointment type — a dropdown in the calendar settings, populated from your Halo appointment types. Neo puts this type on every entry it books unless a per-ticket rule overrides it.
  • Per-ticket, from custom instructions — tell Neo which type to use per situation, for example “Use ‘Firm - Remote’ for strictly scheduled remote tickets and ‘Tentative - Remote’ for work that just needs to happen sometime today; use the Onsite equivalents for on-site visits.”
Neo matches the name to your tenant’s appointment types. If a ticket matches no rule and no default is set, the entry keeps Halo’s own default type.
Use AI optimization for skill matching or Round Robin mode for equal distribution, depending on your priorities.
Check Event History to see dispatch reasoning and adjust settings based on actual assignment effectiveness.
To prevent Neo from re-processing tickets that already have an owner, add a Filter Ticket condition to your Dispatch workflow:
Add a filter condition: owner.id is null
This ensures Neo will never re-process tickets that already have an assigned technician, even if the workflow triggers late.

Example workflows

  1. Trigger: New ticket created
  2. Ticket Dispatch - Suggest best technician based on skills and availability
  3. Assign Ticket to Technician - Apply suggestion and update ticket status
  4. Result: Every new ticket gets optimal technician assignment automatically
  1. Trigger: Ticket priority changed to “High” or “Critical”
  2. Ticket Dispatch - Find senior technician with availability
  3. Assign Ticket to Technician - Assign immediately with calendar booking
  4. Notify Ticket’s Owner - Alert technician about urgent assignment
  5. Result: High-priority tickets get immediate attention from qualified staff
  1. Trigger: New ticket created in specific queue
  2. Ticket Dispatch - Round Robin mode for fair rotation
  3. Assign Ticket to Technician - Apply rotation assignment
  4. Result: Work distributed equally across team members
  1. Trigger: New ticket created
  2. Ticket Triage - Analyze the ticket and assign the correct team (e.g., “Server issues go to the Server Team”)
  3. Ticket Dispatch (Board Team pool) - Neo reads the team from the ticket, pulls its technicians, and suggests the best one
  4. Assign Ticket to Technician - Apply the assignment
  5. Result: Triage picks the right team, Dispatch picks the right technician on that team — fully automated two-step routing

Frequently asked questions

Neo calculates workload based on settings you configure under “Consider technician Workload” in dispatch settings:
  • Time period: Choose how many days back Neo should look (e.g., last 7 days)
  • Activity criteria: Select what counts as activity:
    • Ticket last update (any change to the ticket)
    • Last ticket time entry (logged work time)
    • Last ticket note (comments or updates)
Neo counts all open tickets (regardless of status, board, etc.) that had the selected activity within your chosen time period. If you want to filter by specific status, board, or any other field, you can customize this in custom instructions. For example, “When calculating workload, exclude tickets on the ‘Waiting for Customer’ board/status.”
Start with a 7-day lookback period using “Ticket last update” for a balanced view of recent activity.
Neo automatically reads technician working hours from your PSA system. The setup process depends on which PSA you’re using:
Setup in ConnectWise Manage:
  1. Create different calendar templates for each work schedule (e.g., “7AM-4PM Schedule”, “8:30AM-5PM Schedule”, “9AM-6PM Schedule”)
  2. Assign the appropriate calendar to each technician in their member profile
  3. Neo will automatically use these calendars when checking availability
For your example schedules:
  • Create a “7AM-4PM” calendar and assign it to your 2 help desk technicians
  • Create an “8:30AM-5PM” calendar for your 2 technicians with that schedule
  • Create a “9AM-6PM” calendar for your 1 technician with that schedule
Make sure your technician calendars in ConnectWise are kept up to date. Neo checks these calendars in real-time when making dispatch suggestions.
You can configure Neo to suggest multiple technicians for a single ticket using the “Number of technicians to suggest” setting.To set up multiple technician suggestions:
  1. Open the Configure Message Settings section in your Ticket Dispatch action
  2. Find the Number of technicians to suggest field
  3. Increase this number to however many technicians you want suggested (e.g., 10)
Number of technicians to suggest setting

Configure how many technicians Neo should suggest for each ticket

How multiple technicians are assigned:When you use the “Assign Ticket to Technician” action after getting multiple suggestions, the PSA will assign them differently based on your system:
  • First technician: Assigned as the ticket Owner (primary resource)
  • Additional technicians: Added as Resources (secondary resources)
This is useful for complex tickets that require multiple skill sets or when you want to ensure coverage across shifts.