telephony

Provision Twilio numbers and send SMS or outbound calls via Twilio, Bland.ai, or Vapi.

Updated May 26, 2026
One-click install
npx skills add https://github.com/ruiyangruiyi/hermes-agent --skill telephony-ruiyangruiyi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: telephony
Source: https://github.com/ruiyangruiyi/hermes-agent/tree/main/optional-skills/productivity/telephony
Command: npx skills add https://github.com/ruiyangruiyi/hermes-agent --skill telephony-ruiyangruiyi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and assets (resource) components.

What problem does it solve?

Telephony integration without changing Hermes core tools by letting you provision an agent number and send/receive SMS and run outbound calls through Twilio, Bland.ai, or Vapi.

Core Features & Use Cases

  • Twilio number provisioning & persistence: buy a Twilio number, store it for later sessions, and reuse it as the agent identity.
  • SMS/MMS sending and inbox polling: send texts/media from the owned number and later retrieve inbound messages via REST polling (no webhook server required).
  • Direct calls and AI-driven outbound calls: place Twilio direct calls using TwiML (<Say>/<Play>) and run AI outbound calls via Bland.ai or Vapi with status checking after completion.
  • Safety-first telephony guardrails: built-in rules to confirm before dialing/texting, avoid emergency numbers, and avoid storing third-party numbers in Hermes memory.

Quick Start

Tell the assistant to buy and save a Twilio number by running: python3 telephony/scripts/telephony.py twilio-buy "+17025551234" --save-env

Frequently Asked Questions about telephony

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I provision a Twilio phone number for an AI agent to send SMS?

You can provision a Twilio phone number by executing the telephony script with the twilio-buy command, specifying a target E.164 phone number, and using the --save-env flag to persist the number as the agent identity.

Can I make AI voice calls using Bland.ai or Vapi?

Yes, you can make AI-driven outbound voice calls using either Bland.ai or Vapi. The Skill initiates the call and provides functionality to retrieve the call status after completion.

How do I retrieve inbound SMS without setting up a webhook server?

You can retrieve inbound SMS and MMS messages through REST API polling. The Skill manages telephony state in a local JSON file, allowing you to check an inbox without needing a webhook server.

Do I need to format phone numbers in a specific way for Twilio integration?

Yes, the Skill validates phone numbers using the E.164 format. This standard ensures compatibility with Twilio, Bland.ai, and Vapi APIs for provisioning, messaging, and outbound calling.

What safety guardrails are in place before making outbound calls or sending texts?

The Skill enforces user confirmation rules before executing outbound dialing or texting actions. It also includes guardrails to avoid dialing emergency numbers and prevents storing third-party numbers in memory.

How do I place a direct voice call using Twilio?

You can place direct Twilio voice calls using TwiML instructions, specifically leveraging the Say and Play tags to generate voice prompts during the outbound call.