aws lambda

Install app
View website
View lesson
A record settings
CNAME record settings
aws lambda

Webflow sites can't execute server-side code. Custom code in head and body tags and Code Embed elements only support client-side JavaScript; server-side languages like Python, PHP, or Ruby won't run in any code section. Those server-side workflows need a separate backend runtime.

Webflow events can call AWS Lambda functions without a server to maintain. Your site fires events through form webhooks and Webflow CMS webhooks. A Lambda function receives and processes them. The function can then write results back through the Webflow Data API v2. The same pattern works in reverse. AWS event sources, such as EventBridge, schedule triggers for Lambda functions that push content into the CMS.

Developers, agency technical leads, solo founders, marketing ops teams, and e-commerce operators use this integration for workflows that need server-side logic, including custom client backends, payments, subscriptions, form routing, and inventory updates without Webflow-side code.

How to integrate AWS Lambda with Webflow

What is AWS Lambda? AWS Lambda is a serverless compute service that runs code in response to events without provisioning or managing servers. It handles scaling and patching automatically and supports Node.js, Python, Java, Ruby, and .NET (C#) managed runtimes, as well as Go and others via the OS-only runtime. Functions scale to match incoming request volume and scale down to zero when idle.

Teams pair Lambda with Webflow when a site needs backend behavior that static hosting and client-side JavaScript can't deliver. Common triggers include form submissions that need validation and routing or CMS changes that must sync to external systems. Scheduled refreshes from outside APIs use the reverse flow described later.

The AWS Lambda-Webflow integration supports three approaches:

  • Lambda function URLs with Webflow forms send form data directly to a Lambda endpoint through native form settings, with no middleware.
  • Automation platforms like Zapier and n8n connect Webflow triggers to Lambda invocations through configuration alone.
  • The Webflow and AWS Lambda APIs give you full control over two-way data flows, but require server-side development.

Choose the method that matches how much backend control your project needs.

Connect Webflow forms to Lambda function URLs

A Lambda function URL is a dedicated HTTPS endpoint for a single function, formatted as https://<url-id>.lambda-url.<region>.on.aws. Once created, the endpoint never changes. That stability makes it a reliable destination for form data. A developer still writes and deploys the function code. Everything on the Webflow side is configuration in the form settings. This is the most direct path from a Webflow site to serverless compute, with no automation platform in between.

Create the Lambda function URL

Function URLs attach to an existing Lambda function through the AWS console. Choose the NONE auth type so Webflow can call the endpoint without AWS credential signing.

To create a function URL for an existing function:

  1. Open the Functions page of the Lambda console.
  2. Choose the function name.
  3. Choose the Configuration tab, then Function URL.
  4. Choose Create function URL.
  5. For Auth type, choose NONE.
  6. Select Configure cross-origin resource sharing (CORS) and add your site's domain to allowed origins.
  7. Choose Save.

Configure CORS on the function URL itself. Returning CORS headers from the function code as well causes duplicate header errors.

Send form submissions with a webhook

The form webhook path sends a POST request with JSON to your function URL while your site also stores the submission. This gives you a backup record of every submission alongside the Lambda processing.

To connect a form webhook, per the forms overview:

  1. Select your form on the canvas or in the Navigator.
  2. Open the Settings panel on the right.
  3. Click the "add" icon next to Send to and choose Webhook.
  4. Enter your Lambda function URL.
  5. Click Save.
  6. Copy the Secret key immediately. This key appears only once. Then click Hide key forever.

Store the secret key in your Lambda function's configuration so you can verify incoming requests.

Send form submissions with a custom action

A custom action points the form's action attribute directly at your Lambda endpoint and bypasses Webflow entirely. Submissions are not stored in Webflow, and custom actions can't combine with Webflow storage or email notifications.

To set a custom action:

  1. Select your form on the canvas or in the Navigator.
  2. Open the Settings panel on the right.
  3. If Webflow or Email notifications are selected, click the "delete" icon next to each to remove them.
  4. Click the "add" icon next to Send to and select Custom action.
  5. Enter your Lambda function URL, then choose POST or GET.
  6. Click Save.

Use the webhook path when you want a submission record in Webflow, and the custom action when Lambda should be the sole processor.

Call Lambda from a Code Embed element

For interactions beyond forms, client-side JavaScript in a Code Embed element can call a function URL with fetch(). Each Code Embed supports up to 50,000 characters, which is more than enough for API-calling scripts. The function URL must use auth type NONE with CORS configured for your site's domain, because browsers can't sign requests with AWS credentials.

To call a function from the page:

  1. Add a Code Embed element where the interaction lives.
  2. Write a script that calls the function URL and handles the response:
<script>
document.getElementById("cta-button").addEventListener("click", async () => {
  const response = await fetch("https://<url-id>.lambda-url.<region>.on.aws", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ plan: "pro" })
  });
  const data = await response.json();
  document.getElementById("result").textContent = data.message;
});
</script>
  1. Publish the site and test the request from the live domain you allowed in CORS settings.

You need a Core, Growth, Agency, or Freelancer Workspace, or an active Site plan to use Code Embed elements.

Connect with Zapier or n8n

Zapier and n8n offer native Webflow and AWS Lambda connections, so you can trigger functions from site events without touching the Data API. Zapier hosts a dedicated AWS Lambda and Webflow integration with a pre-built template named "Process new Webflow form submissions by invoking AWS Lambda functions." A developer still deploys the Lambda function, but the wiring between Webflow and Lambda is pure configuration.

On Zapier, Webflow triggers cover new form submissions, new and updated orders, and new comments, each paired with Lambda actions for asynchronous invoke, synchronous invoke, and run code. On n8n, the Webflow Trigger node feeds the AWS Lambda node, which invokes a function with a configurable name, payload, and region. One difference shapes the design: Zapier's Invoke Function action is fire-and-forget and discards any value the function returns, so a workflow that needs a response from Lambda, such as a generated ID or a processed result, should use n8n or a direct webhook instead.

Build with the Webflow and AWS Lambda APIs

Direct API integration gives you full control over two-way data flows between Webflow and Lambda. This path suits developers building production workflows, including form-to-CRM pipelines and scheduled CMS sync. Inventory updates also fit this approach. It requires writing and maintaining deployed Lambda function code plus handling authentication on both sides.

The relevant APIs:

  • The Lambda Invoke API handles synchronous and asynchronous function invocation at POST /2015-03-31/functions/{FunctionName}/invocations, with payload limits of 6 MB synchronous and 1 MB asynchronous.
  • The CreateFunctionUrlConfig API manages HTTP endpoints for functions at POST /2021-10-31/functions/{FunctionName}/url.
  • Webflow's Data API v2 handles form submissions and CMS collection items, authenticated with a bearer token.
  • Webflow webhooks trigger real-time events, including form_submission, collection_item_created, collection_item_changed, and site_publish.

Webflow deprecated Data API v1 on March 31, 2025, so all integration code must target v2 endpoints.

Process form submissions and write to the Webflow CMS

In a Webflow-to-Lambda flow, a form submission fires a webhook, Lambda validates and processes the payload, and the function creates a CMS item through the Data API.

To implement the pipeline:

  1. Register the webhook programmatically with POST https://api.webflow.com/v2/sites/{site_id}/webhooks. Pass {"triggerType": "form_submission", "url": "<your-lambda-function-url>"} in the request body. This requires the sites:write scope. Create the webhook through the API. Only API-created webhooks include the x-webflow-signature header needed for validation.
  2. Grant public invoke permissions on the function URL:
aws lambda add-permission \
  --function-name UrlTestFunction \
  --statement-id UrlPolicyInvokeURL \
  --action lambda:InvokeFunctionUrl \
  --principal * \
  --function-url-auth-type NONE

aws lambda add-permission \
  --function-name UrlTestFunction \
  --statement-id UrlPolicyInvokeFunction \
  --action lambda:InvokeFunction \
  --principal * \
  --invoked-via-function-url
  1. In the function code, validate each request by comparing the x-webflow-signature header against an HMAC SHA-256 hash generated with your webhook secret. Read form field values from payload.data and the field schema from payload.schema, per the form submission event reference.
  2. Create a staged CMS item with POST https://api.webflow.com/v2/collections/{collection_id}/items/bulk, sending name and slug inside fieldData. This requires the CMS:write scope and returns HTTP 202 on success, per the create item reference..
  3. Publish the item with POST https://api.webflow.com/v2/collections/{collection_id}/items/publish, or create it live directly with POST https://api.webflow.com/v2/collections/{collection_id}/items/live.

Store the Webflow API token in AWS Secrets Manager. Site tokens expire after 365 days of inactivity, so plan for rotation.

Schedule CMS updates with EventBridge

The reverse flow pushes external data into Webflow on a schedule. EventBridge Scheduler invokes Lambda asynchronously on a cron or rate expression, and the function syncs content from an outside source.

To set up scheduled sync:

  1. Create an EventBridge Scheduler schedule targeting your Lambda function with a cron expression.
  2. In the function, fetch data from the external source, such as a CRM or product database.
  3. Update existing items with PATCH https://api.webflow.com/v2/collections/{collection_id}/items, or create new ones with the bulk endpoint POST https://api.webflow.com/v2/collections/{collection_id}/items/bulk.
  4. Publish changed items so they go live without manual publishing.

The same Lambda-writes-to-Webflow pattern works with S3 event triggers, so uploading a JSON or CSV file to a bucket can populate CMS collections automatically.

What you can build with the AWS Lambda Webflow integration

Integrating AWS Lambda with Webflow lets you run event-driven backend logic without managing servers or capacity.

  • Advanced form processing: Lambda functions score form submissions against business rules, then post to connected CRM, email, or Slack workflows. Form webhooks retry three times at 10-minute intervals on failure, so transient errors don't lose submissions.
  • Scheduled content automation: An EventBridge schedule triggers a Lambda function that pulls content from external APIs, transforms the data, creates Webflow collection items, and publishes changes automatically. A pricing page or job board stays current without manual CMS edits.
  • Real-time inventory synchronization: Lambda webhook handlers receive stock updates from external systems and update Webflow CMS product fields via the PATCH endpoint. Product pages reflect warehouse counts shortly after a change.
  • Server-side payment processing: Stripe Elements tokenizes card data client-side, and Lambda receives only tokens to create charges. Serverless functions like Lambda are the standard way to run this backend logic, since a Webflow site doesn't execute it directly. See the Stripe integration guidance for details.

If you need more control over payload validation, retry handling, or multi-system routing, the API integration path covers those cases with full flexibility. See the CMS API guide before wiring Lambda into your collections.

Frequently asked questions

  • No. AWS Lambda does not appear in the Webflow App Marketplace, and no app published by AWS exists there. The supported paths pair Lambda function URLs with Webflow forms and webhooks. Teams that want less custom code can route events through automation platforms like Zapier and n8n, while developers integrate directly through the Webflow Data API v2.

  • Configure CORS on the function URL itself. AWS recommends configuring CORS whenever you call a function URL from a different domain, and Lambda injects the configured headers automatically. Set AllowOrigins to your published Webflow domain and AllowMethods to the verbs your script uses. Setting CORS in both places causes duplicate header errors, per the function URLs documentation.

  • Compare the x-webflow-signature header against an HMAC SHA-256 hash generated with your webhook secret inside the Lambda function. Webhooks created through the Webflow dashboard do not include the request headers needed for signature validation. Only webhooks created via the API include them. For any security-sensitive workflow, register the webhook with POST /v2/sites/{site_id}/webhooks.

  • Use a webhook if you want Webflow to keep a record of each submission, and a custom action if Lambda should be the only processor. A webhook sends a POST with JSON to your endpoint while Webflow also stores the submission. A custom action bypasses Webflow entirely, so submissions are not stored and the action can't combine with Webflow storage or email notifications. Note that exported sites don't process form submissions, so an active Site plan is required.

  • Rarely, and usually not noticeably. Cold starts typically occur in under 1% of invocations and vary from under 100 ms to over 1 second, per the Lambda runtime environment documentation. Asynchronous webhook processing largely hides that latency from site visitors. For latency-sensitive synchronous calls, Provisioned Concurrency keeps functions initialized and ready, and SnapStart improves startup from several seconds to sub-second for Java 11+, Python 3.12+, and .NET 8+, per the Lambda FAQs. The two features cannot be enabled on the same function simultaneously.

aws lambda
aws lambda
Joined in

Description

Send Webflow form submissions and CMS events to AWS Lambda functions through webhooks, function URLs, or automation platforms. Lambda runs the backend logic that Webflow sites can't execute client-side.

Install app

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


Other App integration and task automation integrations

Other App integration and task automation integrations

Google Docs

Google Docs

Connect Google Docs with Webflow to embed live documents, sync content to CMS Collections, or build custom API publishing pipelines.

App integration and task automation
Learn more
Zapier

Zapier

Connect Zapier with Webflow to automate form routing, CMS updates, and ecommerce order processing across 7,000+ apps.

App integration and task automation
Learn more
Smartarget Contact Us

Smartarget Contact Us

Connect Smartarget Contact Us with Webflow to add a floating multi-channel contact widget that lets visitors reach you on WhatsApp, Telegram, email, and 12+ messaging platforms.

App integration and task automation
Learn more
CMS Bridge

CMS Bridge

Connect CMS Bridge with Webflow to sync Airtable records to your CMS collections with record-level control over content states and publishing.

App integration and task automation
Learn more
Osmo SVG Import

Osmo SVG Import

Connect Osmo SVG Import with Webflow to add fully editable SVG elements to your site without character limits or manual code editing.

App integration and task automation
Learn more
Telegram Chat - Contact Us

Telegram Chat - Contact Us

Connect Telegram Chat - Contact Us to your Webflow site to add a floating Telegram chat widget that lets visitors message you directly from any page.

App integration and task automation
Learn more
Form Fields Pro

Form Fields Pro

Connect Form Fields Pro with Webflow to add advanced input types, including searchable selects, date pickers, number range pickers, and file uploaders, to native Webflow forms.

App integration and task automation
Learn more
Vault Vision User Authentication

Vault Vision User Authentication

Connect Vault Vision with Webflow to add passwordless login, social sign-in, and per-page access control to any Webflow site without backend code.

App integration and task automation
Learn more
Integrately

Integrately

Connect Integrately with Webflow to automate form submissions, CMS updates, and e-commerce orders across 1,500+ apps without writing code.

App integration and task automation
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