[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)

# Draft Simpro quotes from customer requests

> Turn an email or call note into a draft Simpro quote: find the customer and site, add the description, set the due date. Hosted, nothing to maintain.

Source: https://cotlet.dev/integrations/simpro-api-mcp-server/draft-quotes-from-customer-requests

A request arrives by email or phone. Someone finds the customer, finds the right site, retypes the request and sets a due date before the real quoting work can begin.

Cotlet does it in your own Simpro account with search\_customers, get\_customer, search\_catalogue\_items and create\_quote, 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?

The Connect app creates a quote from a customer, site and a few fields, and the REST API can create quotes too (checked 17 Oct 2026). Both start from a person who has already read the request, matched the customer and typed it in. Neither turns an email into that first draft.

## How you do it in Simpro today

1. In Connect, go to the dashboard and tap Project, then under Type tap Quote.
2. Select the customer, then tap Select site and pick the site from the drop-down list.
3. Fill in the due date, salesperson, service fee, order or request number and description.
4. Tap Finished. The data updates in Simpro Premium, where the office manages the quote as normal.
5. The same quote can also be built in Simpro Premium. Either way the customer and site must already exist.

## How to draft Simpro quotes from customer requests

Prompt

```
A customer, Harbour Dental, asked for a quote to replace the hot water unit at 12 Pier Rd. Find them in Simpro, find the site, and create a draft quote with that description due Friday. Show me before you create it.
```

1. 01  
### Find the customer  
search\_customers looks up the name you gave. More than one match is reported with each address, and the agent asks you instead of choosing.
2. 02  
### Find the site  
get\_customer lists the customer sites, so the quote lands on 12 Pier Rd and not on another address of the same customer.
3. 03  
### Look up materials  
search\_catalogue\_items finds catalogue items by name when the request names a part, so the description can quote a real item and not a guess.
4. 04  
### Show the draft  
The agent shows the customer, site, description and due date and waits. A missing site or a customer that does not exist yet stops the job; the agent does not invent either.
5. 05  
### Create the quote  
create\_quote saves the quote and returns its number. It asks for your OK until you switch confirmation off for it.

### What you get back

Example data

```
Customer: Harbour Dental (1 match)
Site: 12 Pier Rd
Draft quote 10451 created:
- Replace hot water unit
- Due Friday 23 Oct
- Salesperson: you
Not added: pricing, which you finish in Simpro
```

### Other ways to ask

- Read my inbox for requests that mention a quote and draft one for each, then list them for me.
- Draft the quote but stop before saving, and show me what you would enter.
- Find the customer and site only, and tell me if either is missing in Simpro.

## What Simpro allows, and what to know first

- A quote is built from customers, sites, cost centres and service fees that already exist in Simpro Premium, so a new customer has to be created first.
- The quote form has a due date, salesperson, service fee, order or request number and description (Simpro Help, Connect Quotes).
- Customers can be company or individual customers, each with its own record in the REST API.
- The API returns 30 results by default and at most 250 per page, so a long list of customers is paged.

create\_quote asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Simpro Help: Connect Quotes](https://helpguide.simprogroup.com/Content/Connect/Connect-Quotes.htm) · [Simpro: Zapier Integration](https://www.simprogroup.com/partners/integration-partners/zapier) · [Simpro API forum: API Rate Limiting Update](https://apiforum.simprogroup.com/viewtopic.php?t=2902)

## Call create\_quote from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/simpro/customers/3318/quotes \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"site_id":5107,"description":"Replace hot water unit","due_date":"2026-10-23"}'
```

Example response

```
{
"quote_id": 10451,
"customer": "Harbour Dental",
"site": "12 Pier Rd",
"description": "Replace hot water unit",
"due_date": "2026-10-23",
"status": "New"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is simpro\_write → create\_quote. 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 draft Simpro quotes from customer requests__
| Tool | Parameters |
| ------------------------ | --------------------------------------------------------- |
| search\_customers | query, page |
| get\_customer | customer\_id |
| search\_catalogue\_items | query, page |
| create\_quote | customer\_id, site\_id, description, due\_date, order\_no |

[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

- [Convert accepted Simpro quotes to jobs](https://cotlet.dev/integrations/simpro-api-mcp-server/convert-accepted-quotes-to-jobs.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.
