Plain English: Auto-dispatch means Kilo tries to give the job to a real rider by itself when the delivery is created — so your staff do not have to open the dashboard and click Assign rider every time.
Who it helps
- WhatsApp / AI bots that create jobs via the API
- Public request form customers
- Busy fleets that already have pricing rules and online riders
Baby steps to turn it on
- Dashboard → Settings → Delivery (client / public request settings).
- Make sure Require approval is off (auto-assign cannot wait for a human to approve first).
- Set pricing to the rules engine and add at least one enabled pricing rule that covers your areas.
- Fix any coverage / pricing warnings the screen shows (Kilo blocks auto-dispatch until pricing is safe).
- Turn Auto-dispatch ON and confirm the warning modal.
- Keep riders active in the app with recent GPS so Kilo can find someone nearby.
What happens on create
- Customer (or your API) creates a delivery.
- If auto-dispatch is allowed and a fee can be calculated and the job starts as
pending:- Kilo picks the best nearby available rider with fresh location.
- Status becomes
matchedandrider_assignedistrueon the API response.
- If no rider fits, the job stays
pendingfor a human to assign later. That is normal — not an error.
What auto-dispatch is NOT
| Myth | Reality |
|---|---|
| “Every dashboard create auto-assigns” | Auto-dispatch runs on the public request / Partner API create path. Staff can still assign manually anytime. |
| “It works with manual pricing only” | Needs rules pricing + coverage set up. |
| “It ignores Require approval” | If approval is required, auto-dispatch stays blocked. |
| “It invents a rider” | Only your org’s linked, available riders with usable location. |
How to check it worked
- Create response / webhook:
statusismatchedandrider_assignedistrue. - Dashboard Deliveries: rider name appears without you clicking Assign.
Want your own rules instead?
Keep Auto-dispatch off. On delivery.created, your backend can GET /riders and POST /deliveries/{id}/assign. One rider may already have other jobs — that is allowed. See Assign riders and the Auto-assign agent prompt.
Related
- Assign riders — list / assign / unassign from the API
- Create a delivery — API response includes
rider_assignedandtracking.url - Webhooks — listen for
delivery.status_changedwhen status becomesmatched