ja
このガイドはまだお使いの言語に翻訳されていません。英語版を表示しています。

Book field jobs by phone with Retell

AI アシスタントで設定する

内容
セットアップファイル:この Retell ガイドを ChatGPT、Claude などの AI チャット向けの指示に書き直したものです。
使う理由
ファイルがないと、AI アシスタントは Crisphive と Retell の接続方法を記憶から推測するだけで、その記憶は誤っていたり古かったりします。このファイルがあれば、このガイドどおりに一歩ずつ案内し、進み具合を確認し、どこをクリックするかを正確に伝え、結果を一緒に確認します。
含まれるもの
  • このページのすべての手順(現在の画面、ボタン、入力値)
  • アシスタント向けのルール:一度に一手順、Rehearsal から始め、最後にテストする
  • このページと Crisphive サポートへのリンク
安全ですか?
はい。プレーンテキスト(Markdown)で、プログラムではなく、インストールも不要で、キーも含みません。保存する前に「プレビュー」でブラウザで読めます。

ファイルは英語です。API キーやパスワードをチャットに貼り付けないでください。

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

WordWhat it means in plain language
AgentRetell’s name for the AI that answers the phone.
MCP serverA 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 keyA 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.

ToolWhat 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 …?”.
bookAndConfirmJobRequestCreate, size and confirm the job at the chosen time — one call.
listJobRequestBookingWindowsWhich days and parts of the day are open.
listMatchingSlotsExact start times for a job already created (step-by-step flow).
listJobTypesMatch the caller’s problem to one of your job types.
getJobRequestReads 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, confirmJobRequestThe 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 405 on 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).

1
Switch to Rehearsal

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.

2
Open API Keys

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.

3
Choose Secret and name the key

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.

4
Choose how long it lasts

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.

5
Restrict it to booking

Under Scopes choose Restricted and select customers_view, customers_manage, job_view, job_create and job_manage. Nothing else is needed for booking.

6
Create and copy

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.

ステップ 1 / 6In Settings → Developer → API Keys, click Create new API key. Keep Key type on Secret — never Publishable.

すべてのステップ
  1. In Settings → Developer → API Keys, click Create new API key. Keep Key type on Secret — never Publishable.
  2. Type the name Retell voice agent so you recognise the key later.
  3. Keep Expires in (days) on 30 days for a test key. You can choose up to 365 days.
  4. Under Scopes choose Restricted and select customers_view, customers_manage, job_view, job_create, job_manage.
  5. Click Create API key.
  6. Click Copy. The key starts with chsk_test_ and is never shown again. Then click Done.

Step 2 — Create the agent

1
Create your workspace

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?”.

2
Skip Conductor

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.

3
Create a voice agent

In the left navigation click Agents, open the Create an Agent dropdown and choose Voice Agent.

4
Choose Single prompt

In the Create agent dialog, Conversational flow is selected by default — switch the type to Single prompt.

5
Start from scratch

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.

ステップ 1 / 4In Create your workspace, enter a name and choose Business, then Continue. Skip the Conductor screen.

すべてのステップ
  1. In Create your workspace, enter a name and choose Business, then Continue. Skip the Conductor screen.
  2. In Agents, open the Create an Agent dropdown and choose Voice Agent.
  3. Switch the type from Conversational flow to Single prompt.
  4. 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.

1
Paste the prompt

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.

2
Let the agent speak first

Welcome Message starts on User speaks first. Change it to AI speaks first.

3
Set a custom greeting

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.

4
Keep the defaults for the first test

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

内容
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.
使う理由
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.
含まれるもの
  • 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
安全ですか?
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 example America/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?
Replace [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.

ステップ 1 / 3Paste the Crisphive prompt into the prompt box and fill in your business name, city and timezone.

すべてのステップ
  1. Paste the Crisphive prompt into the prompt box and fill in your business name, city and timezone.
  2. Change Welcome Message from User speaks first to AI speaks first.
  3. Switch Dynamic message to Custom message, and paste the greeting.

Step 4 — Connect the agent to Crisphive

1
Open Add MCP

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.

2
MCP name and URL

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.

3
Timeout (ms)

Change the default 10000 to 20000 (20 seconds). Retell does not retry a failed call, so leave Crisphive room on a busy moment.

4
Headers

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.

5
Save

Leave Query Parameters empty and click Save. The MCP card crisphive now shows Tools and an Add Tools button.

ステップ 1 / 5In the agent’s right column, open MCPs and click Add MCP.

すべてのステップ
  1. In the agent’s right column, open MCPs and click Add MCP.
  2. Set MCP name to crisphive and URL to https://api.crisphive.com/mcp/voice.
  3. Change Timeout (ms) from 10000 to 20000.
  4. Under Headers, click New key value pair and enter the key Authorization.
  5. 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 ScopeStatic 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.”
1
Pick the tool

In Tool Access Scope select the tool. Leave Store Fields as Variables empty.

2
Talk While Waiting

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.

3
Talk After Action Completed

Talk After Action Completed is ticked by default — keep it, then save. Repeat for the next tool.

ステップ 1 / 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.”.

すべてのステップ
  1. 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.”.
  2. Add Tools again and select listJobRequestBookingWindows, with the Static Sentence “One moment while I check the schedule.”.
  3. 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

1
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 typedAgent answered
613 555 0188Six one three, five five five, zero one eight eight. Is that right?
YesOne moment while I look that up. Then Am I speaking with Sam Tremblay?
YesAsks for the address, including the street number, city and postal code.
300 Bank Street, Ottawa, K2P 1X8Reads the address back, then asks what needs doing.
Loud furnace noiseAsks which day and time suit you.
Next Friday morning around 10One moment while I check the schedule. Then offers Friday, October 16th at 10 am.
YesAsks whether it may send text message updates about the visit.
YesReads back the whole summary — name, address, problem and time.
Yes, book itOne 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:

ScenarioWhat 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" }
    }
  }
}
Do not add a fixed 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

SymptomCauseFix
Tool Access Scope in Add Tool stays empty or loading, or every Crisphive call failsCrisphive 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_EXPIREDThe 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 wrongThe 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 logsNormal: Retell lists tools with POST; Crisphive does not offer SSE.Nothing to fix.
There is no prompt box, only a flow editorThe 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 startsWelcome 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 rulesThe 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 CrisphiveA 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 upRetell 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) offThe 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_INSUFFICIENTThe 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 addressThe 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 confirmedCrisphive 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_AVAILABLENobody 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 wrongSpeech-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_INVALIDThe 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 numberSpeech-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_durationThe 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 messageCrisphive 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 jobA fixed Idempotency-Key header is set on the function.Remove that header.

Go live

1
Prepare live data

Switch the Crisphive dashboard to Live; check job type durations, technician hours, skills and service areas.

2
Create a live key

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.

3
Swap the header

Edit the crisphive MCP in Retell, set the header value to Bearer chsk_live_…, press Update and Publish the agent.

4
Connect a phone number

See Connect a phone number below.

5
Place one real test call

Book a visit for yourself, check it on the live board, then cancel it.

To stop the agent at once, revoke its key in Crisphive (Settings → Developer → API Keys → Revoke access).

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:

1
A number on Retell

Retell sells US and Canadian phone numbers. Assign the number to the agent as the agent that answers incoming calls.

2
Keep your business number and forward 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.

3
Connect your phone system

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 asksWhat the agent does
Opening hours, areas served, services offeredAnswers 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 estimateSays 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, cancellingCannot 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 spamSays the line is for booking service visits and ends the call politely.
Gas smell, smoke, fire, sparking, flooding near electricity, an injuryTells 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.

1
Add the transfer tool

In Retell, add a Transfer Call function to the agent.

2
Set where calls go

Set the destination to your office or coordinator phone number.

3
Leave the prompt as it is

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.

Outside office hours nobody answers a transferred call, so the agent should take a message instead. Add your office hours to the prompt, for example under “Calls that are not a new booking”: 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.

A message the agent takes is not stored in Crisphive today: only bookings reach Crisphive. Set this up so that no call is lost.
1
Capture the details of every call

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.

2
Catch the summary with an automation

In Zapier, Make or n8n, start a new workflow with a webhook trigger that catches incoming data, and copy its web address.

3
Send it after each call

In Retell, paste that address as the post-call webhook, so Retell sends the call summary there when a call ends.

4
Forward it to your team

Add a step that sends the name, phone number, reason and message as an email or a Slack message to whoever calls customers back.

5
Test it

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.

よくある質問

Can a Retell agent book jobs in Crisphive?
Yes. Add an MCP on the agent with the URL 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?
Yes. In the agent’s test panel open Test LLM and choose Manual Chat: you type the caller’s side and the agent books for real in your practice data. It worked on a free trial without a card.
Do I type “Bearer” in the header value?
Yes. Retell sends the header exactly as typed, so the value is 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?
No. Retell has no OAuth for MCP servers, so you use an API key in a header.
Which kind of Crisphive key do I need?
A Secret key — 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?
Only what its scopes allow. With the five booking scopes it can look up and create customers and book jobs, nothing else.
Does a new caller have to exist in Crisphive first?
No. When the number is not found, the agent asks the caller’s name (and email, if any), and Crisphive creates the customer when the visit is booked. Next time the same number finds the same customer — never a duplicate.
Will Crisphive’s answers fit Retell’s 15,000-character limit?
Yes for voice use. The largest measured answer, reading a job back, is about 6,500 characters; a job with a large crew is bigger.
Why did the agent say the team will call back?
Crisphive returned confirmed: false: the job is saved in your queue, but no technician could take that time. A coordinator schedules it.
Can I use Retell custom functions instead of MCP?
Only as a fallback when MCPs is not available: three tools (create customer, create job, book and confirm) can be custom functions. Caller look-up and open-time tools need MCP.
How do I remove the agent’s access?
Revoke its API key in Crisphive (Settings → Developer → API Keys). Keys also expire on the date you chose.