# Hail > Let your AI assistant make and receive calls, send texts, and manage email. Keep track of conversations across calls and texts. Get phone numbers in 120+ countries. Choose a voice or bring your own. Open-source or cloud priced on usage. ## Product - [Hail](https://hail.so): Give apps and AI agents a phone number and email inbox. Make or take calls, send or answer texts and email. - [Pricing](https://hail.so/pricing): Pay-per-use communication pricing, a custom credit calculator, and no subscriptions or seats. - [Number prices](https://hail.so/numbers): Monthly phone number prices by country and type, compared across carriers. - [Twilio phone number cost](https://hail.so/numbers/twilio-phone-number-cost): Twilio monthly phone number prices by country, next to the Hail price. - [MCP](https://hail.so/mcp): Connect Hail to an MCP client with OAuth 2.1 and expose phone, SMS, and email as native agent tools. - [CLI](https://hail.so/#products): `brew install hail-hq/tap/hail`. Same auth and audit trail as the API and MCP server. - [Comparisons](https://hail.so/compare): Hail compared with communications providers and agent-email products. ## When to use Hail Use Hail when your backend applications or AI agents need to send or receive email, SMS, or phone calls. An AI agent client is not required. Backends can use the REST API or CLI. Agent workflows include: - The agent must place or receive a phone call (support callback, appointment reminder, a live voice conversation with a customer). A saved agent answers calls and texts on a number; see [Agents](https://hail.so/docs/agents). - The agent must send or receive SMS with delivery events, opt-out handling, and sender setup appropriate to the destination. - The agent must send transactional or outbound email from a domain with SPF/DKIM/DMARC configured, and needs opens/bounces/complaints back as events, not just a fire-and-forget send. - The agent needs one account, one ledger, and one audit trail across all three channels, callable from MCP, a REST API, or a CLI, instead of wiring three separate vendors. How to call it: connect the MCP server at https://mcp.hail.so (OAuth 2.1, no API key), or read [/skill.md](https://hail.so/skill.md) for a one-POST agent self-signup that returns an API key for direct REST calls. ## Sign up yourself (agents) Are you an AI agent? You can create a Hail account yourself, no human required. Read [/skill.md](https://hail.so/skill.md) and follow it: one POST registers you and returns an API key. Your workspace starts at a $0 balance. Send the returned claim link to your human owner to add credits, then you send email, SMS, or place voice calls in a single curl. The docs and pricing data are designed to be agent-readable. The complete documentation corpus is available at [/llms-full.txt](https://hail.so/llms-full.txt). ## MCP client setup - [Connect Hail to Claude](https://hail.so/mcp/claude): Add Hail to Claude as a remote connector. Your agent gets call, SMS, and email tools when Claude reconnects. - [Connect Hail to ChatGPT](https://hail.so/mcp/chatgpt): ChatGPT supports MCP through Plugins. Add Hail one time on the web. Then every chat on web and desktop can use the Hail tools. - [Connect Hail to Codex CLI](https://hail.so/mcp/codex): Codex adds MCP servers with the codex mcp command. Run two commands. The CLI, the VS Code extension, and Codex cloud then share the Hail tools. - [Connect Hail to Cursor](https://hail.so/mcp/cursor): Cursor reads MCP servers from a JSON file or from an install link. Add Hail, and the Cursor agent can place calls, send SMS, and send email. - [Connect Hail to VS Code](https://hail.so/mcp/copilot): MCP support in VS Code is generally available. VS Code runs the OAuth sign-in. Copilot agent mode can then use the Hail tools. - [Connect Hail to Gemini CLI](https://hail.so/mcp/gemini): Gemini CLI and Code Assist read the same MCP config. Run one command to add the Hail tools to Gemini. - [Connect Hail to Windsurf](https://hail.so/mcp/windsurf): Windsurf now has the name Devin Desktop. The editor and the config file did not change. Hail appears in the agent panel with your other MCP tools. ## Documentation - [MCP clients](https://hail.so/docs/mcp): Hail exposes MCP as a remote server. Hail Cloud uses OAuth: paste the URL into your client, click Allow, and your agent gets the call/sms/mail tools. - [Agents](https://hail.so/docs/agents): An agent is a saved brain: instructions, greeting, AI line, voice, tools and limits. A number routes its incoming calls to one agent and its incoming texts to one agent. - [Webhooks](https://hail.so/docs/webhooks): When a subscribed event occurs — inbound mail or SMS, a delivery report, a call outcome — Hail POSTs a signed JSON event to your URL. Verify the X-Hail-Signature header, return any 2xx, and you're done. - [Bring your own LLM](https://hail.so/docs/byo-llm): Point a Hail voice call at your own OpenAI-compatible endpoint. Your agent becomes the brain of the call: Hail handles telephony, speech-to-text, text-to-speech, turn detection, and tools, and asks your endpoint what to say on every turn. - [react-email](https://hail.so/docs/react-email): Hail does not render React or store templates. Render a react-email component to a string and send it as the email body. - [CLI reference](https://hail.so/docs/cli): hail is the Go CLI. It codegens its client from openapi/openapi.yaml — that spec is the canonical contract; this page covers the email and webhooks surface. - [Architecture](https://hail.so/docs/architecture): Hail v1 is three Python services + a Go CLI, wrapped around LiveKit Cloud. - [Self-hosting](https://hail.so/docs/self-host): Run the whole Hail stack yourself — one-VM deploy, provider setup (LiveKit Cloud, Twilio, AWS SES), SMTP inbound, and the operations runbook. - [Self-hosting on a VM](https://hail.so/docs/self-host/vm-deploy): Run the whole Hail stack on a single Ubuntu VM with HTTPS and auto-deploy from main. - [LiveKit Cloud setup](https://hail.so/docs/self-host/livekit-cloud): LiveKit Cloud handles media (SIP bridge + WebRTC) in v1. Self-hosted SFU is a later milestone. - [Twilio setup](https://hail.so/docs/self-host/twilio): You need a Twilio account, a phone number, and a SIP trunk bridged to LiveKit Cloud. - [Telnyx setup](https://hail.so/docs/self-host/telnyx): Second carrier for numbers, calls and SMS, next to Twilio. Quotes compare live inventory and prices from each. - [DIDWW setup](https://hail.so/docs/self-host/didww): Second voice carrier, next to Twilio. Calls in and out through a DIDWW trunk. - [Email & inbound setup](https://hail.so/docs/self-host/aws-ses): Outbound email goes through Amazon SES. You need an AWS account, the SES service enabled in one region, and either IAM-role credentials or a long-lived access key. - [Self-hosted SMTP inbound](https://hail.so/docs/self-host/smtp-inbound): Receive inbound email without Amazon SES by pointing your MX at Hail's own SMTP listener. - [Operations](https://hail.so/docs/self-host/operations): Single source of truth for how to develop, deploy, migrate, and release Hail. - [Contributing](https://hail.so/docs/contributing): Contribution flow — set up a dev environment, run the services, regenerate OpenAPI, and PR. For the full operational runbook see Operations. ## API reference - [API reference](https://hail.so/docs/api): every REST endpoint of the Hail API at https://api.hail.so, generated from the OpenAPI spec. - [OpenAPI spec (YAML)](https://hail.so/docs/api/openapi.yaml): machine-readable contract, CI-verified against the live service. - [OpenAPI spec (JSON)](https://hail.so/docs/api/openapi.json): same spec as JSON. ## Pricing data - [Model costs (markdown)](https://hail.so/costs.md): full report. - [Model costs (HTML)](https://hail.so/costs): sortable tables. - [Compare models](https://hail.so/costs/compare): side-by-side. - [LLM costs (JSON)](https://raw.githubusercontent.com/hail-hq/hail/main/costs/llm.json) - [STT costs (JSON)](https://raw.githubusercontent.com/hail-hq/hail/main/costs/stt.json) - [TTS costs (JSON)](https://raw.githubusercontent.com/hail-hq/hail/main/costs/tts.json) - [JSON Schemas](https://hail.so/costs/schema/llm.json): Draft 2020-12 schemas for the three datasets above (also stt.json, tts.json under the same path). ## Free tools - [All tools](https://hail.so/tools): free calculators and utilities for agent builders, no signup. - [DMARC Report Analyzer](https://hail.so/tools/dmarc-report-analyzer): Read DMARC aggregate XML reports in your browser. See sending sources, alignment, and failures, then export a CSV file. The report is not uploaded. - [AI Voice Agent Prompt Builder](https://hail.so/tools/voice-agent-prompt-builder): Build instructions for a receptionist, appointment confirmation, or order follow-up call. Edit the script and export it. The tool does not call a model. - [AI Voice Agent Cost Calculator](https://hail.so/tools/voice-agent-cost-calculator): Estimate what an AI phone agent costs per call, per minute, and per month. The estimate covers STT, LLM, TTS, and telephony, with prices from the Hail costs dataset. - [Answering Service Cost Calculator](https://hail.so/tools/answering-service-cost-calculator): Compare the monthly cost of a human answering service with an AI phone agent. Prices come from Ruby, Abby Connect, and Smith.ai pricing pages. - [SMS Length & Segment Calculator](https://hail.so/tools/sms-length-calculator): Count SMS characters and segments, and detect GSM-7 or UCS-2 encoding. See which characters cause UCS-2 encoding, and estimate the sending cost. - [Email Deliverability Checker](https://hail.so/tools/email-deliverability-checker): Check the SPF, DKIM, DMARC, and MX records of any domain. Each check returns pass, warn, or fail. A warn or fail result includes a fix. ## Framework integrations - [All integrations](https://hail.so/integrations): runnable examples that wire calls, SMS, and email into agent frameworks. - [LangGraph](https://hail.so/integrations/langgraph): Add send_sms, send_email, and place_call tools to a LangGraph agent with the Hail Python SDK. The guide has an example that you can run. - [CrewAI](https://hail.so/integrations/crewai): Place calls and send SMS and email from a CrewAI crew with the Hail Python SDK. The guide has a BaseTool example that you can run. - [OpenAI Agents SDK](https://hail.so/integrations/openai-agents-sdk): Add place_call and send_sms function tools to an OpenAI Agents SDK agent with the Hail Python SDK. The guide has an example that you can copy. - [Vercel AI SDK](https://hail.so/integrations/vercel-ai-sdk): Send SMS and email from the Vercel AI SDK through the Hail REST API. The TypeScript example uses Zod schemas and the recipient_consent field. - [n8n](https://hail.so/integrations/n8n): Connect an n8n AI Agent to Hail with an HTTP Request tool or the MCP Client node. Send SMS, send email, and place calls from a workflow. - [Claude](https://hail.so/integrations/claude): Connect Claude, Claude Code, or the Claude Agent SDK to Hail over MCP. One OAuth approval adds the send_sms, place_call, and send_email tools. ## Channels - [Voice API](https://hail.so/voice): Build AI phone agents that make and receive calls on real phone numbers. [Markdown](https://hail.so/voice.md) - [SMS API](https://hail.so/sms): Send text messages, receive replies, and track delivery through an API, MCP, or CLI. [Markdown](https://hail.so/sms.md) - [Email API](https://hail.so/email): Send and receive email for AI agents and backends, with delivery events and custom domains. [Markdown](https://hail.so/email.md) ## Engineering blog - [All articles](https://hail.so/blog): Practical tutorials for developers building communication workflows. - [Blog index (Markdown)](https://hail.so/blog.md): every article with its sections. Add `.md` to any article URL for its Markdown. - [AI outbound calls: make your first call](https://hail.so/blog/ai-outbound-calls): Place an AI outbound call with one API request. Learn how AI voice calling works: statuses, webhooks, voicemail, consent, and a reminder call template. [Markdown](https://hail.so/blog/ai-outbound-calls.md) - [How AI voice calling works](https://hail.so/blog/ai-outbound-calls#how-ai-voice-calling-works) - [Place an AI outbound call](https://hail.so/blog/ai-outbound-calls#place-an-ai-outbound-call) - [Read the result: statuses and webhooks](https://hail.so/blog/ai-outbound-calls#read-the-result-statuses-and-webhooks) - [What happens when voicemail answers](https://hail.so/blog/ai-outbound-calls#what-happens-when-voicemail-answers) - [Build an automated calling system, not one call](https://hail.so/blog/ai-outbound-calls#build-an-automated-calling-system-not-one-call) - [Make your automated phone system honest](https://hail.so/blog/ai-outbound-calls#make-your-automated-phone-system-honest) - [AI phone calls: a reminder template](https://hail.so/blog/ai-outbound-calls#ai-phone-calls-that-people-do-not-hang-up-on) - [AI phone agent: how it works and how to build one](https://hail.so/blog/ai-phone-agent): An AI phone agent answers and places calls. Learn how AI voice agents work and how to build one. [Markdown](https://hail.so/blog/ai-phone-agent.md) - [What are AI voice agents?](https://hail.so/blog/ai-phone-agent#what-are-ai-voice-agents) - [AI phone answering: inbound calls](https://hail.so/blog/ai-phone-agent#ai-phone-answering-inbound-calls) - [AI call bot: outbound calls](https://hail.so/blog/ai-phone-agent#ai-call-bot-outbound-calls) - [The parts of an AI phone system](https://hail.so/blog/ai-phone-agent#the-parts-of-an-ai-phone-system) - [Voice AI agents: three ways to build one](https://hail.so/blog/ai-phone-agent#voice-ai-agents-three-ways-to-build-one) - [How to build an AI phone agent with Hail](https://hail.so/blog/ai-phone-agent#how-to-build-an-ai-phone-agent-with-hail) - [Write the prompt before you pick the vendor](https://hail.so/blog/ai-phone-agent#write-the-prompt-before-you-pick-the-vendor) - [Limits to plan for](https://hail.so/blog/ai-phone-agent#limits-to-plan-for) - [AI phone agent guides](https://hail.so/blog/ai-phone-agent#ai-phone-agent-guides) - [Find leads and launch outbound messaging at scale with email, texts, and calls](https://hail.so/blog/contact-leads-fullenrich-hail): Find leads and start email, text, and call campaigns from Claude, using the messages you've written. Connect FullEnrich and Hail MCP to get started. [Markdown](https://hail.so/blog/contact-leads-fullenrich-hail.md) - [Keep the writing in your hands](https://hail.so/blog/contact-leads-fullenrich-hail#keep-the-writing-in-your-hands) - [1. Connect FullEnrich and Hail to Claude](https://hail.so/blog/contact-leads-fullenrich-hail#1-connect-fullenrich-and-hail-to-claude) - [2. Find the people you want to reach](https://hail.so/blog/contact-leads-fullenrich-hail#2-find-the-people-you-want-to-reach) - [3. Add the messages you've written](https://hail.so/blog/contact-leads-fullenrich-hail#3-add-the-messages-youve-written) - [4. Send a test, then launch your campaign](https://hail.so/blog/contact-leads-fullenrich-hail#4-send-a-test-then-launch-your-campaign) - [5. Check what happened before you follow up](https://hail.so/blog/contact-leads-fullenrich-hail#5-check-what-happened-before-you-follow-up) - [Work through a larger list](https://hail.so/blog/contact-leads-fullenrich-hail#work-through-a-larger-list) - [Check the full cost as you grow](https://hail.so/blog/contact-leads-fullenrich-hail#check-the-full-cost-as-you-grow) - [DMARC policies explained: none, quarantine, and reject](https://hail.so/blog/dmarc-policy): Learn how DMARC policies handle email that fails authentication. Compare none, quarantine, and reject to choose a policy for your domain. [Markdown](https://hail.so/blog/dmarc-policy.md) - [What DMARC checks](https://hail.so/blog/dmarc-policy#what-dmarc-checks) - [What the three policies request](https://hail.so/blog/dmarc-policy#what-the-three-policies-request) - [Start with a record you understand](https://hail.so/blog/dmarc-policy#start-with-a-record-you-understand) - [Check every legitimate sender before tightening the policy](https://hail.so/blog/dmarc-policy#check-every-legitimate-sender-before-tightening-the-policy) - [Use DNS checks and message checks together](https://hail.so/blog/dmarc-policy#use-dns-checks-and-message-checks-together) - [Make your first AI phone call with a voice API](https://hail.so/blog/first-ai-phone-call): Place your first AI phone call with Hail’s voice API. Set a system prompt, confirm recipient consent, and read the call status. [Markdown](https://hail.so/blog/first-ai-phone-call.md) - [Before making the call](https://hail.so/blog/first-ai-phone-call#before-making-the-call) - [Give the agent a narrow task](https://hail.so/blog/first-ai-phone-call#give-the-agent-a-narrow-task) - [Read the call result](https://hail.so/blog/first-ai-phone-call#read-the-call-result) - [Listen for the mistakes a status cannot explain](https://hail.so/blog/first-ai-phone-call#listen-for-the-mistakes-a-status-cannot-explain) - [Add the next step only after the first works](https://hail.so/blog/first-ai-phone-call#add-the-next-step-only-after-the-first-works) - [Send an email with an API, then check what happened](https://hail.so/blog/send-email-with-an-api): Send a plain text email with Hail’s API and confirm recipient consent. Read delivery and bounce events to check the result. [Markdown](https://hail.so/blog/send-email-with-an-api.md) - [Set up the sender first](https://hail.so/blog/send-email-with-an-api#set-up-the-sender-first) - [Send one plain-text email](https://hail.so/blog/send-email-with-an-api#send-one-plain-text-email) - [Follow what happened after sending](https://hail.so/blog/send-email-with-an-api#follow-what-happened-after-sending) - [Why there is no open event in this example](https://hail.so/blog/send-email-with-an-api#why-there-is-no-open-event-in-this-example) - [Debug the right layer](https://hail.so/blog/send-email-with-an-api#debug-the-right-layer) ## Guides - [How long does 10DLC registration take?](https://hail.so/sms#10dlc-registration): Brand registration, campaign review, and sender setup for US local numbers. - [How long does email domain warmup take?](https://hail.so/email#domain-warmup): Sending reputation, gradual volume increases, domain authentication, and the SES sandbox. ## Comparisons - [Hail vs. the stack](https://hail.so/compare): feature-by-feature matrix across voice, SMS, and email vs. Twilio, SendGrid, and AgentMail. - [Hail vs Twilio](https://hail.so/compare/twilio): Twilio has APIs for programmable voice, SIP, messaging, and verification. Hail gives an AI agent call, SMS, and email tools behind one MCP endpoint. - [Hail vs SendGrid](https://hail.so/compare/sendgrid): SendGrid sends email at high volume and parses inbound email. Hail provides email, voice, and SMS for an AI agent behind one MCP endpoint. - [Hail vs Vonage](https://hail.so/compare/vonage): Vonage has programmable voice, SMS, and video APIs. Its email comes from a partner. Hail provides voice, SMS, and email behind one MCP endpoint. - [Hail vs AgentMail](https://hail.so/compare/agentmail): AgentMail gives AI agents an email inbox for inbound and outbound email. Hail provides agent email and adds voice and SMS on one API key and one bill. - [Hail vs Vapi](https://hail.so/compare/vapi): Vapi and Hail both host the voice call loop. Vapi is a platform for building voice agents. On Hail, a call is one agent tool next to SMS and email. - [Hail vs Retell](https://hail.so/compare/retell): Retell packages voice agents, transfers, and analytics for phone operations. On Hail, a call is one agent tool next to SMS and email. - [Hail vs the DIY stack](https://hail.so/compare/diy-stack): A DIY stack uses Twilio for voice and SMS, an email vendor, and your own integration code. Hail provides all three channels behind one MCP endpoint. ## Source - [GitHub repository](https://github.com/hail-hq/hail): Full source. AGPLv3 (code) / CC-BY-4.0 (costs/ dataset). ## Company - [About](https://hail.so/about): communications for backends and AI agents, company facts, and hosted or self-hosted options. - [Contact](https://hail.so/contact): how to reach Hail HQ. - [Brand assets](https://hail.so/brand): logo, wordmark, mascot, and colors as SVG and PNG. ## Legal - [Legal index](https://hail.so/legal): Terms, privacy, data processing, acceptable use, SMS, cookies, and sub-processors. - [Terms of Service](https://hail.so/legal/terms): Read the terms for using Hail Cloud. Learn about accounts, payments, service access, and your duties when you use Hail. - [Acceptable Use Policy](https://hail.so/legal/aup): Read Hail’s rules for calls, SMS, and email. Learn about consent, prohibited content, and actions that can suspend service. - [SMS Messaging Terms](https://hail.so/legal/sms): Read Hail’s SMS terms for consent and message frequency. Learn how recipients can stop messages with STOP or get help with HELP. - [Privacy Policy](https://hail.so/legal/privacy): Learn how Hail collects, uses, stores, and shares personal data. Read about your privacy rights and how to contact Hail. - [Data Processing Addendum](https://hail.so/legal/dpa): Read Hail’s data processing terms under GDPR Article 28. Learn about recipient data, security duties, and data requests. - [Sub-processors](https://hail.so/legal/subprocessors): See the service providers Hail uses to deliver its cloud product. Read about each provider’s role and the data they process. - [Cookie Policy](https://hail.so/legal/cookies): Learn which cookies and similar tools Hail uses on hail.so. Read about their purposes and your choices for optional cookies.