This page answers common questions about Ciao billing, languages, calls, and compliance, then lists fixes for common call, API, and webhook issues. For plan prices and what each plan includes, see Ciao pricing.
Frequently asked questions
Troubleshooting
The assistant won't take calls. In the console, check that the assistant is published and turned on, and that it has a number linked to a connected phone provider. The API reports this as 409 ASSISTANT_NOT_PUBLISHED.
A call was placed but nobody answered. A placed call is not an answered call, and an unanswered call sends no call result. Subscribe to call.failed to hear about busy and unanswered calls.
Outbound calls return 429 when you are not sending many requests. Every line may be busy. Each number carries one call at a time, so wait for a call to end or add numbers.
Webhooks are not arriving. Send a webhook_url with the call or batch. Your endpoint must use HTTPS on a public address and reply within 5 seconds, and your plan must include webhook delivery.
The webhook signature never matches. Hash the raw body bytes exactly as received, not parsed JSON, with the same webhook_secret you sent on the call.
Your server gets IP_NOT_ALLOWED. Add your server's public outgoing IP address to the key's allowlist. It is often not the server's internal address.
A transcript returns 404. The call was usually not answered, ended before anyone spoke, or your organization does not store conversation content.
A chat returns 404. The chat closed after 15 minutes without a message, was ended, or belongs to another organization. Start a new chat.
You lost your API key. Only a secure hash is stored, so nobody can show it to you again. Regenerate the key in Developer → API Keys and update your servers.