Webhooks & Automation Platforms¶
Connect MailJawn to automation tools like Zapier, n8n, and Make.com to sync subscribers from other services. This page covers inbound data flows — getting subscriber data into MailJawn from external sources.
Public Subscribe Endpoint¶
The simplest integration is the public subscribe endpoint. It accepts form submissions without an API key — your project UUID acts as implicit authorization.
This is the same endpoint used by signup forms. It works for any tool that can send an HTTP POST.
| Parameter | Required | Description |
|---|---|---|
email |
Yes | Subscriber's email address |
name |
No | Display name |
tag |
No | A single tag to apply |
Example:
curl -X POST "https://api.mailjawn.com/api/v1/projects/{project_id}/subscribe/" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "name": "Jane", "tag": "zapier"}'
Response (200):
Bot Protection¶
The endpoint includes a honeypot field called website. If this field has any value, the request is silently accepted but the subscriber is not created. This prevents bots from inflating your list.
For automation tools, simply don't include the website field in your payload.
Rate Limits¶
The public endpoint is rate-limited to 10 requests per minute per IP address. For higher-volume syncs, use the authenticated identify endpoint instead.
Identify Endpoint (Recommended)¶
For richer data — custom fields, multiple tags, device info, automation control — use the authenticated identify endpoint:
POST /api/v1/projects/{project_id}/subscribers/identify/
Authorization: Bearer mj_your_api_key_here
Content-Type: application/json
This endpoint creates the subscriber if they're new, or updates them if they already exist (upsert by email).
{
"email": "user@example.com",
"name": "Jane Doe",
"custom_fields": {
"plan": "pro",
"source": "posthog"
},
"tags": ["paying-customer"],
"trigger_automations": true
}
Response (200):
Tip
Create an API key with the SDK scope bundle (subscribers:write + events:write). That's the minimum needed for webhook integrations. See Account > API Keys.
For the full endpoint reference, see REST API > Identify Subscriber.
Automation Platform Patterns¶
MailJawn doesn't have native integrations with automation platforms. Instead, you use each platform's HTTP request capabilities to call the MailJawn REST API directly. This is simple to set up and gives you full control over the data you send.
Zapier¶
Use the Webhooks by Zapier action to send subscriber data to MailJawn.
- Trigger: Choose your trigger (e.g., "New Purchase in Stripe", "New Contact in HubSpot")
- Action: Select Webhooks by Zapier > POST
-
Configure the action:
Field Value URL https://api.mailjawn.com/api/v1/projects/{project_id}/subscribers/identify/Payload Type JSON Headers Authorization: Bearer mj_your_api_key -
Map fields from your trigger to the request body:
n8n¶
Use the HTTP Request node to call the MailJawn API.
- Add an HTTP Request node after your trigger
-
Configure:
Setting Value Method POST URL https://api.mailjawn.com/api/v1/projects/{project_id}/subscribers/identify/Authentication Header Auth Header Name AuthorizationHeader Value Bearer mj_your_api_keyBody Content Type JSON -
Set the JSON body:
Make.com (Integromat)¶
Use the HTTP > Make a request module.
- Add an HTTP > Make a request module after your trigger
-
Configure:
Setting Value URL https://api.mailjawn.com/api/v1/projects/{project_id}/subscribers/identify/Method POST Headers Authorization: Bearer mj_your_api_keyBody type Raw (JSON) -
Set the request body using mapped fields from your trigger.
PostHog¶
Sync identified users from PostHog to MailJawn using PostHog's webhook destination.
- In PostHog, go to Data Pipelines > Destinations
- Create a Webhook destination
-
Configure:
Setting Value URL https://api.mailjawn.com/api/v1/projects/{project_id}/subscribers/identify/Method POST Headers Authorization: Bearer mj_your_api_key -
Map the payload to include the user's email and any properties you want to sync.
Inbound SES Webhooks¶
MailJawn automatically processes bounce and complaint notifications from Amazon SES. When an email bounces or a recipient marks it as spam, MailJawn updates the subscriber's status accordingly.
This is handled internally — you don't need to configure anything. The webhook endpoint at /webhooks/ses/ receives SNS notifications, verifies their cryptographic signatures, and processes:
- Hard bounces — subscriber status set to
bounced - Soft bounces — logged but no status change
- Complaints — subscriber status set to
complained
Bounced and complained subscribers are automatically suppressed from future sends. See Deliverability > Bounces for more on how MailJawn handles delivery feedback.
See also: REST API | Subscribers > Subscribe Forms | Account > API Keys