Book field jobs by phone with Retell
Mit Ihrem KI-Assistenten einrichten
- Was es ist
- Eine Einrichtungsdatei: diese Retell-Anleitung, umgeschrieben als Anweisungen für ChatGPT, Claude oder einen anderen KI-Chat.
- Wozu
- Ohne sie rät ein KI-Assistent nur, wie man Crisphive mit Retell verbindet – aus einem Gedächtnis, das falsch oder veraltet sein kann. Mit dieser Datei folgt er genau dieser Anleitung und führt Sie Schritt für Schritt: Er fragt, wie weit Sie sind, sagt Ihnen genau, was Sie anklicken müssen, und prüft das Ergebnis mit Ihnen.
- Was drin ist
- Jeder Schritt dieser Seite, mit den aktuellen Bildschirmen, Schaltflächen und Werten
- Regeln für den Assistenten: ein Schritt nach dem anderen, in Rehearsal beginnen, mit dem Test abschließen
- Links zurück zu dieser Seite und zum Crisphive-Support
- Ist es sicher?
- Ja. Es ist reiner Text (Markdown) – kein Programm, nichts zu installieren, keine Schlüssel. Mit „Vorschau“ lesen Sie sie im Browser, bevor Sie etwas speichern.
Die Datei ist auf Englisch. Fügen Sie niemals einen API-Schlüssel oder ein Passwort in den Chat ein.
By the end of this guide your Retell agent will answer a call, find the caller in Crisphive, and book and confirm a technician visit before hanging up.
If a label 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 (listening, the AI model, speaking). Crisphive handles the scheduling: customers, technicians, skills, working hours and service areas. You connect them by giving Retell 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 (look up a customer, book a job). Crisphive’s voice one is https://api.crisphive.com/mcp/voice. In Retell you add it under the agent’s MCPs. |
| API key | A long password that lets the agent act for your business. It starts with chsk_test_ (practice data) or chsk_live_ (your real business), and Crisphive shows it once. In Retell it goes into a header of the MCP. |
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 4); 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. |
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 (sign in at dashboard.retellai.com; Google sign-in works). A new account starts on a free trial, and the typed test in Step 6 works without a card. Calls are billed by Retell, so check its pricing for your plan.
- A computer with a modern browser. A microphone is only needed if you also test by voice; a phone number only to go live.
- 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.
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.
Step 1 — Create the Crisphive API key
The key tells Crisphive which business the agent works for and what it may do. You create a test key now and a live key when you go live (see Go live).
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.
Schritt 1 von 6In Settings → Developer → API Keys, click Create new API key. Keep Key type on Secret — never Publishable.
Alle Schritte
- 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 the 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, answer “How large is your call center team?” and click Continue. You can Skip “How did you hear about us?”.
The next screen, Conductor, offers to “generate a ready-to-deploy voice agent” from your website. Click Skip: a generated agent carries its own prompt, which does not follow the booking rules.
In the left navigation click Agents, open the Create an Agent dropdown and choose Voice Agent.
In the Create agent dialog, Conversational flow is selected by default — switch the type to Single prompt.
Choose the Build from scratch card (“Start with a blank agent”), not a template or Generate from prompt — their instructions would conflict with the booking rules. Click Create agent.
Schritt 1 von 4In Create your workspace, enter a name and choose Business, then Continue. Skip the Conductor screen.
Alle Schritte
- In Create your workspace, enter a name and choose Business, then Continue. Skip the Conductor screen.
- In Agents, open the Create an Agent dropdown and choose Voice 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 shows the agent’s name, a version (V0) and the buttons Test, Conductor and Publish at the top. Below them a row holds the model, the voice and the language; then a large prompt box and the Welcome Message. The right column holds Functions, Knowledge Base & Memory, Speech settings and further down MCPs; the test panel (Test Audio / Test LLM) is on the far right. Changes save automatically (“Auto saved at …”), but callers only get them after you publish.
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.
Welcome Message starts on User speaks first. Change it to AI speaks first.
A second dropdown appears, set to Dynamic message. Choose Custom message and paste the greeting below into the box that appears, with your business name in place of [Business name]. Leave Pause Before Speaking at 0s.
A new agent uses GPT 5.6 Terra, the voice Cimo and English (US). Keep them for your first practice call; whatever you change later, run the practice call again before going live.
Phone booking agent prompt
- Was es ist
- The instructions you paste into your voice agent: how it answers a call, finds the caller in Crisphive, offers open times and books and confirms the visit.
- Wozu
- It is the prompt the Retell, Vapi and ElevenLabs guides were tested with, already written around the Crisphive tools and the order a phone booking needs. You fill in your business details and paste it — no prompt to write yourself.
- Was drin ist
- Who the agent is — your business name, city and timezone; it books service visits with the Crisphive tools and speaks English
- How to handle a call — nine steps: phone number (read back), who is calling, service address, the problem, when, text messages, book, result, close
- Calls that are not a new booking — business questions, prices, existing bookings, complaints, taking a message, wrong numbers
- Errors and Safety — what to say when a time is refused or Crisphive fails, and the emergency rule (leave the building, call 911)
- Things you do not do and Style — no prices, no changes to existing bookings, short sentences, one question at a time
- Ist es sicher?
- Yes. It is plain text — no program code and no API key. Your key goes into the platform’s connection settings, never into the prompt. Replace every
[Business name](in the prompt and the first message),[city](for example “Ottawa, Canada”) and[timezone]— your business’s IANA timezone, for exampleAmerica/Toronto.[timezone]appears three times: in the first line and twice in step 5.
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.Schritt 1 von 3Paste the Crisphive prompt into the prompt box and fill in your business name, city and timezone.
Alle Schritte
- Paste the Crisphive prompt into the prompt box and fill in your business name, city and timezone.
- Change Welcome Message from User speaks first to AI speaks first.
- Switch Dynamic message to Custom message, and paste the greeting.
Step 4 — Connect the agent to Crisphive
In the right column of the agent page open MCPs (“Enable your agent with capabilities of MCPs”) and click Add MCP. The Add MCP dialog opens.
MCP name: crisphive. URL: https://api.crisphive.com/mcp/voice. The URL field is masked like a password; the eye icon shows what you typed.
Change the default 10000 to 20000 (20 seconds). Retell does not retry a failed call, so leave Crisphive room on a busy moment.
Under Headers click New key value pair. 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. The MCP card crisphive now shows Tools and an Add Tools button.
Schritt 1 von 5In the agent’s right column, open MCPs and click Add MCP.
Alle Schritte
- In the agent’s right column, open MCPs and click Add MCP.
- Set MCP name to crisphive and URL to https://api.crisphive.com/mcp/voice.
- Change Timeout (ms) from 10000 to 20000.
- Under Headers, click New key value pair and enter the key Authorization.
- Set its value to Bearer, one space, then your chsk_test_ key — typed in full. Then click Save.
On the crisphive MCP card click Add Tools. In the Add Tool dialog, Tool Access Scope lists the ten Crisphive voice tools and takes one at a time, so open the dialog three times — once per tool below. Do not add the others, 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.
Under During Execution Feedback, tick Talk While Waiting. Choose Static Sentence (not Prompt) and type the sentence from the table, so the caller hears something while Crisphive answers. Leave Play typing sound unticked.
Talk After Action Completed is ticked by default — keep it, then save. Repeat for the next tool.
Schritt 1 von 3On the crisphive MCP click Add Tools and select listCustomers. Tick Talk While Waiting and enter the Static Sentence “One moment while I look that up.”.
Alle Schritte
- On the crisphive MCP click Add Tools and select listCustomers. Tick Talk While Waiting and enter the Static Sentence “One moment while I look that up.”.
- Add Tools again and select listJobRequestBookingWindows, with the Static Sentence “One moment while I check the schedule.”.
- Add Tools again and select bookAndConfirmJobRequest, with the Static Sentence “One moment while I book that for you.”.
The values to copy:
MCP 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 Tools, one at a time — Talk While Waiting → Static Sentence): 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 5 — Publish
When all three tools are listed under the MCP, click Publish at the top. In the dialog, Version Name and Version Description are optional; click Publish.
Step 6 — Test it
In the test panel on the right of the agent page, open Test LLM and choose Manual Chat (“Manually chat with the agent”). It worked on a free trial without a card; Retell shows its price per message on the card. The agent sends the greeting; you type the caller’s side. Use a made-up number in the 555 range of a real area code and an address inside one of your Crisphive service areas. 613-555-01xx numbers are reserved for fiction, and Crisphive never sends texts or emails to 555 numbers or to example.com addresses.
This is what our test chat looked like (the number belonged to a customer already in our Rehearsal data):
| Caller typed | Agent answered |
|---|---|
| 613 555 0188 | Six one three, five five five, zero one eight eight. Is that right? |
| Yes | One moment while I look that up. Then Am I speaking with Sam Tremblay? |
| Yes | Asks for the address, including the street number, city and postal code. |
| 300 Bank Street, Ottawa, K2P 1X8 | Reads the address back, then asks what needs doing. |
| Loud furnace noise | Asks which day and time suit you. |
| Next Friday morning around 10 | One moment while I check the schedule. Then offers Friday, October 16th at 10 am. |
| Yes | Asks whether it may send text message updates about the visit. |
| Yes | Reads back the whole summary — name, address, problem and time. |
| Yes, book it | One moment while I book that for you. Then Your visit is booked for Friday, October 16th at 10 in the morning … Your reference is R-E-Q, C-A, K-R-V-F-G-N-9-B. |
To hear the agent, open Test Audio instead, click Run Test and allow the browser to use your microphone. Run a spoken test before going live: a voice call behaves differently from a typed one (numbers and names are heard, not read).
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. |
Check the result
Each Crisphive step shows in the chat as Tool called : name and Tool response : name, with a Debug link on every turn — the place to look when something goes wrong.
Success: the agent reads back the date, time and address, and only then says you are booked. In the Crisphive dashboard (still in Rehearsal), Bookings shows the new job (REQ-CA-…) with status Confirmed, the customer, the address, the day and time, and an assigned technician.
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.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Tool Access Scope in Add Tool stays empty or 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 Tools. |
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 waits in silence when the call starts | Welcome Message is still on User speaks first (the default). | Choose AI speaks first, then Custom message, paste the greeting and publish. |
| The agent ignores the booking rules | The agent was made by Conductor, Generate from prompt or a template, or the Crisphive prompt was changed. | Replace the whole prompt with the Crisphive prompt and publish again. |
| The agent has the prompt but never calls Crisphive | A tool was not added with Add Tools, 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. |
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.
What it costs
- Crisphive: jobs booked by the agent count toward your Crisphive plan like any other job. The connection itself needs no add-on.
- Retell: calls are billed by Retell, so check its pricing for your plan. A new account starts on a free trial; the typed Manual Chat test worked on it without a card, and Retell shows its price per message on the card.
- Phone line: numbers and call minutes are paid to Retell or your phone provider, not to Crisphive.
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 Tools.Can I test the booking without a phone number or a card?
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.