Muse has no inbox of its own. Give any AI agent a real email address with the Telnyx Email API, on the same platform as voice and SMS.

Muse, Meta's consumer AI assistant, launched on September 8 and hit a wall every AI agent shares: it cannot receive email. Meta strips verification codes, reset links, and magic links out of the inbox Muse is allowed to read, so the agent cannot act as you on other sites. The protection makes sense. It also blocks the useful part: an agent that wants to sign up for a service, request a quote, or chase a refund has nowhere to receive its mail.
The Telnyx Email API removes that wall without weakening the protection. You create an inbox on a domain you control, let the agent send from it and receive at it, and read every reply through the API. The inbox runs on the same platform that already carries your voice, SMS, and WhatsApp traffic. The setup takes about ten minutes.
An agent inbox is an email address an AI agent owns and operates, separate from any human's mailbox. The agent composes from it, receives replies at it, reads its own verification codes, and keeps thread history for its tasks. Mail addressed to the agent never touches your personal inbox, and mail addressed to you never becomes the agent's business.
Muse's documentation states the design plainly: the email connector strips verification codes, reset links, and magic links so the agent cannot act as you across other sites. An agent inbox preserves that protection and gives the codes somewhere to land. Only the agent reads them.

Sign in to the Telnyx portal, navigate to Email, and add your domain with inbound email enabled.
The flag is inbound_enabled on the domain: it pulls the MX record into verification, and without it the inbox call in Step 2 fails with a 422, domain not found. With inbound on, Telnyx generates the five DNS records, ownership, SPF, DKIM, MX, and DMARC, and monitors drift. Ownership and DKIM are mandatory, MX rides on inbound_enabled, and SPF and DMARC are optional but recommended for deliverability. If you want to test receiving before touching DNS, create an inbox without a domain_id and it lands on Telnyx's shared inbound subdomain; sending from your own address requires a verified domain.

Create one inbox per job on the verified domain. The username becomes the local part: [email protected] for the quote-chasing agent, [email protected] for the return agent, [email protected] for the deep-dive agent.
# Source: https://developers.telnyx.com/docs/messaging/email/inboxes curl -X POST https://api.telnyx.com/v2/email_inboxes \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "username": "quotes", "domain_id": "{domain_id}" }'
The agent now owns [email protected]. Anything sent there is retrievable by the agent and invisible to your personal inbox.
Sending runs through one endpoint. Scheduled sends and thread replies are native:
# Source: https://developers.telnyx.com/docs/messaging/email/send-email curl -X POST https://api.telnyx.com/v2/email_messages \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "from": {"email": "[email protected]", "name": "Alex, quoting assistant"}, "to": [{"email": "[email protected]"}], "subject": "Quote request: 2-bedroom move, Oct 18", "text_body": "Hi, I am arranging a two-bedroom apartment move on October 18. Can you send a quote including insurance? Reply to this address." }'
When the agent replies inside a thread, pass in_reply_to_message_id set to the id of your own previous send, the id field returned by the POST /v2/email_messages response, not the id of the received inbox message. The API 404s an inbox message id here. Gmail and Outlook then thread the response correctly:
# Source: https://developers.telnyx.com/api-reference/email-messages/create-or-send-an-email-message curl -X POST https://api.telnyx.com/v2/email_messages \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "from": "[email protected]", "to": ["[email protected]"], "subject": "Re: Quote request: 2-bedroom move, Oct 18", "text_body": "Thanks, does the quote include packing materials?", "in_reply_to_message_id": "{parent_message_uuid}" }'
The domain carries inbound_enabled, and once it verifies with the MX record published, the inbox is live. Register the webhook so inbound mail actually reaches your agent: subscriptions are registered per domain, and each needs a url plus an events allowlist.
# Source: https://developers.telnyx.com/docs/messaging/email/webhooks-events curl -X POST https://api.telnyx.com/v2/email_domains/{domain_id}/webhooks \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "url": "https://yourapp.example.com/webhooks/email", "events": ["email.received"] }'
From then on, every message arriving at your inboxes fires email.received at that URL. Your handler reads the message, extracts structured data, and acts on it: compare quotes, flag a refund approval, or escalate to an outbound voice call.

Each prompt below is a complete instruction with an expected outcome. They run in Muse, Claude Code, Cursor, or any agent that can call a REST API. One account caveat: trial accounts can only send to the account owner's verified email, so the multi-vendor examples need a paid account.
Paste this into your agent's instructions so it can operate its inbox without re-explaining:
You have your own email address: {agent_address}. It runs on the Telnyx Email API. To send email: POST https://api.telnyx.com/v2/email_messages Headers: Authorization: Bearer {TELNYX_API_KEY} Body: {"from": "{agent_address}", "to": ["{recipient}"], "subject": "...", "text_body": "..."} To reply in a thread, add "in_reply_to_message_id": "{id_of_your_own_previous_send}". This is the id from YOUR OWN send response, never the id of the incoming inbox message. To check for new mail: GET https://api.telnyx.com/v2/email_inboxes/{inbox_id}/messages Headers: Authorization: Bearer {TELNYX_API_KEY} Rules: - Never send from any address except {agent_address}. - Read verification codes only from your own inbox, never ask me for mine. - Keep one thread per external contact; always reply with in_reply_to_message_id. - Summarize outcomes to me; act autonomously for anything I pre-approved.
Because the agent's credentials are Telnyx credentials, the same agent that emails a vendor can also:
The email thread, the call recording, and the SMS log all carry the same account identity, so the agent loses no context between channels. Email sends start at $0.30 per 1,000 and scale to $0.15 at volume.
Agents that run errands, chase vendors, and sign up for services need an address of their own. The four steps above take about ten minutes, and the prompts above are a starting script set. Wire the same API key to voice, SMS, and WhatsApp while you are in there.
Ready to set this up? Sign up for Telnyx, add your domain, and create your first inbox in minutes.
Related articles
What is an SMS number, and which type should you use?

What is an SMS gateway and how does it work?

The future of 10DLC in A2P messaging

How to set up a SIP trunk with Telnyx

Build outbound AI calls with Python and OpenAI GPT-Live

TTS architecture decides what breaks first
