Skip to main content

Prerequisites

You only need an HTTP client (curl, Postman, your language of choice). No SDK required — Echo is a plain REST API.

Step 1 — Create your account

Sign up to get your business, default project, and API key in one request.
Response
Save your api_key immediately. Echo stores only a hashed version. If you lose it, you’ll need to generate a new one — it cannot be retrieved.
Pass the API key in the x-api-key header on every subsequent request:
The business_summary and industry fields give your agents automatic context — Echo uses them to fill {{business_name}}, {{business_summary}}, and {{industry}} in your prompts automatically.

Step 2 — Create an agent

An Agent is a reusable voice persona. You define it once and trigger it for any customer at notification time.
Response
Save the id — you’ll pass it as agent_id when triggering notifications. output_schema is optional. When provided, Echo extracts structured data from the call transcript and stores it in notification.call_result, then includes it in the webhook payload.

Step 3 — Add a customer

Customers are scoped to your project. Register the person you want to call before sending a notification.
Response
external_id is your own system’s identifier. Use it to look up customers without storing Echo’s UUIDs in your database. Phone numbers must be in E.164 format (+[country code][number]).

Step 4 — Send a notification

With an agent and customer in place, trigger the call. Pass your custom variables in variables to fill any {{placeholder}} tokens in the agent’s prompt.
Response
Echo immediately initiates the outbound call. The call happens in real time — Echo will POST results to your webhook once the call ends.

Step 5 — Receive the webhook

After the call ends, Echo sends a signed event to your webhook endpoint. First, register an endpoint:
Save the signing_secret from the response — use it to verify the X-Echo-Signature header on every delivery. Then verify the signature and process the payload on your server:
The data.analysis field contains the structured data extracted from the call using your agent’s output_schema.

What’s next

Agent approach guide

Deep dive into agents, prompts, output schemas, and variables.

LLM path guide

Send a plain message without defining an agent.

Writing prompts

Craft effective system prompts for consistent, reliable calls.

Webhooks

Full webhook reference including payload shape and signature verification.