Voice Agent Builder

v1.0.0

Build and manage Voice AI agents using Vapi, Bland.ai, or Retell. Create agents, configure voices, set prompts, make outbound calls, and retrieve transcripts...

0· 271·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for aiwithabidi/voice-agent-builder.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Voice Agent Builder" (aiwithabidi/voice-agent-builder) from ClawHub.
Skill page: https://clawhub.ai/aiwithabidi/voice-agent-builder
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: VAPI_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install aiwithabidi/voice-agent-builder

ClawHub CLI

Package manager switcher

npx clawhub@latest install voice-agent-builder
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (build/manage voice agents for Vapi/Bland.ai/Retell) align with the included files and requirements. The only required environment variable is VAPI_API_KEY, which the provided vapi_agent.py uses to call https://api.vapi.ai — this is proportional to the stated purpose.
Instruction Scope
SKILL.md instructs running the included Python CLI which only calls the Vapi API. It does instruct users to pass third-party credentials (e.g., Twilio SID/AuthToken) in JSON payloads when importing numbers — that is expected for phone import but is sensitive. The instructions do not request unrelated files, system config, or hidden endpoints.
Install Mechanism
No install spec; this is instruction-only plus a small Python script. No external downloads or archives are executed or written to disk by an installer, which reduces risk.
Credentials
Only VAPI_API_KEY is declared and used. That is appropriate for a wrapper that controls Vapi resources (agents, calls, transcripts) but is powerful — possession of the key allows creating calls and retrieving transcripts, so users should limit its scope and treat it as sensitive. The skill does not require other unrelated credentials.
Persistence & Privilege
Skill is not always-enabled and uses normal autonomous invocation defaults. It does not modify other skills or system configuration and has no persistent install steps.
Assessment
This skill appears to do what it says: it wraps the Vapi API and needs your VAPI_API_KEY to manage agents and make calls. Before installing, verify you trust the Vapi service and the skill author/site (agxntsix.ai); treat VAPI_API_KEY as highly sensitive (it can create calls and access transcripts). Avoid pasting third-party secrets (Twilio SID/AuthToken, etc.) on shared shells or in command history — pass them securely. Review Vapi account permissions, expected billing for outbound calls, and privacy implications (call transcripts may contain PII). If unsure, run the script in an isolated environment and inspect network traffic to api.vapi.ai.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🗣️ Clawdis
EnvVAPI_API_KEY
Primary envVAPI_API_KEY
latestvk97b7gnw518ra5c1fbxyawz89982e8td
271downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Voice Agent Builder

Build, configure, and manage Voice AI agents. Supports Vapi (primary), Bland.ai, and Retell platforms.

Quick Start

export VAPI_API_KEY="your-vapi-api-key"

# Create a voice agent
python3 {baseDir}/scripts/vapi_agent.py create-agent '{"name":"Sales Agent","firstMessage":"Hi! How can I help you today?","systemPrompt":"You are a helpful sales assistant for Acme Corp."}'

# Make an outbound call
python3 {baseDir}/scripts/vapi_agent.py call '{"assistantId":"asst_xxx","phoneNumberId":"pn_xxx","customer":{"number":"+15551234567"}}'

# List agents
python3 {baseDir}/scripts/vapi_agent.py list-agents

# List calls
python3 {baseDir}/scripts/vapi_agent.py list-calls

Platform Comparison

FeatureVapiBland.aiRetell
Best ForCustom agents, dev-friendlySimple outbound campaignsEnterprise, low latency
Latency~800ms~500ms~500ms
Languages100+30+30+
Custom LLM✅ Any OpenAI-compatible✅ Limited✅ Via API
Phone NumbersBuy/importBuy/importBuy/import
Pricing$0.05/min + provider costs$0.09/min all-in$0.07-0.15/min
WebSocket
Knowledge Base✅ Built-in
Transfers

Recommendation: Start with Vapi — most flexible, best docs, largest community. Use Bland for simple high-volume outbound. Use Retell for enterprise low-latency needs.

See {baseDir}/scripts/voice_comparison.md for detailed breakdown.

Agent Creation Workflow

1. Choose a Voice

Vapi supports multiple TTS providers:

  • ElevenLabs — Best quality, most natural (recommended)
  • PlayHT — Good quality, lower cost
  • Deepgram — Fast, good for real-time
  • Azure — Enterprise, many languages

2. Configure the Agent

{
  "name": "Appointment Setter",
  "firstMessage": "Hi! This is Sarah from Dr. Smith's office. I'm calling to help you schedule your appointment.",
  "systemPrompt": "You are Sarah, a friendly appointment scheduler...",
  "voice": {
    "provider": "11labs",
    "voiceId": "21m00Tcm4TlvDq8ikWAM"
  },
  "model": {
    "provider": "openai",
    "model": "gpt-4o",
    "temperature": 0.7
  },
  "endCallFunctionEnabled": true,
  "maxDurationSeconds": 300,
  "silenceTimeoutSeconds": 30
}

3. Prompt Engineering for Voice

Voice prompts differ from text. Key principles:

  • Keep responses SHORT — 1-2 sentences max per turn
  • Be conversational — use filler words naturally ("Sure thing!", "Got it!")
  • Handle interruptions — voice agents get cut off, design for it
  • Confirm understanding — repeat back key info (names, numbers, dates)
  • Include fallback — "I didn't catch that, could you repeat?"

4. Phone Number Setup

# List available phone numbers
python3 {baseDir}/scripts/vapi_agent.py list-phones

# Buy a number (via Vapi dashboard or API)
# Import existing number (Twilio, Vonage)
python3 {baseDir}/scripts/vapi_agent.py import-phone '{"provider":"twilio","number":"+15551234567","twilioAccountSid":"AC...","twilioAuthToken":"..."}'

5. Call Handling

Outbound calls:

python3 {baseDir}/scripts/vapi_agent.py call '{"assistantId":"asst_xxx","phoneNumberId":"pn_xxx","customer":{"number":"+15551234567"}}'

Inbound: Assign agent to phone number in Vapi dashboard, or via API:

python3 {baseDir}/scripts/vapi_agent.py update-phone '{"id":"pn_xxx","assistantId":"asst_xxx"}'

Integration Patterns

Voice + CRM (GHL)

  1. Voice agent qualifies lead on call
  2. Use Vapi's serverUrl webhook to capture call data
  3. On call end → create/update GHL contact
  4. Move opportunity to appropriate pipeline stage
  5. Schedule follow-up if needed

Voice + Calendar Booking

  1. Agent checks availability via calendar API
  2. Uses function calling to book appointment
  3. Confirms date/time verbally
  4. Sends SMS confirmation after call

Voice + Knowledge Base

Upload documents to Vapi's knowledge base for RAG:

python3 {baseDir}/scripts/vapi_agent.py create-kb '{"name":"Product FAQ","files":["faq.pdf"]}'

Available Commands

python3 {baseDir}/scripts/vapi_agent.py create-agent '{...}'     # Create new agent
python3 {baseDir}/scripts/vapi_agent.py get-agent <id>            # Get agent details
python3 {baseDir}/scripts/vapi_agent.py list-agents               # List all agents
python3 {baseDir}/scripts/vapi_agent.py update-agent <id> '{...}' # Update agent
python3 {baseDir}/scripts/vapi_agent.py delete-agent <id>         # Delete agent
python3 {baseDir}/scripts/vapi_agent.py call '{...}'              # Make outbound call
python3 {baseDir}/scripts/vapi_agent.py get-call <id>             # Get call details
python3 {baseDir}/scripts/vapi_agent.py list-calls                # List all calls
python3 {baseDir}/scripts/vapi_agent.py list-phones               # List phone numbers
python3 {baseDir}/scripts/vapi_agent.py import-phone '{...}'      # Import phone number
python3 {baseDir}/scripts/vapi_agent.py update-phone '{...}'      # Update phone config

Credits

Built by M. Abidi | agxntsix.ai YouTube | GitHub Part of the AgxntSix Skill Suite for OpenClaw agents.

📅 Need help setting up OpenClaw for your business? Book a free consultation

Comments

Loading comments...