Prepare a SendHog receiving domain for an agent
Enable domain-level receipt explicitly, separate read/send/webhook permissions, and keep the agent runtime in your application.
Reviewed
SendHog provides incoming-mail storage, signed events, message retrieval, and outbound sending. Your application supplies the model loop, approval queue, and conversation state. These guides do not assume a SendHog-hosted agent runtime or an undocumented MCP server.
Isolate the incoming identity
- Choose a dedicated domain/subdomain for this workflow. Sending-domain verification alone does not enable receiving.
- Verify domain ownership using SendHog’s generated DKIM records.
- Open the domain’s Settings → Receiving, publish the exact MX instructions, and complete Check MX & enable receiving.
- Confirm receiving is active before testing. Preserve employee mailbox routing; changing MX moves all incoming mail for the selected domain.
The official receiving guide currently documents priority 10 at mx1.sendhog.com with DNS-only routing. Use the current dashboard instructions for your domain. Do not replace unrelated MX records merely to give one agent an address.
Separate credentials by job
| Worker | Required purpose | Keep out of the model context |
|---|---|---|
| Setup service | Register/maintain webhooks with webhooks.manage | Management credential and endpoint signing secret |
| Receiver/reader | Retrieve mail with email.read for the domain | Read credential and private originals |
| Approved-send worker | Send with email.send | Sending credential and approval state |
Create keys with the needed domain permissions, then check their actual scope. Filtering by recipient in application code is not equivalent to an address-scoped provider grant. Incoming addresses on an enabled domain are stored in its email log, so use a separate domain when tenant isolation requires it.
Verify a single controlled receipt
Send an approved test message to the original application address and check the domain email log. If it is absent, inspect receiving activation and authoritative MX before changing the agent code. The documented original-message size limit is 10 MiB; enforce compatible limits downstream.
Continue with signed event handling. See SDK installation for supported Node.js/Python versions and the native client; no AWS account or AWS credential is a prerequisite for this integration.