What you will build
By the end of this tutorial you will have a speaking travel agent named Atlas that can:
- answer trip FAQs from reference material
- list itineraries from a demo database
- look up flight status with hard tool gates
- file a lost-baggage report with ordered steps and verbatim notices
- change bookings by composing authentication and lookup skills
Speech in and speech out use Deepgram end to end (Flux ASR + Aura TTS) through the Rasa Inspector.
Who this is for
You do not need prior Rasa experience. You should be comfortable with:
- a terminal and
git - editing YAML and Markdown files
- basic Python function signatures
Mental model: Skills, not flowcharts
Older Rasa assistants often centred on flow YAML and a large domain file. The Skills architecture is different:
| Idea | Meaning |
|---|---|
| Skill | A folder with skill.md instructions, plus optional tools and references |
| Mantle | The orchestrator that activates skills from their descriptions |
| Progressive control | Start with prose; add runtime guarantees only where mistakes are expensive |
| Memory | Shared state tools write and constraints read |
There are no flowcharts required to start. The LLM interprets instructions. Where you need a guarantee, you add a frontmatter constraint or an ordered block — enforced by the runtime, not suggested to the model.
How voice fits
Traveler speaks
→ Deepgram ASR (speech to text)
→ Mantle + Skills
→ Deepgram TTS (text to speech)
→ Traveler hears Atlas
You configure Deepgram once in integrations.yml. Skills stay domain logic. That separation is intentional: the same skills can serve chat or voice.
Companion repository
All runnable code lives in:
github.com/RasaHQ/rasa-community-resources/tutorials/rasa-voice-agent-tutorial
Clone the monorepo, open that tutorial tree, run make install && make env && make verify, and keep two windows open: this tutorial and your editor.
Paste-ready chapter files are under tutorial/snippets/ in that tree.
Chapter map
| Ch | Topic |
|---|---|
| 1 | Scaffold a voice agent |
| 2 | First skill (FAQ) |
| 3 | First tool (itinerary) |
| 4 | Tool constraints |
| 5 | Scoped instructions |
| 6 | Verbatim responses for voice |
| 7 | Ordered blocks (baggage) |
| 8 | Compose skills |
| 9 | Voice deep dive |
| 10 | Coding agents and the flywheel |
Continue to Chapter 1 — Scaffold.
