OptimoRoute integration
OptimoRoute plans and optimizes delivery and field service routes. Create, update, look up, search and delete orders (one at a time or up to 500 per call), start, follow and stop route optimization for a date, read the planned routes and each order's schedule and live ETA, send routes to drivers (with customer notifications unless turned off), follow driver app events, read and set order completion with Proof of Delivery, and update driver work parameters and GPS positions. Errors come back in the answer body, usually with HTTP 200, so a call can look successful: check success, then code and message. Personal data: orders carry customer emails, phone numbers and addresses, routes carry customer addresses and driver names, events carry driver names and GPS positions, and order completion carries driver GPS positions and Proof of Delivery signatures and photos. Not exposed: deleting every order of the account or of a date in one call. Authentication is the WS API key from Administration, Settings, WS API in the OptimoRoute web application, sent as the key query parameter.
Say what should happen.
The workflow builds itself.
What you can do with OptimoRoute
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Delete order, 2 operations
delete_orderDelete orderPOSTPermanently removes one order, found by its orderNo. Orders on live routes are protected unless forceDelete is true.delete_ordersDelete ordersPOSTPermanently removes up to 500 orders, each found by orderNo or id. Returns one result per order.
Create or update order, 1 operation
create_or_update_ordersCreate or update ordersPOSTCreates, updates or replaces up to 500 orders in one call. Addresses are not geocoded here, so each location must exist (locationNo) or carry latitude and longitude. Returns one result per order.
Create order, 1 operation
create_orderCreate orderPOSTCreates an order, or updates, syncs or merges an existing one depending on operation. An address is geocoded when no existing location matches. Errors come back with success false and a code.
Get completion detail, 1 operation
get_completion_detailsGet completion detailsPOSTReturns the completion status of up to 500 orders (scheduled, on_route, success, failed...) with service start and end times and positions, Proof of Delivery data and tracking link.
Get dispatch status, 1 operation
get_dispatch_statusGet dispatch statusGETTells whether one date's routes and customer notifications were sent, scheduled or not sent, and whether that date's routes are the live ones (the routes most recently sent to drivers).
Get event, 1 operation
get_mobile_eventsGet mobile eventsGETReturns up to 500 driver app events on the live routes (on/off duty, route start and end, service start, success, failed, rejected) with driver, order and position. Pass the returned tag as after_tag next time.
Get order, 1 operation
get_ordersGet ordersPOSTRetrieves up to 500 orders by orderNo or id, with their full data (date, type, location, time windows, assigned driver, loads, customer contact, custom fields). Returns one result per requested order.
Get planning status, 1 operation
get_planning_statusGet planning statusGETReturns the status (new, running, cancelled, finished or error) and percentage complete of a route optimization started with start_planning.
Get route, 1 operation
get_routesGet routesGETReturns the planned routes of one date, one per driver, with each route's ordered stops (order, location, scheduled time, travel time and distance). Optionally filtered to one driver or vehicle.
Get scheduling info, 1 operation
get_scheduling_infoGet scheduling infoGETTells whether one order is scheduled and, if so, its driver, vehicle, stop number, planned times and live ETA. Pass orderNo or id. For many orders at once use search_orders with includeScheduleInformation.
Search order, 1 operation
search_ordersSearch ordersPOSTFinds orders by orderNo or id, or every order in a date range of up to 35 days, optionally filtered by status, with order data and scheduling information on request. Up to 500 per page; page with after_tag.
Send route, 1 operation
send_routesSend routesPOSTSends one date's routes to the drivers' mobile app and, unless sendNotifications is false, the customer notifications (real emails or texts to customers). Sending is queued: confirm it with get_dispatch_status.
Start planning, 1 operation
start_planningStart planningPOSTStarts route optimization for one date or a date range and returns its planningId at once; follow it with get_planning_status. By default (startWith EMPTY) it ignores the date's current routes and plans from scratch.
Stop planning, 1 operation
stop_planningStop planningPOSTStops a running route optimization, identified by the planningId start_planning returned.
Update completion detail, 1 operation
update_completion_detailsUpdate completion detailsPOSTSets the completion status (and service start and end times) of up to 500 orders, as the driver app would, for example marking an order success, failed or cancelled.
Update driver parameter, 1 operation
update_driver_parametersUpdate driver parametersPOSTChanges one driver's settings for one date (enabled, work hours, vehicle, load capacities) and their start and end locations. Existing routes of that driver and date are unscheduled.
Update drivers parameter, 1 operation
update_drivers_parametersUpdate drivers parametersPOSTChanges the settings of several drivers for given dates (enabled, work time, vehicle, capacities, start and end locations), up to 500 updates. Their existing routes for those dates are unscheduled.
Update drivers position, 1 operation
update_drivers_positionsUpdate drivers positionsPOSTRecords GPS positions of several drivers at given timestamps: one object per driver, up to 100 positions each.
Use OptimoRoute from Claude Code, Cursor or Codex
Connect OptimoRoute in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its OptimoRoute operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect OptimoRoute
- Create your workspace
Sign up free. Nothing to install.
- Connect OptimoRoute once
Add your OptimoRoute connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
OptimoRoute integration FAQ
What can you do with the OptimoRoute integration?
LiveContext exposes 19 operations on OptimoRoute, covering delete order, create or update order, create order and get completion detail.
