How a call flows

From someone dialling your number to the record of what they wanted. Follow the arrows; where the path splits, the question tells you which way it goes. The colours are the point — they show who is doing the work at each step, and how little of it is us.

RubyDoo Phone — we build and run this ElevenLabs — we configure it, it does the work Your business apps Vonage & the caller — outside any of our code Not built yet A decision — the path splits here

Drag anywhere on the background to move around.

1 Setting it up — once
2 Handed over
Your app tokens live here too — revocable in each app if you ever need to
3 The call arrives
4 Before it speaks
Have we spoken to this caller before?
5 The conversation
Does it need something from your business?
We are not in this path. ElevenLabs calls your app and reads the answer straight back to the caller.
6 How it ends
Can the agent finish this on its own?
7 After the call

Where the code lives

Four separate things. Note what is not connected: the mobile app’s backend is a different product with its own tokens, and nothing on this page runs through it.

ElevenLabs one workspace
Answers the phone, runs the conversation, calls the tools
AgentsSIPSpeechTool calls
RubyDoo Phone you are here
One Heroku app. Sets everything up, then gets out of the way.
Config UINumbersWebhooksCall recordsBilling
Your business apps heroku
Own the data and the permissions. Unchanged by any of this.
Service RequestCRMBooksDocumentsProperty
RubyDoo Mobile proxy
A different product, deployed separately. Its own tokens, its own rows — no shared runtime with the phone.
Push-to-talk appEntra sign-in

What the picture is arguing

We never touch the audio

The old system sat in the middle of every call, bridging audio between the carrier and the model. Here we say one sentence at the start — “send it to ElevenLabs” — and then two short webhooks. Everything that used to break lived in the part that is gone.

Three moments are ours, and only three

Answering the carrier, saying who is calling before the greeting, and filing the record afterwards. The middle two are on the caller’s clock, which is why this app can never be allowed to sleep.

Tools go straight to your apps

ElevenLabs holds each business’s token and calls Service Request or Books itself. Nothing routes through us, so nothing waits on us — and each app keeps enforcing its own permissions.