klaros Interactive Demo
PS
Priya Sharma
Same size as last time please!
2m
RK
Rahul Kumar
The indigo ones, like my last order
18m
AM
Anita Mehta
Got it, same address as before?
1h
VK
Vikram Kapoor
Thanks, that was fast
3h
NS
Neha Singh
Hi! Saw you on Instagram
5h
Priya Sharma
+91 98765 43210 · Opted in · VIP · 5 orders
● Window open · 18h left
Story Klaros recalled Priya's last order, size, and address. She reordered in 4 messages.
Hi! I want to reorder the cotton kurtas from last month
2:32 PM
Hey Priya! The hand-block printed ones from your June order (#4398), right? Same size M?
2:34 PM ✓✓
Yes! Same size as last time please!
2:35 PM
Done. Order #4521 confirmed, same address in Bandra. Shipping tomorrow, you'll have them by Thursday.
2:36 PM ✓✓

Broadcast Campaigns

Summer Sale 2026

Sent
Template: summer_sale_v3 · Segment: VIP Customers · Sent Jul 2, 2026
4,200
Sent
4,186 (99.7%)
Delivered
3,890 (92.6%)
Read
1,170 (27.9%)
Replied
$562
Cost
$0.48
Cost/reply

Restock Alert: Bestsellers

Sent
Template: restock_notify · Segment: Waitlist · Sent Jun 28, 2026
2,800
Sent
2,791 (99.7%)
Delivered
2,612 (93.4%)
Read
892 (31.9%)
Replied
$443
Cost
$0.50
Cost/reply

Welcome Series: New Signups

Sending
Template: welcome_onboard · Segment: New Signups (last 7d) · Started Jul 5, 2026
1,420
Sent
1,418 (99.9%)
Delivered
1,206 (84.9%)
Read
340 (24.0%)
Replied
$321
Cost
$0.94
Cost/reply

Behavior Sequences

One API call from your backend when a customer acts. Your rule sends the next-step template from your number. React to what customers do, not what day it is.

order_placed → order_confirmation

Active
Sends after 5 min · Template {{1}} = contact name · One send per contact
1,284 sent
12 skipped (opted out)
0 failed

kyc_completed → account_ready

Active
Sends immediately · Template {{1}} = contact name
342 sent
3 skipped (opted out)
0 failed

cart_abandoned → gentle_reminder

Paused
Sends after 4 h · Paused during sale week
866 sent
41 skipped (opted out)
2 failed

The whole integration is one call

POST /api/v1/milestones curl -X POST "https://your-deployment.workers.dev/api/v1/milestones" \ -H "Authorization: Bearer uni_key_prod..." \ -H "Content-Type: application/json" \ -d '{ "phone": "919876543210", "milestone": "order_placed", "meta": { "orderId": "ORD-1042" } }'

Idempotent per contact × milestone. Call it on every occurrence, only the first counts. Consent checked at send time. Every trigger costs exactly what Meta charges: zero markup.

Contacts

24,380 contacts · 18,420 opted in
NamePhoneConsentTagsLast Active
Priya Sharma+91 98765 43210Opted inVIPRepeat2 min ago
Rahul Kumar+91 87654 32109Opted inCustomer18 min ago
Anita Mehta+91 76543 21098Opted inLead1 hour ago
Vikram Kapoor+91 65432 10987Opted inCustomerEnterprise3 hours ago
Neha Singh+91 54321 09876Opted inLead5 hours ago
Deepak Joshi+91 43210 98765Opted inCustomerYesterday
Kavita Rao+91 32109 87654Opted outEx-customer3 days ago

Cost Dashboard

Total this month
$2,268
1,620 conversations
Klaros markup
$0
Zero. Always. Enforced in code.
Cost per reply
$0.48
4,752 replies from $2.3k spend
CampaignMessagesCost$/ReplyMarkup
Summer Sale 20264,200$562$0.48$0
Restock Alert2,800$443$0.50$0
Welcome Series1,420$321$0.94$0
Feedback Request980$168$0.27$0
Appointment Reminders2,100$126n/a$0

All costs are Meta's actual billing, fetched from your WABA's conversation_analytics endpoint. Klaros never adds fees on top.

REST API

Send a template message

POST /api/v1/messages curl -X POST "https://your-deployment.workers.dev/api/v1/messages" \ -H "Authorization: Bearer uni_key_prod..." \ -H "Content-Type: application/json" \ -d '{ "to": "919876543210", "templateName": "summer_sale_v3", "templateLang": "en", "params": ["Priya", "20%"] }'

Response

{ "success": true, "waMessageId": "wamid.HBgLOTE5ODc2NTQzMjEwFQIAERgSQzI0RjA2...", "sentStatus": "accepted", "estimatedCost": { "currency": "USD", "amount": 0.0453 }, "markup": 0 }

97 endpoints across 7 resource groups

POST /api/v1/keys Create a named API key (send/read/manage scopes) GET /api/v1/contacts List contacts with pagination + filters POST /api/v1/contacts Create a contact GET /api/v1/segments List saved segments GET /api/v1/campaigns List campaigns POST /api/v1/campaigns/:id/launch Launch a campaign GET /api/v1/sequences List drip sequences POST /api/v1/sequences/:id/enroll Enroll contacts GET /api/v1/conversations List conversations GET /api/v1/products List product catalog POST /api/v1/webhooks Register a webhook endpoint POST /api/v1/milestones Fire a behavior trigger

Full OpenAPI 3.1 spec at /api/v1/openapi.json. Named developer keys with scoped permissions. HMAC-signed webhooks with retry and dead-letter queue. Idempotency keys, rate-limit headers, error code contract. API access included on every plan.

This is a read-only demo. Start your free trial to use the real product.