email.received event. You can use this event in workflows for support automation, routing, and custom integrations.
How it works
When someone sends an email to your domain (for example[email protected]), Mailrify:
- Receives the email through inbound processing
- Creates or updates a contact for the sender
- Triggers an
email.receivedevent for workflows - Includes inbound metadata in the event payload
Set up inbound email
Verify your domain first
Domain verification is required before inbound processing can be configured. Follow
Verifying domains.
Add the inbound MX record
Open Domains in the dashboard, expand your domain, and find the Inbound Email DNS section.Add the record shown there. It uses this pattern:
- Type:
MX - Name:
<your-domain> - Value:
inbound-smtp.<region>.amazonaws.com - Priority:
10
Use email.received in workflows
Create a workflow with email.received as the trigger to react to inbound mail.
Event payload fields
| Field | Type | Description |
|---|---|---|
messageId | string | Unique identifier for the received message |
from | string | Email address of the sender |
fromHeader | string | Full “From” header including display name |
to | string | Primary recipient email address |
subject | string | Email subject line |
timestamp | string | ISO 8601 timestamp when the email was received |
recipients | string[] | All recipient email addresses |
hasContent | boolean | Whether the email body was captured |
spamVerdict | string | Spam check result (e.g., “PASS”, “FAIL”) |
virusVerdict | string | Virus scan result (e.g., “PASS”, “FAIL”) |
spfVerdict | string | SPF authentication result |
dkimVerdict | string | DKIM authentication result |
dmarcVerdict | string | DMARC authentication result |
processingTimeMillis | number | Time taken to process the email |
{{event.subject}} or {{event.from}}.
Multi-project domains
If the same verified domain exists in multiple projects, Mailrify processes inbound mail for each matching project and emits separateemail.received events per project.
Each project will:
- Create/update the sender as a contact in that project
- Trigger the
email.receivedevent in that project - Run any workflows configured for that event
Current limitations
- Catch-all addresses: Mailrify receives emails sent to any address at your verified domain (e.g.,
[email protected]). You can use workflow conditions to route emails based on the to field. - Attachments: Attachments are not stored or exposed.
- Email size: The maximum message size limit for inbound emails is 40 MB.
Security considerations
Mailrify captures several security verdicts for each incoming email:- SPF (Sender Policy Framework): Verifies the sender’s mail server is authorized
- DKIM (DomainKeys Identified Mail): Validates the email hasn’t been tampered with
- DMARC (Domain-based Message Authentication): Combines SPF and DKIM for additional validation
- Spam verdict: Mailrify’s spam detection result
- Virus verdict: Mailrify’s virus scanning result
Troubleshooting
Emails not being received
- Check DNS propagation: Verify the MX record is correctly set using
dig MX yourdomain.com - Verify domain: Ensure your domain is fully verified in Mailrify (all DKIM, SPF, and MX records for sending)
- Check workflow: Create a simple test workflow with just an
email.receivedtrigger and a webhook to verify events are being generated - Check sender: Try sending from a different email provider as some may cache DNS records
Duplicate events
If you have the same domain verified in multiple projects, you will receive duplicateemail.received events (one per project). This is expected behavior. Use project-specific workflows to handle this.
Security verdicts failing
If incoming emails consistently show failing security verdicts:- SPF failures: The sender’s domain may not have SPF configured correctly
- DKIM failures: The sender’s domain may not have DKIM configured, or the email was forwarded/modified in transit
- DMARC failures: The sender fails both SPF and DKIM checks

