<Response>.<Say> and <Play> run sequentially; <Gather> pauses for input; <Dial> transfers the call.1234<?xml version="1.0" encoding="UTF-8"?> <Response> <!-- verbs go here, in execution order --> </Response>
Content-Type: text/xml (or application/xml). The SDK builds valid TwiML for you:12345import { VoiceResponse } from "@ruut/voice-sdk"; const xml = new VoiceResponse() .say("Hello world", { voice: "alice" }) .toXml();
VoiceResponse object. Calling .toXml() on a sub-builder (e.g. the return of dial()) drops the <Response> root and the platform rejects it.| Verb | Purpose | Reference |
<Say> | Speak text with text-to-speech | say |
<Play> | Play an audio file | play |
<Gather> | Collect DTMF digits or speech | gather |
<Record> | Record a message (optionally transcribe) | record |
<Dial> | Transfer to a number, SIP, client, or conference | dial |
<Pause> | Wait for a number of seconds | pause |
<Hangup> | End the call | hangup |
<Redirect> | Fetch new TwiML and continue | redirect |