Skip to main content

Overview

The LLM path is the fastest way to send a voice notification. You provide a message string and Echo generates a contextual call script on the fly using your business context (business_name, business_summary, industry) and the message you provide. No agent definition required. No variables. Just a customer ID and a message.

Sending an LLM-path Notification

curl -X POST https://api.meetecho.ai/api/v1/notifications \
  -H "x-api-key: echo_..." \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "8cc6199f-9466-46f2-9db7-936f3c2c1c0b",
    "message": "Your premium trial expires in 24 hours. Log in to upgrade and keep your access.",
    "collect_feedback": true,
    "max_duration_seconds": 120
  }'
Response
{
  "notification": {
    "id": "13eea9cc-...",
    "status": "in_progress",
    "message": "Your premium trial expires in 24 hours...",
    "collect_feedback": true,
    "max_duration_seconds": 120,
    "target_phone_e164": "+14155552671"
  },
  "call": {
    "callId": "call-abc123",
    "status": "queued"
  }
}

Request Fields

FieldTypeRequiredDescription
customer_idUUIDYesThe customer to call. Must belong to your project.
messagestringYesThe core notification content. Fills {{message}} in the generated script.
contextstringNoAdditional per-call context. Fills {{context}} in the generated script.
collect_feedbackbooleanNoIf true, the AI asks the caller to confirm, cancel, or reschedule at the end of the call. Default: false.
max_duration_secondsintegerNoMaximum call duration. Range: 30–600. Default: 180.

Using collect_feedback

When collect_feedback: true, the generated call script includes a feedback prompt at the end of the conversation. The AI will ask the caller to take an action — confirm, cancel, reschedule, or similar — depending on the message content.
{
  "customer_id": "...",
  "message": "Your appointment with Dr. Patel tomorrow at 10 AM is confirmed.",
  "collect_feedback": true
}
The caller’s response is captured in the webhook payload under call_result.

Using context

The context field is for runtime nuance you don’t want hardcoded into the message. Use it to pass background information that shapes how the AI conducts the conversation:
{
  "customer_id": "...",
  "message": "Your subscription payment failed.",
  "context": "Customer has been with us for 3 years. Their card expired last month. Be empathetic.",
  "collect_feedback": true
}
context is invisible to the caller — it’s instructions for the AI, not dialogue. Keep it factual and concise.

Controlling Call Duration

Use max_duration_seconds to cap how long the call can run. This is useful for:
  • Cost control — billing is per minute, so shorter limits reduce exposure
  • User experience — preventing runaway conversations on simple notifications
  • Compliance — some use cases require call length limits
{
  "customer_id": "...",
  "message": "Your order has shipped. Expected delivery: Friday.",
  "max_duration_seconds": 45
}
The call ends automatically once the limit is reached, regardless of conversation state.

What Echo Generates

When you use the LLM path, Echo combines:
  • Your business_name, business_summary, and industry from signup
  • The customer’s first_name and last_name
  • Your message and optional context
…into a contextual call script that the AI uses to conduct the conversation. The script is generated fresh for each call — you won’t see it directly, but it reflects your business identity.

LLM Path vs Agent Path

LLM pathAgent path
SetupNoneCreate an agent first
Prompt controlEcho generates itYou write it
Tone consistencyVariableFully consistent
Custom variablesNot availableFull {{variable}} system
Structured outputNo (call_result is null)Yes, via output_schema
collect_feedbackSupportedNot applicable
max_duration_secondsSupportedNot applicable
Best forQuick one-off alertsTemplates, surveys, brand voice
For full control over the conversation, structured output extraction, and consistent brand voice across thousands of calls, use the Agent approach.