Amazon SES

Send Webflow form confirmations and CMS newsletters through Amazon SES from your own verified domain.

→
↗
►
↓
←
↑
Install app
→
↗
►
↓
←
↑
View website
→
↗
►
↓
←
↑
View lesson
→
↗
►
↓
←
↑
A record settings
→
↗
►
↓
←
↑
CNAME record settings
Amazon SES

Form notifications from a Webflow site send from a Webflow address: no-reply-forms@webflow.com, or the unbranded no-reply@webforms.io on a Growth Workspace, per our form submissions FAQ. You can set the sender name and reply-to address, but the notification settings have no SMTP option for routing mail through your own provider. Free Starter sites also cap notifications at five recipients, and all of them must be Workspace members. To deliver confirmations or newsletters from your own domain, you need a sending service like Amazon SES.

Connecting Amazon SES to Webflow creates an authenticated email pipeline for form submissions and Webflow CMS publish events. Bounce and complaint events flow back so you can flag unreachable subscribers in the same collection that holds them.

Marketing teams get branded confirmations and nurture email from their own domain, on SES pricing where you pay only for what you send. Engineers who already work in AWS get a webhook-driven pipeline where a serverless function's IAM role supplies credentials, so no long-lived key sits in the site or the pipeline.

How to integrate Amazon SES with Webflow

What is Amazon SES? Amazon SES is a cloud email sending service from Amazon Web Services that handles transactional and marketing email, including newsletters, on a pay-as-you-go basis. You send through a regional SMTP endpoint or the SES API v2, from a domain or email address identity you verify first. Configuration sets publish send, delivery, bounce, and complaint events to Amazon SNS, EventBridge, Data Firehose, or CloudWatch.

Teams reach for this pairing when the built-in notification email no longer fits the job. Requirements often include control over sender identity and message templates. Some teams also want to use the CMS as the trigger while avoiding a separate marketing platform.

The Amazon SES and Webflow integration works two ways. Zapier, Make, and n8n connect Webflow form and CMS events to Amazon SES sends without writing code. The Webflow Data API and Amazon SES APIs give you full control over templated newsletters and bounce handling, but require server-side development. Zapier is the faster way to start; move to the API path when you need stored templates or bounce sync.

Connect with Zapier, Make, or n8n

Zapier publishes a ready-made template that creates an SES email from each new Webflow form submission, so form data reaches SES without code. The Webflow connection uses OAuth, so you never register a webhook by hand. Zapier holds your AWS access key on its servers, and your site's code contains no AWS credentials. Make supports the same pairing through its Amazon SES modules, and n8n through its SES and Webflow nodes. This path suits marketers and agencies who need branded confirmations and lead routing running in an afternoon.

To set up the integration:

  1. In the SES console, go to Configuration > Identities > Create identity and verify the domain you will send from with Easy DKIM, or verify a single sending address.
  2. Create an IAM user with SES permissions and generate an Access Key ID and Secret Access Key, as described in Zapier's SES setup guide.
  3. Open Zapier's SES template and connect Webflow through OAuth. The form needs at least one submission before Zapier can list it, per the Zapier connection guide.
  4. Connect Amazon SES with the Access Key ID, Secret Access Key, and AWS Region.
  5. Map Sender Address, Subject, Body, and To from the form fields, run a test, and turn the Zap on.

Each platform pairs a Webflow trigger with an SES send action:

  • Zapier forms: The Webflow New Form Submission (Instant) trigger feeds the Amazon SES Create Email action, which is the pairing the template uses.
  • Zapier orders and comments: The Webflow New Order, Updated Order, and New Comment triggers can feed the same Create Email action for receipts or internal alerts.
  • Make: The Webflow Watch Events module starts a scenario that ends in the Amazon SES Send a Message module.
  • n8n: The Webflow Trigger node fires on events such as Form Submission or Collection Item Created, and the AWS SES node sends with its Email Send or Send Template operations.

Amazon SES is a premium app on Zapier, so you need a paid Zapier plan. SES sandbox restrictions still apply to these flows.

Build with the Webflow and Amazon SES APIs

AWS Lambda can receive Webflow webhooks and call SES with IAM role credentials. The APIs support stored templates and bulk newsletter sends, along with bounce and complaint feedback. SES requests need Signature Version 4 signing, which the AWS SDKs handle for you. Webflow Data API calls use a Bearer token that you generate under Site settings > Apps & integrations > API access. Engineers already working in AWS can control retries and templates while managing sender reputation directly.

Two API surfaces do the work. The Amazon SES API v2 handles sending, email templates, identities, contact lists, and suppression. Webflow's Data API reads and writes CMS collection items and form submissions, while Webflow webhooks push real-time events for form submissions, CMS publishes, and Ecommerce orders. The three patterns below keep credentials on the server.

Send form submissions through Amazon SES with a webhook and Lambda

The payload for a form_submission webhook includes the form name, siteId, submittedAt, and every field value inside data. Your Lambda verifies the signature, acknowledges quickly, and sends through SES with simple content or a stored template. Register the webhook through the API so each request carries signature headers. If you add it from the form's Send to settings instead, copy the secret key Webflow shows once; you need it to authenticate webhook messages. Keep Webflow selected under Send to so submissions still store in the site.

To implement this:

  1. Register the webhook with POST /v2/sites/{site_id}/webhooks (scope sites:write). The optional filter.name restricts events to one form:
{
  "triggerType": "form_submission",
  "url": "https://your-endpoint",
  "filter": { "name": "Contact Form" }
}
  1. Verify each request. Compute HMAC-SHA256(secret, timestamp + ":" + body) from the x-webflow-timestamp header and raw body, compare it to x-webflow-signature, and reject anything older than five minutes.
  2. Parse payload.data for the field values, plus payload.name and payload.submittedAt.
  3. Return HTTP 200 immediately and push the job to an Amazon SQS queue for processing.
  4. From the queue consumer, call POST /v2/email/outbound-emails (SendEmail). Use Content.Simple with a Subject plus Body.Html and Body.Text, or Content.Template with TemplateName and TemplateData. You can also pass an inline template in Content.Template.TemplateContent without storing one first, though the Template reference limits inline templates to simple substitutions.
  5. Scope the Lambda execution role to ses:SendEmail on the identity, configuration-set, and template ARNs you use, per the SES IAM reference.

A custom form action URL pointed at your endpoint also works, but it bypasses Webflow form processing entirely, so submissions never store in the site and the built-in notification stops. The webhook keeps both.

Send newsletters from CMS publish events with SendBulkEmail

Each collection_item_published webhook carries the item's fieldData, including its name and slug. Your handler turns that item into a templated newsletter and sends it to subscribers in batches through SendBulkEmail. The same item that renders in a Collection List on your site becomes the email body. Subscriber records can live in a Webflow CMS collection, within your plan's CMS item limit (20,000 items on a Premium Site plan), or in an SES contact list.

To implement this:

  1. Create a stored template once with POST /v2/email/templates, using {{tagname}} placeholders. Handlebars each and if helpers handle loops and conditionals, per the advanced personalization guide.
  2. Register a webhook for collection_item_published (scope sites:write to register it). Fetch the full item with GET /v2/collections/{collection_id}/items/{item_id} if fieldData lacks anything you need.
  3. Load subscribers from your collection or your SES contact list.
  4. Batch recipients into groups of 50 or fewer, the templated-send cap in SES quotas, and call POST /v2/email/outbound-bulk-emails per batch. Pass per-recipient ReplacementTemplateData as a JSON string.
  5. Handle unsubscribes. SendBulkEmail takes no ListManagementOptions field, so SES cannot insert its hosted unsubscribe link in a bulk send. For SES-managed unsubscribe, send each subscriber a SendEmail call with ListManagementOptions.ContactListName and place {{amazonSESUnsubscribeUrl}} in the template; SES then adds List-Unsubscribe and List-Unsubscribe-Post headers for one-click unsubscribe, as the subscription management guide documents. Otherwise, host your own unsubscribe link.
  6. Return 200 to Webflow.

Model newsletter segments as topics. The list management guide allows one contact list per AWS account with up to 20 topics, which rules out separate lists for each segment.

Sync bounces and complaints back to the Webflow CMS

Each SES event carries a mail object with messageId and destination, plus a bounce or complaint object listing the affected recipients. SES can publish these events to Amazon SNS, EventBridge, Data Firehose, or CloudWatch. Subscribing a Lambda or HTTPS endpoint to an SNS topic gives you the webhook equivalent. Writing those back to your subscriber collection keeps the list clean. The SES sending review FAQ puts an account under review at a 5% bounce rate and says AWS may pause sending at 10%.

To implement this:

  1. Create a configuration set with POST /v2/email/configuration-sets, then add an event destination with POST /v2/email/configuration-sets/{ConfigurationSetName}/event-destinations. Set MatchingEventTypes to ["BOUNCE", "COMPLAINT"] and provide SnsDestination.TopicArn.
  2. Subscribe a Lambda to the topic. For an HTTPS endpoint instead, handle the SubscriptionConfirmation and Notification message types, identified by the x-amz-sns-message-type header, as shown in the SNS HTTP endpoint guide.
  3. Enable account-level auto-suppression with PUT /v2/email/account/suppression and SuppressedReasons: ["BOUNCE", "COMPLAINT"].
  4. On a Permanent bounce, read bounce.bouncedRecipients[].emailAddress; on a complaint, read complaint.complainedRecipients[].emailAddress. Account-level suppression from step 3 already adds these addresses; use PUT /v2/email/suppression/addresses only for addresses you suppress by hand.
  5. Find the subscriber item with GET /v2/collections/{collection_id}/items and update it with PATCH /v2/collections/{collection_id}/items/live. Set a field such as emailStatus to bounced. Bulk updates accept up to 100 items per request.
  6. Pass ConfigurationSetName on every SendEmail and SendBulkEmail call, or the events never publish.

The same FAQ sets complaint thresholds far lower: review at 0.1% and a possible pause at 0.5%. Treat every complaint event as an immediate unsubscribe.

What you can build with the Amazon SES Webflow integration

The event determines when SES sends, while your verified identity and template determine how the message reaches the recipient. These implementations avoid a full email marketing platform and do not require running a mail server.

  • Branded form confirmations: A demo-request form on a SaaS marketing site triggers a reply from a sales address on your domain seconds after submission, with the visitor's answers echoed back and the internal alert routed by form name.
  • Order confirmation emails: A Webflow Ecommerce store fires ecomm_new_order to a Lambda that renders a full HTML receipt with product images and conditional copy for large orders, then sends it through SES.
  • CMS-driven newsletters: A publisher's blog collection fires collection_item_published, and the article's title, excerpt, and hero image go out as a templated issue with an unsubscribe link in every copy.
  • Agency lead routing: A Zap for each client site, filtered by form name, delivers leads to that client's inbox from the client's own verified domain, with no Workspace membership involved.

If a tuned Webflow notification covers the job, customize form notification emails before you build an SES pipeline.

Frequently asked questions

  • Not with an AWS access key or SMTP password. A Code Embed element and head and body code run in the visitor's browser, with no place to store a secret, so any key you paste there is visible to anyone who views source. AWS's browser credentials guidance recommends Amazon Cognito for browser code and warns that hard-coded credentials risk exposing your access key ID and secret access key. For a site form, route the send through Zapier, Make, n8n, or a Lambda behind a form_submission webhook instead.

  • Yes, for any recipient you have not verified. Sandbox accounts deliver only to verified addresses, verified domains, or the SES mailbox simulator, so a live contact form would fail for most visitors. Request production access in the SES console under Account dashboard > View Get set up page > Request production access. Choose Marketing or Transactional as the mail type and enter your website URL. AWS Support gives an initial response within 24 hours, per the production access guide. Sandbox status is per AWS Region, so leaving it in one Region does nothing for another.

  • Add the three CNAME records SES generates for Easy DKIM at the provider that hosts your domain's DNS. DNS changes can take up to 72 hours to propagate, according to the identity creation guide, and each AWS Region you send from needs its own verified identity. The DKIM records sit on _domainkey hostnames, so they stay clear of your Webflow connection: our domain error guide describes conflicts as extra A records on the root domain and extra CNAME records on subdomains connected to Webflow. Publish a DMARC policy too, as a TXT record at _dmarc.yourdomain.com, following the SES DMARC guide.

  • Yes. A form can send submissions to several destinations at once, so a webhook runs alongside Email notifications and both fire. Remove Email notifications from the form's Send to settings if you want SES alone. The forms guide covers each destination. Add the webhook from the form's Settings panel under Send to, or from Site settings > Apps & integrations > Webhooks.

  • Webflow retries a failed delivery up to three more times, 10 minutes apart, then treats that request as failed. If failures keep happening, Webflow deactivates the webhook and notifies you by email, and later submissions stop reaching your handler until Webflow support reactivates it. The working with webhooks guide documents these retry limits and the 200 response Webflow expects. Use the queued pattern above so a slow SES call or a TooManyRequestsException never fails the webhook response. Submissions still store in Site settings > Forms, so you can resend what an outage missed.

Amazon SES
Amazon SES
Joined in

Description

Route Webflow form submissions and CMS publish events into Amazon SES through Zapier, Make, n8n, or a webhook-driven serverless function, so confirmations and newsletters send from your own verified domain.

→
↗
►
↓
←
↑
Install app

This integration page is provided for informational and convenience purposes only.


Other Email marketing integrations

Other Email marketing integrations

AtomPark Software

AtomPark Software

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

Email marketing
Learn more
ConnectMagic

ConnectMagic

Connect ConnectMagic with Webflow to sync form submissions and ecommerce events to Klaviyo for email marketing automation, abandoned cart recovery, and customer segmentation.

Email marketing
Learn more
Campaign Monitor

Campaign Monitor

Connect Campaign Monitor with Webflow to send form submissions straight into email lists and automated journeys.

Email marketing
Learn more
Flodesk

Flodesk

Connect Flodesk, an email marketing platform, with Webflow to capture subscribers using embedded forms, automation workflows, or direct API integration.

Email marketing
Learn more
Sendgrid

Sendgrid

Connect SendGrid, an email delivery platform, with Webflow to send transactional and marketing emails triggered by form submissions and orders.

Email marketing
Learn more
Brevo

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.

Email marketing
Learn more
Constant Contact

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.

Email marketing
Learn more
GetResponse

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.

Email marketing
Learn more
AWeber

AWeber

Connect AWeber with Webflow to add form submissions and orders to tagged email lists with automated follow-up.

Email marketing
Learn more

Related integrations

No items found.

Get started for free

Try Webflow for as long as you like with our free Starter plan. Purchase a paid Site plan to publish, host, and unlock additional features.

Get started — it’s free