Notifications: WhatsApp, SMS, email or webhook after every call
Send a message automatically when a call or chat ends — to the caller, to you or to your team — over WhatsApp, SMS, email or your own URL, with conditions on the extracted call data.
Updated October 6, 2026
A notification rule says: when this agent's call (or chat) ends, and the condition matches, send this message over this channel to this person. An agent can have as many rules as you like — e.g. a WhatsApp to the caller plus an email summary to you.
Create a rule
curl -X POST https://api.call2me.app/v1/agents/agent_abc123/notifications \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "whatsapp",
"recipient_kind": "caller",
"trigger_event": "call_ended",
"condition": {"appointment_booked": "true"},
"template": "Thanks {{caller_name}}! Your appointment: {{analysis.appointment_date}}."
}'
| Field | Values |
|---|---|
channel | whatsapp · sms · email · custom_url |
recipient_kind | caller (the number that called) · owner (your account email — email channel only) · fixed / team (the destination you set) |
destination | Phone number, email or URL; not needed for caller / owner |
trigger_event | call_ended (default) · chat_ended |
condition | {} = every call. Otherwise every key must match the extracted field; "true"/"false" compare as booleans, a leading ! negates ({"status": "!cancelled"}) |
template | Text with {{field}} / {{analysis.field}} placeholders; for WhatsApp it can also be a Twilio Content SID (HX…) |
template_vars | For a Content SID: {"1": "caller_name", "2": "analysis.summary"} |
Fields in condition and analysis.* come from your
post-call extraction. {{summary}} and
{{call_summary}}, {{caller_name}} and {{customer_name}} are
interchangeable.
Manage rules with GET /v1/agents/{agent_id}/notifications,
PATCH /v1/notifications/{target_id} and
DELETE /v1/notifications/{target_id}.
Channels
- WhatsApp — sent through Twilio. The first message to a customer must
be a Meta-approved template. Give your own Content SID, or leave
templateas plain text and the platform wraps it in its approved template (Turkish or English, by agent language). - SMS — Turkish numbers (
+90) go through a local carrier; US/CA through Telnyx. See SMS for limits. - email — plain-text body, sent from the platform's address.
- custom_url — a JSON
POSTof the call payload to a public HTTPS URL (private, loopback and metadata addresses are refused), 10-second timeout, one attempt.
See what was sent
curl https://api.call2me.app/v1/calls/call_xyz789/deliveries \
-H "Authorization: Bearer YOUR_API_KEY"
Each attempt is logged with status (sent / failed / skipped),
error (e.g. condition not met, insufficient balance) and cost_usd.
Pricing
| Channel | Cost |
|---|---|
| $0.02 per message | |
| SMS | $0.02 per segment |
| $0.001 per message | |
| custom_url | free |
A message is only sent if your balance covers it; otherwise it is logged
as failed with insufficient balance.
What's next
- Post-call actions — define the fields conditions use
- Webhooks — raw call events to your server
- SMS — sending texts directly
Frequently asked
Q.Which channels are supported?
whatsapp, sms, email and custom_url. Each rule on an agent picks one channel, one recipient and an optional condition.
Q.Can I message the caller on WhatsApp after the call?
Yes, with recipient_kind caller. WhatsApp's first business message must use a Meta-approved template; if you do not supply one, the platform sends its own approved template with your text in it.
Q.What does it cost?
WhatsApp $0.02 per message, SMS $0.02 per segment, email $0.001 per message, custom_url free. Every attempt, sent or failed, is logged per call.