Integration

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.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in OptimoRoute.Built from the 19 OptimoRoute tools below, on the connection you add once.

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 Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect OptimoRoute

  1. Create your workspace

    Sign up free. Nothing to install.

  2. 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.

  3. 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.

Popular integrations

Browse the whole catalog