Vybemation — The Zoom

The most powerful automation tool in the world,
built for EU businesses.

So simple your grandma will understand. So complete your devs will cry tears of joy. So compliant your legals will get fired.

And you're just one prompt away.

Would you like to automate anything else?
Build me a voice agent, that books appointments in my CRM with qualified leads
Understood — building it, including the cases people forget.
Thinking through the edge cases — found 14
Checking your connected apps — HubSpot ✓ · phone ✓
Planning the workflow — 5 steps
Setting up the voice agent
Writing the automation — done
Adding a human approval step — ✓
Testing “they're not interested” — handled ✓
Testing “nobody picks up” — retries, then texts ✓
Double-checking EU compliance — 14 / 14 ✓
Going live in Marketing — ✓
10 steps · 38 s · collapsed
I finished the work.
1 workflow · 5 functions · 14 edge cases · tested ✓ · documented ✓ · EU-compliant ✓
Would you like to automate anything else?
Describe what you want to automate…
Voice Outreach voice_outreach.py Main SystemMarketingLead Scheduling ● live
TRIGGERhow this function wakes up
AI decide
Manual
Interface
Form
Webhook
E-Mail
Time-based
RSS Feed
POST https://hooks.vybemation.eu/f/voice_outreach_7fk2
secret whsec_ ••••••••source: CRM · lead.createdsigned · 3 retries

The agent chose this itself: every new lead in the CRM fires the call — within 90 seconds.

CONNECTORSkeys & interfaces
HubSpot CRMkey ····kd82 · encrypted at rest● connected
VAPI — voicekey ····11a9 · never echoed back● connected
Incoming FormWebsite form · instant● connected
+ Add connector
INTERFACE
🖐 Appointment Approval

Appointments above your threshold wait here for a human. The run freezes at the checkpoint and resumes exactly there — approve by tap, QR, PIN or signature.

tapQRPINsignature
1async def run(ctx, lead):
2 call = await ctx.voice.dial(lead.phone, agent="scheduling")
3 if call.outcome == "reached":
4 slots = await ctx.crm.free_slots(lead.owner, days=5)
5 appt = await call.propose(slots) # speaks, listens, negotiates
6 appt = await ctx.approve("Appointment Approval", appt) # human checkpoint
7 await ctx.crm.book(lead, appt)
8 await ctx.notify(lead.owner, appt.summary)
9 elif call.outcome in ("no_answer", "busy", "voicemail"):
10 await ctx.retry(run, in_="2h", max_tries=3) # then: SMS fallback
11 elif call.outcome == "callback_requested":
12 await ctx.schedule(run, at=call.callback_at)
13 elif call.outcome == "not_interested":
14 await ctx.crm.set_status(lead, "closed", reason=call.reason)
15 await ctx.log(call) # ZDR-aware — payloads follow policy
16# 214 lines total · 14 edge cases · written & tested by the agent
▶ simulate — 14/14 edge cases pass · 1.2 s
WebhookNew lead
🎙 Voice agentcalls in 90 s
🗓 from the calendarPropose a slot
HubSpotCRM: booked
HITLAppointment Approval
Retry in 2 hmax 3 tries
thenSMS fallback
📞 preferred timeCallback scheduled
log the reasonclose politely
· HubSpotStatus: closed
DOCUMENTATIONauto-written · updated 12 s ago

# voice_outreach

Calls every new lead within 90 seconds, proposes a slot from the owner's calendar and books it straight into HubSpot. Nothing is booked without the »Appointment Approval« checkpoint.

## Edge cases (14)
reachednot reachedbusyvoicemailcallback requestednot interestedwrong numberlanguage switchslot conflict+5 more
## Changelog
  • v3 — self-heal rewrote the retry backoff after a VAPI timeout · diff attached
  • v2 — voicemail detection added
  • v1 — born from one sentence
every run, every diff, every decision — written down before you ask
COMPLIANCE & GOVERNANCE0/14 active
SECURITY
0%
PRIVACY
0%
COMPLIANCE
0%
EU hosting & residencyservers never leave the EU — contractually
EU-Only LLMslanguage, vision & speech on Mistral, Paris
ISO 27001 readycontrols mapped & exportable
Zero Data Retentionoff / redacted / strict — suppressed at source
GDPR cascadesexport, retention & delete built in
HIPAA controlsfor regulated data, per system
Audit loghash-chained, tamper-evident
Secretsencrypted at rest, never echoed back
Role-based accessroles down to single functions
Two-factor authfor every account
Human checkpointsHITL freeze & resume, per function
EU AI ActAI-made artifacts labelled
Signed agentsverifiable A2A identity cards
Network egressper-function switch
© 2026 Vybemation · Imprint · Privacy