Connect Crisphive to Zapier
أعدّه مع مساعد الذكاء الاصطناعي
- ما هو
- ملف إعداد: دليل Zapier هذا مكتوبًا كتعليمات لـ ChatGPT أو Claude أو أي محادثة ذكاء اصطناعي.
- لماذا تستخدمه
- بمفرده، يخمّن مساعد الذكاء الاصطناعي فقط كيفية ربط Crisphive بـ Zapier من ذاكرة قد تكون خاطئة أو قديمة. مع هذا الملف يتبع هذا الدليل بالضبط ويرشدك خطوة بخطوة: يسألك إلى أين وصلت، ويخبرك بالضبط أين تنقر، ويتحقق من النتيجة معك.
- ماذا يحتوي
- كل خطوات هذه الصفحة، مع الشاشات والأزرار والقيم الحالية
- قواعد للمساعد: خطوة واحدة في كل مرة، البدء في Rehearsal، والانتهاء بالاختبار
- روابط إلى هذه الصفحة وإلى دعم Crisphive
- هل هو آمن؟
- نعم. إنه نص عادي (Markdown) — لا برنامج، ولا شيء لتثبيته، ولا مفاتيح. استخدم المعاينة لقراءته في متصفحك قبل حفظ أي شيء.
الملف باللغة الإنجليزية. لا تلصق أبدًا مفتاح API أو كلمة مرور في المحادثة.
By the end of this guide, each time a job is confirmed in Crisphive, Zapier sends one email to your office within a second — with the job code, the customer, the address, the problem, the technician and the visit time in your local time.
Zapier is a service that connects apps without code: a Zap starts on a trigger (something happens in one app) and runs actions (it does something in another). Crisphive is a field operations platform: constraint-based scheduling on a deterministic solver that books each job and assigns the right technician automatically — and it is manageable from Claude or ChatGPT too. The Crisphive app for Zapier connects the two.
support@crisphive.com and we’ll send you the invite link.What you will have at the end
One email per confirmed job, sent by Email by Zapier. It looks like this:
Subject: Job confirmed: REQ-CA-JK6VHKQC Customer: Sam Tremblay - +16135550188 Address: 300 Bank Street, Ottawa Problem: Thermostat not responding. Technician: Alex Morin When: October 14 2026 10:00:00
The Zap has three steps, top to bottom. It takes about 15 minutes to build.
Crisphive — New Event (Job Confirmed) → Formatter — Date / Time → Email by Zapier — Send Outbound Email
The same app also books jobs from any form (Book Job), finds a customer by phone, and has instant triggers for new customers and for jobs that are booked, completed or rescheduled — see What the app can do.
Before you start
| You need | Notes |
|---|---|
| A Crisphive login as Owner | Turning a Zapier trigger on needs the Owner role, or a role the Owner gave the Developer module. You sign in with your email and a one-time code; there is no password. |
| The Crisphive Zapier invite link | The app is Invite Only for now. Email support@crisphive.com and we’ll send it to you. |
| A Zapier account | A new account starts a 14-day Professional trial. This Zap has 3 steps, and Zapier marks multi-step Zaps as a paid feature (This Zap uses paid features that are included in your free trial). After the trial you need a paid plan, or the Zap stops. |
Step 1 — Accept the Crisphive invite on Zapier
Open the link you received from Crisphive.
If Zapier asks you to log in, log in (or click Sign Up). A new account is asked three questions first — What’s your role?, What’s your company size? and Top apps for…. Answer them or click Skip question. Zapier then returns to the invite.
The page reads You have been invited to use Crisphive on Zapier! Click Accept Invite & Build a Zap.
Step 2 — Create the Zap and choose the trigger
In this step you choose the trigger and, inside the same step, connect your Crisphive account. Zapier connects with sign-in and approval (OAuth): you never paste a password or an API key into Zapier.
الخطوة 1 من 2Click Create Zap. In the Untitled Zap, click 1. Select the event that starts your Zap, search for Crisphive and choose Crisphive (1.0.0) — it shows an Invite Only badge. In Trigger event, choose New Event.
كل الخطوات
- Click Create Zap. In the Untitled Zap, click 1. Select the event that starts your Zap, search for Crisphive and choose Crisphive (1.0.0) — it shows an Invite Only badge. In Trigger event, choose New Event.
- In Account, click Sign in. In the Connect to Zapier window, click Connect. Log in to Crisphive if asked.
الخطوة 1 من 2If you are not signed in to Crisphive in this browser, type your email and click Send Verification, then type the 6-digit code from the email in Enter your code.
كل الخطوات
- If you are not signed in to Crisphive in this browser, type your email and click Send Verification, then type the 6-digit code from the email in Enter your code.
- The Authorize Zapier page shows your business name, the mode (Rehearsal or Live) and who you are signed in as. In Rehearsal it says Zapier will only see Rehearsal (test) data. Check the business name, then click Approve.
الخطوة 1 من 3The window closes. Account now shows Crisphive #1 (Zapier numbers connections itself). Click Continue.
كل الخطوات
- The window closes. Account now shows Crisphive #1 (Zapier numbers connections itself). Click Continue.
- In Event, choose Job Confirmed (shown with ID: job_request.confirmed). Click Continue.
- On Test, click Test trigger. Zapier loads up to 3 recent records named Event A, Event B and Event C. Pick one, then click Continue with selected record.
Go to zapier.com/app/assets/zaps and click Create Zap. An empty editor opens, called Untitled Zap.
Click the first box, 1. Select the event that starts your Zap. Search for Crisphive and choose Crisphive (1.0.0). It shows an Invite Only badge.
Choose New Event (Triggers instantly on any Crisphive event you choose).
In Account, click Sign in. A small window opens: on Connect to Zapier click Connect, and log in to Crisphive if asked. Allow pop-ups for zapier.com if nothing opens.
The Authorize Zapier page shows your business name, the mode (Rehearsal or Live) and who you are signed in as. In Rehearsal it says Zapier will only see Rehearsal (test) data — not your real jobs, customers or team. Check the business name, then click Approve.
The window closes. Account now shows Crisphive #1 (or #2 — Zapier numbers connections itself). Click Continue.
In Event, choose Job Confirmed (shown with ID: job_request.confirmed). Click Continue.
On Test, click Test trigger. Zapier loads up to 3 recent records named Event A, Event B, Event C. Pick one, then click Continue with selected record.
zapier.com/app/assets/connections), click the menu icon next to the connection, choose Rename and type for example “Crisphive sandbox” or “Crisphive live”.Step 3 — Make the time readable (Formatter step)
Crisphive sends times in UTC (for example 2026-10-14T14:00:00Z). This step turns them into your local time.
الخطوة 1 من 2Under step 1, click + and choose Formatter. In Action event choose Date / Time, click Continue, and in Transform choose Format.
كل الخطوات
- Under step 1, click + and choose Formatter. In Action event choose Date / Time, click Continue, and in Transform choose Format.
- In Input, type /, search Scheduled At and click Schedule Scheduled At. Set To Format and To Timezone. Leave From Format empty and From Timezone as UTC.
Under step 1, click + and choose Formatter (under Popular built-in tools).
Choose Date / Time. Click Continue.
Choose Format.
Click the field, type /, search Scheduled At, and click Schedule Scheduled At.
Choose MMMM DD YYYY HH:mm:ss (January 22 2006 23:04:05).
Type your city (for example Toronto) and choose America/Toronto.
Leave From Format empty and From Timezone as UTC. Click Continue.
Click Test step. Output should read like October 14 2026 10:00:00.
Step 4 — Send the email (Email by Zapier)
Under step 2, click + and choose Email by Zapier.
Choose Send Outbound Email. Click Continue. Zapier’s limit: up to 5 emails per day on Free or Trial plans, or up to 10 emails per hour on paid plans.
To insert a value from an earlier step, type / in the field, search for its name and click it.
| Field | What to put |
|---|---|
| To | Your office email address. |
| Subject | Job confirmed: then Short Code. |
| Body (HTML or Plain) | The block below. |
Body, one line each (press Shift+Enter for a new line). Words in brackets are values you insert with /; 2. Output is the result of the Formatter step:
Customer: [Customer Name] - [Customer Phone]
Address: [Address Line], [Address City]
Problem: [Description]
Technician: [Crew Technician Name]
When: [2. Output]الخطوة 1 من 2Fill To with your office address and Subject with Job confirmed: followed by Short Code from step 1.
كل الخطوات
- Fill To with your office address and Subject with Job confirmed: followed by Short Code from step 1.
- In Body (HTML or Plain), build the five lines with / and Shift+Enter. Click Continue, then Test step.
Click Continue, then Test step. On a trial plan the test email goes to your Zapier login email, not to To.
Step 5 — Test, then turn it on
Click the Zap name at the top (Untitled Zap), choose Rename, type for example Crisphive: email the office when a job is confirmed and press Enter.
Click Publish. Zapier shows Publishing… We are preparing your Zap to go live, then is in use.
- If it says Cannot publish your draft, the Status panel names the step still to test; test it and click Publish again.
- When you publish a change to a Zap that is already on, Zapier first asks for a Version name (optional) in a Publish new version box.
Book a job and confirm it (in Rehearsal if you are testing). A job booked by a voice agent or by Book and confirm fires it straight away.
Open zapier.com/app/history. A run of your Zap shows Successful within a few seconds.
Check the inbox you put in To.
On the Crisphive side, Settings → Developer → Webhooks (crisphive.com/app/settings/developer/webhooks) lists an endpoint on hooks.zapier.com with status Active while the Zap is on.
Templates
Ready-made automations you copy instead of working out yourself. Zapier cannot import a file, so each template is the list of steps and field mappings to copy. Each card says what the template does, what is inside and why it is safe before you take it.
Website form → confirmed job
- ما هو
- The settings for a Zap you build in a few minutes: a booking form on your website books and confirms the visit in Crisphive, then tells the customer or your office the result.
- لماذا تستخدمه
- It is the automation business owners ask for most. Zapier cannot import a file, so this is every step and every field mapping written out — you copy them instead of working them out.
- ماذا يحتوي
- New Form Response — the trigger from your form app (Google Forms, Typeform, Jotform, Webflow or WordPress)
- Formatter → Format Phone Number and Formatter → Date / Time → Format — the phone in E.164 and the start time on your business’s clock
- Crisphive → Book Job — books the visit and asks Crisphive to confirm that time, with every field mapping
- Filter or Paths on Confirmed — a confirmation to the customer, or a note to the office that a job waits in the queue
- هل هو آمن؟
- Yes. It is plain text you read and copy — no file to download, no program code and no key. Zapier connects to Crisphive by signing in and clicking Approve, so nothing secret is ever copied.
Google Forms, Typeform, Jotform, Webflow or WordPress → Crisphive. The customer picks a time on your form and the job lands on the board already confirmed, with a technician.
To use it:
Your form must collect: name, phone, email, street address, city or postal code, preferred date and time, and (optionally) the service and an SMS consent box that is not pre-ticked.
Input = the form’s phone. To Format = the +15558001212 option.
Input = the form’s date and time. To Format = YYYY-MM-DDTHH:mm:ss. From/To Timezone = your business time zone.
Map the fields as in the table below.
Confirmed (Boolean) is true → send the customer a confirmation. Otherwise → notify the office that a job waits in the queue.
| Book Job field | Map from |
|---|---|
| Customer ID | Leave empty |
| Customer Full Name | Form → Name |
| Phone (E.164) | Formatter (phone) → Output |
| Form → Email | |
| SMS Consent | Form → consent checkbox (True only when ticked) |
| Address Line / City / Postal Code | Form → Street / City / Postal code |
| State / Province / Country | Form fields, or type ON / CA |
| Job Type | A fixed job type, a Lookup Table output, or empty |
| Start (business local time) | Formatter (date) → Output |
| Description | Form → Message |
More templates. Four more workflows to start with. Each lists the steps in order and exactly which field maps where.
Job completed → review request.
No input fields.
One or two hours, so the message does not arrive while the technician is still packing up.
To = Customer Email. Subject = Thanks for choosing us, + Customer Name. Body: your Google review link and the Short Code. For SMS, use Customer Phone and only text customers who agreed to texts.
Job completed → invoice.
QuickBooks Online, Xero, FreshBooks or Stripe: Name = Customer Name, Email = Customer Email.
Customer = the previous step. Reference / memo = Short Code. Line item = Job Type Name. Crisphive stores no prices, so set the amount here — a Lookup Table from job type to price works well.
Every new or assigned job → your team channel.
Or New Event with Event = Job Assigned to post once a technician is on it.
Input = Schedule Scheduled At, From Timezone UTC, To Timezone your business zone, To Format ddd MMM D, h:mm A.
Text: Short Code · Customer Name · Address Formatted · the formatted time · Job Type Name.
New customer → CRM or mailing list.
Fires for customers created anywhere: dashboard, website widget, phone agent, Book Job.
Map Full Name, Email, Phone and the address fields. Store the Crisphive ID in a custom field so later Zaps can find the same customer. Only add the customer to a marketing list if they agreed to it.
What the app can do
| Type | Name in Zapier | What it does |
|---|---|---|
| Trigger (instant) | New Customer | Starts the moment a customer is added in the Crisphive dashboard or through the API. A customer that Crisphive creates by itself while booking a job (website widget, phone agent, Book Job) does not start it — use New Job for those. Delivers the customer. |
| Trigger (instant) | New Job | Starts when a job is booked, from any channel (dashboard, website widget, phone agent, API, another Zap). Delivers the full job. |
| Trigger (instant) | Job Completed | Starts when a technician (or the office) completes a job. Delivers the full job. |
| Trigger (instant) | Job Rescheduled | Starts when a job moves to a new time. Delivers the full job. |
| Trigger (instant) | New Event | Starts on any Crisphive event you pick from a live list: job confirmed, assigned, archived, priority changed, customer updated, technician created, and more. |
| Search | Find Customer by Phone | Finds a customer by exact phone number — for example to greet or route a returning caller differently. |
| Action | Book Job | Books a job and confirms it at the time you give, in one step. Crisphive picks the technician automatically. |
“Instant” means Crisphive pushes the event to Zapier the moment it happens — there is no 15-minute polling delay. Under the hood each trigger is a webhook: a message Crisphive sends to a web address Zapier gives it. Zapier creates that webhook when you turn the Zap on and deletes it when you turn the Zap off. Every delivery is signed, and the app checks the signature, so a forged request cannot start your Zap.
Triggers
All five triggers are instant. When you turn the Zap on, the app subscribes in Crisphive to exactly one event; when you turn it off, the subscription is deleted. Each live trigger takes one of the 25 webhook slots your business has per environment.
| Trigger | Crisphive event | Input fields | Output | Permission needed (besides Developer access) |
|---|---|---|---|---|
| New Customer | customer.created | None | The customer: ID, UID, full name, phone, email and tier, plus event_id and event_type | customers_view |
| New Job | job_request.created | None | The full job (read from Crisphive after the event) | job_view + job_manage |
| Job Completed | job_request.completed | None | The full job | job_view + job_manage |
| Job Rescheduled | job_request.rescheduled | None | The full job, with its new time | job_view + job_manage |
| New Event | The event you choose | Event (required, dropdown) | Job events: the full job. Customer and technician events: the object in the event | Depends on the event (see below) |
Fields a job trigger gives you
Job triggers read the full job from Crisphive before the Zap runs, so you always get current data. Zapier builds each label from the field’s name and puts the parent name in front of nested values (for example customer name, address city); its exact capitalisation may differ slightly from this list. The most useful ones:
| Field | Example | Notes |
|---|---|---|
| ID | 7c1f2a90-3b4d-… | The job’s ID. Use it to look the job up later. |
| Short Code | REQ-CA-8K2M4Q7X | The human reference shown on the dashboard and in customer messages. Good for invoices and channel posts. |
| Job Type Name | AC Repair | |
| Current Status Key / Display Name | completed / Completed | The workflow status. |
| Priority | p2 | p0 is an emergency, p3 the lowest. |
| Description | No cooling upstairs | |
| Customer ID / Name / Phone / Email | Alex Martin, +16135550177 | Phone is always in international (E.164) format. |
| Address Line / City / State / Postal / Country / Formatted | 145 Laurier Avenue West | Formatted is the one-line address. |
| Schedule Scheduled At | 2026-10-13T14:00:00Z | UTC (the Z). Convert it before showing it to a customer — see Field mapping tips. |
| Schedule Business Timezone | America/Toronto | Use it to convert UTC times. |
| Assignment Technician ID | … | The assigned technician. |
| Customer URL | https://… | The link the customer uses to see and manage this job. |
| Completed At / Created At | 2026-10-13T16:05:00Z | UTC. |
| Event ID / Event Type | evt_… / job_request.completed | Which delivery started this run. |
New Event — every event you can choose
The Event dropdown is read live from Crisphive (GET /v1/webhooks/event-types), so new Crisphive events appear without a new version of the app. Today the list is:
| Dropdown label | Event | Fires when | Permission |
|---|---|---|---|
| Job Created | job_request.created | A job is booked. | job_view + job_manage |
| Job Confirmed | job_request.confirmed | A time is confirmed (by the customer, the office or Book Job). | job_view + job_manage |
| Job Assigned | job_request.assigned | A technician or crew is assigned or reassigned. | job_view + job_manage |
| Job Rescheduled | job_request.rescheduled | A job moves to a new time. | job_view + job_manage |
| Job Held | job_request.held | An online booking is given an unconfirmed time slot (booking hold). | job_view + job_manage |
| Job Hold Released | job_request.hold_released | A booking hold ends without a booking. | job_view + job_manage |
| Job Priority Changed | job_request.priority_changed | A job’s priority changes (for example raised to an emergency). | job_view + job_manage |
| Job Status Changed | job_request.status_changed | Any other workflow step (on the way, arrived, …). | job_view + job_manage |
| Job Completed | job_request.completed | A job is completed. | job_view + job_manage |
| Job Archived | job_request.archived | A job is archived or cancelled. | job_view + job_manage |
| Customer Created / Updated / Deleted | customer.created / .updated / .deleted | A customer record changes. | customers_view |
| Technician Created / Updated / Deleted | technician.created / .updated / .deleted | A team member is added, edited (including suspended) or removed. | team_view |
الخطوة 1 من 3In the trigger step, select Crisphive (1.0.0), choose New Event in Trigger event, and pick your Crisphive connection in Account.
كل الخطوات
- In the trigger step, select Crisphive (1.0.0), choose New Event in Trigger event, and pick your Crisphive connection in Account.
- Click Continue. Open the Event dropdown and choose the event, for example Job Assigned (each event is shown with its ID, such as job_request.assigned).
- Click Continue, then Test trigger. Zapier loads up to three recent records, named Event A, Event B and Event C, so you can map fields in the next steps.
Search: Find Customer by Phone
| Field | Required | What to enter |
|---|---|---|
| Phone (E.164) | Yes | The phone number in international format: a plus sign, the country code and the number, no spaces needed — for example +16135550177. Spaces, dashes and brackets are tolerated; a number without the country code is refused (PHONE_INVALID). |
It is an exact match on the stored number and returns up to five customers. Output fields (Zapier’s labels may be capitalised slightly differently): ID, UID (your own reference, for example a CRM ID), Full Name, Tier (regular or vip), Status, Request Count (number of jobs), Last Request At, SMS Opt In, Updated At. Phone and email are not part of the search result — you already have the phone.
الخطوة 1 من 3Add a step, select Crisphive, choose Find Customer by Phone in Action event, then your Crisphive connection.
كل الخطوات
- Add a step, select Crisphive, choose Find Customer by Phone in Action event, then your Crisphive connection.
- In Phone (E.164), map the phone number from an earlier step — ideally the output of a Formatter step that turned it into +1… format.
- Set “Should this step be considered a success when nothing is found?” to True, so a first-time customer does not stop the Zap. Then click Continue and Test step.
Action: Book Job
Book Job calls POST /v1/job-requests/book-and-confirm. In one step it creates the job, sizes it (from the job type’s default duration, or the Duration you give), confirms it at the start time, and lets Crisphive’s solver assign a technician. Send the customer and the job address in the customer fields and leave Customer ID empty: Crisphive matches an existing customer by phone or email and never creates a duplicate. If Customer ID is filled, the customer and address fields are ignored.
| Field | Required | What to enter | Example |
|---|---|---|---|
| Customer ID | No | Leave empty (recommended). Book Job then matches an existing customer by phone or email — never creating a duplicate — and books the job at the address you send. Fill it only with the ID of a customer whose address on file is the job address: with a Customer ID the customer fields and the address fields are ignored, and a customer with no stored address is refused (JOB_REQUEST_ADDRESS_REQUIRED). | 3f6c8e21-… |
| Customer Full Name | When Customer ID is empty | The customer’s name. | Alex Martin |
| Phone (E.164) | Phone or Email, when Customer ID is empty | International format. Crisphive matches an existing customer with this phone (or email) and never creates a duplicate. | +16135550177 |
| Phone or Email, when Customer ID is empty | The customer’s email. | alex.martin@example.com | |
| SMS Consent | No | True only if the customer explicitly agreed to receive text messages (for example ticked an unticked box on your form). Without it they still get email. | False |
| Address Line | When Customer ID is empty | Street address of the job. | 145 Laurier Avenue West |
| City | City or Postal Code, when Customer ID is empty | Crisphive needs one of the two to find a technician who covers the area. | Ottawa |
| State / Province | No | Two-letter code. | ON |
| Postal Code | City or Postal Code, when Customer ID is empty | K1P 5J3 | |
| Country | No | Two-letter country code. | CA |
| Job Type | No | Dropdown of your active job types. Empty = the business’s default job type (“General”). You can also map a job type ID. | AC Repair |
| Start (business local time) | Yes | When the job starts, on your business’s own clock, with no time zone: YYYY-MM-DDTHH:MM:SS. It must be in the future; it should be inside working hours or the job will not be confirmed. | 2026-10-13T10:00:00 |
| Duration (minutes) | No | Length of the work in minutes. Empty = the job type’s default duration. | 90 |
| Description | No | What needs doing. Technicians see it. | No cooling upstairs |
الخطوة 1 من 7Add a step, choose App: Crisphive and Event: Book Job, and pick your Crisphive connection.
كل الخطوات
- Add a step, choose App: Crisphive and Event: Book Job, and pick your Crisphive connection.
- Leave Customer ID empty — Book Job matches a returning customer by phone or email itself. Map the name from your form into Customer Full Name.
- Map Phone (E.164) from the Formatter step that converted the number, and Email from the form.
- Set SMS Consent to True only if your form has a consent box the customer ticked; otherwise choose False.
- Map the address. Address Line is required for a new customer, together with City or Postal Code.
- Choose the Job Type from the dropdown (or leave it empty for the default type). Map Start (business local time) from the Formatter step that produced YYYY-MM-DDTHH:mm:ss.
- Leave Duration empty to use the job type’s default. Click Continue, then Test step: Zapier books a real job in the environment of your connection.
What Book Job returns
| Field | Meaning |
|---|---|
| Job ID | The new job’s ID. |
| Short Code | The human reference, for example REQ-CA-8K2M4Q7X. |
| Customer ID | The matched or newly created customer. |
| Customer URL | The link the customer uses to see and manage the job. |
| Confirmed | true: the job is scheduled and a technician is assigned. false: the job is saved but waits in your coordinator queue — see below. |
| Scheduled At | The confirmed start time, in UTC. |
| Assigned Technician ID | Who was assigned. |
| Refusal Stage / Error Code / Message / Data | Only when Confirmed is false: why no technician could take that time (for example JOB_REQUEST_NO_TECHNICIAN_AVAILABLE). |
Retries are safe: Book Job sends an Idempotency-Key built from the Zap and the step run, so if Zapier retries the same step after a network error, Crisphive returns the first answer instead of booking twice.
Field mapping tips
Most failed runs come from two fields: the phone number and the start time. Get these two right and the rest maps one to one.
Phone numbers: convert to E.164 with Formatter
Crisphive refuses a phone number it cannot place in a country, rather than guessing. Forms usually collect 613-555-0177 or (613) 555-0177; Crisphive needs +16135550177. Add a Formatter by Zapier step before the Crisphive step:
الخطوة 1 من 4Add a step and choose App: Formatter by Zapier, Event: Numbers.
كل الخطوات
- Add a step and choose App: Formatter by Zapier, Event: Numbers.
- In Transform, choose Format Phone Number. In Input, map the phone field from your form.
- In To Format, choose the international format that starts with a plus sign and has no spaces (+15558001212). Set the country to Canada or United States for numbers typed without a country code.
- Click Test step. The Output is +16135550177 — map this Output into the Crisphive Phone field.
Start time: business-local, no time zone
Start (business local time) is read on your business’s own clock (the time zone set in Crisphive → Settings). Send 2026-10-13T10:00:00 for 10 am at your business. If your form gives a date and a time in another shape, convert it with Formatter by Zapier → Date / Time → Format:
الخطوة 1 من 4Add a step: App Formatter by Zapier, Event Date / Time. Choose Transform: Format.
كل الخطوات
- Add a step: App Formatter by Zapier, Event Date / Time. Choose Transform: Format.
- In Input, map the date and time from your form (both, side by side, if the form has two fields).
- In To Format choose Custom and type YYYY-MM-DDTHH:mm:ss. Set To Timezone and From Timezone to your business time zone, so the hour is not shifted.
- Click Test step. The Output reads 2026-10-13T10:00:00 — map it into Start (business local time).
- Never send a value ending in
Zor-04:00unless it names the same wall-clock time at your business. Crisphive refuses an offset that disagrees with your business time zone (JOB_REQUEST_INVALID_INPUT, with the local reading in the error) rather than guessing which hour you meant. - Times coming out of Crisphive are UTC (Scheduled At, Completed At). Before putting one in a customer message, convert it with the same Formatter step: From Timezone
UTC, To Timezone your business zone, and a friendly To Format such asdddd, MMMM D [at] h:mm A. - Country codes are two letters (
CA,US); State / Province likewise (ON). - Job Type from a form: if a dropdown on your form names the service, use a Formatter → Utilities → Lookup Table step to turn the label into a Crisphive job type ID, or simply leave Job Type empty and let the default type apply.
Reference: what the app sends
You never type this — it is what Book Job sends to Crisphive for the Website form → confirmed job template, useful when you read Zap history or ask support for help.
POST https://api.crisphive.com/v1/job-requests/book-and-confirm Authorization: Bearer <your connection's OAuth token> Idempotency-Key: zap-<zap id>-<step run id>-book-and-confirm Content-Type: application/json { "customer": { "full_name": "Alex Martin", "phone": "+16135550177", "email": "alex.martin@example.com", "sms_opt_in": false }, "address": { "line": "145 Laurier Avenue West", "city": "Ottawa", "state": "ON", "postal_code": "K1P 5J3", "country": "CA" }, "scheduled_at": "2026-10-13T10:00:00", "description": "No cooling upstairs" }
Empty fields are left out. When a trigger is turned on, the app sends POST /v1/webhooks with one event type and expires_in_days: 365; turning the Zap off sends DELETE /v1/webhooks/{id}. See Automation platforms for the full protocol.
Test Book Job
In the Crisphive dashboard switch to Rehearsal, then connect Zapier (Step 2). Nobody is ever contacted from Rehearsal, and phone numbers in the 555-01xx range and @example.com addresses are never messaged anyway.
Trigger: Schedule by Zapier → Every Day (any trigger works). Action: Crisphive → Book Job.
Customer Full Name Sam Tremblay · Phone +16135550188 · Email sam.tremblay@example.com · SMS Consent False · Address Line 300 Bank Street · City Ottawa · State / Province ON · Postal Code K2P 1X4 · Country CA · Start 2026-10-13T10:00:00 (any future weekday time inside your working hours) · Description Zapier test.
Success: Zapier shows Confirmed: true, a Short Code like REQ-CA-… and an Assigned Technician ID.
Open the dashboard (still in Rehearsal). The job appears on the board at 10:00 with status Confirmed (opened, its window is titled Booking Confirmed) and a technician, and Sam Tremblay appears under Customers. Run the step again with the same values: no second customer is created.
Archive the test job in Crisphive and turn off test Zaps you do not need — turning a Zap off frees its webhook slot.
Good to know
- Want an email the moment a job is booked, before it is confirmed? Use trigger event New Job instead. That fires at booking, so Technician and the time are still empty — leave those two lines out of the body and drop the Formatter step.
- The customer’s email is included only if the customer has one. It sits under the customer fields of the trigger data. Customers created from a phone call often have only a phone number.
- Zapier adds a footer to every email from Email by Zapier: Visit this link to stop these emails: … It cannot be removed on that action; use Gmail or Outlook as the action if that matters.
- The trigger subscription lasts one year. Crisphive gives the Zapier subscription a 365-day signing secret. The Owner and Administrators get an email 7 days before it ends. Turning the Zap off and on again renews it.
- Test records are not filtered by state. Test trigger may show jobs that are not in the state the event names. The real event arrives only after you publish the Zap.
Then set the connection to last a year. A new connection lasts 90 days. So that Zapier does not stop on that day, the Owner sets it to 365 days right after connecting. Settings → Developer → MCP connections (crisphive.com/app/settings/developer/mcp-servers) lists every app connected by signing in to Crisphive, not only AI apps, so Zapier appears there.
In the Crisphive dashboard go to Settings → Developer → MCP connections and find the Zapier row.
Click Set lifetime, enter 365 in Lifetime (days) and click Save. The days count from when Zapier was first authorized, not from today.
What the connection is allowed to do
- Exactly what your role can do — nothing more. Crisphive checks your current role on every request. If an Owner later narrows your role, the connection narrows with it; if you are removed or suspended, it stops working immediately.
- Only one business and one environment — the business and the sandbox/live environment you were in when you approved.
- Only what this app uses. The app reads job types, reads and books jobs, looks up customers, and creates and deletes its own webhook subscriptions. It never sees prices (Crisphive stores none) and cannot change your settings.
- It expires. A connection lasts 90 days from approval by default (1–365 days with Set lifetime under Settings → Developer → MCP connections), and also stops if it is not used for 30 days. The Owner and Administrators are emailed 14 days before the 90-day limit. To renew, reconnect in Zapier (sign in and approve again). See Go live.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Sign in fails, or the trigger cannot be turned on (403) | You are not the Owner. | Ask the Owner, or have them grant the Developer module to your role in Settings → Permissions. |
| Zapier asks you to log in again during setup | Your Zapier session ended. | Log in; the draft is kept. Re-run Test step on the step you were on. |
| Run is Successful but no email arrives | Free and Trial plans send at most 5 emails a day with Email by Zapier, or the email went to spam. | Open the run’s Send Outbound Email step, and check your spam folder. |
| Wrong hour in When | The Formatter step converts to the wrong time zone. | Check To Timezone in the Formatter step; From Timezone stays UTC. |
| A job was booked but nothing ran | The job is not confirmed yet. | A Job Confirmed Zap fires on confirmation. Use New Job to fire at booking. |
Turning the Zap on fails with FORBIDDEN | The connected person lacks Developer access, which every trigger needs. | Have the Owner connect, or ask the Owner to grant the Developer module to your group in Settings → Permissions. |
Turning the Zap on fails with WEBHOOK_EVENT_NOT_PERMITTED (needs permission: customers_view) | Your role cannot read the data that event carries. | Ask the Owner for the permission named in brackets, or connect with an account that has it. |
Turning the Zap on fails with WEBHOOK_LIMIT_REACHED | The business already has 25 active webhook endpoints in this environment. | Turn off Zaps you no longer use, or delete old endpoints in Crisphive → Settings → Developer → Webhooks. |
| The trigger never fires | The event happened in the other environment, the Zap is off, or the subscription was stopped (connection disconnected, connecting member removed or suspended, or 5 failed deliveries in a row). | Make the event in the same environment as the connection; turn the Zap off and on again to re-subscribe. |
| Jobs are booked but you cannot see them | The connection was approved while the dashboard was in the other environment (often sandbox, where new businesses start). | Switch the dashboard to the other environment to find them. To book live, switch to Live and add a new connection. |
Zapier asks you to reconnect, or a step fails with OAUTH_GRANT_EXPIRED | The connection reached its 90-day limit, was unused for 30 days, or was disconnected in Crisphive. | In Zapier, Apps → Crisphive → Reconnect, sign in and Approve. |
PHONE_INVALID | The phone number has no country code or is not a real number. | Add a Formatter → Format Phone Number step and map its Output. |
JOB_REQUEST_INVALID_INPUT | Start is missing, not in YYYY-MM-DDTHH:MM:SS, in the past, or carries an offset that disagrees with your business time zone; or Customer ID is empty and the name, address line, or both phone and email are missing; or the job type is inactive. | Fix the field named in the message. Check Start against your business clock. |
JOB_REQUEST_ADDRESS_REQUIRED | A new customer was sent without City or Postal Code, or Customer ID points at a customer with no address on file. | Map City or Postal Code. For returning customers, leave Customer ID empty and send the address fields. |
JOB_REQUEST_QUOTE_INVALID | The job type has no default duration and Duration is empty, or Duration is 0. | Give the job type a default duration in Settings → Job Types, or fill Duration. |
Confirmed: false with refusal JOB_REQUEST_NO_TECHNICIAN_AVAILABLE | No technician who covers that address and has the skills is free at that time (outside working hours, time off, fully booked). | Nothing to retry: the job waits in the coordinator queue. Schedule it from the dashboard and, if it keeps happening, check working hours and service areas. |
| “Nothing could be found” stops the Zap | No customer has that exact phone number. | Set the search’s “success when nothing is found” option to True, or drop the search (Book Job matches customers itself). |
| The job is booked hours off | A UTC time or a time with a different offset was mapped into Start, or the Formatter time zones were left on the Zapier account default. | Format Start as business-local YYYY-MM-DDTHH:mm:ss with From/To Timezone set to your business zone. |
| Two jobs for one form response | The Zap run was replayed with edited data, or the Zap was duplicated. | Archive the duplicate. Replaying an unchanged run is safe; changing the data makes it a new booking. |
A step fails with INVALID_REQUEST_BODY | A field has the wrong type, for example text in Duration. | Map a whole number into Duration, or leave it empty. |
| Zapier shows “Crisphive rate limit” and retries | More than about 240 requests per minute on one connection. | Zapier retries on its own. Spread large imports over time. |
| You cannot turn on your first Zap | Zapier requires a confirmed email address, and a Zap needs at least one app action (a Formatter step alone does not count). | Confirm your Zapier email; add a real action step. |
Go live
Zapier does not use API keys, so there is no chsk_test_ → chsk_live_ swap. Going live means making a new connection while your dashboard is in Live.
In the dashboard, switch from Rehearsal to Live. If your business has not gone live yet, confirm go-live first (Owner or Administrator).
In any Crisphive step of your Zap, open Account → + Connect a new account, sign in and Approve. Rename it “Crisphive live”.
Change the Account of each Crisphive trigger, search and action to the live connection. Re-pick the Job Type dropdown — sandbox and live have separate job types.
Publish the Zap. Triggers re-subscribe on the live environment; the sandbox subscription is removed when the old version is turned off.
A connection lasts 90 days from approval and stops after 30 days without use. The Owner and Administrators get an email 14 days before the limit; set your own calendar reminder too, then reconnect. Each trigger’s signing secret lasts 365 days; turning the Zap off and on renews it.
Removing access
- In Zapier: turn off the Zaps (this deletes their webhook subscriptions), then delete the connection under Apps → Crisphive.
- In Crisphive: the Owner can disconnect Zapier for everyone under Settings → Developer → MCP connections (
/app/settings/developer/mcp-servers). Its tokens stop working and the webhooks it created are disabled. - Automatically: removing or suspending the member who connected Zapier stops the connection and the triggers they turned on.
Related guides and reference
- Automation platforms overview — what every automation integration shares
- Make — the same booking and triggers in Make scenarios
- n8n — the verified Crisphive node on n8n Cloud or self-hosted, plus n8n AI Agents
- Webhooks reference — events, signatures and retries
- Book and confirm a job — the API call behind every booking step
الأسئلة الشائعة
Is the Crisphive Zapier integration free?
How do I add Crisphive to my Zapier account?
support@crisphive.com and we’ll send you the invite link. Open it, log in to Zapier and click Accept Invite & Build a Zap; Crisphive (1.0.0) then appears in your Zap editor.Do I need an API key for Zapier?
chsk_…) are for n8n, voice agents and your own code.Who in my business can connect Zapier?
job_create and job_manage.How do I test without contacting real customers?
Why did my job not confirm?
What time zone does the start time use?
2026-10-13T10:00:00 for 10 am at your business, with no offset. Times Crisphive sends back (Scheduled At, Completed At) are in UTC.Can a forged request start my Zap?
Crisphive-Signature), and the app drops any delivery whose signature does not match.