MailWebhook Documentation
MailWebhook turns received email messages into deterministic JSON delivered to your backend.
This project is a work-in-progress, so information on this page will update frequently. We try to maintain backward compatibility though.
Quick Start
General concepts
MailWebhook operates on 3 core concepts:
Mailboxes are polled at pre-defined intervals. All ingested emails are pushed to all Routes. Routes do the matching, transform matched emails and deliver those to connected webhook Endpoints.
flowchart TD
A[Inbound email] --> B[Normalize message fields]
B --> C[Route rules]
C -->|match| D[Pipeline steps]
D --> E[Optional html_to_text]
D --> F[Optional extract.urls]
D --> G[map.generic_json or map.custom_json]
G --> H[Attachment metadata in payload]
H --> I[Pre-signed attachment fetch API]
G --> J[Signed webhook delivery]
J --> K[Retries with backoff]
J --> L[Event inspector and replay]
1. Connect the mailbox.
From Dashboard or Mailboxes screens click “+Add Mailbox” button. IMAP, Gmail and Outlook365 connectors are supported for now.
2. Connect endpoint
From Dashboard or Endpoints screens click “+Add Endpoint” button. No auth supported at the moment, header-based auth is coming soon.
3. Define route
Each email received from all configured mailboxes hit all Routes. Routes composed of 3 components:
- Rules match incoming emails to defined set of criteria
- Pipeline transform email into desired shape
- Endpoints Attach route to the Endpoint.