Integration

SmartRoutes integration

SmartRoutes is a delivery route planning and dispatch platform. Push orders and customers in, keep vehicles, capacities and order statuses in sync, run route optimisation into plans, dispatch routes and plans to drivers, check booking availability and zones, schedule customer notifications, and read back routes, order statuses, proof of delivery photos and signatures, and driver questionnaire responses. Webhook receivers are configured in the SmartRoutes depot settings, not through these tools. Authentication is an access key (SmartRoutes, Settings, Integrations, SmartRoutes Open API, Generate API Key) sent in the x-access-key header.

Ask it in chat

Say what should happen.
The workflow builds itself.

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

What you can do with SmartRoutes

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.

Order, 6 operations

  • get_orderGet orderGETFetch one order from your depot with all of its details. The response wraps the order in `order`.
  • list_ordersList ordersGETList the orders in your depot, most recently updated first.
  • optimise_plan_for_dateOptimise plan for datePOSTStarts a background route optimisation of the depot's orders for a date and returns optimisation.id and plan.id at once. Poll get_optimisation_job until in_progress is false, then read get_plan.
  • schedule_order_notificationsSchedule order notificationsPOSTSchedules one SMS or email per order and template pair (templates from list_notification_templates). SMS credits are deducted at scheduling; calling again schedules duplicates. Check errors even on success.
  • update_orderUpdate orderPUTChange some of the details of an existing order in your depot. Only the fields you send are changed. Everything else keeps its stored value.
  • upsert_ordersUpsert ordersPOSTCreate or update up to 100 orders in your depot in one request. Orders are matched on `order_number`. A new number creates an order.

Vehicle, 5 operations

  • create_vehicleCreate vehiclePOSTAdds a vehicle to your depot's fleet so it can be used when building plans. The new vehicle is returned under `vehicle`, in the same shape as `get_vehicle`.
  • delete_vehicleDelete vehicleDELETERemoves a vehicle from your depot's fleet. Afterwards, the vehicle is no longer returned by `list_vehicles` and can't be fetched or updated. Its capacities and skills are removed.
  • get_vehicleGet vehicleGETReturns one vehicle from your depot, nested under a `vehicle` key.
  • list_vehiclesList vehiclesGETReturns every vehicle in your depot under a `vehicles` array, inactive vehicles included. The list isn't paged and has no filters.
  • update_vehicleUpdate vehiclePUTUpdates one vehicle in your depot. This is a partial update: only the fields you send change. The same rules as `create_vehicle` apply to the fields you do send.

Customer, 4 operations

  • get_customerGet customerGETReturns one customer from your depot by its SmartRoutes `id`, nested under a `customer` key.
  • list_customersList customersGETLists the customers in your depot, most recently updated first.
  • update_customerUpdate customerPUTUpdates one customer in your depot. This is a partial update: only the fields you send change.
  • upsert_customersUpsert customersPOSTCreates or updates up to 100 customers in your depot in one request, matching on `account`.

Order status, 3 operations

  • add_order_statusAdd order statusPOSTAdd a status to your organisation's catalogue. The status becomes available to every depot in your organisation and appears in the SmartRoutes web app.
  • delete_order_statusDelete order statusDELETERemove a custom status from your organisation's catalogue. This only removes the status from your organisation's list.
  • list_order_statusesList order statusesGETEvery order status your organisation can use: the SmartRoutes defaults that every organisation has, plus any custom statuses your organisation has added.

Plan, 3 operations

  • delete_planDelete planDELETEPermanently delete a plan from your depot, along with every route and stop on it.
  • get_planGet planGETFetch a plan in your depot with its full routes and its `unserved` stops (the stops the optimiser could not fit on any route).
  • list_plansList plansGETPage through the plans in your depot, most recently updated first.

Route, 3 operations

  • get_routeGet routeGETFetch a single route in your depot with everything on it: the vehicle and driver, planned and actual times and distances, and its `stops` in visiting order.
  • list_routesList routesGETPage through the routes in your depot, most recently updated first.
  • update_routeUpdate routePUTUpdate a route based on ID. This is a partial update: send only the fields to change, and omitted fields are left as they are. `is_locked` is currently the only editable field.

Dispatch, 2 operations

  • dispatch_planDispatch planPOSTDispatches every undispatched route of a plan to its drivers: orders move to ROUTED, tracking portals and notifications are created. Not reversible, no undispatch tool; a repeat call answers 409 ALREADY_DISPATCHED.
  • dispatch_routeDispatch routePOSTDispatches one optimised route to its driver: orders move to ROUTED, tracking portals and notifications are created. Not reversible, no undispatch tool; a repeat call answers 409. Can take up to two minutes.

Add order, 1 operation

  • add_orders_to_routeAdd orders to routePOSTBulk-add existing unrouted orders to a single route, without re-running a full plan optimisation. The orders must already exist, this endpoint does not create them.

Attachment, 1 operation

  • add_order_attachmentAdd order attachmentPOSTUpload a single attachment file to the order. Only one file can be uploaded per request. Supported file types: pdf, png, jpg, jpeg. Maximum file size: 10MB.

Availability, 1 operation

  • check_booking_availabilityCheck booking availabilityPOSTChecks whether one more order could be fitted in on a given date before you accept the booking.

Capacity, 1 operation

  • list_capacitiesList capacitiesGETLists the capacity types (for example pallets, weight or volume) set up for the depot your API key belongs to.

Contain, 1 operation

  • find_zone_for_locationFind zone for locationPOSTFinds which zone of a zone group contains a location, for example to work out a delivery area before you create an order. Pass the zone group `id` in the path.

Custom field, 1 operation

  • list_custom_fieldsList custom fieldsGETLists the custom fields set up for the depot your API key belongs to.

Driver questionnaire image, 1 operation

  • get_driver_questionnaire_imageGet driver questionnaire imageGETReturns a driver questionnaire image (photo or signature) by its ID, as a stored file. The IDs come from the images arrays on get_driver_questionnaire_submission.

Driver questionnaire submission, 1 operation

  • get_driver_questionnaire_submissionGet driver questionnaire submissionGETRetrieve a driver questionnaire submission and its answers by submission ID.

Notification task, 1 operation

  • list_notification_tasksList notification tasksGETLists the SMS and email notifications scheduled for the depot your API key belongs to, with their recipient, rendered message, scheduled send time and status.

Optimise, 1 operation

  • get_optimisation_jobGet optimisation jobGETCheck whether an optimisation started with `optimise_plan_for_date` or `optimise_plan_for_order_ids` is still running.

Order number, 1 operation

  • delete_orders_by_order_numberDelete orders by order numberDELETEDelete an order from your depot using your own order number instead of the SmartRoutes `id`. The match is exact. URL-encode order numbers that contain characters such as `/`.

Orders for id, 1 operation

  • optimise_plan_for_order_idsOptimise plan for order idsPOSTStarts a background route optimisation of the given order ids and returns optimisation.id and plan.id at once. Poll get_optimisation_job until in_progress is false, then read get_plan.

Photo, 1 operation

  • get_proof_of_delivery_photoGet proof of delivery photoGETReturns a compressed proof-of-delivery photo by its ID, as a stored file. Photo URLs (with their ID at the end) appear on order and route stops.

Remove order, 1 operation

  • remove_orders_from_routeRemove orders from routePOSTBulk-remove orders from a single route. The orders drop back to unrouted (their status returns to `OPEN`); they are not moved to another route.

Reverse, 1 operation

  • reverse_routeReverse routePOSTReverse the order in which a route visits its stops, for example when the driver would rather run the route from the far end.

Signature, 1 operation

  • get_proof_of_delivery_signatureGet proof of delivery signatureGETReturns a proof-of-delivery signature image by its ID, as a stored file. Signature URLs (with their ID at the end) appear on order and route stops.

Template, 1 operation

  • list_notification_templatesList notification templatesGETLists the SMS and email notification templates set up for the depot your API key belongs to.

Third party, 1 operation

  • list_third_partiesList third partiesGETLists the third parties, such as subcontracted carriers, that orders can be assigned to.

Zone group, 1 operation

  • list_zone_groupsList zone groupsGETLists the zone groups set up for the depot your API key belongs to. A zone group is a named set of geographic zones.

Use SmartRoutes from Claude Code, Cursor or Codex

Connect SmartRoutes in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its SmartRoutes 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 SmartRoutes

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect SmartRoutes once

    Add your SmartRoutes 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.

SmartRoutes integration FAQ

What can you do with the SmartRoutes integration?

LiveContext exposes 45 operations on SmartRoutes, covering order, vehicle, customer and order status.

Popular integrations

Browse the whole catalog