AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Vobiz Voice Xml

skill-vobiz-ai-agent-skills-vobiz-voice-xml · by vobiz-ai

Build declarative call flows with VobizXML - Vobiz's TwiML-equivalent for play, speak, gather, dial, record, stream, conference, redirect, and hangup verbs.

No reviews yet
0 installs
27 views
0.0% view→install

Install

$ agentstack add skill-vobiz-ai-agent-skills-vobiz-voice-xml

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-vobiz-ai-agent-skills-vobiz-voice-xml)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Vobiz Voice Xml? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Vobiz Voice XML skill

Use this when the user wants to script a call flow declaratively - IVR menus, voicemail, queues, conferences, agent transfers. Anything beyond just "make a call and stream audio" usually involves VobizXML.

How Vobiz fetches XML

  1. Call is created via POST /Call/ with answer_url.
  2. When the callee answers, Vobiz POSTs to answer_url with call context.
  3. Your server returns ...verbs... as application/xml.
  4. Verbs execute top-to-bottom.

Core verbs

| Verb | Purpose | |---|---| | ` | TTS - speak text to the caller | | | Play an audio file (HTTPS URL) | | | Collect DTMF or speech input | | | Bridge to another party (PSTN, SIP URI, app, conference) | | | Record the call (optionally stream-while-recording) | | | Open a WebSocket for bidirectional audio (AI voice agents) | | | Add caller to a conference room | | | Fetch new XML from a different URL | | | Pause for N seconds | | | End the call | | ` | Run verbs before answering (no billsec) |

Request payload - what your answer_url receives

Standard application/x-www-form-urlencoded POST (GET sends them as query params). Common parameters: CallUUID, From, To, Direction, CallStatus, HangupCause, Duration, BillDuration, ForwardedFrom, plus ALegUUID/ALegRequestUUID for outbound calls and any custom X-VH- SIP headers. See xml/request for the full list.

Standard callback params by verb

Action/callback URLs receive the standard call params plus verb-specific ones:

  • `: InputType (dtmf|speech), Digits, Speech, SpeechConfidenceScore, BilledAmount. Empty Digits/Speech` on timeout.
  • `: DialStatus (completed|busy|failed|cancel|timeout|no-answer), DialRingStatus, DialHangupCause, DialALegUUID, DialBLegUUID` (empty if unanswered).
  • `: live DialAction` (answer|connected|hangup|digits) events.
  • `: RecordUrl, RecordingID, RecordingDuration(Ms), RecordingEndReason` (RecordingTimeout|maxLength|FinishedOnKey|HungUp).
  • `: ConferenceAction (enter|exit|start|end), ConferenceUUID, ConferenceName, ConferenceCurrentSize, RecordingUrl` (on end).
  • `: standard params + Event=Redirect`.

Per-verb quick recipes

  • IVR menu: ` wrapping a ; put fallback +` after it.
  • Variable-length input: ``.
  • Speech intent: `; threshold SpeechConfidenceScore`.
  • Blind transfer: ... then fallback after.
  • Screen the agent: ``.
  • Voicemail: ` prompt + `.
  • Record whole call: `` first.
  • Hold music: ... or ``.
  • AMD voicemail drop: ` then `.
  • Reject without billing: `` as the first element.
  • Branch/loop: https://.../next (last runnable element).
  • Send tones to a remote IVR: 1WW2#.

Pitfalls

  • Response must be application/xml (or text/xml), not text/html/text/plain, served over HTTPS, and under 100 KB. Return within 1-2 s or callers hear dead air.
  • **` uses executionTimeout (5-60 s, default 15), NOT timeout.** timeout belongs only to / and is the ring timeout. ` caps total bridged duration - don't confuse the two.
  • Verbs execute strictly top-to-bottom. ` and any action-URL handoff (Dial/Gather/Record`) end the current document; elements after them are fallback-only.
  • All URLs in `, , , ` (action/callback/confirmSound/dialMusic) must be fully qualified HTTPS.
  • DTMF: finishOnKey (default #) is excluded from Digits; set finishOnKey=""/none to rely on numDigits/timeout. On no input, Vobiz still posts with empty Digits/Speech - check for empty.
  • Dial: always branch on every DialStatus (busy/no-answer/timeout/failed/cancel/completed). DialBLegUUID is empty when nobody answers.
  • Record: timeout is silence timeout (not total length); maxLength is the hard cap. Set maxLength high enough for voicemails.
  • Escape &, ` in /` text or the document fails to parse.
  • ` defaults to voice="WOMAN", language="en-US"`; not every language has both MAN and WOMAN voices.
  • ` early media is unsupported on WebRTC and some PSTN routes - the flow must work without it. Only Speak/Play/Wait` nest inside it.
  • loop="0" means infinite (Play, Speak) - it stops only on hangup or a parallel event, never on its own.

When to search docs

  • "How do I build an IVR?" → xml/gather, examples/vobiz-ivr-xml-python
  • "Voicemail" → xml/record/record-a-voicemail, examples/vobiz-voicemail-xml-python
  • "Conference call" → xml/conference, solutions/conference-calling
  • "AI voice agent" → xml/stream, integrations/pipecat
  • "DTMF input" → xml/dtmf, xml/gather/detecting-speech-inputs

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.