Odile Labs (561) 375-2995Call

Developers · REST API · MCP

Developer tools for AI agents

Three things an AI agent cannot do safely on its own, and what solves each:

  • Reach a business that has no API. Most small businesses only have a phone. Odile Direct finds the business by its phone number and leaves it a message or books a time, in seconds, by MCP or A2A. Lookups are free; with a free developer key, 50 sends per UTC month are free.
  • Stay inside your API. An agent holding your API key can do anything that key allows: repeat a call in a loop, read another customer's data, change something nobody approved. Odile Gate gives each app its own key and a list of the calls it may make, stops an agent repeating the same call, holds a risky write until a person approves it, and logs every call. Free for 3 apps and 10,000 calls a month.
  • Answer the phone. The receptionist API gives your app a real line that answers callers, takes the name, number and need, and texts the owner. Free test line, then $0.25 a minute.

Choosing an agent service? The public read-only get_agent_services MCP tool explains when to use Direct for business communication or Gate for API enforcement, how to connect, and their limits. No sign-in is needed to read the guide. Use Direct cards for supported structured actions, or enable informational business calls below when no card exists.

Gate project admins can read gate_metrics, REST GET /api/projects/<id>/metrics, SDK admin.metrics() or the Gate dashboard: stored-call metrics with partial coverage, duration including upstream wait and separate monthly gateway usage. Free and Pro; reads send no upstream requests or policy changes.

Odile Direct: Lookups, availability and booking cancellation stay free. Each agent identity gets 50 free tasks per UTC calendar month; then a delivered message costs 1 credit and a confirmed booking 5 credits. 1 credit = $0.10. Direct 100: 100 credits for $10; Direct 1,000: 1,000 credits for $90; Direct 10,000: 10,000 credits for $800. Credits never expire; nothing renews. Failed, refused and unconfirmed tasks cost nothing. Existing prepaid dollar balances keep their full cent value; 10 cents of balance equals 1 credit. Price quotes and paying a quoted price are not available. The opt-in voice pilot costs 2.5 credits per answered minute, billed by the second with a 20-second minimum. It reserves a funded 20–600-second cap before dialing; failed and unanswered calls cost zero. It needs account opt-in; free-only connections cannot start voice. A wallet can pay $1.00 in Base USDC per answered call to a business (POST /a2a/v1/x402/call) or per answered test call of its own phone agent, with scores (POST /a2a/v1/x402/test-call); unanswered and failed calls are never charged. Claim a business number free.

POST /a2a/v1/credits/checkout with a pack from direct100c, direct1000, direct10000; GET /a2a/v1/usage reads allowance, balance and charges. Buy an agent key without signup. Existing dollar-pack balances keep their full cent value. Phone minutes and legacy credits are separate.

RapidAPI has separate plans: Odile Direct on RapidAPI Hub includes free lookups and 50 messages a month on Basic, billed by RapidAPI.

Signed in on /mcp, get_direct_usage reads your Direct allowance, prepaid balance and last 20 charged tasks after you approve direct:tasks. It takes no arguments and changes nothing. It is not part of the directory connector.

Direct conversations go both ways: owners reply to the notification text, and your assistant reads get_replies and answers with reply_to_business in the same thread; A2A clients use GetTask and SendMessage.

Packages: LangChain pip install langchain-odile and LlamaIndex pip install llama-index-tools-odile the Vercel AI SDK npm install odile-ai-sdk-tools and self-hosted n8n (community node n8n-nodes-odile) wrap the ten Direct tools of /mcp/direct with the server's own names and schemas; A2A clients read the agent card.

Calls to businesses

When a business has no Direct card, your agent can use call_business to ask for information by phone. Use send_to_business when a card exists. Calls reach eligible business lines in enabled countries or verified SIP claims, weekdays 09:00–17:00 at the business, for at most 600 seconds.

Use get_call_result for progress, summary, transcript and answers with business quotes. When the business asks a question, reply through answer_call_question within 45 seconds. Calls can navigate business phone menus and wait silently on hold within the call cap.

Each call starts by saying it is an AI calling on a named person’s behalf, is informational only and is recorded. No sales, promotion, payments, account access, agreeing to terms or giving card details. If a business says STOP, its opt-out is permanent.

Sign in below to review and enable calls to businesses.

Agent referrals

Agents earn 30% of a referred developer’s paid Direct credit purchases as Direct credits, never cash. Register with POST /a2a/v1/affiliate using your developer key. The developer chooses the referral before their first purchase; self referrals earn nothing.

Save referral code from your referring agent, sign in below, then return here and choose it before your first purchase.

Response redaction on Free and Pro: choose an app’s JSON fields with gate_set_response, REST PUT /api/projects/<id>/apps/<app>/response, SDK admin.setResponse(app, allow), or its dashboard. JSON Pointer paths such as /id and /items/*/name keep only selected fields; selecting a container includes its subtree. Filtering is opt-in, capped at 1 MiB and a 5-second body read. Non-JSON, malformed or oversized replies are withheld; a withheld reply does not reverse a write. Response bodies are inspected only when filtering is enabled and are never stored.

OdileM2M network · Free quickstart · Demo booking challenge · Machine-readable prices. Price quotes and paying a quoted price are not available. The opt-in voice pilot costs 2.5 credits per answered minute, billed by the second with a 20-second minimum. It reserves a funded 20–600-second cap before dialing; failed and unanswered calls cost zero. It needs account opt-in; free-only connections cannot start voice. A wallet can pay $1.00 in Base USDC per answered call to a business (POST /a2a/v1/x402/call) or per answered test call of its own phone agent, with scores (POST /a2a/v1/x402/test-call); unanswered and failed calls are never charged.

Merchant payments (configured deposit pilot): the human approves Stripe Connect Checkout for the business’s configured service deposit. get_direct_payment, with direct:tasks consent, reconciles the caller’s existing task and returns Stripe-verified payment evidence, a receipt when available and separate booking state. It creates no new charge identity; a paid hold may finish its authorized booking. Bank payout status is unknown. Availability requires an enabled pilot, a connected merchant and provider configuration; no payment without human checkout.

Letting an app or an AI agent call your API? Odile Gate puts a key, an allow-list of the calls it may make, a rate limit and an audit log in front of it. Free: 3 apps, 10,000 calls a month. Pro: $29 a month, 25 apps, 1,000,000 calls a month. Before production, use gate_check_setup or the Setup Check dashboard to review current permissions and configuration gaps. It makes no upstream requests or policy changes; it does not verify backend ownership checks. Setup Check guide. Buying for a company? For enterprise teams puts Gate, Direct and the security page on one page.

Sign in below to name your app and buy Direct credits.

Using OpenShell? The native OpenShell v0.1.5 HTTP-request middleware runs beside your OpenShell gateway. It validates the EdDSA extension JWT, checks its sandbox ID against a Gate run bound by your controller, and preflights active run state with GET /g/<id>/_gate/run. Gate remains the sole execution proxy and enforces approvals, idempotency and revocation. Download manifest. The middleware runs in your environment; Gate does not host its gRPC service. Direct Gate bearer clients remain accepted. Compatibility is scoped to v0.1.5; this does not establish universal OpenShell compatibility. One-command OpenShell setup: curl -fsSL https://gate.odilelabs.com/openshell-setup.py | python3 -. Agents call gate_openshell_setup to discover the local installer hash and recipe schema. Requires Python and existing local Docker; default is a Free read-only demo. Custom API routes/scope require owner authorization; revoked grants are not automatically renewed.

A phone number for your AI agent

Give the app or agent you are building a real phone line that answers callers, takes the name, number and what they need, and texts the owner. Hear it now with no account: call (561) 375-2995 and the same receptionist answers for us. Then sign in for a key and make a free test line under any business name in one call; a real line is $0.25 a minute, billed by the second with a 20-second minimum, only for answered calls. It works from the REST API below or from your AI assistant.

curl -X POST https://api.odilelabs.com/v1/test-lines \
  -H "Authorization: Bearer $ODILE_KEY" -H "Content-Type: application/json" \
  -d '{"business_name":"Bay Plumbing","trade":"plumbing"}'

It returns a test number and a code: call, key the code, and the receptionist answers as Bay Plumbing. Keys are made on this page after you sign in.

In Claude Code: claude mcp add --transport http odile https://odilelabs.com/mcp. In Cursor, add {"mcpServers":{"odile":{"url":"https://odilelabs.com/mcp"}}} to .cursor/mcp.json. Then ask it to set up an answering line.

The hosted MCP server at https://odilelabs.com/mcp lists every tool for Direct and After Hours answering lines, including prepaid packs through a Stripe checkout link the customer approves. For one product per connection, use https://odilelabs.com/mcp/direct (Odile Direct only) or https://odilelabs.com/mcp/lines (answering lines only), with the same OAuth sign-in. Odile Formats and the Plate API use https://odilelabs.com/mcp/formats: 10 tools to resize videos and photos, manage media jobs and credits, and estimate a meal photo. Existing clients can still call the moved media tools on /mcp.

Developer phone packs

Pay per resolved conversation: USD 0.49 each, prepaid in packs of 50 (USD 24.50) or 200 (USD 98). A message taken or a booking made counts; everything else is free.

Outcome packs: out50 or out200. A saved message with a real callback number or a confirmed booking counts once per call or web chat, even if both happen. At zero the line keeps answering in message-only mode and texts the owner once where owner texts are enabled (otherwise email). No balance goes below zero; buy another outcome pack to restore bookings.

For a United States business that wants an answering line billed per minute: 40 phone minutes for $10 or 200 phone minutes for $50 ($0.25 a minute).

An agent with a USDC wallet can buy a line without signing in: POST https://api.odilelabs.com/a2a/v1/x402/lines, with the first minute pack paid through x402 (Base or Solana) and the line set up once the payment settles. Outcome packs use Stripe checkout through the signed-in API or assistant flow; x402 does not sell them yet. Owners can also add outcome packs from Billing in their console.

POST /a2a/v1/x402/demo builds a hosted receptionist demo from a business website for $0.50 in USDC, valid for 30 days; payment settles only after the demo is built.

POST /a2a/v1/x402/audit checks mobile speed, AI booking access and website basics for $0.25 in USDC; payment settles only after success. Both tools accept x402 on Base or Solana; resend the same payment header to retrieve the stored result for 30 days.

POST /a2a/v1/x402/arena with {task, context?} runs a judged knockout bracket: 16 contestants answer the same task 16 different ways, 15 judged matches leave one, and it is revised against every attack it survived. $2.00 in USDC on Base or Solana, settling only after a winner exists.

POST /a2a/v1/x402/call makes one informational business call for $1.00 per answered call, up to 240 seconds, paid in USDC on Base only. The wallet payment is verified before dialing and settles only after an answered call; unanswered, voicemail, refused-before-dial and failed calls are never charged. Send {number, business_name, caller_name, callback_number, need, on_behalf_consent: true} after getting the human’s permission. No developer account opt-in is needed. Eligible landlines in enabled countries, verified SIP claims or eligible Odile lines; weekdays 09:00–17:00 local, one call per number per 24 hours, three per wallet per day by default and a global daily cap. AI disclosure comes first; no sales and permanent opt-out. Poll the signed status_url for the result and settlement; keep it private. Or include configuration.pushNotificationConfig with a public HTTPS url and optional token to receive the final A2A Task. The callback configuration is bound to the payment along with the call data. Reuse the same payment and body to retrieve the same task without another call or changing its callback.

Test your AI phone agent: POST /a2a/v1/x402/test-call with {number, scenario, owner_attests: true} costs $1.00 per answered test, up to 180 seconds, Base only; receive the transcript and scenario scores at the signed status_url or configured push callback, retained for 30 days (scores are null if scoring fails). Owner-requested landline/VoIP tests only; mobile, unknown, our own numbers and stop-list numbers are refused. Limit 5 tests per number and 20 per wallet per 24 hours, plus the shared global cap. No answer, busy or failed calls are never charged; repeat the same payment and body for the same job. See the API schema for scenarios and optional language.

Reads are metered: an agent card, /a2a/v1/pricing or an MCP tools/list is free up to 2,000 reads per agent identity (per IP when anonymous) per UTC day; each read above that costs $0.001 in USDC on Base over x402, answered as HTTP 402 with a PAYMENT-REQUIRED header (on MCP, JSON-RPC error -32402). Browsers and search crawlers are never charged; resolve and tasks are unaffected. Current quota and price: the reads block of pricing.json.

Try it free first. POST /v1/test-lines (or the try_answering_line tool) with a business name and trade gives you a shared test number and a 4-digit code: call it, key the code, and an AI receptionist answers as that business. The same receptionist plays in a browser at the hear_url it returns. A code works for 24 hours and 5 calls, 3 test lines a day per account; nothing is booked, sent or charged.

Minute and outcome packs can be bought with an API key, or through an AI assistant you connect to Odile Labs. You do not need to know how the connection works: these are all the steps, in order.

  1. Connect your assistant. Add https://odilelabs.com/mcp to it (how).
  2. Sign in. Your assistant opens an Odile Labs page. Sign in with your Google account. The line, its balance and its calls belong to that account.
  3. Choose what the assistant may do. The next page lists each permission with its own tick box. The two a prepaid phone pack needs start unticked, so nothing is bought or set up unless you tick them: "Create checkout links so you can buy credits, minutes, call packs or resolved conversations. You pay on Stripe's own page; this connection never sees your card." and "Set up an After Hours answering line for your business, prepaid by the minute or resolved conversation, and read its status." Read-only access is always included, and you can reconnect later to change your choices.
  4. Say yes to the terms. Before it sets up a line, the assistant has to show you the terms and wait for your yes.
  5. Pay on Stripe's page. The assistant gives you a checkout link. Open it, check the pack and the price, and pay on Stripe's own page. The assistant never sees your card. Nothing is built until the first pack is paid.
  6. Get your number by email. After payment you are emailed. If your number is ready, the email has it and the code that forwards calls to it on your carrier; if not, the email says it is still being set up. Your assistant can check the line any time: it reports setting up, queued or live, and once the line is live it gives you the number and the forwarding codes.
  7. Forward your calls. Dial the code on your business phone to forward the calls you cannot answer. Every code, and how to test it: forwarding.

What minute lines are charged for

Real answered phone calls cost $0.25 per minute, billed by the second: each call rounds up to the next whole second, with a 20-second minimum. Robocalls, calls from your own numbers or ours, website and widget chats, text messages, and calls whose transcripts cannot be read are not charged. Usage is taken from your seconds balance after the call ends.

When a minute balance reaches zero

For minute lines, the line keeps answering, and each billable second is still charged, so the balance goes below zero. The next pack you buy for the line pays for that usage first; what is left of it becomes your balance.

You are emailed when 5 minutes are left, when the balance reaches zero, and again at 10 minutes below zero. Nothing switches the line off automatically.

To add minutes, use the REST checkout below or ask your assistant to buy another pack for the same line, and pay the same way on Stripe's page. Your assistant can also tell you your balance and which calls were charged.

No AI assistant? Sign in, make an API key below, then set up a line with POST /v1/lines and buy minutes with POST /v1/lines/{id}/minute-packs. The After Hours line is also sold as a monthly plan you sign up for on the website: see pricing.

Connecting

Streamable HTTP. Claude Code, Codex, and anything else that takes a remote MCP URL:

claude mcp add --transport http odile https://odilelabs.com/mcp

For Odile Formats and Plate API meal-photo estimates, connect separately:

claude mcp add --transport http odile-formats https://odilelabs.com/mcp/formats

The profiles share the OAuth sign-in server, but each connection needs its own resource-bound token.

Sign-in is OAuth, discovery is where a client expects it, and registration is dynamic: most clients need nothing from you but the URL. The public tools below answer before you sign in at all.

The directory connector (Claude and ChatGPT)

The connector listed in the Claude and ChatGPT app directories uses https://odilelabs.com/mcp/directory. It has eleven tools for your own account and nothing that buys, signs up or books meetings:

  • Answering line (read only): get_answering_line, get_line_calls, get_line_messages.
  • Odile Formats: get_balance, estimate_media_job, prepare_upload, create_media_job, get_job, unlock_job (credits already in your account, never more than the maximum you set), get_downloads.
  • get_receptionist_benchmark: our published test calls, run by us, and it says so.

You sign in with the Google account you use on odilelabs.com. The consent screen offers only the permissions those tools use, and a sign-in made for the directory connector works there only, not on /mcp. Formatting resizes and crops your own files; nothing is generated. Questions: hello@odilelabs.com.

From your terminal

The Odile CLI runs these tools with no sign-up: npx -y github:tolga-boop/odile-cli#v0.1.1 sandbox creates a free Odile Gate project in front of a demo API and shows one allowed and one refused call; odile lookup +15619166642 is a free Odile Direct lookup; odile tools lists every tool. Keys are saved in ~/.config/odile/cli.json (mode 600) and never printed.

Without an account

These tools work on /mcp. The media tools are hidden from its list for new clients; the dedicated /mcp/formats connection requires OAuth sign-in.

ToolPermissionWhat it does
get_receptionist_benchmarknoneThe published benchmark: real test calls to public AI-receptionist lines, scored against stated measures, with the evidence per measure. Run by us, and it says so. Filter by line or scenario; ask for the evidence.
get_catalognoneThe live Odile Formats price list and limits, read from the same source the website charges from.
estimate_media_jobnonePrices an Odile Formats job before anything is uploaded or charged.
get_answering_line_offernoneThe After Hours answering-line offer: prepaid minute packs (40 minutes for $10, 200 minutes for $50) and outcome packs, each billing rule, and what happens at zero.
find_business_agentnoneOdile Direct: resolves a phone number (E.164) to that business's public agent card and what it can do (take a message, check availability, book). 30 lookups per IP per hour without sign-in.
send_to_businessnoneSends take_message, check_availability, book, book_first_available or cancel_booking through Odile Direct. A confirmed booking returns booking_id and a private cancel_token; pass both to cancel_booking, with an optional reason up to 300 characters. Cancellation uses no credits or monthly allowance and does not refund the delivered booking fee. Free within IP caps without sign-in; signed in, the first 50 completed tasks a month are free, then 1 credit per delivered message and 5 per confirmed booking (100 credits are $10). Keep message_id unchanged on a retry.

Signed in: Odile Formats and Plate API

Use https://odilelabs.com/mcp/formats. Alongside the media tools below, get_catalog lists presets and prices, estimate_media_job estimates credits, estimate_meal_photo uses separate photo credits, and buy_pack returns a checkout link for you to approve.

You are taken to a consent screen that lists what the connection is asking for, with each permission as its own tick box. Read-only is always included; everything that spends or changes something you tick yourself, and you can reconnect later to change your mind.

ToolPermissionWhat it does
get_balancemedia:readYour credit balance and when it expires. Credits are bought on the website, never through the connection.
get_jobmedia:readOne job by id, or the ten most recent.
get_downloadsmedia:readSigned links to every finished file of an unlocked job.
prepare_uploadmedia:writeA short-lived upload token and the command to use it. The bytes never pass through the model.
create_media_jobmedia:writeQueues a job from uploaded sources. Costs nothing; credits are spent at unlock.
unlock_jobmedia:spendThe only tool that spends. Refuses, charging nothing, if the job would cost more than the max_credits you passed, is not ready, or the balance is short.

Odile Formats credits: 10 for $9, 40 for $29, 120 for $69; the first few are free on every account. The web page and the connection share one balance.

Signed in: buying, and the answering line

Two more permissions, offered on the same consent screen but never ticked for you: you opt in. billing:checkout only ever hands back a Stripe checkout link that the customer pays on Stripe's own page; the connection never sees a card. lines:manage sets up and reads the customer's own After Hours line, billed per minute or resolved conversation.

ToolPermissionWhat it does
buy_packbilling:checkoutA checkout link for a pack of Odile Formats credits, meeting minutes, phone minutes, resolved conversations, or legacy answered calls on one of the customer's own lines. What was paid is added within a minute of payment.
try_answering_lineany (signed in)Free: a shared test number and a 4-digit code that reaches an AI receptionist answering as the business you describe, plus a browser link to the same receptionist. Nothing is booked, sent or charged.
set_up_answering_linelines:manageStarts an After Hours line for the customer's business. Nothing is built until the first pack (40 minutes for $10, 200 minutes for $50, or an outcome pack) is paid on the checkout link this returns; the number and forwarding codes are then emailed.
get_answering_linelines:manageThe customer's own lines: status, number, forwarding codes, balance, and the last calls charged. Callers are shown by their last four digits only.
get_sip_addresslines:manageCreate or read one of the customer's own lines' SIP address and private trunk credentials. Works with any phone system that can send a call to a SIP address. Calls use the line's normal allowance or prepaid minute/outcome balance.

For minute lines, usage is charged once after each call ends at $0.25 a minute, billed by the second. What counts as a billable call, and what happens at zero: Phone minutes, at the top of this page. Phone-number setup is United States only for now; existing lines can receive SIP calls from any country.

Phone REST API

Base URL https://api.odilelabs.com/v1. Every request uses Authorization: Bearer <key>. The OpenAPI 3.1 spec for every endpoint is odilelabs.com/openapi.json.

POST /v1/test-lines with business_name, trade (vet, garage, lock, hvac, plumbing, roofing, electrical, pest, appliance, bail, hotel) and optional area, hours, services and timezone. Free; it returns test_number, test_code, hear_url and expires_at.

POST /v1/lines with business_name, business_phone, owner_mobile, pack (min40, min200, out50 or out200), and owner_confirmed_terms: true after agreeing to the terms. It returns a checkout_url; nothing is built until you pay.

GET /v1/account, /v1/lines or /v1/lines/{id} shows billing_mode and minutes_remaining to one decimal for minute lines, or outcomes_remaining for outcome lines. Minute balances are stored in seconds. Existing per-call lines keep their call packs.

Every line includes SIP on request, at the same call price and allowance. POST /v1/lines/{id}/sip creates or returns its TCP and TLS SIP addresses, username and password; GET reads an existing address or returns null without creating one. POST /v1/lines/{id}/sip/rotate changes its password; DELETE /v1/lines/{id}/sip removes it. Keep the credentials private. Works with any phone system that can send a call to a SIP address.

POST /v1/lines/{id}/minute-packs with {"pack":"min40"} or {"pack":"min200"} returns checkout_url for Stripe. Outcome lines use POST /v1/lines/{id}/outcome-packs with {"pack":"out50"} or {"pack":"out200"}. Meeting minutes are a separate balance.

GET /v1/lines/{id}/calls and GET /v1/lines/{id}/messages read what the line did, newest first. Both take limit (default 25, max 100) and an optional before (ISO timestamp) cursor, and answer {"items": [...], "next_before": "…"|null} — pass next_before back as before for the next page. Calls carry id, at, caller (E.164 or null), duration_seconds, summary when there is one and urgent when known; messages carry id, at, name, phone, message and urgent. No recordings or audio links: use the owner console for those.

Legacy lines remain $1.50 per answered call (10 calls for $15, 50 calls for $75); use your assistant to top them up.

Sign in with Google, then return here to make an API key.

Machine clients

Salesforce Agentforce and other platforms that sign in with OAuth client credentials.

Sign in, then return here to create and manage machine clients.

Connect to Salesforce Agentforce

In Salesforce: Setup → Agentforce Registry → New → URL https://odilelabs.com/mcp → OAuth 2.0 client credentials → token URL https://odilelabs.com/oauth/token → client ID and secret from a machine client above → pick the tools to allow.

Meeting notes

The REST API

Sign in first: the key belongs to your account, and so do the minutes it spends.

Sign in

Every request carries the key. There is no cookie, no CORS and no browser flow: this is for your server.

curl -X POST https://api.odilelabs.com/v1/meetings \
  -H "Authorization: Bearer $ODILE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_url":"https://meet.google.com/abc-defg-hij","title":"Weekly review"}'
MethodPathWhat it does
POST/v1/meetingsSend the note-taker. {"meeting_url": "…"}, and optionally starts_at, title, max_minutes, recipients.
GET/v1/meetingsEvery meeting on the account, newest first.
GET/v1/meetings/:idOne meeting: its state, the minutes charged, and who was sent the recap.
GET/v1/meetings/:id/transcriptWhat was said, once there is a transcript.
GET/v1/meetings/:id/recapThe written notes, once they exist.
POST/v1/meetings/:id/cancelCall the note-taker back before or during the meeting.
GET/v1/accountThe account behind the key, its minutes, and the packs it can buy.

Errors are always {"error": {"code", "message"}}, and the code is stable even when the wording changes.

CodeStatusMeans
invalid_api_key401No key, a key that is not ours, or one that has been revoked. Unknown paths answer this too, so the API does not say which routes exist.
rate_limited429Too many requests for this key. Retry-After says how long.
body_too_large413Over 64 KB.
json_only415Send application/json.
meeting_url_required400A Zoom, Google Meet or Microsoft Teams link we can join.
not_enabled503Meeting notes is off on this deployment.

The agent tools, when it is on

ToolPermissionWhat it does
schedule_meeting_notesmeetings:writeSends the note-taker to a Zoom, Meet or Teams link. Reserves minutes before anything is booked.
get_meetingmeetings:readStatus, recipients and delivery state of one meeting, or the most recent.
get_meeting_summarymeetings:readThe recap of a finished meeting: decisions, action items, open questions.
cancel_meeting_notesmeetings:writeStops a note-taker that has not finished, and releases the reserved minutes.

Minutes are charged for every minute the note-taker is on the call, down to 3.5¢ a minute on the 2,000-minute pack; a meeting that fails on our side is not charged. One balance whichever way you reach it, and an agent cannot spend more than the permissions you ticked allow. Rate limits are per key.

The phone receptionist

On plans with the website button (USD 199 and up, excluding Solo), visitors can talk or type to the same receptionist. Turn on Website chat in the owner console and copy the script tag. Use data-mode="both" for chat with a Talk instead button, data-mode="chat" for typing, or data-mode="voice" for voice. Existing tags keep voice until the owner enables chat.

After Hours answers a small business's phone after closing in the United States, prepaid and billed per minute or resolved conversation (see above); it can now be set up through an agent as well as on the website. Dusklin is the same receptionist everywhere else, starting with the United Kingdom, and is still set up on the website only. Free, with no account: the benchmark behind the tool above, a free line check that dials your business line once after hours and emails what answered, and the missed-calls calculator.