Book field jobs by phone with Retell
By the end of this guide your Retell agent will find each caller in Crisphive and book and confirm a technician visit during the call.
If something on your screen differs from this guide, follow the meaning of the step and tell us at support@crisphive.com.
No code is needed. Retell handles the voice; Crisphive handles the scheduling — customers, technicians, skills, working hours and service areas. You connect them with one web address and one key, under the agent’s MCPs.
Three words you will meet
| Word | What it means in plain language |
|---|---|
| Agent | Retell’s name for the AI that answers the phone. |
| MCP server | A web address that gives an AI a list of actions it may take. Crisphive’s voice one is https://api.crisphive.com/mcp/voice. In Retell you add it under MCPs. |
| API key | A long password that lets the agent act for your business: chsk_test_ for practice data, chsk_live_ for your real business. Shown once. |
What the agent can do
/mcp/voice gives the agent exactly the tools it needs on a phone call, which keeps each turn fast. In Retell you pick the three tools the prompt uses (Step 5); the others are there if you write your own flow.
| Tool | What the agent uses it for |
|---|---|
listCustomers (by phone) | Find the caller by the number they read out and confirmed; ask a returning customer “Am I speaking with …?”. |
bookAndConfirmJobRequest | Create, size and confirm the job at the chosen time — one call. |
listJobRequestBookingWindows | Which days and parts of the day are open. |
listMatchingSlots | Exact start times for a job already created (step-by-step flow). |
listJobTypes | Match the caller’s problem to one of your job types. |
getJobRequest | Reads one job by its id. Not used by this prompt: questions about an existing booking go to a person (see Calls that are not bookings). |
createCustomer, createJobRequest, quoteJobRequest, confirmJobRequest | The same booking in separate steps. |
Retell facts that shape the setup
- Header authentication only. Retell has no OAuth sign-in for MCP servers, so you type the API key into a header — including the word Bearer, which Retell does not add for you.
- No automatic retries. If a tool call fails, Retell does not try again; the prompt tells the agent to apologise and say the team will call back. Give Crisphive time with a 20-second timeout.
- Tools are added one at a time. Each Crisphive tool is added with its own Add Tool dialog.
- Tool answers are capped at 15,000 characters. Crisphive’s voice answers fit: the largest measured,
getJobRequest, is about 6,500 characters (a job with a crew of several technicians is larger). - Retell reads the tool list with POST requests. If your IT team watches the logs, a
405on a GET request is normal: Crisphive does not offer SSE.
Before you start
- A Crisphive account where you are the Owner, or have Developer access (needed to create API keys; by default only the Owner has it).
- A Retell account (retellai.com). Calls are billed by Retell; check its pricing for your plan.
- A computer with a microphone for test calls in the browser.
- A default duration on every job type the agent may book (Crisphive: Settings → Job Types). The default type “General” already has one.
- About 30 minutes.
Step 1 — Create the Crisphive API key
In the left sidebar of the Crisphive dashboard, click Rehearsal in the Rehearsal | Live switch, then click Switch. Rehearsal is Crisphive’s sandbox: isolated test data, and no real customer or technician is ever texted or emailed. A key created while you are in Rehearsal starts with chsk_test_ and only ever touches the test data.
Go to Settings → Developer → API Keys (crisphive.com/app/settings/developer/api-keys) and click Create new API key. Creating keys needs Developer access, which by default only the Owner has.
Key type: Secret. Never Publishable — a publishable chpk_ key is only for the booking widget on your website and is refused everywhere else. Name: Retell voice agent.
In Expires in (days) keep 30 days for a test key. Keys always expire: 30 days by default, anything from 1 to 365 days chosen when you create the key. The Owner and Administrators are emailed 7 days before a key expires.
Under Scopes choose Restricted and select customers_view, customers_manage, job_view, job_create and job_manage. Nothing else is needed for booking.
Click Create API key, then Copy, then Done. The full key is shown only once — paste it into your password manager. If you lose it, create a new key and revoke the old one.
Step 1 of 6In Settings → Developer → API Keys, click Create new API key. Keep Key type on Secret — never Publishable.
All steps
- In Settings → Developer → API Keys, click Create new API key. Keep Key type on Secret — never Publishable.
- Type the name Retell voice agent so you recognise the key later.
- Keep Expires in (days) on 30 days for a test key. You can choose up to 365 days.
- Under Scopes choose Restricted and select customers_view, customers_manage, job_view, job_create, job_manage.
- Click Create API key.
- Click Copy. The key starts with chsk_test_ and is never shown again. Then click Done.
Step 2 — Create a Single prompt agent
On a new Retell account, the Create your workspace screen asks for a Workspace name and “What best describes you?” (Business, Agency, Developer, Other). Choose Business.
Open All Agents and click Create an Agent.
In the Create agent dialog, Conversational flow is selected by default — switch the type to Single prompt.
Under Templates choose Build from scratch (a template’s instructions would conflict with the booking rules), then click Create agent.
Step 1 of 4In Create your workspace, enter a name and choose Business.
All steps
- In Create your workspace, enter a name and choose Business.
- In All Agents, click Create an Agent.
- Switch the type from Conversational flow to Single prompt.
- Choose Build from scratch, then click Create agent.
Step 3 — Write the agent’s instructions
The agent page has the model selector, the voice and the language at the top, a large prompt box, and the Welcome Message below it. The right column holds Functions, Knowledge base & memory, Speech settings and, further down, MCPs. Test and Publish are at the top.
Paste the prompt below into the prompt box. Replace every [Business name] (in the prompt and the first message), [city] (for example “Ottawa, Canada”) and [timezone] — your business’s IANA timezone, for example America/Toronto. [timezone] appears three times: in the first line and twice in step 5. The timezone matters most: Crisphive reads every time as your business’s local clock.
Under Welcome Message choose AI speaks first and Custom message, and paste the greeting in the second box, with your business name in place of [Business name].
Keep the default model in the model selector at the top, or pick another. Whichever model you choose, run the practice call below before going live.
You are the phone booking assistant for [Business name], a field operations business serving [city]. The business timezone is [timezone]. You book service visits for callers using the Crisphive tools. You speak English. ## How to handle a call 1. Phone number - Ask for the phone number they are calling from. - Read it back digit by digit and get a clear yes before you use it. If they correct you, read the corrected number back again. - Look the caller up with listCustomers using the phone filter, in E.164 format: +1 followed by the 10 digits, e.g. +16135550142. - If the tool returns PHONE_INVALID, tell the caller the number didn't come through, ask them to repeat it, read it back, and try again. Do not end the call over this. 2. Who is calling - If a customer is found, ask "Am I speaking with <name>?" If yes, use that name. If no, treat them as a new caller. - If no customer is found, ask for their full name, spell it back letter by letter, and get a yes. Then ask for an email address if they have one (optional), and spell it back. 3. Service address (always, even for a known customer) - Ask for the address of THIS visit: street number and name, unit if any, city, and postal code. - Read the whole address back and get a yes. 4. The problem - Ask what needs doing, in one or two sentences. This becomes the job description. Do not diagnose or promise a fix. 5. When - Ask which day and time of day they prefer. Work out real dates from today's date in [timezone]; never offer a time in the past. - Call listJobRequestBookingWindows with x_timezone set to [timezone] to see which days and periods are open. - Offer at most three concrete options (for example "Tuesday at 9 in the morning or Wednesday at 1 in the afternoon"). Never invent availability. 6. Text messages - Ask: "Can we send you text message updates about this visit?" Set sms_opt_in to true only if they clearly say yes. If they say no or are unsure, leave it out. 7. Book - Before booking, sum up in one sentence: name, address, problem, and the chosen time, and get a yes. - Book with bookAndConfirmJobRequest, once. Send: - customer: full_name and phone (plus email if given, plus sms_opt_in only if they agreed) - address: line, line2 if there is a unit, city, postal_code, country "CA" - description: the problem in their words - scheduled_at: the business's local wall clock with no offset, e.g. 2026-10-06T09:00:00 - idempotency_key: a unique text you create for this booking - Never send customer_id. Crisphive matches an existing customer by phone, and this makes sure the visit uses the address the caller just gave. - If the tool timed out or gave no answer, resend the exact same request with the SAME idempotency_key. - If you change anything in the request (for example after fixing the time or the address), use a NEW idempotency_key. 8. Result - If "confirmed" is true: say the visit is booked and read back the day, date, time and address. You may give the booking reference (short_code), read slowly. - If "confirmed" is false: say "I've saved your request. Our team will call you back shortly to confirm the exact time." Do not book again and do not promise a time. 9. Close - Ask if there is anything else about this visit, thank them, and end the call. ## Calls that are not a new booking - Questions about the business (opening hours, areas served, services offered): answer only from information you have been given. If you do not know, say so and offer to take a message. Never guess. - Price questions: say the team will discuss pricing, then offer to book a visit or take a message. - An existing booking (when the technician is coming, changing the time, cancelling): you cannot look up or change existing bookings. If you can transfer calls, offer to transfer the caller to the team; otherwise take a message. - A complaint, or the caller asks for a person: transfer the call if you can; otherwise take a message. - Taking a message: get their name, their phone number (read it back), and what they need in one sentence. Tell them the team will call them back, then end the call politely. - Wrong numbers, sales calls and spam: say politely that this line is for booking service visits and end the call. ## Errors - If the chosen time is refused as invalid or in the past, apologise, offer another time, and book again with a NEW idempotency_key. - For any other error_code, apologise briefly, say the team will call them back, and end politely. Never read error codes or technical details aloud. ## Safety - If the caller mentions a gas smell, smoke, fire, sparking, flooding near electricity, or anyone being hurt, tell them to leave the building and call 911 now. Do not book in that situation. ## Things you do not do - Never quote prices or give estimates. Say the team will discuss pricing. - Never change or cancel an existing booking yourself (see "Calls that are not a new booking"). - Never share information about other customers, technicians, or the schedule beyond the times you offer. - Never mention tools, systems, JSON, or that you are looking things up in a database. Say "one moment" while you check. ## Style - This is a phone call: short sentences, one question at a time. - Say numbers, dates and times the way people speak them ("Tuesday the sixth at nine in the morning"). - Be warm and calm. If you did not understand, ask them to repeat.
Thanks for calling [Business name]. I can book a service visit for you. Can I start with the phone number you're calling from?
[timezone] in all three places (the first line and twice in step 5): the agent uses it to understand “tomorrow at 10”. Test with “tomorrow” before going live.Step 1 of 2Paste the Crisphive prompt into the prompt box and fill in your business name, city and timezone.
All steps
- Paste the Crisphive prompt into the prompt box and fill in your business name, city and timezone.
- Under Welcome Message choose AI speaks first and Custom message, and paste the greeting.
Step 4 — Add Crisphive under MCPs
In the right column of the agent page open MCPs and add one. The Add MCP dialog opens.
The first row holds the name and the URL. Name: crisphive. URL: https://api.crisphive.com/mcp/voice (the URL field is masked; the eye icon shows it).
Change the default 10000 to 20000 (20 seconds). Retell does not retry a failed call, so leave Crisphive room on a busy moment.
Add one header: key Authorization, value Bearer chsk_test_… typed in full — the word Bearer, exactly one space, your key, and no space at the end. Retell does not add “Bearer” for you.
Leave Query Parameters empty and click Save (or Update when you edit it later).
Step 1 of 5In the agent’s right column, open MCPs and add one.
All steps
- In the agent’s right column, open MCPs and add one.
- In the first row, name it crisphive and enter the URL https://api.crisphive.com/mcp/voice.
- Change Timeout (ms) from 10000 to 20000.
- Under Headers, add the key Authorization.
- Set its value to Bearer, one space, then your chsk_test_ key — typed in full. Then save.
Step 5 — Add the three tools
Under the crisphive MCP click Add Tool. Tool Access Scope takes one tool at a time, so open the dialog three times — once per tool below. Do not add other tools such as confirmJobRequest: the prompt does not use them.
| Tool Access Scope | Static Sentence (Talk While Waiting) |
|---|---|
listCustomers | “One moment while I look that up.” |
listJobRequestBookingWindows | “One moment while I check the schedule.” |
bookAndConfirmJobRequest | “One moment while I book that for you.” |
In Tool Access Scope select the tool. Leave Store Fields as Variables empty.
Turn Talk While Waiting on, choose Static Sentence and enter the sentence from the table, so the caller hears something while Crisphive answers. Leave the typing sound off.
Keep Talk After Action Completed on, then save. Repeat for the next tool.
When all three tools are listed under the MCP, click Publish.
Step 1 of 3Under the crisphive MCP click Add Tool and select listCustomers. Turn Talk While Waiting on with the Static Sentence “One moment while I look that up.”.
All steps
- Under the crisphive MCP click Add Tool and select listCustomers. Turn Talk While Waiting on with the Static Sentence “One moment while I look that up.”.
- Add Tool again and select listJobRequestBookingWindows, with the Static Sentence “One moment while I check the schedule.”.
- Add Tool again and select bookAndConfirmJobRequest, with the Static Sentence “One moment while I book that for you.”.
The values to copy:
Name: crisphive URL: https://api.crisphive.com/mcp/voice Timeout (ms): 20000 Headers: Authorization Bearer chsk_test_… (chsk_live_… when you go live) Query Parameters: (none) Tools (Add Tool, one at a time): listCustomers “One moment while I look that up.” listJobRequestBookingWindows “One moment while I check the schedule.” bookAndConfirmJobRequest “One moment while I book that for you.”
Step 6 — Test it with a practice call
On the agent page open Test Audio (next to Test LLM), click Run Test and allow the browser to use your microphone. Play the caller using these made-up details — they are safe: 613-555-01xx numbers are reserved for fiction, and Crisphive never sends texts or emails to 555 numbers or to example.com addresses.
| You say | What should happen |
|---|---|
| “My number is 613 555 0177.” | It reads the number back digit by digit. Say “yes”, and it looks you up with +16135550177. In a fresh Rehearsal environment you are not found, so it asks for your name. |
| “Alex Martin. Email alex dot martin at example dot com.” | It spells the name back letter by letter (“A-L-E-X M-A-R-T-I-N?”), then the email. Confirm each. |
| “145 Laurier Avenue West, Ottawa, K1P 5J3.” | It reads the whole address back. Confirm. |
| “My furnace stopped heating.” | This becomes the job description. |
| “Monday morning, around ten.” | It checks real availability and offers at most three open times. |
| When it asks “Can we send you text message updates about this visit?”, answer “No.” | No SMS consent is recorded. (Answer “yes” on another test to see consent recorded.) |
| “Yes.” (to its one-sentence summary) | Before booking it sums up your name, address, problem and time and waits for your yes. Then it books once. |
Success: the agent reads back the date, time and address, and only then says you are booked. The Crisphive dashboard (still in Rehearsal) shows the job with status Confirmed (opened, its window is titled Booking Confirmed), the address 145 Laurier Avenue West, Ottawa and an assigned technician, and Customers lists Alex Martin once. Retell’s call history shows each tool call; a good booking answer contains "confirmed": true.
More calls worth trying before you go live:
| Scenario | What should happen |
|---|---|
| A new caller. Call from a number Crisphive does not know (in Rehearsal, any other 613-555-01xx number, for example 613 555 0188). | The agent finds no customer, so it asks for your full name and spells it back, then asks for an email (optional) and spells it back. You do not create the customer first: Crisphive creates it automatically when the visit is booked. Call again from the same number and the agent asks “Am I speaking with …?” — Crisphive matched you by phone and never creates a second customer for the same number. |
| A wrong number. Give a number with one wrong digit, and when it is read back say “No, it’s 613 555 0177.” | The agent reads the corrected number back again and only looks it up after your yes. |
| A number that cannot exist. Give one digit too few (“613 555 017”) and say yes to the read-back. | Crisphive answers PHONE_INVALID. The agent says the number didn’t come through, asks you to repeat it, reads it back and tries again — it does not end the call. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| The tool list in Add Tool stays on “Loading…”, or every Crisphive call fails | Crisphive answered 401: the header value is wrong (missing Bearer , lowercase bearer, two spaces or a trailing space, a publishable or revoked key), or the MCP was edited without pressing Update. | Set the header to exactly Authorization = Bearer chsk_…, press Update, then reopen Add Tool. |
Calls suddenly fail with 401 API_KEY_EXPIRED | The key reached its expiry date. | Create a new key, update the header value, press Update, then revoke the old key. |
| The tool list does not load, and the URL may be wrong | The URL field is masked, so a typo is easy to miss. | Click the eye icon and check it reads exactly https://api.crisphive.com/mcp/voice. |
A 405 on a GET request in the logs | Normal: Retell lists tools with POST; Crisphive does not offer SSE. | Nothing to fix. |
| There is no prompt box, only a flow editor | The agent was created as a Conversational flow (the default type). | Create a new agent and choose Single prompt. |
| The agent has the prompt but never calls Crisphive | A tool was not added with Add Tool, or the agent was not published. | Add listCustomers, listJobRequestBookingWindows and bookAndConfirmJobRequest, then click Publish. |
| A tool call fails once and the agent gives up | Retell does not retry, or the timeout is too short. | Set Timeout (ms) to 20000; the prompt already says the team will call back. |
| Bookings land an hour (or a day) off | The prompt has the wrong timezone, or the agent sent a time with an offset (400 JOB_REQUEST_INVALID_INPUT with data.means_locally). | Replace [timezone] everywhere in the prompt. Times must be local wall clock without an offset, e.g. 2026-10-06T10:00:00. |
A tool answers 403 API_KEY_SCOPE_INSUFFICIENT | The key is restricted and lacks a scope the tool needs (named in data.required_scope). | Edit the key’s scopes in Crisphive (Settings → Developer → API Keys) to include all five booking scopes. |
| The job was created without an address | The agent booked with customer_id for a returning customer whose record has no address. | Use the system prompt unchanged: it always sends customer + address, and Crisphive matches the existing customer by phone. |
| The agent told the caller a time, but the job is not confirmed | Crisphive answered confirmed: false (the job was saved in your queue) and the prompt did not check it. | Keep step 8 of the prompt. Then confirm the job from the dashboard or call the customer. |
confirmed: false with refusal.error_code JOB_REQUEST_NO_TECHNICIAN_AVAILABLE | Nobody who has the skills, covers that address and works at that hour is free. | Check the technicians’ working hours and service areas cover the address. The job waits in the coordinator queue — do not book it again. |
| The customer’s name is spelled wrong | Speech-to-text misheard it. | Keep step 2 of the prompt: the agent spells the name back letter by letter and waits for a yes. |
400 PHONE_INVALID | The number was not sent in international format, or a digit was misheard. | The prompt sends E.164 (+1 then ten digits) and, on PHONE_INVALID, asks the caller to repeat the number, reads it back and tries again (step 1). |
| The agent booked under a wrong number | Speech-to-text misheard a digit, and the number was used without being confirmed. | The prompt reads the number back before looking it up (step 1); make sure that step is in your prompt. |
400 JOB_REQUEST_QUOTE_INVALID with data.reason job_type_has_no_default_duration | The job type the agent picked has no default duration. Nothing was created. | Set a default duration on that job type (Settings → Job Types), or book without a job type (“General” is used). |
| The customer got no text message | Crisphive only texts customers who agreed to SMS, and never texts 555 test numbers. | Expected. Real callers who say yes to texts get them; others get email. |
| Every custom-function booking returns the same old job | A fixed Idempotency-Key header is set on the function. | Remove that header. |
Fallback: custom functions (only if MCPs are unavailable)
MCPs is the way to connect Retell to Crisphive, and it works — we connected it on production. Use custom functions only if your agent has no MCPs section. Only three of the voice tools can be custom functions: createCustomer, createJobRequest and bookAndConfirmJobRequest. Retell never lets the AI fill in a query parameter or a part of the URL, so the tools that need one (listCustomers, listJobTypes, listJobRequestBookingWindows, listMatchingSlots, getJobRequest, and quoteJobRequest and confirmJobRequest, which need the job’s id in the URL) are not possible. The agent can still book, but cannot recognise returning callers or offer open times.
A minimal bookAndConfirmJobRequest function (POST, the Crisphive API, your key in the header):
{
"name": "bookAndConfirmJobRequest",
"description": "Book, schedule and confirm a job in one call at scheduled_at (the business's local time, no offset). Returns confirmed true/false.",
"http": {
"method": "POST",
"url": "https://api.crisphive.com/v1/job-requests/book-and-confirm",
"headers": {
"Authorization": "Bearer chsk_test_…"
}
},
"parameters": {
"type": "object",
"properties": {
"customer": {
"type": "object",
"properties": {
"full_name": { "type": "string" },
"phone": { "type": "string", "description": "E.164, e.g. +16135550177" },
"email": { "type": "string" },
"sms_opt_in": { "type": "boolean" }
}
},
"address": {
"type": "object",
"properties": {
"line": { "type": "string" },
"city": { "type": "string" },
"state": { "type": "string" },
"postal_code": { "type": "string" },
"country": { "type": "string" }
}
},
"scheduled_at": { "type": "string", "description": "e.g. 2026-10-06T10:00:00" },
"description": { "type": "string" },
"job_type_id": { "type": "string" }
}
}
}Idempotency-Key header to a custom function. Crisphive replays the first answer for a repeated key, so a key that never changes would make every later call return the first caller’s booking.If you go this way, remove the listCustomers lookup from step 1 of the prompt (keep the read-back) and the listJobRequestBookingWindows call from step 5, and have the agent ask for a preferred time directly. A time nobody can take comes back as confirmed: false and the job waits in your queue.
Step 7 — Go live
Switch the Crisphive dashboard to Live; check job type durations, technician hours, skills and service areas.
Create a Secret key in live mode (chsk_live_…) with the same five scopes; choose an expiry up to 365 days and set a reminder a week before. Owners and Administrators are also emailed 7 days before.
Edit the crisphive MCP in Retell, set the header value to Bearer chsk_live_…, press Update and Publish the agent.
See Connect a phone number below.
Book a visit for yourself, check it on the live board, then cancel it.
Connect a phone number
Until now you talked to the agent in the browser. It answers real calls only once a phone number is attached to it. There are three ways:
Retell sells US and Canadian phone numbers. Assign the number to the agent as the agent that answers incoming calls.
With your phone provider, forward calls from your existing business number to the agent’s number: always, when nobody answers, when the line is busy, or after hours. A good start is after-hours and missed calls only, so your team still answers during the day.
If your business has its own phone system, connect it over SIP. Retell supports SIP.
Numbers and call minutes are paid to Retell or your phone provider, not to Crisphive. Then call the number from your own phone and book a test visit.
Calls that are not bookings
Not every caller wants a new visit. The prompt already tells the agent what to do with the other calls:
| What the caller asks | What the agent does |
|---|---|
| Opening hours, areas served, services offered | Answers only from information in its prompt. If it does not know, it says so and offers to take a message. Add your opening hours, areas and services to the prompt if you want it to answer these. |
| A price or an estimate | Says the team will discuss pricing, then offers to book a visit or take a message. |
| An existing booking: when the technician is coming, changing the time, cancelling | Cannot look up or change existing bookings. Transfers the call if it has a transfer tool (below); otherwise takes a message. |
| A complaint, or “can I speak to a person?” | Transfers the call if it can; otherwise takes a message. |
| A wrong number, a sales call or spam | Says the line is for booking service visits and ends the call politely. |
| Gas smell, smoke, fire, sparking, flooding near electricity, an injury | Tells the caller to leave the building and call 911. Does not book. |
A message is the caller’s name, phone number (read back) and what they need in one sentence. Two setups make sure these calls reach your team.
Setup 1 — Transfer the call to a person.
In Retell, add a Transfer Call function to the agent.
Set the destination to your office or coordinator phone number.
The prompt already tells the agent when to transfer: a complaint, a caller who asks for a person, and questions about an existing booking. Save and publish the agent again.
Transfer calls only Monday to Friday, 8 am to 5 pm. Outside those hours, take a message.Setup 2 — Get every message to your team.
In the agent’s Post call extraction settings, add four fields to fill in after each call: the caller’s name, their phone number, the reason for the call and the message.
In Retell, paste that address as the post-call webhook, so Retell sends the call summary there when a call ends.
Add a step that sends the name, phone number, reason and message as an email or a Slack message to whoever calls customers back.
Make a practice call where you only leave a message, and check that it reaches your team.
Related guides and reference
- Voice agents overview — the voice tool set and booking rules
- ElevenLabs — a phone agent that books confirmed visits
- Vapi — a phone assistant with the Crisphive MCP tool
- MCP server reference — every tool, the tool profiles and client setup
- Book and confirm a job — the API call behind every booking step
FAQ
Can a Retell agent book jobs in Crisphive?
https://api.crisphive.com/mcp/voice and an Authorization: Bearer chsk_… header, then add the three tools with Add Tool.Do I type “Bearer” in the header value?
Bearer chsk_… — the word Bearer, one space, the key. (Vapi is the opposite: it adds Bearer itself.)Does Retell support signing in to Crisphive instead of a key?
Which kind of Crisphive key do I need?
chsk_test_ for practice, chsk_live_ for real bookings. Publishable chpk_ keys only work for the website booking widget.What can the agent do with my key?
Does a new caller have to exist in Crisphive first?
Will Crisphive’s answers fit Retell’s 15,000-character limit?
Why did the agent say the team will call back?
confirmed: false: the job is saved in your queue, but no technician could take that time. A coordinator schedules it.