MotionTools integration
MotionTools runs fleet-based delivery and mobility businesses. Create and manage bookings with pickup, dropoff and task stops, dispatch stops into tours, prefer or force-assign drivers, set tour compensation, create, label and track packages and package tours, manage customers, drivers, organizations, places, zones and working hours, optimize routes, add notes and share reports. Write tools act on real drivers and customers. Left out: sign-up and sessions, the signed-in user's own app settings, saved cards and Stripe pre-authorizations, payment-method settings, tenant configuration (services, capabilities, proofs, failure reasons, driver app), drivers' identity documents and driver-only actions. Authentication: an API token created in the Web Dashboard (Create an API key), sent as a Bearer token; it acts with its owner's role (admin or customer).
Say what should happen.
The workflow builds itself.
What you can do with MotionTools
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.
Metadata, 14 operations
merge_booking_metadataMerge booking metadataPATCHUpdate the given booking's metadata for the given keys, preserving any metadata keys that were not sent. Roles: admin, customer.merge_package_metadataMerge package metadataPATCHUpdate the given package's metadata for the given keys, preserving any metadata keys that were not sent. Roles: admin, customer.merge_place_metadataMerge place metadataPATCHUpdate the given place's metadata for the given keys, preserving any metadata keys that were not sent. Roles: admin, customer.merge_service_area_metadataMerge service area metadataPATCHUpdate the given service area's metadata for the given keys, preserving any metadata keys that were not sent. Roles: admin.merge_stop_metadataMerge stop metadataPATCHUpdate the given stop's metadata for the given keys, preserving any metadata keys that were not sent. If the updated stop has a parent it was dispatched from, the parent will be updated as well. Roles: admin, customer.merge_user_metadataMerge user metadataPATCHUpdate the given user's metadata for the given keys, preserving any metadata keys that were not sent. Roles: admin, org_manager.merge_zone_metadataMerge zone metadataPATCHUpdate the given zone's metadata for the given keys, preserving any metadata keys that were not sent. Roles: admin.replace_booking_metadataReplace booking metadataPUTSet booking's metadata, replacing any existing metadata on the booking. Roles: admin, customer.replace_package_metadataReplace package metadataPUTSet package's metadata, replacing any existing metadata on the package. Roles: admin, customer.replace_place_metadataReplace place metadataPUTUpdate the given place's metadata, replacing any existing metadata on the place. Roles: admin, customer.replace_service_area_metadataReplace service area metadataPUTSet or change service area's metadata, replacing any existing metadata on the service area. Roles: admin.replace_stop_metadataReplace stop metadataPUTUpdates given stop's metadata, replacing any existing metadata on the booking. If the updated stop has a parent it was dispatched from, the parent will be updated as well. Roles: admin, customer.replace_user_metadataReplace user metadataPUTUpdate the given user's metadata, replacing any existing metadata on the user. Roles: admin, org_manager.replace_zone_metadataReplace zone metadataPUTSet or change zone's metadata, replacing any existing metadata on the zone. Roles: admin.
Package, 5 operations
add_packages_to_tourAdd packages to tourPOSTDispatches packages into an existing tour for delivery from their current location to a hub or their destination, with the pickup and dropoff stop placement. Roles: admin.create_packageCreate packagePOSTCreates a package delivery request (pickup place or location, destination, pickup time, properties); omitted requested_properties take the smallest value. It can incur a price. Roles: admin, customer.get_packageGet packageGETReturns one package: state, pickup and destination, requested properties, available transitions, customs data and metadata. Includes contact details (personal data). Roles: admin, customer.list_packagesList packagesGETLists packages with state, pickup, destination and properties. Filter with filters (ids, pickup date, delivery time...), search text, order_by; page with page and limit. Includes contact details. Roles: admin, customer.remove_packages_from_tourRemove packages from tourDELETERemoves packages from a tour; the tour's stops must still have unresolved interactions for those packages. Roles: admin.
User, 5 operations
anonymize_userAnonymize userDELETEIrreversibly anonymizes a user (email and stops' locations) and deletes them from Stripe. Runs asynchronously; it can fail, for example for a driver on an ongoing booking. Roles: admin, org_manager.create_userCreate userPOSTCreates a customer account directly (B2B, call-center orders) with email and role; deliver_welcome_email decides whether MotionTools emails the customer. Roles: admin.get_current_userGet current userGETReturns the MotionTools account the API token belongs to: id, email, role, status, organization and managed organizations. Use it to check which role the token acts as.get_userGet userGETReturns one user account: name, email, phone, role, organization, status flags and metadata. Personal data. Roles: admin, customer, driver, org_manager.list_usersList usersGETLists user accounts (customers, drivers, admins, org managers) with name, email, phone, role and status. Filter by role, organization, service area or ids; search text. Personal data. Roles: admin, org_manager.
Booking, 4 operations
create_bookingCreate bookingPOSTCreates a booking (an order with pickup, dropoff or task stops) that MotionTools dispatches to drivers; it can incur a price for the customer. stops is required. An admin may book for a customer with customer_id. Roles: admin, customer.get_bookingGet bookingGETReturns one booking or tour: status, available_transitions, stops with addresses, contacts and proofs, customer, driver, vehicle, price and events. Contact details are personal data. Roles: admin, customer, org_manager.list_bookingsList bookingsGETLists bookings and tours with status, schedule, stops, customer, driver and price. Filter with filters (date, status, customer, ids...), search text, order_by; page with page and limit. Includes contact details (personal data).reschedule_bookingReschedule bookingPATCHChanges a booking's scheduled_at (the only field this update takes). Check the booking's editable flag first: not every booking can be updated after creation. Roles: admin, customer.
Organization, 4 operations
change_driver_organizationChange driver organizationPUTMoves a driver to another organization. The organization must be visible to the acting user: an org manager must manage it.create_organizationCreate organizationPOSTCreates an organization (name, email, legal_entity_type, business_tax_id, metadata). Roles: admin.get_organizationGet organizationGETReturns one organization: name, email, legal entity type, tax id and metadata. Roles: admin, org_manager.list_organizationsList organizationsGETLists the organizations visible to the token's user (name, email, legal entity type, tax id, metadata). Search by text; page with page and limit. Roles: admin.
Place, 4 operations
archive_placeArchive placeDELETEArchives a place. Refused when it has an active Shopify connection, pending packages, or is a customs arrival hub of a service area. Roles: admin, customer.create_placeCreate placePOSTCreates a place (a saved location: address, coordinates, contact, optional hub flag for admins). name, lat and lng are always required. Roles: admin, customer.get_placeGet placeGETResponds with referenced place. Roles: admin, customer, driver.list_placesList placesGETReturns a list of all places visible to the user. By default only places that were not `automatically_created` are shown. Roles: admin, customer, driver.
Preferred driver, 3 operations
list_booking_preferred_driversList booking preferred driversGETReturns the list of preferred drivers for the booking. Roles: admin, org_manager.list_tour_preferred_driversList tour preferred driversGETReturns the tour's preferred drivers (only they see the tour in their pickable / claimable lists). Roles: admin, org_manager.set_booking_preferred_driversSet booking preferred driversPUTReplaces the booking's preferred drivers: only they will see it in their pickable / claimable lists, and the set carries over into a tour the stops are dispatched into. Roles: admin, org_manager.
Report, 3 operations
create_reportCreate reportPOSTCreates a report (a PDF or CSV file plus metadata) shared with the audiences in grants; with notify_by_email true the audience is EMAILED. Send content_base64 now, or later with complete_report. Roles: admin.get_reportGet reportGETFetches a single report by ID, including its description and failure reason. Admin viewers additionally receive the resolved visibility `grants`. Roles: admin, customer, driver, org_manager.list_reportsList reportsGETLists the reports visible to the token's user (exports included), newest first: title, status (creating, ready, failed), tags, expiry. Filter by tags, status or ids; search the title. Roles: admin, customer, driver, org_manager.
Working hour, 3 operations
create_working_hoursCreate working hoursPOSTAllows the creation of a working hours definition for resources that support them. Currently, this only applies to Places. Roles: admin, customer.delete_working_hoursDelete working hoursDELETERemoves the given working hours definitions, leaving the attached workable object without attached working hours again. Roles: admin, customer.get_working_hoursGet working hoursGETDisplays the stored data for the requested working hours resource. Roles: admin, customer.
Zone, 3 operations
create_zoneCreate zonePOSTAn endpoint for creating a new zone by providing its name, color, shape and whether it's visible to the customer or not. Roles: admin.get_zoneGet zoneGETFetch a zone for a given ID. Note that full zone, with shape's GeoJson, will be returned on this endpoint. Roles: admin.list_zonesList zonesGETReturns a list of all zones for this tenant. For customers only zones marked as visible that are not archived will be returned. Roles: admin, customer.
Assigned service area, 2 operations
assign_driver_to_service_areaAssign driver to service areaPOSTAssigns a driver to the given service area. A driver can be assigned to many service areas. If the driver has assigned service areas, they will only be able to accept tours from these service areas. Roles: admin.list_driver_service_areasList driver service areasGETLists service areas assigned to the driver. If the driver has assigned service areas, they will only be able to accept tours from these service areas. Roles: admin.
Automatic plan, 2 operations
get_package_dropoff_tours_planGet package dropoff tours planGETThis endpoint returns previously automatically created package dropoff tours for the provided job ID (see autplan endpoint). Roles: admin.plan_package_dropoff_toursPlan package dropoff toursPOSTThis endpoint performs automated creation of package dropoff tours for a specified hub asynchronously. Roles: admin.
Config, 2 operations
get_booking_configGet booking configGETReturns the booking configuration for given stops, customer and service: what the booking form must offer (capabilities, scheduling, payment options).get_packages_configGet packages configGETReturns the package configuration for a pickup place or location, destination and customer, per service area. Roles: admin, customer, driver, org_manager.
Estimate, 2 operations
estimate_bookings_arrivalsEstimate bookings arrivalsPOSTReturns the estimated arrival time of each stop for several bookings at once; pass their ids. Roles: admin, customer, org_manager.get_booking_arrival_estimatesGet booking arrival estimatesGETReturns the estimated arrival time of each stop of one booking or tour (route_estimates).
Export, 2 operations
export_bookingsExport bookingsPOSTStarts a CSV export of bookings or tours (same filters and search as list_bookings) and returns report_id; follow it with get_report and fetch the file with download_report. One request per minute. Roles: admin, customer, org_manager.export_packagesExport packagesPOSTYou can request a CSV export of package data using this endpoint. The CSV export request can utilize filtering and search query parameters that match those of the regular list endpoint. Roles: admin, customer.
Fail, 2 operations
fail_reportFail reportPOSTMarks a pending report as failed when its generation could not complete. Pass an optional `reason` (up to 250 characters) to record why generation failed; it is surfaced to viewers as the report's failure message. Roles: admin.fail_stopFail stopPOSTFails a stop with a failure reason and a recovery outcome (for example a return stop). Valid reasons come from list_stop_failure_reasons. Roles: admin, driver, org_manager.
Note, 2 operations
create_noteCreate notePOSTAdds a note to a booking, tour or other record, visible to the roles you list in visibility_roles. Returns the note with its id. Roles: admin, customer, driver, org_manager.list_notesList notesGETReturns the notes on one record, newest first, each with its author and visibility. Page with page and limit. Roles: admin, customer, driver, org_manager.
Online restriction, 2 operations
list_online_restriction_reasonsList online restriction reasonsGETReturns the reasons available when restricting a driver from going online.restrict_driverRestrict driverPOSTRestricts a driver from going online, with a reason from list_online_restriction_reasons and an optional note (required by some reasons, up to 250 characters). Roles: admin, org_manager.
Order, 2 operations
reorder_booking_stopsReorder booking stopsPUTUpdate the order of the booking's stops. The stops must be either in `approaching` or `scheduled` state. In case the operation is done by the customer, the booking has to be in the `to_be_dispatched` state. Roles: admin, customer, org_manager.reorder_tour_stopsReorder tour stopsPUTUpdate the order of tour's stops. The stops must be either in `approaching` or `scheduled` state. Roles: admin, driver, org_manager.
Organization service area link, 2 operations
link_organization_service_areaLink organization service areaPOSTCreate a new link between organization and service area. Roles: admin.list_organization_service_area_linksList organization service area linksGETReturns the list of linked organizations and service areas for the tenant. In order to fetch the links per organization or per service area, you can use the appropriate `filters` query parameter. Roles: admin.
Price, 2 operations
get_booking_priceGet booking priceGETReturns the price of a prospective booking for given stops, capabilities, service and optional voucher, as integers in the smallest currency unit with their components. Nothing is booked. Roles: admin, customer, driver, org_manager.get_package_priceGet package priceGETReturns the price of a prospective package for a pickup place or location, destination and requested properties, as integers in the smallest currency unit. Nothing is created. Roles: admin, customer.
Remove, 2 operations
remove_booking_stopsRemove booking stopsPUTRemove `approaching` or `scheduled` stops from a booking. Roles: admin, customer, org_manager.remove_tour_stopsRemove tour stopsPUTRemove `approaching` or `scheduled` stops from a tour. Roles: admin, org_manager.
Stop, 2 operations
insert_booking_stopInsert booking stopPOSTAdd a new, custom stop into an existing regular booking. The stop can't be inserted before a stop that is not in either `approaching` or `scheduled` state. Roles: admin, customer, org_manager.insert_tour_stopInsert tour stopPOSTAdd a new, custom stop into an existing tour. The stop can't be inserted before a stop that is not in either `approaching` or `scheduled` state. Roles: admin, customer, org_manager.
Async document, 1 operation
get_async_documentGet async documentGETReturns a generated document's download URL once it is ready (from create_package_label_sheet's async_document_id); answers 422 while it is still being generated. Ready documents are deleted after a while.
Available instruction, 1 operation
list_available_instructionsList available instructionsGETFetch the list of available stop instructions. The instruction represents a predefined template for the stop's content.
Base, 1 operation
delete_tour_base_earningsDelete tour base earningsDELETERemoves the base earnings line from a tour's compensation. The `total_amount` is recomputed accordingly; bonuses and tips are not affected. Roles: admin.
Block, 1 operation
block_userBlock userPOSTBlocks a user from accessing the platform. Check the user's blockable flag first.
Bonus, 1 operation
delete_tour_bonusDelete tour bonusDELETERemoves a single bonus identified by `key` from the tour's compensation. The `total_amount` is recomputed accordingly; other bonuses, base earnings, and tips are not affected. Roles: admin.
Capability, 1 operation
list_capabilitiesList capabilitiesGETLists the available capabilities and their corresponding available options and configuration for the current tenant required to be chosen to make a booking or go online as a driver.
Collect, 1 operation
collect_packageCollect packagePOSTMarks a package in ready_for_collection state as collected. Check its permissions.collectable flag first (get_package). Roles: admin, driver.
Compensation, 1 operation
get_tour_compensationGet tour compensationGETReturns a tour's compensation (the driver's payout): currency, the auto-computed total_amount and the breakdown of base earnings, bonuses and tips. Roles: admin, org_manager.
Complete, 1 operation
complete_reportComplete reportPOSTAttaches the file to a pending report and marks it ready. Supply the file with `content_base64` and `content_type`; the report then becomes downloadable via download_report. Roles: admin.
Deduplicate, 1 operation
deduplicate_tour_stopsDeduplicate tour stopsPOSTDeduplicate `scheduled` stops of a tour. The stops will be deduplicated based on their type and the destination or the place they have attached. Roles: admin, org_manager.
Default, 1 operation
get_organization_defaultsGet organization defaultsGETReturns the default values for a new organization's fields and the tenant's configuration hints for organization forms. Roles: admin.
Discount, 1 operation
list_user_discountsList user discountsGETLists a customer's discounts per service area (and per service for hailing_service discounts).
Download, 1 operation
download_reportDownload reportGETDownloads a ready report's file (PDF or CSV) and stores it. A report still creating or failed answers 404. Roles: admin, customer, driver, org_manager.
Driver contact detail, 1 operation
list_booking_driver_contactsList booking driver contactsGETThis endpoint allows fetching driver contact details for each stop of the booking. In case there's no driver for the booking's child stop or if the stop is not yet active, it will just return the stop's ID. Roles: admin, customer, org_manager.
Driver requests muted, 1 operation
mute_driver_requestsMute driver requestsPUTMutes new booking requests for a driver.
Dropoff, 1 operation
create_package_dropoff_tourCreate package dropoff tourPOSTThis endpoint allows the creation of a new package dropoff tour booking. Dropoff tour consists of an origin hub where a driver needs to pickup the packages and a list of stops where the packages need to be dropped off. Roles: admin.
Export csv, 1 operation
export_usersExport usersPOSTStarts a CSV export of users (same filters and search as list_users) and returns report_id; follow it with get_report and fetch the file with download_report. One request per minute. Roles: admin, org_manager.
Force assign, 1 operation
force_assign_driverForce assign driverPOSTPuts a specific driver on a tour directly, bypassing the pickable / claimable offering flow. The driver is notified of the work.
Force delivery, 1 operation
force_deliver_packageForce deliver packagePOSTMark a package as delivered from `at_hub` or `failed` status. Whether package can be force-delivered or not is indicated via `force_deliverable` flag. Roles: admin, driver.
Force end, 1 operation
force_end_bookingForce end bookingPOSTForce-ends a booking or tour. Check the booking's permissions.force_end flag first (get_booking). Roles: admin, org_manager.
Fork, 1 operation
fork_placeFork placePOSTCreates a new version of a place with changed data and archives the old one, so existing stops and packages keep the old data. Returns the new place. Roles: admin, customer.
Insert, 1 operation
move_stops_into_tourMove stops into tourPOSTDispatches customer booking stops into an existing tour at a position, or moves already dispatched stops between tours. Roles: admin, org_manager.
Invite, 1 operation
invite_usersInvite usersPOSTCreates accounts for non-customer users (drivers, admins, org managers) and SENDS each an invitation email. At most 50 invitations per call. Roles: admin, org_manager.
Job, 1 operation
get_route_optimizationGet route optimizationGETReturns the optimized route for an optimization submitted through submit_route_optimization. Roles: admin, org_manager.
Journey, 1 operation
get_package_journeyGet package journeyGETThis endpoint returns all Interactions of a package in a chronological order (aka the journey). Roles: admin, customer.
Label, 1 operation
create_package_label_sheetCreate package label sheetPOSTStarts generating an A4 sheet of labels for several packages (layout by variant) and returns async_document_id; read the PDF's URL with get_async_document once ready. Roles: admin, customer.
Label pdf, 1 operation
get_package_labelGet package labelGETReturns the URL of the package's printable PDF label. A delivered package's label is deleted and answers 404. Roles: admin, customer.
Managing organization, 1 operation
set_booking_managing_organizationsSet booking managing organizationsPUTReplaces the booking's managing organizations (they decide which organizations see it and whose drivers can be preferred). Send the full list of organization ids. Roles: admin.
Merge, 1 operation
create_tour_from_stopsCreate tour from stopsPOSTDispatches stops from one or more bookings into a NEW tour and returns it; a booking may be dispatched partially. Drivers can then pick up the tour. Roles: admin, org_manager.
Online status, 1 operation
send_driver_offlineSend driver offlineDELETESets a driver offline. Roles: admin, org_manager.
Package failure, 1 operation
list_package_failure_reasonsList package failure reasonsGETReturns the tenant-configurable failure reasons used for package interactions (e.g. pickup failure, delivery failure).
Pickup, 1 operation
create_package_pickup_tourCreate package pickup tourPOSTCreates a package pickup tour booking: a route collecting packages and bringing them to a destination hub. Roles: admin.
Property, 1 operation
list_package_propertiesList package propertiesGETList all (enabled/disabled) properties (ordered) and their options (ordered) for the current tenant. It only permits users of tenants with Packages enabled. Roles: admin, customer, driver, org_manager.
Ranked driver, 1 operation
list_tour_ranked_driversList tour ranked driversGETReturns a ranked list of drivers suitable for picking the given tour. This is the ranking the gradual rollout extension works through when it progressively prefers drivers for the tour. Roles: admin.
Recover, 1 operation
recover_packageRecover packagePOSTRecover a package that is in failed state. Whether package can be recovered or not is indicated via `permissions.recoverable` flag. Roles: admin, driver.
Relocate, 1 operation
relocate_packageRelocate packagePOSTRelocates a package in created, at_hub or ready_for_collection state from a place to a hub. Check its permissions.relocatable flag first (get_package). Roles: admin, driver.
Route estimate, 1 operation
estimate_routeEstimate routePOSTThis endpoint allows the calculation of estimated times of arrival and total distance for a given, arbitrary set of custom stop locations. Roles: admin, org_manager.
Route optimization, 1 operation
optimize_routeOptimize routePOSTThis endpoint allows optimization of a route based on both existing as well as on custom stops (stops that have not been actually created yet). Roles: admin, org_manager.
Schedule automatically at, 1 operation
set_booking_auto_schedule_timeSet booking auto schedule timePUTSets when a manually dispatched booking (status to_be_dispatched) is automatically made visible to drivers, as an ISO 8601 timestamp. Roles: admin, org_manager.
Scheduling config, 1 operation
get_scheduling_configGet scheduling configGETThis endpoint allows to fetch scheduling config for a service area that matches the given stops list. The provided config can be used to construct timeslots on the client. Roles: admin, customer, driver, org_manager.
Service, 1 operation
list_servicesList servicesGETThis endpoint allows inspecting all Services configured for the tenant. Clients must display offered services and their capabilities for new bookings according to the information provided by this endpoint.
Stats, 1 operation
get_tour_statsGet tour statsPOSTA batch endpoint to fetch statistics and estimates for the provided tours. Roles: admin, customer, org_manager.
Stop failure, 1 operation
list_stop_failure_reasonsList stop failure reasonsGETReturns the list of predefined reasons that can be selected when failing a booking stop. Each reason carries metadata describing which stop types it applies to and whether additional input (e.g. a free-text note) is required.
Time window, 1 operation
get_working_hours_time_windowGet working hours time windowGETGiven a ISO8601 timestamp, returns the time window when the requested working hours are open for it.
Tour, 1 operation
create_empty_tourCreate empty tourPOSTCreates an empty regular tour, to be filled later with move_stops_into_tour or add_packages_to_tour. Roles: admin.
Welcome, 1 operation
send_welcome_emailSend welcome emailPOSTSends the welcome email again to a customer whose email is not verified (only when the welcome email is enabled). Roles: admin.
Showing the first 120 of 154 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use MotionTools from Claude Code, Cursor or Codex
Connect MotionTools in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its MotionTools 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 MotionTools
- Create your workspace
Sign up free. Nothing to install.
- Connect MotionTools once
Add your MotionTools 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.
MotionTools integration FAQ
What can you do with the MotionTools integration?
LiveContext exposes 154 operations on MotionTools, covering metadata, package, user and booking.
