Notion Integration
Automatically save incoming emails to a Notion database. Perfect for creating an email inbox, tracking support tickets, or archiving important messages.
Overview
The Notion integration creates a new page in your database for each incoming email, capturing the subject, sender, body, and attachments.
Database Storage
Emails stored as pages in your Notion database
Real-time Sync
Emails appear in Notion within seconds
Full Content
Subject, body, attachments, and metadata
Connect Your Workspace
First, connect your Notion workspace to Mailhooks via OAuth.
Go to Integrations
- 1. Navigate to Dashboard → Integrations
- 2. Find the Notion card
- 3. Click Connect Workspace
Authorize Access
- 1. A Notion authorization window will open
- 2. Select the pages or databases you want Mailhooks to access
- 3. Click Allow access
Verify Connection
Once connected, you'll see your workspace listed in the Notion integration card with a "Connected" badge.
Create a Notion Hook
After connecting your workspace, create a hook to route emails to a Notion database.
Create a Database
In Notion, create a new database (full page or inline) to store your emails. Mailhooks will automatically add the required properties.
Add the Hook
- 1. Go to Dashboard → Hooks
- 2. Click Add Hook
- 3. Select Notion Database
- 4. Choose your connected workspace
- 5. Select the target database
- 6. (Optional) Set a domain filter to only capture specific emails
- 7. Click Create
Test It
Send a test email to your Mailhooks address. Within seconds, a new page should appear in your Notion database with the email content.
Database Schema
Mailhooks automatically creates these properties in your database (if they don't exist):
| Property | Type | Description |
|---|---|---|
| Subject | Title | Email subject line (page title) |
| From | Email | Sender email address |
| To | Email | Recipient email address |
| Date | Date | When the email was received |
| Status | Status | Processing status (defaults to "Not started") |
| Message ID | Rich Text | Unique email Message-ID header |
The email body is added as the page content (as a text block), not as a property.
Field Mapping
If your database already has properties with different names, Mailhooks will try to match them by type. You can also rename properties after creation.
Example Database Setup
Here's a recommended database view for managing emails:
- Table view — See all emails at a glance
- Board view — Kanban by Status (New → In Progress → Done)
- Calendar view — See emails by received date
- Filter by From — Group emails by sender
Troubleshooting
Database not appearing in dropdown
- Make sure the database is shared with Mailhooks in Notion's connection settings
- Try disconnecting and reconnecting your workspace
- Refresh the page after connecting
Emails not appearing in Notion
- Check the Logs for delivery errors
- Verify the hook is Active in the dashboard
- Ensure domain filtering isn't blocking the email
- Check that your Notion workspace connection is still valid
Missing properties in database
- Mailhooks creates properties on the first email delivery
- You can manually create properties with the expected types
- Check that the integration has edit access to the database
Connection expired
Notion OAuth tokens can expire. If you see authentication errors:
- Go to Integrations
- Click the refresh button on your Notion connection
- Re-authorize access in the popup