Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Estimates, repair orders, customers and appointments in your AutoLeap shop. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
12 tools Read and write
AutoLeap has no MCP server, and its REST Partner API gives keys only to approved integration partners, not to shops on Essentials, Pro or Elite (checked 28 Oct 2026). Cotlet runs 12 AutoLeap tools hosted, over MCP for agents and REST for scripts, in your own AutoLeap login.
| What you need | Partner API | AutoLeap AIR | Cotlet |
|---|---|---|---|
| Read repair orders and customers | Yes, for partners | No | Yes |
| Read estimates and declined work | Not listed | No | Yes |
| Send an estimate for approval | Not listed | No | Yes, after your OK |
| Text a customer | Not listed | Not stated | Yes, after your OK |
| Book an appointment | Yes, for partners | Requests from calls | Yes, after your OK |
| Who can get it | Approved vendors | Shops, $99 a month | Any AutoLeap login |
Checked 28 Oct 2026. Sources: AutoLeap developer portal (Partner API, sign-in required) · API Evangelist: AutoLeap Partner API profile · AutoLeap: Integration partners · AutoLeap AIR
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 AutoLeap password, and no estimate, booking or text reaches a customer 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.
Sign in to AutoLeap once. Create a Cotlet account, open AutoLeap in its Cloud Browser, sign in with an Admin or Service Advisor login and press Enable for agents.
Add the Cotlet address. Put https://cotlet.dev/mcp/v1 in the MCP server or connector list of your agent.
Allow the connection. Chat apps send you to a Cotlet sign-in page. Code editors, n8n and scripts take an API key from the console.
AutoLeap rides on https://cotlet.dev/mcp/v1 together with the other apps on your Cotlet account. Enabled AutoLeap after you connected? Refresh the connector and its 12 tools appear.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-autoleap \
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-autoleap": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-autoleap]
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: autoleap_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: autoleap_write Create a Cotlet API key with access to AutoLeap and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect AutoLeap in Cotlet and enable it for agents. Account access: Your own AutoLeap login at app.myautoleap.com. What your agent can open follows the access your login has. You sign in in your own browser and keep any verification AutoLeap asks for.
curl https://cotlet.dev/api/v1/autoleap/repair-orders \
-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": "autoleap",
"tool": "list_repair_orders",
"result": {
"repair_orders": [
{
"ro_number": "10482",
"customer": "Tom Becker",
"vehicle": "2016 Ford F-150",
"technician": "Luis",
"status": "In progress",
"updated": "2026-10-28"
},
{
"ro_number": "10479",
"customer": "Priya Nair",
"vehicle": "2021 Toyota Camry",
"technician": "Sam",
"status": "Waiting for parts",
"updated": "2026-10-27"
}
],
"next_cursor": null
}
} Returns the most recently updated repair orders first, with the RO number, customer, vehicle, assigned technician and the status as the Work Board shows it. Status names are the shop's own.
Use next_cursor to read further pages.
limit: Repair orders per page.
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 | Reads one repair order with services, parts, notes and totals. Use get_repair_order in your configured business report. |
| Make | HTTP > Make a request | Lists estimates with customer, vehicle, total and the customer's answer. Use list_estimates in your configured business report. |
| Python or Node.js | REST API | Reads one customer with vehicles, service history and declined services. Use get_customer 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 AutoLeap; 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.
No tool writes or prices an estimate: send_estimate sends one your advisor built. Only an approved estimate converts; anything else returns an error and nothing is created.
Returns the newest estimates first, with the estimate ID, customer, vehicle, total, the date it was sent and the customer's answer. The answer is what AutoLeap shows after the customer approves, declines or defers by text or email. Use next_cursor to read further pages.
MCP callautoleap_read → list_estimates
REST endpointGET https://cotlet.dev/api/v1/autoleap/estimates
| Name | Type | Description |
|---|---|---|
| status string | string | Filter by the customer's answer: awaiting, approved, declined or deferred. |
| sent_before string | string | ISO date. Keeps estimates sent before it. |
| limit integer | integer | Estimates per page. |
| cursor string | string | Next page cursor from the previous call. |
{
"estimates": [
{
"estimate_id": "est_4821",
"customer": "Dana Ruiz",
"customer_id": "cus_1093",
"vehicle": "2019 Honda CR-V",
"total": 1240,
"sent_on": "2026-10-24",
"status": "awaiting"
},
{
"estimate_id": "est_4817",
"customer": "Tom Becker",
"customer_id": "cus_0877",
"vehicle": "2016 Ford F-150",
"total": 842,
"sent_on": "2026-10-23",
"status": "approved"
}
],
"next_cursor": null
} Returns the line items (services and parts with prices), the total, who approved or declined and when. AutoLeap stores the approval with the estimate, so the record is read from there. Returns an error if the ID does not exist in this shop.
MCP callautoleap_read → get_estimate
REST endpointGET https://cotlet.dev/api/v1/autoleap/estimates/{estimate_id}
| Name | Type | Description |
|---|---|---|
| estimate_id string required | string | Estimate ID from list_estimates. |
{
"estimate_id": "estimate_8c41d2"
} {
"estimate_id": "est_4821",
"customer": "Dana Ruiz",
"vehicle": "2019 Honda CR-V",
"lines": [
{
"type": "service",
"name": "Front brake pads and rotors",
"price": 1090
},
{
"type": "service",
"name": "Brake fluid flush",
"price": 150
}
],
"total": 1240,
"status": "awaiting",
"approval": null
} Sends the estimate to the phone number or email saved on the customer. AutoLeap then records the approve, decline or defer answer on the estimate. It does not create or edit estimates. By default you confirm each call; you can switch that off for this tool.
MCP callautoleap_write → send_estimate
REST endpointPOST https://cotlet.dev/api/v1/autoleap/estimates/{estimate_id}
| Name | Type | Description |
|---|---|---|
| estimate_id string required | string | Estimate ID from list_estimates. |
| channel string required | string | text or email. |
{
"estimate_id": "estimate_8c41d2",
"channel": "channel"
} {
"estimate_id": "est_4825",
"channel": "text",
"sent_to": "+1 555 0188",
"status": "awaiting"
} AutoLeap carries the services and parts over without re-entry and returns the new RO number. It reaches no customer and the repair order can be deleted in AutoLeap, so it does not wait for your OK. An estimate that is not approved returns an error and nothing is created.
MCP callautoleap_write → convert_estimate_to_repair_order
REST endpointPOST https://cotlet.dev/api/v1/autoleap/estimates/{estimate_id}/to-repair-order/convert
| Name | Type | Description |
|---|---|---|
| estimate_id string required | string | Estimate ID from list_estimates. |
{
"estimate_id": "estimate_8c41d2"
} {
"estimate_id": "est_4817",
"ro_number": "10483",
"status": "New",
"total": 842
} Read only. Status names are your own Work Board columns.
Returns the most recently updated repair orders first, with the RO number, customer, vehicle, assigned technician and the status as the Work Board shows it. Status names are the shop's own. Use next_cursor to read further pages.
MCP callautoleap_read → list_repair_orders
REST endpointGET https://cotlet.dev/api/v1/autoleap/repair-orders
| Name | Type | Description |
|---|---|---|
| open_only boolean | boolean | When true, leaves out repair orders that are invoiced. |
| updated_since string | string | ISO date. Keeps repair orders changed on or after it. |
| limit integer | integer | Repair orders per page. |
| cursor string | string | Next page cursor from the previous call. |
{
"repair_orders": [
{
"ro_number": "10482",
"customer": "Tom Becker",
"vehicle": "2016 Ford F-150",
"technician": "Luis",
"status": "In progress",
"updated": "2026-10-28"
},
{
"ro_number": "10479",
"customer": "Priya Nair",
"vehicle": "2021 Toyota Camry",
"technician": "Sam",
"status": "Waiting for parts",
"updated": "2026-10-27"
}
],
"next_cursor": null
} Returns the services and parts, the technician, the notes and the totals. Use it before texting a customer so the message matches the job.
MCP callautoleap_read → get_repair_order
REST endpointGET https://cotlet.dev/api/v1/autoleap/ros/{ro_number}/repair-order
| Name | Type | Description |
|---|---|---|
| ro_number string required | string | Repair order number from list_repair_orders. |
{
"ro_number": "ro number"
} {
"ro_number": "10482",
"customer": "Tom Becker",
"vehicle": "2016 Ford F-150",
"technician": "Luis",
"status": "In progress",
"lines": [
{
"type": "service",
"name": "Front brake pads and rotors",
"price": 842
}
],
"total": 842
} Declined and deferred services come from the customer's own history in AutoLeap.
Returns the customer ID, name, phone, email, number of vehicles and the date of the last visit. The declined-services filter uses the declined services AutoLeap keeps per customer. Use next_cursor to read further pages.
MCP callautoleap_read → list_customers
REST endpointGET https://cotlet.dev/api/v1/autoleap/customers
| Name | Type | Description |
|---|---|---|
| query string | string | Name, phone number or email. |
| has_declined_services boolean | boolean | When true, keeps customers with services they declined on a past visit. |
| limit integer | integer | Customers per page. |
| cursor string | string | Next page cursor from the previous call. |
{
"customers": [
{
"customer_id": "cus_1093",
"name": "Dana Ruiz",
"phone": "+1 555 0142",
"email": "dana@example.com",
"vehicles": 1,
"last_visit": "2026-09-12"
}
],
"next_cursor": null
} Returns contact details, each vehicle, the service history by visit and the services the customer declined or deferred. Phone and email are the ones saved on the customer; nothing is guessed.
MCP callautoleap_read → get_customer
REST endpointGET https://cotlet.dev/api/v1/autoleap/customers/{customer_id}
| Name | Type | Description |
|---|---|---|
| customer_id string required | string | Customer ID from list_customers. |
{
"customer_id": "customer_8c41d2"
} {
"customer_id": "cus_1093",
"name": "Dana Ruiz",
"phone": "+1 555 0142",
"vehicles": [
{
"vehicle_id": "veh_2210",
"description": "2019 Honda CR-V"
}
],
"history": [
{
"date": "2026-09-12",
"ro_number": "10311",
"summary": "Oil change and tire rotation"
}
],
"declined_services": [
{
"date": "2026-09-12",
"name": "Front brake pads and rotors",
"price": 1090
}
]
} Creates the customer in your shop and returns the new ID. It reaches no one and you can archive the customer in AutoLeap, so it does not wait for your OK.
MCP callautoleap_write → create_customer
REST endpointPOST https://cotlet.dev/api/v1/autoleap/customers
| Name | Type | Description |
|---|---|---|
| name string required | string | Full name. |
| phone string | string | Mobile number, used for texts. |
| email string | string | Email address. |
| vehicle string | string | Year, make and model, for example 2018 Subaru Outback. |
{
"name": "Jane Doe"
} {
"customer_id": "cus_1120",
"name": "Marcus Lee",
"phone": "+1 555 0188",
"vehicles": [
{
"vehicle_id": "veh_2251",
"description": "2018 Subaru Outback"
}
]
} Texts go to the mobile number saved on the customer. AutoLeap lists Two-Way Texting from the Pro plan; Essentials texts one way.
Returns appointments in time order with customer, vehicle, the requested service and the assigned technician when one is set. Online bookings and appointments made by staff appear in the same list.
MCP callautoleap_read → list_appointments
REST endpointGET https://cotlet.dev/api/v1/autoleap/appointments
| Name | Type | Description |
|---|---|---|
| from string required | string | ISO date, start of the range. |
| to string required | string | ISO date, end of the range. |
| cursor string | string | Next page cursor from the previous call. |
{
"from": "from",
"to": "to"
} {
"appointments": [
{
"appointment_id": "apt_7731",
"start": "2026-10-29T08:30:00",
"customer": "Priya Nair",
"customer_id": "cus_0951",
"vehicle": "2021 Toyota Camry",
"service": "Check engine light",
"technician": "Sam"
}
],
"next_cursor": null
} The appointment appears on the live calendar. The shop's reminder settings in AutoLeap may then text or email the customer, so it counts as reaching a person. A slot that clashes with another booking returns an error. By default you confirm each call; you can switch that off for this tool.
MCP callautoleap_write → create_appointment
REST endpointPOST https://cotlet.dev/api/v1/autoleap/customers/{customer_id}/appointments
| Name | Type | Description |
|---|---|---|
| customer_id string required | string | Customer ID from list_customers. |
| vehicle_id string required | string | Vehicle ID from get_customer. |
| start string required | string | ISO date and time. |
| service string required | string | What the customer comes for. |
| technician string | string | Technician name from the calendar. |
{
"customer_id": "customer_8c41d2",
"vehicle_id": "vehicle_8c41d2",
"start": "start",
"service": "service"
} {
"appointment_id": "apt_7740",
"start": "2026-11-03T09:00:00",
"customer": "Dana Ruiz",
"vehicle": "2019 Honda CR-V",
"service": "Front brake pads and rotors",
"technician": null
} Sends the text to the mobile number saved on the customer. A customer with no mobile number returns an error and nothing is sent. A sent text cannot be recalled. By default you confirm each call; you can switch that off for this tool.
MCP callautoleap_write → send_text_message
REST endpointPOST https://cotlet.dev/api/v1/autoleap/customers/{customer_id}/text-messages
| Name | Type | Description |
|---|---|---|
| customer_id string required | string | Customer ID from list_customers. |
| body string required | string | Message text. |
{
"customer_id": "cus_1093",
"body": "Hi Dana, your CR-V brake estimate of $1,240 is still open. Reply here if you have questions."
} {
"customer_id": "cus_1093",
"sent_to": "+1 555 0142",
"body": "Hi Dana, your CR-V brake estimate of $1,240 is still open. Reply here if you have questions.",
"status": "sent"
} Your signed-in AutoLeap profile, AES-256-GCM, in Finland. Not the password.
The 12 AutoLeap tools. No cookie, no Partner ID or Auth Key.
What the login's role sees: estimates, ROs, customers, the calendar.
Invoices, parts orders, inventory, shop settings, users and deletes.
AutoLeap signs a user out of the last device. The Cloud Browser counts as one.
Disable for agents, reset the browser, or change the login's password.
Because AutoLeap allows one device per user, signing in to the Cloud Browser with the login at your front counter logs the counter out. Use a login nobody works in all day, for example the owner's office login. AutoLeap includes 5 users and sells more, but its terms count a user as an employee or contractor, so ask your account manager before you add one for the agent. 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.
"Client shall keep Authorized User passwords confidential and cause Authorized Users not to share their respective passwords with any other individual."
The agreement names no robots, scrapers or AI agents. Section 1.6(a) bars letting "any person" use the Services outside the agreement, and 1.9 lets AutoLeap suspend an account it suspects of breaking 1.5 or 1.6, with notice before or after. You type the password into the Cloud Browser yourself and Cotlet never sees it, but AutoLeap could still read an agent in your login as access by someone else. We found no public case of a shop suspended for a script or an agent (checked 28 Oct 2026).
AutoLeap's SMS terms let a customer text STOP to end messages from your shop, and marketing texts need the customer's opt-in. Keep agent texts to the car in your bays and its estimate.
AutoLeap ships updates to its web app without a public changelog, and the Work Board columns are yours to rename. When a screen moves, we repair the tool, and a daily follow-up keeps its prompt. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Create a customer | Archive the customer in AutoLeap |
| Convert an estimate to a repair order | Delete the repair order in AutoLeap |
| Book an appointment | Cancel it on the calendar; a reminder may be out already |
| Send an estimate | No, the customer has it; send a revised one |
| Text a customer | No, a sent text cannot be recalled |
3 of 12 tools ask first: send_estimate, create_appointment and send_text_message, the three a customer sees. A new customer or a converted estimate reaches nobody and can be removed, so those run at once. Switch the wait off per tool for a scheduled run.
Your shop's reminder settings may text the customer about a new booking on their own. Check them before the agent books a batch.
{
"name": "send_text_message",
"arguments": {
"customer_id": "cus_1093",
"body": "Hi Dana, your CR-V brake estimate of $1,240 is still open. Reply here if you have questions."
}
} curl -X POST https://cotlet.dev/api/v1/autoleap/customers/cus_1093/text-messages \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"body":"Hi Dana, your CR-V brake estimate of $1,240 is still open. Reply here if you have questions."}' {
"customer_id": "cus_1093",
"sent_to": "+1 555 0142",
"body": "Hi Dana, your CR-V brake estimate of $1,240 is still open. Reply here if you have questions.",
"status": "sent"
} Scripts reach the same tools over REST at /api/v1/autoleap, with the same key and price, so a cron job can list approved estimates each morning before the first car. A customer with no mobile number returns an error, and a failed call costs nothing. The tools table lists the REST path of each tool.
About $44 a monthfor one shop closing about 140 repair orders a month, 7,500 credits. Your AutoLeap plan stays billed by AutoLeap.
| Job | Calls | Credits |
|---|---|---|
| Remind 3 customers about open estimates, daily | 7 × 22 | 1,540 |
| Turn about 4 approved estimates into ROs, daily | 5 × 22 | 1,100 |
| Brief on about 6 of tomorrow's cars | 7 × 22 | 1,540 |
| Status texts on 3 open ROs, daily | 7 × 22 | 1,540 |
| Book 2 customers with declined work, weekly | 7 × 4 | 280 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 7,500 |
The month is our example: AutoLeap's own blog uses a shop with 140 closed repair orders a month at a $600 average ticket. AutoLeap itself runs $179 to $409 a month billed yearly. 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 |
|---|---|---|
| UncleStalin728/kims-production-board-share | One shop's production board. A script, run by Claude in Chrome on an open AutoLeap tab, reads approved and in-progress orders from AutoLeap's internal API. | Reads one list, on an undocumented endpoint, while your Chrome tab stays open. 0 stars, last push 26 Apr 2026. |
| api-evangelist/autoleap | A third-party profile of the Partner API: repair orders, customers, vehicles, appointments, inventory. | Docs only. The keys still go to approved partners. |
| AutoLeap Partner API | Versioned REST with a Partner ID and Auth Key. | For vendors AutoLeap approves; no estimate or text endpoint listed. |
| AutoLeap AIR | AutoLeap's AI receptionist: answers calls, puts appointment requests on the calendar. | Phone calls only, $99 a month, not callable from your agent. |
| Steer | Integration partner for booking, phones, reminders and text campaigns. | Another subscription with its own automations, not your own agent. |
Zapier and n8n have no AutoLeap app. A script on the internal API can be written in an afternoon and breaks with the next app update. AIR and Steer cover the phone and the marketing. Cotlet is for an agent you pick that chases estimates and texts customers from your shop login, on a schedule.
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 AutoLeap tools to contact@cotlet.dev.
Sign up free at https://cotlet.dev, open AutoLeap under Integrations in the console and sign in to AutoLeap in its Cloud Browser. The trial starts with your first app, with no card.
Sign up at cotlet.dev, log in to AutoLeap 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 AutoLeap account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in AutoLeap: follow up on unapproved estimates; convert approved estimates into repair orders; brief for tomorrow\. You ask in plain words, and anything that reaches other people waits for your OK first.
No. Cotlet works in the AutoLeap web app with your own login, so it needs no Partner ID or Auth Key. AutoLeap issues those to approved integration partners, and its developer portal is behind a sign-in.
The text goes out through AutoLeap's customer communication from your shop, the same way a text sent by hand does. Cotlet does not use a separate number.
It can. AutoLeap lets each user be signed in on one device at a time, and the Cloud Browser is a device. Sign it in with a login nobody uses at the counter, and the shop keeps working while the agent does.
None a shop can set up: the Partner API and its docs are for approved partners. Run your agent on a schedule instead, for example a list_estimates pass every morning.
No. send_estimate sends an estimate your advisor already built, and convert_estimate_to_repair_order works only once the customer approved it. Labor times and parts stay with your team.
Only the door differs. Both carry the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and cron jobs use REST.
No. Cotlet is independent and not affiliated with AutoLeap 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