Documentation
Learn how to build intelligent voice applications that understand, respond, and adapt.
Quick Start
Get your first voice application live in under five minutes.
- Sign up at auth.queml.com/signup — free, no credit card.
- Create an app from the Portal dashboard.
- Add nodes — start with a
Saynode to greet callers. - Assign a number — incoming calls now run your flow.
- Test it — call the number and hear your app.
Changes deploy instantly — update a node and the next call uses your new logic.
Key Concepts
Apps
An App is a complete voice application with its own call flow, phone numbers, and settings.
Nodes
A Node is a single step — greeting, menu, input gathering, API call, or transfer. Nodes connect in sequence.
Actions (Verbs)
Each node uses an action that defines what it does. These are the building blocks of your voice app.
Tenants
Each account has a tenant that isolates your data, apps, and numbers from all other accounts.
Flow Builder
The visual editor where you design call flows. Each flow is a sequence of connected nodes.
Creating a Flow
Open your app, click + Add Node, choose an action type, configure it, and position it. Nodes execute top to bottom.
Branching & Routing
Use Menu nodes to branch on input. Use GoTo to jump. Combine with data lookups for dynamic routing.
Available Actions
| Action | Description |
|---|---|
Say | Speak text to the caller using text-to-speech. |
Play | Play an audio file (MP3 or WAV). |
Menu | Present options and route by DTMF or speech. |
Gather | Collect free-form input — speech, digits, or both. |
Transfer | Transfer to a phone number, SIP endpoint, or extension. |
Hangup | End the call with an optional goodbye message. |
Script | Execute custom logic — query APIs, process data. |
GoTo | Jump to another node in the flow. |
Record | Record the call or a voice message. |
Set | Store or modify a variable. |
Webhook | Send data to an external URL and use the response. |
Speech & Input
Speech Recognition
Callers speak naturally. Supported: English, Spanish, French — more coming.
DTMF (Keypad)
Traditional touch-tone input for menus, account numbers, and PINs.
Hybrid Mode
Accept both speech and DTMF simultaneously. Uses whichever the caller provides first.
Working with Data
Variables
Use Set to store data during a call. Variables persist for the call duration and are accessible by any node.
External APIs
Script and Webhook actions query external systems during live calls. Look up orders, check availability, verify accounts.
AI Assistant
Creating Flows with AI
Describe what you need: "Build a dental office phone system with scheduling and after-hours." The AI generates a complete flow.
Modifying Existing Flows
Ask the AI to change existing nodes: "Add Spanish to this menu" or "Transfer to voicemail after 3 rings."
Integrations
REST APIs
Call any REST API from your flow using Script. Send and receive JSON.
Webhooks
Send call events to your backend in real time. Build dashboards, trigger workflows, log events.
GitHub
Manage flow configurations as code. Version control and collaborate through pull requests.
VS Code Extension
Author flows, run scripts, and test call logic from your editor.
- Syntax highlighting for flow configs
- Inline docs and autocomplete
- Live preview of call flows
- MCP protocol support
Account Setup
Creating Your Account
Sign up with GitHub OAuth. Your account includes a personal tenant that isolates your data.
Team Access
Invite team members with role-based permissions: Admin, Developer, Viewer.
API Access
Authentication
Generate API tokens from account settings. Tokens are scoped to your tenant.
MCP Protocol
Connect from VS Code, Cursor, or any MCP-compatible client to manage voice apps conversationally.