Postmark
Connect Postmark with Webflow to send branded transactional email from your own verified domain, triggered by form submissions, orders, or CMS events.
Webflow's form notification emails let you set the sender name, the reply-to address, the subject and the body, so they are more configurable than they are often given credit for. What you cannot change is the From address: it stays no-reply-forms@webflow.com. Recipients are a static list you type in, capped at five Workspace members on the free Starter Site plan, so the visitor who just submitted the form is never one of them. Sending branded mail from your own verified domain, to whoever filled in the form, is the gap Postmark fills.
A form submission can trigger a branded confirmation to the visitor, while a new order can trigger a receipt from your own verified domain. Inbound replies can flow the other way and create or update items in the Webflow CMS.
This integration fits SaaS founders who need account lifecycle emails and marketing teams who want branded autoresponders. Agencies can use it to manage email for multiple client sites and keep a separate Postmark server for each client.
How to integrate Postmark with Webflow
What is Postmark? Postmark is a transactional email delivery service, now part of ActiveCampaign, that sends through a REST API or SMTP. Message Streams keep transactional and broadcast traffic on separate infrastructure, with dedicated transactional IPs on one side and parallel broadcast IPs on the other. Pre-built templates cover welcome emails, password resets, receipts, and invoices. Inbound processing converts incoming email into JSON for a webhook you control.

Teams pair the two tools when a Webflow site needs customer-facing email that built-in form notifications can't produce. You must build the connection yourself because neither vendor ships a native connector for the pairing.
The Postmark and Webflow integration supports four approaches:
- MCP servers let an AI agent drive Postmark sending and Webflow content in one session, which suits operations and debugging rather than visitor-facing traffic.
- Native form actions post each submission to an endpoint you own, such as an automation webhook or a serverless function.
- Automation platforms like Zapier and viaSocket provide Webflow triggers and Postmark send actions without code. In n8n, use a Webflow Trigger node followed by an HTTP Request node to the Postmark API.
- The Webflow Data API and Postmark API give full control over sending, inbound processing, and CMS sync, but need server-side code.
Automation platforms are the quickest start, the API path scales further, and the MCP route sits alongside both rather than replacing either.
Connect the Postmark and Webflow MCP servers
Postmark publishes an official MCP server on npm as @activecampaign/postmark-mcp, and Webflow publishes its own MCP server. Running both in one client hands an agent the sending account and the site at the same time, so it can read a bounce and fix the CMS record behind it without you switching tools.
The Postmark server registers 24 tools across eight groups covering single and batch sends, template create, edit, delete and validate, outbound message search, delivery diagnostics, bounces, suppressions, delivery stats and server info, and webhook registration. Every tool carries MCP annotations, so a client that reads readOnlyHint and destructiveHint can auto-approve the reads and stop to ask before anything that mutates or deletes.
To register it with an MCP client:
{
"mcpServers": {
"postmark": {
"command": "npx",
"args": ["-y", "@activecampaign/postmark-mcp"],
"env": {
"POSTMARK_SERVER_TOKEN": "your-postmark-server-token",
"DEFAULT_SENDER_EMAIL": "your-sender-email@example.com",
"DEFAULT_MESSAGE_STREAM": "outbound"
}
}
}
}The server reads its credentials from environment variables, and the address in DEFAULT_SENDER_EMAIL has to be a verified sender in Postmark before anything will send. An optional WEBHOOK_URL_ALLOWLIST limits which HTTPS prefixes the createWebhook tool will accept, which is worth setting before you let an agent register webhooks against your account.
Be clear about what this path is not. An MCP server runs beside your editor or agent, never inside the request path of a published Webflow page, so it cannot send the confirmation email a visitor is waiting for. Use it to build templates and work out why a message never arrived, then pick one of the methods below to carry the traffic itself.
Route form submissions to an external endpoint
A Webflow form can post to any external endpoint you own, which is the lowest-code path that works. Code Embed and custom code in the head and body tags run client-side, so they can't hold your Server Token. Postmark rejects client-side API calls anyway. That endpoint is either an automation platform webhook or your own serverless function.
To set up the custom action:
- Select the form, then open the Settings panel > Form settings.
- Set Send to to Custom action and paste your endpoint URL.
- Confirm the method is POST, then publish the site so the action goes live.
A custom action bypasses Webflow's built-in form handling, per our forms documentation. Submissions aren't stored in Webflow and native email notifications stop. You can't combine a custom action with Webflow storage or notifications.
Connect Webflow forms to Postmark with Zapier or viaSocket
Zapier is the no-code path both vendors document for this pairing, and Postmark covers it on its own Zapier page. Zapier publishes a pre-built Zap for new Webflow form submissions, which is the shortest route to a working send. Pick the Webflow form as the trigger, then choose the Postmark Template and Message Stream for the send. If the form collects the respondent's email, map that field straight to the recipient address so the confirmation reaches the person who submitted it.
To set up the integration:
- In Zapier, choose the Webflow New Form Submission trigger and connect your published site.
- Add the Postmark action, listed as ActiveCampaign Postmark, and pick Send an Email or Send Email With Template.
- Map the submitter's email field to the recipient, select your Template and Message Stream, and publish the Zap.
The direct trigger-to-action pairings across platforms include:
- Webflow New Form Submission → Postmark Send an Email or Send Email With Template (Zapier)
- Webflow New Form Submission → Postmark Send Email or Send Email Using Template (viaSocket)
- Webflow New Order → Postmark Send Email (viaSocket, which lists both tools on a dedicated integration page)
- Pair Postmark New Bounce, New Inbound Message, or New Email Open with Webflow Create Item or Update Item (Zapier)
In n8n, the Webflow Trigger node covers eight events, including Form Submission and Site Publish. Postmark has a trigger node only. Sending there requires an HTTP Request node aimed at Postmark's API. Register and confirm a Sender Signature for your From address before you send. New Postmark accounts also go through manual review first.
Build with the Webflow and Postmark APIs
The API path gives you full control over sending and templates, along with inbound email and CMS sync. You need server-side code. Cloudflare Workers and Netlify Functions are options; Webflow Cloud also works.
The APIs you'll work with:
- Postmark's Email API handles single sends via
POST /emailand batch sends viaPOST /email/batch - Postmark's Templates API handles template sends via
POST /email/withTemplate - Webflow Data API v2 handles CMS collections and form submissions with bearer-token authentication
- Webflow webhook events push real-time events like
form_submissionandecomm_new_orderto your endpoint
Postmark requests authenticate with the X-Postmark-Server-Token header, not a bearer token. Webflow requests use Authorization: Bearer YOUR_TOKEN with a site token or OAuth access token.
Send confirmation emails from form submission webhooks
This is the core low-code pattern. Each form submission posts to your endpoint, and your function relays it to Postmark. The form submission event payload includes the form name and the submitted data values. It also includes submittedAt.
To implement this:
- Register the webhook with
POST https://api.webflow.com/v2/sites/{site_id}/webhooksand settriggerTypetoform_submission. Afilterobject targets a specific form, and filters work only on this trigger type. - Deploy a function that parses
payload.dataand reads the Postmark Server Token from an environment variable. On Cloudflare Workers, store it withnpx wrangler secret put POSTMARK_API_TOKEN. - Call
POST https://api.postmarkapp.com/emailwith theX-Postmark-Server-Tokenheader. AddContent-Type: application/jsonandAccept: application/json. The body needsFrom(a confirmed Sender Signature),To,Subject, and at least one ofHtmlBodyorTextBody.
Use POST /email/withTemplate with a TemplateId or TemplateAlias and a TemplateModel to keep email HTML out of your codebase. Copy edits then happen in Postmark without a deploy. The Postmark npm SDK used to be unusable on Cloudflare Workers, the runtime behind Webflow Cloud, because it bundled axios. It has since moved to the native Fetch API and ships with no dependencies at all, and its changelog records that the axios removal restored compatibility with Workers and Edge runtimes. Older pinned releases still carry axios, so check what your lockfile resolves to, or skip the SDK and call the HTTP API with fetch(). Webhooks you register through the API carry an x-webflow-signature SHA-256 HMAC header. Deliveries also carry an x-webflow-timestamp header, and the signature covers timestamp:request-body within a five-minute replay window. Verify it to reject spoofed requests, per working with webhooks.
Create CMS items from inbound email
Postmark's inbound processing accepts email at {hash}@inbound.postmarkapp.com or a custom domain. It converts each message to JSON and posts it to your webhook. Inbound is included on the free Developer tier and on Postmark's Pro and Platform plans, but not on Basic, so you can prototype inbound on the free tier and then have to jump past Basic when you upgrade. This pattern powers email-to-ticket systems and comment threads built on Webflow collections.
To implement this:
- Set the inbound webhook URL in the Inbound Message Stream Settings tab. You can also send
PUT /servers/{serverid}with theInboundHookUrlfield and theX-Postmark-Account-Tokenheader, per the Servers API. - Parse
From,Subject,TextBody, andMailboxHashfrom the inbound webhook payload. - Create the item with
POST https://api.webflow.com/v2/collections/{collection_id}/items/live(scopecms:write). MapSubjectto the requiredfieldData.nameand setfieldData.slug, per the create live item reference.
Plus-addressing routes replies to specific records. An email to support+ITEM123@inbound.yourdomain.com arrives with ITEM123 in MailboxHash, ready to match a CMS item ID. Postmark retries failed inbound deliveries on a backoff schedule. A 403 response stops retries immediately.
Sync bounces and unsubscribes to CMS records
If you store contacts in a Webflow collection, Postmark's delivery events can keep those records current. This turns the CMS into a lightweight suppression-aware contact list.
To implement this:
- Register a webhook with
POST https://api.postmarkapp.com/webhooksand enable theBounceandSubscriptionChangetrigger types, per the Webhooks API. - In your handler, read
Email,Type, andCanActivatefrom bounce events, andRecipientplusSuppressSendingfrom subscription changes. - Update the matching contact record with
PATCH https://api.webflow.com/v2/collections/{collection_id}/items/live, per the update live items reference. The endpoint without the/livesegment writes to the staged item and leaves your suppression flag unpublished.
Postmark does not sign webhooks with HMAC. Protect the endpoint with HTTP Basic Auth in the webhook URL and allowlist Postmark's IPs, per the webhooks overview. Deduplicate retried events using the MessageID field and the X-PM-Webhook-Trace-Id header, which stays stable across retries.
What you can build with the Postmark Webflow integration
Integrating Postmark with Webflow lets you send branded, event-triggered email from your own domain rather than the fixed Webflow sender address. Each of these runs on one of the methods above.
- Form confirmation autoresponders: Send a branded confirmation the moment a visitor submits. Valiair pairs a highly individualized Webflow registration form with Postmark-automated transactional emails for its FAA agent-for-service platform.
- Branded order receipts: Catch the
ecomm_new_orderwebhook, mapcustomerInfo.emailto the recipient, and send Postmark's pre-built Receipt template. This sidesteps the Webflow branding on native ecommerce emails. - Inbound email to CMS records: Build a support-ticket or comment collection in the Webflow CMS from plus-addressed replies.
MailboxHashcarries the item ID, and your handler posts to/collections/{collection_id}/items/live. - Low-code SaaS MVPs: Capalead shipped a B2B lead-trading platform on Webflow, Wized, Supabase, Stripe, and Postmark. The team iterated quickly on early user feedback.
Read our walkthrough on sending transactional email for a build that runs the whole flow, form to inbox, on Webflow Cloud.
Frequently asked questions
No. Postmark has no listing in the Webflow Apps marketplace, and Postmark's integrations directory does not name Webflow either. Every working route therefore runs outside Webflow's install surface. The quickest is a Zapier connection between the Webflow form trigger and a Postmark send action, which Zapier ships as a pre-built Zap.
No. Postmark blocks client-side calls, so the send has to happen in a server-side component; see its CORS documentation. Custom code sections support only HTML, CSS, and JavaScript. Store the token as an environment variable in a serverless function or automation platform, per Postmark's getting started guide.
Any of the v2 webhook trigger types, including
form_submission,ecomm_new_order,ecomm_order_changed,site_publish, andcollection_item_published. The full list sits in the webhook create reference. Automation platforms expose a subset; Zapier's Webflow triggers cover New Form Submission, New Order, Updated Order, and comment events.A confirmed individual Sender Signature can send without DNS changes. For domain verification and authentication, add Postmark's DKIM record as a TXT entry at your DNS provider, per Postmark's DKIM setup guide. That holds whether or not Webflow hosts the site. Once the domain verifies, every address on it can send without individual Sender Signatures. For a custom Return-Path, add a CNAME pointing to
pm.mtasv.net. Postmark no longer requires an SPF record entry of your own.Submit a test entry on the published form so the
form_submissionwebhook fires. Point your handler at a Postmark server created withDeliveryType: Sandbox. Sandbox messages show as Delivered in the UI, webhooks, and API, but never reach an inbox. A server's type cannot change after creation, per the sandbox mode guide. To validate payloads without any delivery, passPOSTMARK_API_TESTas theX-Postmark-Server-Tokenvalue. Before approval, send test messages totest@blackhole.postmarkapp.com, which accepts the mail, drops it, and still records the delivery in your Activity feed. Postmark's testing best practices article covers the sandbox and test-token routes.
Description
Route Webflow form submissions and order events into Postmark transactional email through Zapier or viaSocket. A serverless function calling both APIs handles CMS sync and inbound email, and Postmark's official MCP server gives an agent the same sending tools.
This integration page is provided for informational and convenience purposes only.

AtomPark Software
Connect AtomPark with Webflow to route form submissions to bulk email and SMS campaigns

ConnectMagic
Connect ConnectMagic with Webflow to sync form submissions and ecommerce events to Klaviyo for email marketing automation, abandoned cart recovery, and customer segmentation.
Campaign Monitor
Connect Campaign Monitor with Webflow to send form submissions straight into email lists and automated journeys.
Flodesk
Connect Flodesk, an email marketing platform, with Webflow to capture subscribers using embedded forms, automation workflows, or direct API integration.
Sendgrid
Connect SendGrid, an email delivery platform, with Webflow to send transactional and marketing emails triggered by form submissions and orders.
Brevo
Connect Brevo, a marketing and sales platform, with Webflow to sync form submissions to email lists, send transactional emails, track visitor behavior, and automate campaign workflows.
Constant Contact
Connect Constant Contact, an email marketing and automation platform, with Webflow to capture form subscribers, sync contacts to email lists, and trigger automated campaigns from site activity.

GetResponse
Connect GetResponse's powerful email marketing and automation tools with your Webflow site to capture leads, nurture subscribers, and drive conversions through automated campaigns.
AWeber
Connect AWeber with Webflow to add form submissions and orders to tagged email lists with automated follow-up.


