Docs · Agents
Theo, the demo agent.
Theo builds the demo. Each prospect gets a live AI assistant preloaded with their business, picked from one of four niche templates (receptionist, lead reactivation, quote generator, missed-call text-back), reachable from a private link Mira or Eli drops wherever you reference {{demo_link}} in the sequence, no fixed message position. The prospect clicks, talks to their own AI in the browser for a few minutes, and shows up to the call already half-sold.
Quick facts
- Channel
- Web-RTC voice (browser, no phone)
- Auth
- Platform Vapi key (no per-operator setup)
- Lives at
- /dashboard/team/theo
- Provisioning
- On-demand at message-render time
- Demo TTL
- 12 hours, then the assistant is torn down
- Templates
- Receptionist, lead reactivation, quote generator, missed-call text-back
How a demo gets to the prospect
- You pick a template per campaign (receptionist for med-spas, lead reactivation for HVAC, etc.). Theo can ship one demo or two side by side if the niche benefits from comparing.
- When Mira or Eli is about to send a message that references
{{demo_link}}, Theo provisions a per-contact Vapi assistant with the prospect's company, owner name, and any signal you've enriched, and resolves the template variable to a unique URL. - The prospect clicks the link, lands on a public
/demo/{slug}page, hits Start, and is in a browser-to-AI conversation in under three seconds. - Theo never books, transfers, or writes to your calendar from the demo, the prospect comes back to the email or DM thread to book with you directly.
- Twelve hours after the demo is provisioned, the expire-demos cron deletes the assistant on Vapi and marks the demo expired in the database. The link still resolves but returns an already-expired view.
What he will not do
- Won't re-demo someone already engaged. If Mira or Eli already got a reply on the contact inside the same flow, Theo skips the provision step, that's Atlas's coordination at work. Same cross-surface conversation-stop gate the other agents share.
- Won't book or take actions on the demo. The Vapi assistant is provisioned with no tools and no server URL, the prospect's AI can talk, but it can't write to your calendar, your CRM, or anything else.
- Won't pretend the demo is a real deployment. The demo agent identifies itself as a sample and tells the prospect this is a preview of what you'd build for their business. Honest framing, no bait-and-switch.
- Won't keep the assistant alive past the TTL. Twelve hours after provision, Theo cleans up. If a prospect clicks an expired link they get a graceful expired view, not a broken connection.
Where he fits
Theo lives as a separate first-class agent, not as a flow step type. Mira and Eli reference demos through the
{{demo_link}} template variable that resolves to a per-contact URL at message-render time. That means one campaign can drop the demo in an email AND in a LinkedIn message without provisioning twice, and the prospect always lands on the same demo regardless of which channel they clicked from.How to put him to work
- On any LinkedIn, email, or omnichannel campaign, pick a niche template under Demo and (optionally) a second template for side-by-side comparison.
- Reference
{{demo_link}}in any message body in the flow. Put it wherever fits the cadence, Theo doesn't enforce a position. A common pattern is to let the cold opener land first and drop the demo on a follow-up, but you can put it in message one if the niche calls for it. - Launch. Theo provisions per contact as Mira and Eli send. You don't manage assistant lifecycles, the expire-demos cron does that on a twelve-hour cadence.
- Watch sent, clicked, talked, and minute counts on /dashboard/team/theo. High click + low talk means your subject line is doing the work but the demo page is friction, high talk means the demo is doing the work.
Keep reading
Need help?
Ciela can walk you through any step. Or write to support@ciela.ai and we'll jump on the connection with you.