[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Convert accepted Simpro quotes to jobs

> Find accepted Simpro quotes and convert each to a job, then report the job numbers. Runs daily from Claude Code, n8n or a script. Hosted.

Source: https://cotlet.dev/integrations/simpro-api-mcp-server/convert-accepted-quotes-to-jobs

A customer signs or says yes, and the quote sits there until someone remembers to turn it into a job. Until that happens nothing can be scheduled.

Cotlet does it in your own Simpro account with list\_quotes, get\_quote, convert\_quote\_to\_job and get\_job, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=simpro) [All Simpro tools](https://cotlet.dev/integrations/simpro-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Simpro do this on its own?

Simpro updates a quote status itself when the customer signs through online quote acceptance, and the REST API has a convert call that creates a job from a quote (checked 17 Oct 2026). Neither reads an email that says "go ahead" and decides which quote it belongs to, and the API leaves the loop that finds accepted quotes to you.

## How you do it in Simpro today

1. The customer accepts the quote, by a signed quote form or by saying yes by phone or email.
2. With online quote acceptance, Simpro updates the quote status automatically as soon as the quote is signed. Otherwise someone sets the status by hand.
3. In Simpro Premium or in Connect, the office opens the accepted quote and submits it to turn it into a job.
4. The office checks the new job, then schedules it.
5. The slow part is noticing: accepted quotes by email or phone only move when someone remembers.

## How to convert accepted Simpro quotes to jobs

Prompt

```
Look at the Simpro quotes I sent this month. For each one the customer has accepted, convert it to a job and tell me the new job number. Leave any quote that is not clearly accepted.
```

1. 01  
### Collect candidate quotes  
list\_quotes returns quotes in the status you name, newest first, and pages until the list ends, so a busy month is read in full and not only its first 30 results.
2. 02  
### Read each quote  
get\_quote returns the customer, site, status and totals. The agent checks the status you called "accepted" and skips quotes that carry another status code.
3. 03  
### Skip quotes that already have a job  
A quote that was converted already shows the job it became. The agent reports it and does not convert it a second time.
4. 04  
### Convert  
convert\_quote\_to\_job runs once per accepted quote and asks for your OK until you switch confirmation off for it. A quote that fails to convert is reported with the reason and the run goes on.
5. 05  
### Report the jobs  
get\_job reads each new job so the report carries the job number, customer and site, ready to schedule.

### What you get back

Example data

```
Quotes read: 18
Converted 5:
- Quote 10442 to job 20871 (Harbour Dental, 12 Pier Rd)
- Quote 10447 to job 20872 (Oakline Strata, Block B)
Skipped 13:
- 11 still waiting for the customer
- 2 already converted
```

### Other ways to ask

- Every morning, convert quotes marked accepted since yesterday and list the new jobs by customer.
- List accepted quotes that are not converted yet and change nothing.
- Convert only quotes under a total I name, and show me the rest.

## What Simpro allows, and what to know first

- The convert call takes no body: it needs only the quote, and the new job links back to it in the field ConvertedFrom (Simpro API forum, 2026).
- A Simpro staff member confirmed the API cannot link a quote and a job in any other way, so a job created separately is not linked to its quote.
- Over the 10 calls per second per build, Simpro answers HTTP 429, so a large batch is paced, not fired at once.
- Online quote acceptance changes the status automatically when the customer signs, which is why only unsigned acceptances need an agent.

convert\_quote\_to\_job asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Simpro API forum: Converting Quotes to Jobs via API](https://apiforum.simprogroup.com/viewtopic.php?t=3606) · [Simpro API forum: Timelines, POST New Timelines for Jobs / Quotes](https://apiforum.simprogroup.com/viewtopic.php?t=2043) · [Simpro Help: Connect Quotes](https://helpguide.simprogroup.com/Content/Connect/Connect-Quotes.htm) · [Simpro blog: Online Quote Acceptance enhanced](https://www.simprogroup.com/blog/online-quote-acceptance-enhanced) · [Simpro API forum: API Rate Limiting Update](https://apiforum.simprogroup.com/viewtopic.php?t=2902)

## Call convert\_quote\_to\_job from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/simpro/quotes/10442/to-job/convert \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"quote_id": 10442,
"job_id": 20871,
"converted_from_quote_id": 10442,
"status": "Pending"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is simpro\_write → convert\_quote\_to\_job. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/simpro-api-mcp-server.md#automations)

## Simpro tools this automation uses

__Cotlet Simpro tools used to convert accepted Simpro quotes to jobs__
| Tool | Parameters |
| ----------------------- | -------------------------- |
| list\_quotes | status, customer\_id, page |
| get\_quote | quote\_id |
| convert\_quote\_to\_job | quote\_id |
| get\_job | job\_id |

[All 12 Simpro tools with descriptions](https://cotlet.dev/integrations/simpro-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Simpro to Cotlet?

Yes. You sign in to Simpro yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Simpro once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Simpro automations

- [Draft Simpro quotes from customer requests](https://cotlet.dev/integrations/simpro-api-mcp-server/draft-quotes-from-customer-requests.md)
- [Log technician time on Simpro jobs](https://cotlet.dev/integrations/simpro-api-mcp-server/log-technician-time-on-jobs.md)
- [Simpro API and MCP server: every tool](https://cotlet.dev/integrations/simpro-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Simpro.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Simpro.

[Sign up free](https://cotlet.dev/app/signup?app=simpro)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
