Zapier
Send what SIMCOAI takes on the phone into the apps you already use, without writing anything.
What this is for
Every booking, order, refund, escalation and new customer SIMCOAI records can start a Zap. A Zap is a rule you build by picking from lists - "when a new booking comes in, add a row to my spreadsheet" - so this needs no developer and no code.
- Put bookings straight into Google Calendar or a spreadsheet.
- Post escalations into a Slack or Teams channel so nothing waits for somebody to check the dashboard.
- Add every new customer to Mailchimp, HubSpot or a CRM.
- Send refund requests to whoever approves them.
Connecting your account
SIMCOAI has a dedicated Zapier app. Add SIMCOAI to Zapier and every trigger, create and search on this page is ready to use. If you would rather not add another app, the same events are also available through Zapier’s built-in Webhooks by Zapier app, using the steps below.
- Start a Zap with "Catch Hook"Add a step using Zapier’s built-in Webhooks by Zapier app, trigger event Catch Hook. Zapier gives you a unique URL - copy it.
- Create an API keyIn your dashboard, open Account → API Keys and create one with access to whichever records you want to send. It is shown once - copy it before you close the page.
- Subscribe that URL to a triggerSend the one-off request in the "Manual" section below (or use a Webhooks by Zapier "Custom Request" step) with your Catch Hook URL and the trigger you picked from the list.
- Turn the Zap onSIMCOAI posts the event to your Catch Hook URL the moment it happens. There is no polling delay.
What can start a Zap
Sixteen triggers - each fires the moment the record is created or changed, and each is named after the SIMCOAI event it subscribes to.
| Trigger | When it runs |
|---|---|
New booking requestbooking.requested | The assistant takes a booking request on a call or from your website. |
Booking confirmedbooking.confirmed | A booking is confirmed. |
Booking cancelledbooking.cancelled | A booking is cancelled. |
Booking completedbooking.completed | A booking is marked as completed. |
New orderorder.created | An order is logged. |
Order updatedorder.updated | An order changes. |
New refund requestrefund.requested | A refund request is taken. It never means money has moved - approving a refund is a separate step you control. |
Refund approvedrefund.approved | Somebody approves a refund. Approving is not the same as paying it. |
Refund declinedrefund.rejected | A refund request is declined. |
Refund paidrefund.refunded | A refund is marked as paid in your own records. |
New escalationescalation.created | Something is passed to a person: a complaint, a callback request, or anything the assistant would not handle itself. |
Escalation picked upescalation.in_progress | Somebody starts working on an escalation. |
Escalation resolvedescalation.resolved | An escalation is resolved. |
Escalation closedescalation.closed | An escalation is closed. |
New customercustomer.created | Somebody new is recorded for the first time. |
Customer updatedcustomer.updated | A customer record changes. |
What each trigger sends
A deliberately short, stable set. Internal columns are never sent - a Zap forwards whatever it is given to another company’s system, so only the fields below leave SIMCOAI.
{
"id": "9f2c1e40-5b7a-4c2f-9c3d-1a2b3c4d5e6f",
"created_at": "2026-08-19T14:32:07.114Z",
"status": "requested",
"customer_name": "Emily Carter",
"customer_email": "emily.carter@example.com",
"customer_phone": "+447700900456",
"service_name": "Haircut",
"preferred_time": "2026-08-21T13:30:00.000Z",
"example": false
}Doing things in SIMCOAI from a Zap
As well as triggers, the SIMCOAI Zapier app can act - so a Zap can run in both directions.
| Action | What it does |
|---|---|
| Log an Order | Creates an order, or updates it if that order number already exists - so replaying the same order twice never duplicates it. |
| Add or Update a Customer | Creates a customer, or merges into their existing record if SIMCOAI already knows them by email or phone. |
| Find a Customer (search) | Looks a customer up by name, email or phone - useful for a "check if this person already exists" step before another action. |
Building a Zap before you have any real records
Zapier will not let you finish a trigger without sample data, and a brand new account has no bookings yet. SIMCOAI sends a clearly marked example so you can still map your fields.
"example": true and uses a reserved address and phone number that cannot reach anybody. Once you have real records, SIMCOAI sends those instead and the flag is false. If you want a Zap to ignore examples, add a Zapier filter on that field.Doing the same thing without Zapier
The same subscriptions are plain HTTP, so you can drive them from anything.
# List the triggers you can subscribe to
curl -s https://api.simcoai.co.uk/v1/zapier/triggers \
-H "Authorization: Bearer $SIMCOAI_API_KEY"
# Subscribe: SIMCOAI POSTs the record to your URL when it happens
curl -s -X POST https://api.simcoai.co.uk/v1/zapier/subscribe \
-H "Authorization: Bearer $SIMCOAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"hookUrl":"https://hooks.zapier.com/hooks/catch/xxxxx/yyyyy/","event":"booking.requested"}'
# Stop it again
curl -s -X DELETE https://api.simcoai.co.uk/v1/zapier/subscribe/SUBSCRIPTION_ID \
-H "Authorization: Bearer $SIMCOAI_API_KEY" Two things worth knowing
- Subscribing twice is safe. The same URL and trigger reuses the existing subscription rather than creating a second one, so a retry cannot make every booking arrive twice.
- A Zap can only do what the key can do. Scopes are checked on every request, so a read-only key cannot be turned into a write by going through Zapier.