---
title: How Auto-Assignment Picks the Best Tech
description: See how MetaFleet offers a job to the best technician by skills, availability, distance and workload, and what happens when no one accepts.
---

[Skip to content](https://support.metafleet.ai/how-auto-assignment-picks-the-best-tech#main-content)

English

Show submenu for translations

![AI-powered fleet repair software](https://support.metafleet.ai/hs-fs/hubfs/Transparent%20logo%20for%20dark%20background.png?width=350&height=54&name=Transparent%20logo%20for%20dark%20background.png)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- [Contact us](mailto:support@metafleet.ai)

[Contact us](mailto:support@metafleet.ai)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [MetaFleet Answer Hub](https://support.metafleet.ai/?hsLang=en)
2. [Dispatch & Scheduling](https://support.metafleet.ai/dispatch-scheduling?hsLang=en)
3. [Technician Assignment](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#technician-assignment)

# How Auto-Assignment Picks the Best Tech

## When a service order is ready for a technician, MetaFleet ranks your crew and offers the job to the best fit automatically, then escalates to you if no one takes it.

**For:** Dispatchers and shop managers · **Permission:** none to read, Manage users to edit a tech's skills · **Time:** ~5 minutes

### The short version

1. When an order needs a tech, MetaFleet builds a **ranked shortlist** of eligible techs.
2. It offers the job to the **top candidate** with a **Job Available** alert, and a text if they turned on [job alerts by text](https://support.metafleet.ai/job-alerts-by-text?hsLang=en).
3. If they don't accept within the escalation interval, it offers the **next-best** tech, and so on.
4. If no one accepts, it **escalates to the lead dispatcher** with an **Assign Tech Now** alert.
5. Separately, a job nobody claims alerts the dispatcher at **10 minutes** and raises an alarm at **15 minutes**, counted from the first offer.
6. Shops can turn on **AI-assisted ranking** for a smarter shortlist. If the AI result is unusable, MetaFleet falls back to the standard ranking.

### Who gets an automatic offer

Before ranking, MetaFleet filters to technicians who can take the job. For an **automatic offer**, a tech must be:

- **Clocked in:** only on-shift techs are auto-offered a job.
- **Locatable:** the tech must have a recent location on record. It is used for distance.
- **Within range:** within your max assignment distance (**75 miles** by default).
- **In the order's service area:** the tech's primary or secondary area must match the order.

> Off-shift, out-of-range or out-of-area techs are not auto-offered a job. You can still pick them yourself in the **Assign Technician** window. See [Manually Assign a Technician](https://support.metafleet.ai/manually-assign-a-technician?hsLang=en).

### How the ranked list is ordered

Eligible techs are sorted by these rules, in order of importance:

1. **A tech who can't do this kind of job goes last.** On a repair, a tech who only does towing is listed at the bottom with a **No Skill Match** chip, at any distance.
2. **A tech beyond your max assignment distance** ranks below every tech in range. A tech with no location on record isn't treated as out of range.
3. **Off shift or unavailable techs come next to last.** A tech who is off shift, on time off, or already booked for the slot stays in the list with the reason shown (for example **Off shift**, **PTO** or **Already booked**). They are never hidden.
4. **Skill match.** Techs whose service types cover the job rank above techs whose service types don't.
5. **Availability.** **Available** first, then **Wrapping Up**, then **On Site**, then **En Route** to another job.
6. **Distance.** Closer to the vehicle ranks higher. Distance decides proximity, not service area.
7. **Workload.** Among otherwise-equal techs, the one with fewer hours logged this week ranks higher, so jobs spread evenly across the crew.

A tech with the right skills therefore ranks above an idle tech without them, even if the idle tech is closer.

### Where skills are set

A tech's service types live on their profile, on the **Services Provided** card. Open **Settings › Users**, click the tech, then click **Edit** on the card. Click **Done** when you finish. Tick the **Service Types** they can take (**Repair**, **PM / Inspection**, **Towing**) and pick the repair types they handle.

![Services Provided card in edit mode with Service Types checkboxes and repair type tiles](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/how-auto-assignment-picks-the-best-tech-04-services-provided-v2.png?width=458&height=379&name=how-auto-assignment-picks-the-best-tech-04-services-provided-v2.png)

*The Services Provided card in edit mode: service types on top, repair type tiles below.*

> **Manage users permission.** Only users with the Manage users permission see **Edit** on this card. Everyone else sees the read-only view.

### What you see in the Assign Technician window

Open **Assign Technician** on an unassigned order to see the same ranked shortlist the automatic offer works from. Each row shows the tech's billable hours, jobs done, service area, **Distance**, **ETA** and **Status**. Off-shift techs, and techs in another area far from the job, are listed dimmed with no drive time. You can still pick them.

![Assign Technician window; Marcus Reyes is ranked first with Already booked, Awaiting Response and Skill Match badges](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/how-auto-assignment-picks-the-best-tech-01-assign-window.png?width=1016&height=407&name=how-auto-assignment-picks-the-best-tech-01-assign-window.png)

- **Skill Match** marks techs whose skills cover the job.
- **No Skill Match** marks a tech who can't do this kind of job, such as a towing-only tech on a repair. They stay in the list, last.
- **Awaiting Response** marks the tech who has been offered the job and hasn't answered yet.
- **Off shift**, a time-off reason such as **PTO**, and **Already booked** (a tech with a scheduled order in that slot) mark techs who can't take the slot. Click **Clock in** on an off-shift row to put the tech on shift, if you have permission to manage technician clocks.
- Click the **ⓘ** icon next to the top-ranked tech to open **Why this tech?**. It gives a one-line reason (drive time, distance, skill match, hours this week) and lists the next ranked techs. It explains the order. It never changes it.

### How the offer and escalation flow works

1. **The job is offered to the top tech.** They get a **Job Available** alert in MetaFleet, and a text with a link to claim it if they turned on job alerts by text. In the Assign Technician window their row shows **Awaiting Response**.
2. **If they don't respond, it moves on.** After the escalation interval (**5 minutes** by default), MetaFleet offers the job to the next-best tech and keeps going down the list. A tech who was already offered the job is not offered it again. A tech you remove from the order is never offered it again.
3. **If no one takes it, it comes to you.** When the list is used up, the lead dispatcher gets an **Assign Tech Now** alert to assign someone manually.
4. **If the job still sits unclaimed, you hear about it.** This clock starts at the first offer and runs on its own. At **10 minutes** the order's dispatcher gets a **Not picked up** alert on the order card and a "Nobody has picked up SO #" email. At **15 minutes** an alarm, **Not picked up (15m)**, appears in **ALARMS** on every dispatcher's rail, even for an order on their own rows, and counts in the ALARMS number. Every admin also gets a "still has no technician" email. Both clear when a tech claims the job, someone assigns one, or the order is canceled.

### AI-assisted ranking (optional)

Shops can have an AI-assisted layer on top of the standard ranking. It reads the job and each tech's signals and adds a short plain-language reason per tech. You read it in the **Why this tech?** panel. If the AI result is unavailable or unusable, MetaFleet falls back to the standard ranking above, so a job is never stranded. Ask MetaFleet if you'd like it enabled for your shop.

### What you can configure

Open **Settings › Workflow › Dispatch**. Change a value, then click **Save**.

- **Max tech assignment distance (miles):** auto-offers skip techs farther than this from the job. Default 75 miles.
- **Auto-offer escalation interval (minutes):** how long to wait for a tech to respond before offering the next one. Default 5 minutes.
- **Escalate jobs nobody picks up:** on by default. Turn it off to stop the 10-minute alert and the 15-minute alarm. The 10 and 15 minutes can't be changed.

![Dispatch tab with distance 75 miles, interval 5 minutes and the Escalate jobs nobody picks up switch on](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/how-auto-assignment-picks-the-best-tech-03-dispatch-settings-v2.png?width=725&height=330&name=how-auto-assignment-picks-the-best-tech-03-dispatch-settings-v2.png)

### Troubleshooting

| Symptom | Likely cause | Fix |
| --- | --- | --- |
| No tech is offered a new order | No clocked-in tech with a recent location is within range and in the order's service area | Assign manually. You can pick off-shift or other-area techs in the Assign Technician window. |
| A tech never got offered a nearby job | They were clocked out, had no recent location, or were out of area | Confirm they're clocked in. Auto-offers only go to on-shift, in-area techs. |
| Jobs keep escalating to the dispatcher | The escalation interval is too short, or coverage is thin in that area | Lengthen the interval in **Settings › Workflow › Dispatch**, or assign manually. |
| A row shows no distance and "—" for ETA | The tech has no location on record | You can still assign the tech from the window. Distance and ETA appear once the tech's location reports. |
| A tech who is close is listed below others | They can't do this kind of job, or they are beyond your max assignment distance | Look for the **No Skill Match** chip, and check **Max tech assignment distance** in **Settings › Workflow › Dispatch**. |
| A closer tech is listed below a farther one | The farther tech has a skill match, and skill ranks above distance | Check the **Skill Match** badge, or add the missing service type on the closer tech's profile. |

### FAQs

**Does service area decide the ranking?**  
No. Service area decides who's eligible for an automatic offer. Skills, availability, distance and workload decide the order. An out-of-area tech can still be assigned manually.

**Will a tech without the right skills ever be offered the job?**  
Skill-matched techs in range are always offered first. If none is available, MetaFleet offers the next-best tech in the area instead of escalating at once.

**How do a tech's skills affect the ranking?**  
Skill match is the first ranking rule. A tech who can't do the job at all goes last, and a tech beyond your max distance goes below techs in range. Set each tech's service types and repair types on their profile, under **Services Provided**.

**Why is a tech marked Off shift, PTO or Already booked?**  
For the booked slot, the tech is outside their shift, on time off, or has a scheduled order. The row stays in the list, lower down, so you can still find them.

**Can I change how the factors are balanced?**  
The default uses strict priority, as listed above. Some shops opt into a weighted mode that blends the factors. Ask MetaFleet if you'd like it enabled.

**How fast does it escalate?**  
About 5 minutes per step by default. Change it in **Settings › Workflow › Dispatch**. A job nobody picks up also alerts the dispatcher at 10 minutes and raises an alarm at 15 minutes.

### Related articles

- [Manually Assign a Technician](https://support.metafleet.ai/manually-assign-a-technician?hsLang=en)
- [The Service Order Lifecycle](https://support.metafleet.ai/the-service-order-lifecycle?hsLang=en)
- [Manage a Service Order](https://support.metafleet.ai/manage-a-service-order?hsLang=en)
- [Clock In, Out and Time Tracking](https://support.metafleet.ai/clock-in-out-and-time-tracking?hsLang=en)

- [Start Here](https://support.metafleet.ai/start-here?hsLang=en)
- [Companies & Contacts](https://support.metafleet.ai/companies-contacts?hsLang=en#main-content)

    - [Create/Edit Companies](https://support.metafleet.ai/companies-contacts?hsLang=en#create-edit-companies)
    - [Contacts](https://support.metafleet.ai/companies-contacts?hsLang=en#contacts)
    - [Vehicles](https://support.metafleet.ai/companies-contacts?hsLang=en#vehicles)
- [Work Intake (Requests & Service Orders)](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#main-content)

    - [Creating Service Orders](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#creating-service-orders)
    - [Customer & Partner Requests](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#customer-partner-requests)
    - [Reference](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#reference)
    - [Customer Portal](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#customer-portal)
- [Estimates & Approvals](https://support.metafleet.ai/estimates-approvals?hsLang=en#main-content)

    - [Approval Gates](https://support.metafleet.ai/estimates-approvals?hsLang=en#approval-gates)
    - [Estimates](https://support.metafleet.ai/estimates-approvals?hsLang=en#estimates)
    - [Invoices](https://support.metafleet.ai/estimates-approvals?hsLang=en#invoices)
    - [Billing](https://support.metafleet.ai/estimates-approvals?hsLang=en#billing)
- [Parts, Inventory & Vendors](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#main-content)

    - [Add Parts & Kits](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#add-parts-kits)
    - [Stock & Counts](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#stock-counts)
    - [Locations & Bins](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#locations-bins)
    - [Purchase Orders](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#purchase-orders)
    - [Parts Catalog](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#parts-catalog)
    - [Vendors & Manufacturers](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#vendors-manufacturers)
    - [Pricing](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#pricing)
    - [Service Vehicles](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#service-vehicles)
    - [Sourcing & Hand-Off](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#sourcing-hand-off)
    - [Part Numbers](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#part-numbers)
    - [Notifications](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#notifications)
    - [Reports](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#reports)
- [Invoicing & Payments](https://support.metafleet.ai/invoicing-payments?hsLang=en)
- [Dispatch & Scheduling](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#main-content)

    - [Preventative Maintenance](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#preventative-maintenance)
    - [Technician Assignment](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#technician-assignment)
    - [Scheduling & Calendar](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#scheduling-calendar)
    - [Technician Schedule](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#technician-schedule)
- [Technicians & Mobile App](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#main-content)

    - [Time Tracking](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#time-tracking)
    - [Tech Workflow](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#tech-workflow)
    - [Evidence & Photos](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#evidence-photos)
    - [AI Assistant](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#ai-assistant)
- [Alerts, Alarms & Notifications](https://support.metafleet.ai/alerts-alarms-notifications?hsLang=en#main-content)

    - [Email/SMS/App Settings](https://support.metafleet.ai/alerts-alarms-notifications?hsLang=en#email-sms-app-settings)
- [Reporting & Dashboards](https://support.metafleet.ai/reporting-dashboards?hsLang=en)
- [Admin & Settings](https://support.metafleet.ai/admin-settings?hsLang=en#main-content)

    - [Rates & Fees](https://support.metafleet.ai/admin-settings?hsLang=en#rates-fees)
    - [Branding](https://support.metafleet.ai/admin-settings?hsLang=en#branding)
    - [Roles, Permissions & Users](https://support.metafleet.ai/admin-settings?hsLang=en#roles-permissions-users)
    - [Service Areas](https://support.metafleet.ai/admin-settings?hsLang=en#service-areas)
    - [Workflows](https://support.metafleet.ai/admin-settings?hsLang=en#workflows)
    - [Taxes](https://support.metafleet.ai/admin-settings?hsLang=en#taxes)
    - [Integrations](https://support.metafleet.ai/admin-settings?hsLang=en#integrations)
- [Integrations](https://support.metafleet.ai/integrations?hsLang=en#main-content)

    - [Phone Setup](https://support.metafleet.ai/integrations?hsLang=en#phone-setup)
    - [AI Assistant Access](https://support.metafleet.ai/integrations?hsLang=en#ai-assistant-access)
    - [QuickBooks](https://support.metafleet.ai/integrations?hsLang=en#quickbooks)
- [Getting Around](https://support.metafleet.ai/getting-around?hsLang=en#main-content)

    - [Search & Command Bar](https://support.metafleet.ai/getting-around?hsLang=en#search-command-bar)

[![AI-powered fleet repair software](https://support.metafleet.ai/hs-fs/hubfs/Transparent%20logo%20for%20dark%20background.png?width=350&height=54&name=Transparent%20logo%20for%20dark%20background.png "AI-powered fleet repair software")](http://www.metafleet.ai)

<https://www.facebook.com/> <https://www.instagram.com/> [mailto:support@metafleet.ai](mailto:support@metafleet.ai)

Copyright © 2025, MetaFleet, Inc