{
  "schemaVersion": "1.0",
  "item": {
    "slug": "voice-agent-pro",
    "name": "Voice Agent Builder Pro",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/aiwithabidi/voice-agent-pro",
    "canonicalUrl": "https://clawhub.ai/aiwithabidi/voice-agent-pro",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/voice-agent-pro",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=voice-agent-pro",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/vapi_agent.py",
      "scripts/voice_comparison.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/voice-agent-pro"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/voice-agent-pro",
    "agentPageUrl": "https://openagent3.xyz/skills/voice-agent-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-agent-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-agent-pro/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Voice Agent Builder",
        "body": "Build, configure, and manage Voice AI agents. Supports Vapi (primary), Bland.ai, and Retell platforms."
      },
      {
        "title": "Quick Start",
        "body": "export VAPI_API_KEY=\"your-vapi-api-key\"\n\n# Create a voice agent\npython3 {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.\"}'\n\n# Make an outbound call\npython3 {baseDir}/scripts/vapi_agent.py call '{\"assistantId\":\"asst_xxx\",\"phoneNumberId\":\"pn_xxx\",\"customer\":{\"number\":\"+15551234567\"}}'\n\n# List agents\npython3 {baseDir}/scripts/vapi_agent.py list-agents\n\n# List calls\npython3 {baseDir}/scripts/vapi_agent.py list-calls"
      },
      {
        "title": "Platform Comparison",
        "body": "FeatureVapiBland.aiRetellBest ForCustom agents, dev-friendlySimple outbound campaignsEnterprise, low latencyLatency~800ms~500ms~500msLanguages100+30+30+Custom LLM✅ Any OpenAI-compatible✅ Limited✅ Via APIPhone NumbersBuy/importBuy/importBuy/importPricing$0.05/min + provider costs$0.09/min all-in$0.07-0.15/minWebSocket✅❌✅Knowledge Base✅ Built-in✅✅Transfers✅✅✅\n\nRecommendation: Start with Vapi — most flexible, best docs, largest community. Use Bland for simple high-volume outbound. Use Retell for enterprise low-latency needs.\n\nSee {baseDir}/scripts/voice_comparison.md for detailed breakdown."
      },
      {
        "title": "1. Choose a Voice",
        "body": "Vapi supports multiple TTS providers:\n\nElevenLabs — Best quality, most natural (recommended)\nPlayHT — Good quality, lower cost\nDeepgram — Fast, good for real-time\nAzure — Enterprise, many languages"
      },
      {
        "title": "2. Configure the Agent",
        "body": "{\n  \"name\": \"Appointment Setter\",\n  \"firstMessage\": \"Hi! This is Sarah from Dr. Smith's office. I'm calling to help you schedule your appointment.\",\n  \"systemPrompt\": \"You are Sarah, a friendly appointment scheduler...\",\n  \"voice\": {\n    \"provider\": \"11labs\",\n    \"voiceId\": \"21m00Tcm4TlvDq8ikWAM\"\n  },\n  \"model\": {\n    \"provider\": \"openai\",\n    \"model\": \"gpt-4o\",\n    \"temperature\": 0.7\n  },\n  \"endCallFunctionEnabled\": true,\n  \"maxDurationSeconds\": 300,\n  \"silenceTimeoutSeconds\": 30\n}"
      },
      {
        "title": "3. Prompt Engineering for Voice",
        "body": "Voice prompts differ from text. Key principles:\n\nKeep responses SHORT — 1-2 sentences max per turn\nBe conversational — use filler words naturally (\"Sure thing!\", \"Got it!\")\nHandle interruptions — voice agents get cut off, design for it\nConfirm understanding — repeat back key info (names, numbers, dates)\nInclude fallback — \"I didn't catch that, could you repeat?\""
      },
      {
        "title": "4. Phone Number Setup",
        "body": "# List available phone numbers\npython3 {baseDir}/scripts/vapi_agent.py list-phones\n\n# Buy a number (via Vapi dashboard or API)\n# Import existing number (Twilio, Vonage)\npython3 {baseDir}/scripts/vapi_agent.py import-phone '{\"provider\":\"twilio\",\"number\":\"+15551234567\",\"twilioAccountSid\":\"AC...\",\"twilioAuthToken\":\"...\"}'"
      },
      {
        "title": "5. Call Handling",
        "body": "Outbound calls:\n\npython3 {baseDir}/scripts/vapi_agent.py call '{\"assistantId\":\"asst_xxx\",\"phoneNumberId\":\"pn_xxx\",\"customer\":{\"number\":\"+15551234567\"}}'\n\nInbound: Assign agent to phone number in Vapi dashboard, or via API:\n\npython3 {baseDir}/scripts/vapi_agent.py update-phone '{\"id\":\"pn_xxx\",\"assistantId\":\"asst_xxx\"}'"
      },
      {
        "title": "Voice + CRM (GHL)",
        "body": "Voice agent qualifies lead on call\nUse Vapi's serverUrl webhook to capture call data\nOn call end → create/update GHL contact\nMove opportunity to appropriate pipeline stage\nSchedule follow-up if needed"
      },
      {
        "title": "Voice + Calendar Booking",
        "body": "Agent checks availability via calendar API\nUses function calling to book appointment\nConfirms date/time verbally\nSends SMS confirmation after call"
      },
      {
        "title": "Voice + Knowledge Base",
        "body": "Upload documents to Vapi's knowledge base for RAG:\n\npython3 {baseDir}/scripts/vapi_agent.py create-kb '{\"name\":\"Product FAQ\",\"files\":[\"faq.pdf\"]}'"
      },
      {
        "title": "Available Commands",
        "body": "python3 {baseDir}/scripts/vapi_agent.py create-agent '{...}'     # Create new agent\npython3 {baseDir}/scripts/vapi_agent.py get-agent <id>            # Get agent details\npython3 {baseDir}/scripts/vapi_agent.py list-agents               # List all agents\npython3 {baseDir}/scripts/vapi_agent.py update-agent <id> '{...}' # Update agent\npython3 {baseDir}/scripts/vapi_agent.py delete-agent <id>         # Delete agent\npython3 {baseDir}/scripts/vapi_agent.py call '{...}'              # Make outbound call\npython3 {baseDir}/scripts/vapi_agent.py get-call <id>             # Get call details\npython3 {baseDir}/scripts/vapi_agent.py list-calls                # List all calls\npython3 {baseDir}/scripts/vapi_agent.py list-phones               # List phone numbers\npython3 {baseDir}/scripts/vapi_agent.py import-phone '{...}'      # Import phone number\npython3 {baseDir}/scripts/vapi_agent.py update-phone '{...}'      # Update phone config"
      },
      {
        "title": "Credits",
        "body": "Built by M. Abidi | agxntsix.ai\nYouTube | GitHub\nPart of the AgxntSix Skill Suite for OpenClaw agents.\n\n📅 Need help setting up OpenClaw for your business? Book a free consultation"
      }
    ],
    "body": "Voice Agent Builder\n\nBuild, configure, and manage Voice AI agents. Supports Vapi (primary), Bland.ai, and Retell platforms.\n\nQuick Start\nexport VAPI_API_KEY=\"your-vapi-api-key\"\n\n# Create a voice agent\npython3 {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.\"}'\n\n# Make an outbound call\npython3 {baseDir}/scripts/vapi_agent.py call '{\"assistantId\":\"asst_xxx\",\"phoneNumberId\":\"pn_xxx\",\"customer\":{\"number\":\"+15551234567\"}}'\n\n# List agents\npython3 {baseDir}/scripts/vapi_agent.py list-agents\n\n# List calls\npython3 {baseDir}/scripts/vapi_agent.py list-calls\n\nPlatform Comparison\nFeature\tVapi\tBland.ai\tRetell\nBest For\tCustom agents, dev-friendly\tSimple outbound campaigns\tEnterprise, low latency\nLatency\t~800ms\t~500ms\t~500ms\nLanguages\t100+\t30+\t30+\nCustom LLM\t✅ Any OpenAI-compatible\t✅ Limited\t✅ Via API\nPhone Numbers\tBuy/import\tBuy/import\tBuy/import\nPricing\t$0.05/min + provider costs\t$0.09/min all-in\t$0.07-0.15/min\nWebSocket\t✅\t❌\t✅\nKnowledge Base\t✅ Built-in\t✅\t✅\nTransfers\t✅\t✅\t✅\n\nRecommendation: Start with Vapi — most flexible, best docs, largest community. Use Bland for simple high-volume outbound. Use Retell for enterprise low-latency needs.\n\nSee {baseDir}/scripts/voice_comparison.md for detailed breakdown.\n\nAgent Creation Workflow\n1. Choose a Voice\n\nVapi supports multiple TTS providers:\n\nElevenLabs — Best quality, most natural (recommended)\nPlayHT — Good quality, lower cost\nDeepgram — Fast, good for real-time\nAzure — Enterprise, many languages\n2. Configure the Agent\n{\n  \"name\": \"Appointment Setter\",\n  \"firstMessage\": \"Hi! This is Sarah from Dr. Smith's office. I'm calling to help you schedule your appointment.\",\n  \"systemPrompt\": \"You are Sarah, a friendly appointment scheduler...\",\n  \"voice\": {\n    \"provider\": \"11labs\",\n    \"voiceId\": \"21m00Tcm4TlvDq8ikWAM\"\n  },\n  \"model\": {\n    \"provider\": \"openai\",\n    \"model\": \"gpt-4o\",\n    \"temperature\": 0.7\n  },\n  \"endCallFunctionEnabled\": true,\n  \"maxDurationSeconds\": 300,\n  \"silenceTimeoutSeconds\": 30\n}\n\n3. Prompt Engineering for Voice\n\nVoice prompts differ from text. Key principles:\n\nKeep responses SHORT — 1-2 sentences max per turn\nBe conversational — use filler words naturally (\"Sure thing!\", \"Got it!\")\nHandle interruptions — voice agents get cut off, design for it\nConfirm understanding — repeat back key info (names, numbers, dates)\nInclude fallback — \"I didn't catch that, could you repeat?\"\n4. Phone Number Setup\n# List available phone numbers\npython3 {baseDir}/scripts/vapi_agent.py list-phones\n\n# Buy a number (via Vapi dashboard or API)\n# Import existing number (Twilio, Vonage)\npython3 {baseDir}/scripts/vapi_agent.py import-phone '{\"provider\":\"twilio\",\"number\":\"+15551234567\",\"twilioAccountSid\":\"AC...\",\"twilioAuthToken\":\"...\"}'\n\n5. Call Handling\n\nOutbound calls:\n\npython3 {baseDir}/scripts/vapi_agent.py call '{\"assistantId\":\"asst_xxx\",\"phoneNumberId\":\"pn_xxx\",\"customer\":{\"number\":\"+15551234567\"}}'\n\n\nInbound: Assign agent to phone number in Vapi dashboard, or via API:\n\npython3 {baseDir}/scripts/vapi_agent.py update-phone '{\"id\":\"pn_xxx\",\"assistantId\":\"asst_xxx\"}'\n\nIntegration Patterns\nVoice + CRM (GHL)\nVoice agent qualifies lead on call\nUse Vapi's serverUrl webhook to capture call data\nOn call end → create/update GHL contact\nMove opportunity to appropriate pipeline stage\nSchedule follow-up if needed\nVoice + Calendar Booking\nAgent checks availability via calendar API\nUses function calling to book appointment\nConfirms date/time verbally\nSends SMS confirmation after call\nVoice + Knowledge Base\n\nUpload documents to Vapi's knowledge base for RAG:\n\npython3 {baseDir}/scripts/vapi_agent.py create-kb '{\"name\":\"Product FAQ\",\"files\":[\"faq.pdf\"]}'\n\nAvailable Commands\npython3 {baseDir}/scripts/vapi_agent.py create-agent '{...}'     # Create new agent\npython3 {baseDir}/scripts/vapi_agent.py get-agent <id>            # Get agent details\npython3 {baseDir}/scripts/vapi_agent.py list-agents               # List all agents\npython3 {baseDir}/scripts/vapi_agent.py update-agent <id> '{...}' # Update agent\npython3 {baseDir}/scripts/vapi_agent.py delete-agent <id>         # Delete agent\npython3 {baseDir}/scripts/vapi_agent.py call '{...}'              # Make outbound call\npython3 {baseDir}/scripts/vapi_agent.py get-call <id>             # Get call details\npython3 {baseDir}/scripts/vapi_agent.py list-calls                # List all calls\npython3 {baseDir}/scripts/vapi_agent.py list-phones               # List phone numbers\npython3 {baseDir}/scripts/vapi_agent.py import-phone '{...}'      # Import phone number\npython3 {baseDir}/scripts/vapi_agent.py update-phone '{...}'      # Update phone config\n\nCredits\n\nBuilt by M. Abidi | agxntsix.ai YouTube | GitHub Part of the AgxntSix Skill Suite for OpenClaw agents.\n\n📅 Need help setting up OpenClaw for your business? Book a free consultation"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/aiwithabidi/voice-agent-pro",
    "publisherUrl": "https://clawhub.ai/aiwithabidi/voice-agent-pro",
    "owner": "aiwithabidi",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/voice-agent-pro",
    "downloadUrl": "https://openagent3.xyz/downloads/voice-agent-pro",
    "agentUrl": "https://openagent3.xyz/skills/voice-agent-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-agent-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-agent-pro/agent.md"
  }
}