25/32proof of conceptVoice Assistants
Voice Agent
A Telegram voice note runs email and calendar, and asks before it changes anything.
What it solves
Email and calendar usually need a screen and two hands. This runs both from a voice note, and asks before it sends or books anything.
How it runs
Six steps, input to output
Goes inA voice note on Telegram
- 01
Voice note
The bot long-polls Telegram and answers one allowed chat only.
- 02
Transcribe
Whisper turns the voice note into text.
- 03
Decide
Claude picks from four tools: list emails, send an email, list events, create an event.
- 04
Confirm
Anything that sends or books is read back with Confirm and Cancel buttons.
- 05
Act
After the tap, the Gmail or Google Calendar call runs.
- 06
Reply
The answer comes back as a voice message.
Comes outA spoken reply, and an email sent or an event booked once confirmed
What it does
Send a voice note on Telegram.
It transcribes with Whisper, decides what to do with Claude, and replies in voice.
Four tools reach Gmail and Google Calendar (list emails, send an email, list events, create an event) and any action that changes something stops and asks for an explicit Confirm before it runs.
Runs on an Oracle Cloud ARM VM.
Three decisions
What shaped the build
Confirm is a button, never a typed reply
The button carries the id of the action it resolves, so a misheard word cannot be read as consent.
One chat only
The allowed chat id is required and checked at startup. The agent refuses to start without it.
Long polling, no public webhook
The bot needs no public webhook or domain, which keeps the deploy simple.
Built with
8 parts
- Claude
- tool-calling brain
- Whisper API
- voice note to text
- edge-tts
- spoken reply
- Gmail API
- list + send email
- Calendar API
- list + create events
- Confirm gate
- writes held for approval
- Telegram Bot API
- capture surface
- Oracle Cloud ARM
- host