Set up how calls are answered
Sets how the business's numbers answer (the agent's webhook or taking messages), the greeting, voice and hours, and whether messages become tickets.
$0.001 a call
From your agent’s balance. A call that fails costs nothing.
An example
Answer our number yourself during shop hours, Monday to Saturday, and tell callers right away that they're talking to an AI.
Your agent callsphone_setup_assistant$0.001 a call
The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.
{
"greeting": "Hi, you've reached Halverson Cycle & Repair. This is our automated line: how can we help?",
"answer_with": "webhook",
"webhook_url": "https://agent.halversoncycle.example/conecto/phone",
"timezone": "America/Los_Angeles",
"language": "en",
"hours": [
{
"day": "monday",
"start": "10:00",
"end": "19:00"
},
{
"day": "tuesday",
"start": "10:00",
"end": "19:00"
},
{
"day": "wednesday",
"start": "10:00",
"end": "19:00"
},
{
"day": "thursday",
"start": "10:00",
"end": "19:00"
},
{
"day": "friday",
"start": "10:00",
"end": "19:00"
},
{
"day": "saturday",
"start": "10:00",
"end": "16:00"
}
]
}Use it when
Right after renting a number, or when the greeting, hours, language, voice or webhook change.
What it does
Choose how the business's numbers are answered; Conecto hears and speaks, you are the brain. answer_with webhook: each thing a caller says is POSTed to webhook_url (signed with the webhook_secret returned once: X-Conecto-Signature is sha256= the HMAC of the body) with the conversation so far, and you answer {"say": "...", "end_call": false} within about 2.5 seconds (the caller hears "one moment" after that; after 8 seconds the line takes a message instead). answer_with messages: the line takes the caller's message. Either way the whole call reaches you afterwards as a phone.message_left or phone.call_ended event. Only the fields you pass change; the first time pass greeting and timezone. Answered calls cost $0.25 per started minute; each call holds max_call_minutes × $0.25 while it runs.
What comes back
The assistant as set: whether it answers now (and why not), name, greeting, language, voice, how it answers, whether calls open tickets, hours and call limit, and the webhook_secret, shown once when it is made. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
greeting | string | What callers hear right after Conecto's short notice, in the line's language, that the AI call is recorded and transcribed. It must say they reached an automated line or an AI, e.g. "Hi, you've reached Acme. This is our automated line: how can we help?" Taking messages, ask for their message, name and number. 1 to 600 characters. |
answer_with | string | messages (the default) or webhook. One of: messages,webhook. |
webhook_url | string | Your https endpoint for each turn. Up to 500 characters. |
rotate_secret | boolean | Make a new webhook_secret (the old one stops working). Default: false. |
message_ack | string | Taking a message: what the line says after each thing the caller says. Up to 300 characters. |
cant_answer | string | What the line says when your webhook did not answer in time. Up to 300 characters. |
open_tickets | string | messages: each message left opens a help desk ticket with the transcript (or joins the open one the caller has); calls: every call the caller spoke on. $0.01 per ticket opened. Default off. One of: off,messages,calls. |
name | string | The line's name. 1 to 80 characters. |
language | string | The language it speaks. One of: af,ar,hy,as,az,be,bn,bs,bg,ca,ceb,ny,hr,cs,da,nl,en,et,fil,fi,fr,gl,ka,de,el,gu,ha,he,hi,hu,is,id,ga,it,ja,jv,kn,kk,ky,ko,lv,ln,lt,lb,mk,ms,ml,zh,mr,ne,no,ps,fa,pl,pt,pa,ro,ru,sr,sd,sk,sl,so,es,sw,sv,ta,te,th,tr,uk,ur,vi,cy. |
voice | string | A voice id or name from phone_get_assistant. Up to 100 characters. |
timezone | string | IANA time zone of the business, e.g. America/New_York. Needed the first time. Up to 80 characters. |
hours | array of objects | When to answer, in the timezone; empty answers around the clock. Outside these hours callers get a busy signal. Up to 7 items. |
hours[].dayRequired | string | One of: monday,tuesday,wednesday,thursday,friday,saturday,sunday. |
hours[].startRequired | string | Matches ^([01][0-9]|2[0-3]):[0-5][0-9]$. |
hours[].endRequired | string | Matches ^([01][0-9]|2[0-3]):[0-5][0-9]$. |
max_call_minutes | integer | Calls end after this long (default 5). 1 to 10. |
answering | boolean | false pauses answering; true resumes it. |
The call
Over MCP, call phone_setup_assistant on https://api.conecto.chat/mcp/phone. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/phone_setup_assistant \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"greeting":"Hi, you'\''ve reached Halverson Cycle & Repair. This is our automated line: how can we help?","answer_with":"webhook","webhook_url":"https://agent.halversoncycle.example/conecto/phone","timezone":"America/Los_Angeles","language":"en","hours":[{"day":"monday","start":"10:00","end":"19:00"},{"day":"tuesday","start":"10:00","end":"19:00"},{"day":"wednesday","start":"10:00","end":"19:00"},{"day":"thursday","start":"10:00","end":"19:00"},{"day":"friday","start":"10:00","end":"19:00"},{"day":"saturday","start":"10:00","end":"16:00"}]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
greeting_needs_ai_disclosure400 | The greeting does not tell callers they reached an automated line or an AI. | Say so in the greeting, like "This is our automated line". |
timezone_required400 | This is the first setup and timezone is missing. | Send the business's zone, like Europe/Berlin. |
invalid_input400 | The webhook_url is missing, not https or not reachable from the internet, the voice is unknown, or another field is not valid. | Fix what the message names; phone_get_assistant lists the voices. |
phone_unavailable503 | The phone service is not switched on yet, or has no voices right now. | Try again later; nothing was charged. |
More Phone tools
All 8 tools- Find a phone number
phone_search_numbersPhone numbers the business can rent right now, each with the monthly price and a quote to rent it.Free* - Rent a phone number
phone_rent_numberRents a number found by phone_search_numbers; this call pays the first month.Quoted up to $25.00 - Get how calls are answered
phone_get_assistantHow the business's numbers answer, whether they answer right now (and why not), and the voices to choose from.Free* - List phone numbers
phone_list_numbersThe numbers the business rents, with their monthly price and next renewal.Free* - List phone calls
phone_list_callsCalls to and from the business's numbers, newest first: who, when, how long and what it cost, missed ones included.Free* - Get a phone call
phone_get_callOne call with its whole transcript: who said what, and when.Free* - Release a phone number
phone_release_numberGives a number back for good: it stops answering at once and its rent ends.Free
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md