
Email is the most-underrated agent trigger. Customers already forward invoices, RFPs, screenshots, and support requests over email. Giving your agent an inbox is often the fastest way to get real work in front of it.
What you get
- A stable address like
hook_xxx@ingest.hooksbase.comper webhook - Inbound mail parsed with
postal-mimeinto structured JSON (sender, recipient, subject, text, HTML, attachments, selected headers) - Attachments persisted on paid tiers with signed download URLs (up to 15 MB per file, 50 MB per ingest); metadata-only on free tier
- Optional per-webhook sender allowlist on Starter+
Configure the webhook
- In the dashboard, open the webhook you want to receive email on.
- Scroll to the Email tab.
- Copy the generated ingest address. This is the stable address for the lifetime of the webhook.
- (Optional, Starter+) Add a sender allowlist. Supports exact addresses (
vendor@stripe.com), domain wildcards (*@acme.com), and local-part wildcards (alerts@*). Free projects accept all senders for the generated address.
The payload shape
Your agent receives structured JSON:
{
"source": "email",
"from": "customer@example.com",
"to": "hook_abc@ingest.hooksbase.com",
"subject": "Invoice #4421",
"text": "Hi, please process the attached invoice...",
"html": "<div>...</div>",
"attachments": [
{
"filename": "invoice.pdf",
"contentType": "application/pdf",
"size": 132041,
"fileRef": {
"key": "files/abc/def/0",
"url": "https://hooks.hooksbase.com/v1/files/eyJ..."
}
}
],
"messageId": "<20260506...>",
"date": "Wed, 06 May 2026 10:30:00 +0000",
"headers": {
"reply-to": "customer@example.com"
}
}
On free tier, fileRef is omitted; attachments are metadata-only.
Wire up the agent
Your agent consumes the JSON payload like any other webhook event. For attachment-heavy workflows, fetch the file from the signed fileRef.url (initially valid for 7 days) or use the authenticated retrieval endpoint:
GET /v1/webhooks/:webhookId/deliveries/:deliveryId/files/:index
Authorization: Bearer swk_...
Common agent recipes
- Invoice parser: customer forwards invoice → agent extracts line items, vendor, total → writes to accounting system
- Support triage: customer emails support@yourapp.com (forwarded via mail rules) → agent classifies, drafts reply
- Lead qualification: sales forwards inbound email → agent scores lead, writes to CRM
- RFP processor: vendor emails RFP → agent summarizes, extracts deadline, creates Slack channel
Email plumbing you don't have to build
Without Hooksbase you'd need: an MX record, an email receiver, a MIME parser, attachment storage, sender filtering, delivery history, and a dispatch queue. Hooksbase handles that plumbing and gives your agent JSON.
What next
- Verify provider webhooks before they reach your agent
- Trigger your agent through an embedded form
- Recover failed agent events with DLQ and replay