Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Leads, projects, dispatch and invoices in your Supermove, worked by your agent. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
9 tools Read and write
Supermove has no MCP server, and its Developer API has four endpoints that all bring data in: new leads, website leads, surveys and project field updates (checked 28 Oct 2026). None reads a project, the Dispatch tab or an invoice. Cotlet runs 9 Supermove tools hosted, over MCP for agents and REST for scripts, in your own Office App login.
| What you need | Developer API | Automation webhooks | Cotlet |
|---|---|---|---|
| Send a new lead in | Yes | No | No, use the API |
| List leads and projects | No | One project per trigger | Yes |
| Read tomorrow's Dispatch tab | No | No | Yes |
| Assign trucks and crew | No | No | Yes, after your OK |
| Mark a job complete | No | No | Yes, after your OK |
| Read a project's invoices | No | No | Yes |
| What you build or host | A sender | An endpoint that logs | Nothing |
Checked 28 Oct 2026. Sources: Supermove Help: Developer API New Lead Endpoint · Supermove Help: Developer API Update Project Endpoint · Supermove Help: Custom Outbound Integration Overview · Supermove Help: Outbound Integrations, Commonly Asked Questions
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
Ask your agent or send an HTTP request.
We never keep your Supermove password, and no truck, crew or completion change goes in until you approve it. Who can see your session
Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.
Log in to the Office App once. Create a Cotlet account, open Supermove in its Cloud Browser, log in as a dispatcher or admin and press Enable for agents.
Add the Cotlet address. Put https://cotlet.dev/mcp/v1 in the list of MCP servers or connectors of your agent.
Allow the agent in. Chat apps show a Cotlet sign-in page. Code editors, n8n and scripts take an API key from the console.
Supermove sits on https://cotlet.dev/mcp/v1 together with every other app you enable on Cotlet. Enabled Supermove after the agent connected? Refresh the connector to load the new tools.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-supermove \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-supermove": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-supermove]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: supermove_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: supermove_write Create a Cotlet API key with access to Supermove and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect Supermove in Cotlet and enable it for agents. Account access: Your own Supermove Office App login. What your agent can do follows your role in your company. You sign in in your own browser and keep any 2-step verification.
curl https://cotlet.dev/api/v1/supermove/leads \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"status": "success",
"app": "supermove",
"tool": "list_leads",
"result": {
"leads": [
{
"lead_id": "lead_5cd1",
"customer": "Dana Whitfield",
"source": "Website form",
"project_id": null,
"created_at": "2026-10-27T18:42:00Z"
},
{
"lead_id": "lead_5cd0",
"customer": "Omar Haddad",
"source": "Lead provider",
"project_id": "prj_9a41",
"created_at": "2026-10-27T15:10:00Z"
}
],
"next_cursor": null
}
} Returns each lead with its customer name, source and the project it became, if any. Leads come from every provider you set up, such as a website form.
The tool only reads: it sends nothing to the customer.
cursor: Next page cursor from the previous call.
Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Lists the jobs of one day as the Dispatch tab shows them. Use list_dispatch_jobs in your configured business report. |
| Make | HTTP > Make a request | Lists the crew members and trucks free on a given date. Use list_available_crew in your configured business report. |
| Python or Node.js | REST API | Lists the invoices of one project. Use list_invoices in your configured business report. |
Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.
Cotlet reads Supermove; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.
Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.
The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.
One day per call, as the Dispatch tab shows it. A truck already on another job that day is refused. The crew learn of an assignment in the Crew App, so both writes ask first.
Returns the jobs of that day with their assigned trucks and crew. Jobs that still need dispatch are the ones on the Unassigned tab. Each job carries its dispatch_done flag.
MCP callsupermove_read → list_dispatch_jobs
REST endpointGET https://cotlet.dev/api/v1/supermove/dispatch-jobs
| Name | Type | Description |
|---|---|---|
| date string required | string | Day as YYYY-MM-DD. |
| unassigned_only boolean | boolean | Only jobs on the Unassigned tab. |
| cursor string | string | Next page cursor from the previous call. |
{
"date": "date"
} {
"date": "2026-10-29",
"jobs": [
{
"job_id": "job_77b3",
"project_id": "prj_9a52",
"customer": "Lopez Dental",
"trucks": [],
"crew": [],
"dispatch_done": false
},
{
"job_id": "job_77b8",
"project_id": "prj_9a58",
"customer": "Garcia family",
"trucks": [
"Truck 2"
],
"crew": [
"Ben R. (Driver)",
"Kim T. (Mover)"
],
"dispatch_done": true
}
],
"next_cursor": null
} Returns the crew members the job popup offers for that date and the truck slots without a job. Use the IDs with assign_crew and assign_trucks.
MCP callsupermove_read → list_available_crew
REST endpointGET https://cotlet.dev/api/v1/supermove/available-crews
| Name | Type | Description |
|---|---|---|
| date string required | string | Day as YYYY-MM-DD. |
{
"date": "date"
} {
"date": "2026-10-29",
"crew": [
{
"member_id": "mem_21",
"name": "Ben R."
},
{
"member_id": "mem_24",
"name": "Kim T."
},
{
"member_id": "mem_30",
"name": "Luis P."
}
],
"trucks": [
{
"truck_id": "trk_2",
"name": "Truck 2"
},
{
"truck_id": "trk_4",
"name": "Truck 4"
}
]
} Returns the job with its trucks after the change. A truck already on another job that day is refused, and the error names the other job. The assignment changes the crew's day, so it waits for your OK. By default you confirm each call; you can switch that off for this tool.
MCP callsupermove_write → assign_trucks
REST endpointPOST https://cotlet.dev/api/v1/supermove/jobs/{job_id}/trucks/assign
| Name | Type | Description |
|---|---|---|
| job_id string required | string | Job ID from get_project or list_dispatch_jobs. |
| truck_ids array required | array | Truck IDs from list_available_crew. More than one is allowed. |
{
"job_id": "job_77b3",
"truck_ids": [
"trk_2"
]
} {
"job_id": "job_77b3",
"trucks": [
"Truck 2"
],
"dispatch_done": false
} Returns the job with its crew after the change. Only crew available that date can be chosen. The crew works to this list, so it waits for your OK. By default you confirm each call; you can switch that off for this tool.
MCP callsupermove_write → assign_crew
REST endpointPOST https://cotlet.dev/api/v1/supermove/jobs/{job_id}/crew/assign
| Name | Type | Description |
|---|---|---|
| job_id string required | string | Job ID from get_project or list_dispatch_jobs. |
| members array required | array | Objects with member_id from list_available_crew and position, for example Driver or Mover. |
{
"job_id": "job_8c41d2",
"members": "members"
} {
"job_id": "job_77b3",
"crew": [
"Ben R. (Driver)",
"Kim T. (Mover)"
],
"dispatch_done": true
} Completing the last job turns the project Completed and opens Send Invoice. The tool does not send the invoice.
Returns the project ID, customer, status as Supermove shows it and the job dates. Use the project ID with get_project. The Project status turns to Completed once every job on it is marked complete.
MCP callsupermove_read → list_projects
REST endpointGET https://cotlet.dev/api/v1/supermove/projects
| Name | Type | Description |
|---|---|---|
| query string | string | Customer name or project name to search for. |
| cursor string | string | Next page cursor from the previous call. |
{
"projects": [
{
"project_id": "prj_9a41",
"name": "Haddad household move",
"customer": "Omar Haddad",
"status": "Completed",
"job_dates": [
"2026-10-27"
]
},
{
"project_id": "prj_9a52",
"name": "Lopez office move",
"customer": "Lopez Dental",
"status": "Booked",
"job_dates": [
"2026-10-29"
]
}
],
"next_cursor": null
} Returns the customer, the jobs with their date and assigned trucks and crew, and the invoices. Supermove marks a job Dispatch Done when the confirmation is signed and the needed trucks and crew are assigned; the response says which of the three is missing.
MCP callsupermove_read → get_project
REST endpointGET https://cotlet.dev/api/v1/supermove/projects/{project_id}
| Name | Type | Description |
|---|---|---|
| project_id string required | string | Project ID from list_projects. |
{
"project_id": "project_8c41d2"
} {
"project_id": "prj_9a52",
"name": "Lopez office move",
"customer": "Lopez Dental",
"jobs": [
{
"job_id": "job_77b3",
"date": "2026-10-29",
"trucks": [],
"crew": [],
"confirmation_signed": true,
"dispatch_done": false
}
],
"invoices": []
} Returns the job and the project status. When every job on the project is complete, the project becomes Completed and Supermove makes Send Invoice available. The tool does not send the invoice or take a payment. A completed job is worked on by billing next, so it waits for your OK. By default you confirm each call; you can switch that off for this tool.
MCP callsupermove_write → mark_job_complete
REST endpointPOST https://cotlet.dev/api/v1/supermove/projects/{project_id}/jobs/{job_id}/complete/mark
| Name | Type | Description |
|---|---|---|
| project_id string required | string | Project ID from list_projects. |
| job_id string required | string | Job ID from get_project or list_dispatch_jobs. |
{
"project_id": "project_8c41d2",
"job_id": "job_8c41d2"
} {
"project_id": "prj_9a41",
"job_id": "job_6f20",
"job_status": "Completed",
"project_status": "Completed"
} Read only. Leads from every provider you set up. Invoices need a role that sees Accounting: Admin or Operations Admin.
Returns each lead with its customer name, source and the project it became, if any. Leads come from every provider you set up, such as a website form. The tool only reads: it sends nothing to the customer.
MCP callsupermove_read → list_leads
REST endpointGET https://cotlet.dev/api/v1/supermove/leads
| Name | Type | Description |
|---|---|---|
| query string | string | Customer name, phone or email to search for. |
| cursor string | string | Next page cursor from the previous call. |
{
"leads": [
{
"lead_id": "lead_5cd1",
"customer": "Dana Whitfield",
"source": "Website form",
"project_id": null,
"created_at": "2026-10-27T18:42:00Z"
},
{
"lead_id": "lead_5cd0",
"customer": "Omar Haddad",
"source": "Lead provider",
"project_id": "prj_9a41",
"created_at": "2026-10-27T15:10:00Z"
}
],
"next_cursor": null
} Returns each invoice with its number and total as the Project page shows them. Every project begins with one primary invoice. The tool only reads: it sends and records nothing.
MCP callsupermove_read → list_invoices
REST endpointGET https://cotlet.dev/api/v1/supermove/projects/{project_id}/invoices
| Name | Type | Description |
|---|---|---|
| project_id string required | string | Project ID from list_projects. |
{
"project_id": "project_8c41d2"
} {
"project_id": "prj_9a41",
"invoices": [
{
"invoice_id": "inv_3301",
"number": "INV-3301",
"total": "1840.00",
"currency": "USD",
"primary": true
}
]
} Your logged-in Office App profile, AES-256-GCM, in Finland. Not the password.
The 9 Supermove tools. No cookie, no lead provider URL.
What your Supermove role sees: projects, dispatch, crews, and Accounting for admins.
Payments, card charges, storage autopay, payroll and tips.
You type it in the Cloud Browser yourself. We never enter it.
Disable for agents, reset the browser, or deactivate the login in View/Edit Staff.
Supermove has four roles. A Manager login sees dispatch and projects but not Accounting, so list_invoices fails on it; a Salesperson login sees only its own jobs. Pick the narrowest role that covers your jobs. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). We have no SOC 2 report or third-party pentest yet.
"(vii) interfere or attempt to interfere with the proper working of the Service or any activities conducted on the Service; or (viii) bypass any measures Supermove may use to prevent or restrict access to the Service"
We found no clause on bots, scripts or scraping in the Enterprise Terms or the privacy policies (checked 28 Oct 2026). Section 9 lets Supermove suspend an account that is 60 days past due or whose use is "reasonably likely to result in" damage to the Service; any other breach gets 30 days to cure after written notice. A few calls a day in your own login fit inside that, though Supermove could still object. We found no public case of a moving company cut off for automation.
Your dispatchers work in the same Office App. Run big jobs, such as a weekly invoice pass over 25 projects, outside your busy office hours.
Supermove posts a newsletter of Office App changes in its help center most months. When the Dispatch tab or a job popup moves, the repair happens on our side and your evening dispatch run keeps the same prompt. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Assign a truck | Change it on the job; a crew member may already have seen it |
| Assign crew | Remove them on the job; the Crew App may already have asked them to accept |
| Mark a job complete | Not documented in the help center; your Job Completed automations may already have run |
| List or read anything | Nothing changes |
All 3 write tools ask first: assign_trucks, assign_crew and mark_job_complete. Six reads run at once. For a nightly dispatch run you can turn the wait off per tool once you trust it.
Check your automations before you let the agent complete jobs: a Job Completed or Project Completed trigger can email the customer or send a webhook the moment the job closes.
{
"name": "assign_trucks",
"arguments": {
"job_id": "job_77b3",
"truck_ids": [
"trk_2"
]
}
} curl -X POST https://cotlet.dev/api/v1/supermove/jobs/job_77b3/trucks/assign \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"truck_ids":["trk_2"]}' {
"job_id": "job_77b3",
"trucks": [
"Truck 2"
],
"dispatch_done": false
} Scripts reach the same tools over REST at /api/v1/supermove, with the same key and price, so a cron job can pull the Dispatch Not Done list before the trucks leave. A call your role cannot make fails and costs nothing. The tools table lists the REST path of each tool.
About $40 a monthfor a 6-truck company doing about 4 moves a day, 6,960 credits. Your Supermove contract stays with Supermove.
| Job | Calls | Credits |
|---|---|---|
| Staff tomorrow's 4 moves | 10 × 26 | 2,600 |
| Morning check of Dispatch Not Done | 2 × 26 | 520 |
| Complete a job the crew left open | 3 × 26 | 780 |
| New leads with no project yet | 2 × 26 | 520 |
| Weekly invoice check, 25 projects | 26 × 4 | 1,040 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 6,960 |
The month is our example: Supermove's customer stories show fleets of 3 to 15 trucks, and we took 6 trucks over 26 working days. Staffing is most of the bill, one call per truck and one per crew list; a slow week costs less. Supermove publishes no prices, so its fee is not in the table. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| GitHub | No Supermove MCP server or CLI found. | api-evangelist/supermove is a README profile of the public surface, 0 stars, no code. |
| Automation webhooks to Zapier or your endpoint | Push a project payload when a trigger fires, such as Project Completed. | One way, one project at a time, no log on Supermove's side, no writes back. |
| Developer API: Update Project | Changes names, notes, contacts, tags and job start times by project UUID. | No trucks, crew or job status, and Supermove says its changes "can't be rolled back". |
| MattyMailers/smartmoving-mcp | MCP server on the SmartMoving External API, MIT, 4 stars, last commit 20 Jun 2026. | For SmartMoving, a rival platform: you would move your company off Supermove. |
| Supermove AI Copilot and Voice Agents | Supermove's own AI for calls and sales follow-up. | Inside Supermove only; your agent cannot call it. |
If you only need new leads in, the Developer API is free and official. If you need a copy of finished projects in your own system, an automation webhook does it. Cotlet is for an agent that reads the Dispatch tab and staffs, completes and checks jobs without a developer.
Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273), in business since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Send questions about the Supermove tools to contact@cotlet.dev.
Create a free account at https://cotlet.dev, open Supermove under Integrations in the console and log in to the Office App in its Cloud Browser. The trial starts with your first app and asks for no card.
Sign up at cotlet.dev, log in to Supermove once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Supermove account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Supermove: dispatch unassigned moving jobs; check which jobs are not dispatch done; complete finished jobs. You ask in plain words, and anything that reaches other people waits for your OK first.
No. The tools read invoices and mark jobs complete, nothing more. Supermove has its own payment screens, such as Record Payment on the invoice tab of a project, and they stay in the Office App.
Supermove documents endpoints that send in leads and surveys and update a project, on a URL unique to your company (checked 28 Oct 2026). It documents no endpoint that lists projects, jobs or invoices. Automations can send a webhook out when something changes.
No tool sends an SMS. Your Supermove settings decide what the crew sees: with crew accept and decline on, an assignment shows up in the Crew App for them to accept, and the job turns Dispatch Done once everyone accepts.
Admin or Operations Admin if you want list_invoices; both see Accounting. A Manager login runs every other tool. A Salesperson login sees only its own jobs and is too narrow for dispatch.
Only the way in differs. Both carry the same 9 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts, cron jobs and HTTP steps use REST.
No. Cotlet is independent and not affiliated with Supermove, Inc.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy