Formcarry

Connect Formcarry, a form endpoint service, with Webflow to collect submissions with file uploads, send auto-reply emails, filter spam, and restore form processing on exported sites.

Install app
View website
View lesson
A record settings
CNAME record settings
Formcarry

Formcarry gives Webflow forms an endpoint that accepts data, files, and payment fields from any HTML form, including the file uploads, auto-reply emails, and CRM routing that native form handling doesn't cover. Point a form's action URL to a Formcarry endpoint, and submissions route to the Formcarry dashboard with email notifications, spam filtering, and export options.

This integration sees the most use among freelance designers building client sites, agencies managing forms across multiple Webflow projects, SaaS teams capturing leads, and developers deploying exported sites to Netlify or Vercel.

How to connect Formcarry with Webflow

What is Formcarry? Formcarry is a form endpoint service that collects HTML form submissions without requiring any backend code. It provides email notifications, spam filtering, file upload handling, field validations, and webhook delivery for each submission.

Teams pair Formcarry with Webflow when they need form capabilities beyond what's available natively. Common triggers include accepting file attachments on project brief forms, sending automatic confirmation emails to submitters, routing leads to a CRM, or restoring form functionality on exported Webflow sites hosted elsewhere.

You can connect the two platforms in three ways:

  • The custom form action method sends Webflow form submissions directly to a Formcarry endpoint without any code.
  • Code Embed elements let you paste a complete HTML form with control over fields, file inputs, and submission behavior.
  • The Webflow and Formcarry APIs let you create forms, retrieve submissions, and sync with Webflow CMS, but require server-side development.

Most implementations start with the custom form action method and add API-based workflows as requirements grow.

Set the Webflow form action to a Formcarry endpoint

Connecting Webflow forms to Formcarry usually starts here. It requires no code and takes about two minutes to configure. You replace the native form destination with a Formcarry endpoint URL, and all submissions route to the Formcarry dashboard instead. Start by creating a Formcarry form at formcarry.com, then copy the endpoint URL from the Setup tab in your Formcarry dashboard.

To set up the integration:

  1. Select the form element on the canvas or in the Navigator panel.
  2. Open the Settings panel in the right sidebar.
  3. Delete any existing Webflow or Email notification destinations by clicking the delete icon next to each one. These can't be used alongside a custom action.
  4. Click the add icon next to "Send to" and select Custom action.
  5. Paste your Formcarry endpoint URL (https://formcarry.com/s/YOUR-FORM-ID) into the action field.
  6. Set the method to POST.
  7. Click Save and publish your site.

After setup, Formcarry's dashboard includes:

  • Email notifications for every new submission
  • Built-in spam filtering with honeypot field support
  • A submissions dashboard with sorting, filtering, and CSV/JSON export
  • Auto-response emails to submitters (on paid Formcarry plans)

Setting a custom action URL disables the entire native form processing stack. Submission storage, email notifications, spam filtering, and on-page success/error state animations all stop working. Formcarry replaces each of these with its own equivalents, but the on-page success message requires the AJAX approach described in the custom JavaScript section below. Also, if your site has reCAPTCHA enabled at the site level under Site Settings > Apps & Integrations, disable it before using a custom action. The reCAPTCHA token is validated by the native form handler, which a custom action bypasses. This conflict causes silent submission failures. Configure spam protection through Formcarry's dashboard instead, which uses reCAPTCHA v2 Checkbox and v3.

Configure a custom thank-you page redirect

By default, successful submissions redirect to a Formcarry-hosted thank-you page. To send users to a page on your own site instead, add a hidden form field.

To configure the redirect:

  1. Add a hidden input field to your form.
  2. Set the field's name attribute to _next.
  3. Set the field's value to the full URL of your thank-you page (for example, https://yoursite.com/thank-you).
  4. Publish your site.

If you've also configured a Return URL in the Formcarry dashboard, the dashboard setting takes priority. Clear that field in Formcarry's settings to use the hidden field method. See Formcarry's dynamic return URL documentation for more details.

Enable file uploads

The native form handler doesn't support file uploads at all. Formcarry allows file uploads on paid plans with a 10MB per-file size limit when the form uses enctype="multipart/form-data".

To enable file uploads on a Webflow form:

  1. Add a file input field to your form.
  2. Set the form to use enctype="multipart/form-data".
  3. Publish your site.

If you need control over the form markup, or your form setup can't support the required file field and multipart configuration cleanly, use the Code Embed approach described in the next section.

Handle exported Webflow sites

When you export a site for external hosting, form processing stops entirely. Forms on exported sites need an external backend.

To add Formcarry to an exported site:

  1. Open the exported HTML file containing your form.
  2. Set the <form> element's action attribute to your Formcarry endpoint URL.
  3. Set the method attribute to POST.
  4. Confirm every input field has a name attribute. Formcarry can't parse fields without one.
  5. Deploy the updated file to your hosting platform.

This works identically on Netlify, Vercel, GitHub Pages, or any static host because Formcarry operates independently of Webflow hosting.

Add Formcarry forms with Code Embed elements

When you need control over form markup, including file input fields, custom AJAX behavior, or spam honeypot fields, a Code Embed element lets you paste a complete HTML form directly into your page. This method bypasses the Form Block entirely, so you handle form styling through your own CSS rather than the built-in form controls. You need a paid plan to use Code Embed — it's not available on the free Starter plan.

To embed a Formcarry form:

  1. Drag a Code Embed element onto your page canvas.
  2. Paste your HTML form with the Formcarry endpoint as the action:
<form action="https://formcarry.com/s/YOUR-FORM-ID" method="POST" enctype="multipart/form-data">
  <label for="email">Email</label>
  <input type="email" name="email" id="email" required>
  <label for="message">Message</label>
  <textarea name="message" id="message"></textarea>
  <input type="file" name="attachment">
  <input type="hidden" name="_gotcha" />
  <button type="submit">Send</button>
</form>
  1. Publish your site.

Use the hidden _gotcha field in the example above as a honeypot for spam filtering. Bots fill in hidden fields automatically, and Formcarry flags those submissions as spam.

Submit with AJAX for on-page feedback

Standard form submissions redirect the page, which prevents on-page success and error states from displaying. Submitting via JavaScript keeps users on the page and gives you control over the response handling.

To add AJAX submission, paste the following script into your footer custom code under Project Settings > Custom Code > Footer Code:

document.querySelector('.formcarry-form').addEventListener('submit', function(e) {
  e.preventDefault();
  fetch('https://formcarry.com/s/YOUR-FORM-ID', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    },
    body: JSON.stringify(Object.fromEntries(new FormData(this)))
  })
  .then(response => response.json())
  .then(data => {
    if (data.code === 200) {
      alert('Submission received. Thank you!');
    } else {
      alert('Error: ' + data.message);
    }
  })
  .catch(error => console.log(error));
});

Add a custom class like formcarry-form to your form element so the script targets the correct form. The Accept: application/json header tells Formcarry to return a JSON response instead of redirecting. AJAX submission works on all Formcarry plans, including the free tier.

Build with the Webflow and Formcarry APIs

If you need programmatic form management, submission retrieval, or real-time syncing between Formcarry and Webflow CMS, both platforms have REST APIs. This path requires server-side development and suits developers building multi-site agency tools, custom dashboards, or automated content pipelines.

You can use these APIs:

Formcarry requires an api_key header on its API requests, retrieved from https://app.formcarry.com/integrations. The Data API uses a Bearer token in the Authorization header, generated from site settings or through an OAuth flow.

Create Formcarry forms programmatically

If you're managing forms across multiple Webflow client sites, you can use the Formcarry Forms API to create and configure endpoints without logging into the dashboard.

To create a form with a webhook:

  1. Send a PUT request to https://formcarry.com/api/form with your API key and form parameters:
curl -X PUT https://formcarry.com/api/form \
  -H "api_key: YOUR_API_KEY" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "name=Contact Form&email=team@example.com&webhook=https://your-server.com/webhook"
  1. The response includes a formUrl field. Use this value as your form's action attribute.
  2. Set the webhook parameter to receive a POST request at your server on every new submission.

Use the retention parameter to control whether submissions are stored in Formcarry's database. Setting it to false disables storage but doesn't affect webhook delivery. Webhooks fire regardless.

Sync Formcarry submissions to Webflow CMS

You can write form submissions directly into CMS collections by connecting a Formcarry webhook to a middleware server that calls the Webflow CMS API.

To implement submission-to-CMS syncing:

  1. Configure a Formcarry webhook URL when creating your form (via the API or dashboard).
  2. Build a server endpoint that receives the Formcarry POST payload, which contains field values keyed by the HTML name attributes of your form inputs.
  3. Map Formcarry field names to CMS fieldData slugs. Formcarry delivers keys like firstName, while the CMS expects slugs like first-name. You'll need this mapping step for every implementation.
  4. Call the Webflow CMS live item endpoint to create and immediately publish the CMS record:
curl -X POST https://api.webflow.com/v2/collections/{collection_id}/items/live \
  -H "Authorization: Bearer WEBFLOW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fieldData": {
      "name": "New Form Submission",
      "slug": "new-form-submission",
      "first-name": "Alex",
      "email": "alex@example.com"
    }
  }'

The CMS doesn't support native upsert operations. To avoid duplicate items, query existing items by a unique field first, then decide whether to create or update. Point the webhook URL at a request inspection tool like webhook.site before building your mapping layer, since Formcarry doesn't publish a sample webhook payload schema.

What can you build with the Formcarry Webflow integration?

Connecting Formcarry with Webflow lets you collect, process, and route form submissions on your pages without building or maintaining server-side infrastructure.

  • Lead capture with CRM routing: Build a landing page with a demo request form that submits to Formcarry and writes submission data to your follow-up workflow.
  • Project brief intake with file uploads: Create a client intake form on a freelance portfolio site that accepts PDF attachments and images alongside text fields. Formcarry stores the files (up to 10MB each) and sends an email notification with all submission data to the project manager.
  • Event registration with auto-confirmation: Add an RSVP form to an event page that collects attendee names, emails, and special requirements. Formcarry sends an automatic confirmation email to each registrant and logs the submission in a centralized dashboard for export.
  • Multi-client agency form management: Set up isolated form endpoints for each client site using Formcarry's team accounts with role-based access. Each client workspace has its own submission data, notification settings, and export options, managed from a single Formcarry account.

If you need more control over submission-to-CMS syncing or multi-step processing workflows, the API integration path handles those cases.

Frequently asked questions

  • Create a form in your Formcarry dashboard, copy the endpoint URL from the Setup tab, then paste it into the form action field in Webflow. Select your form on the canvas, open the Settings panel, remove any existing Webflow or Email destinations, add a Custom action, paste the Formcarry URL, set the method to POST, and publish. Every input field in your form must have a name attribute, or Formcarry cannot parse the data. The Webflow forms documentation covers the full custom action setup flow.

  • A conflict with Webflow's site-level reCAPTCHA is the most common cause. When reCAPTCHA is enabled in Site Settings > Apps & Integrations, Webflow validates the token through its own form handler, which a custom action URL bypasses. This causes silent submission failures. Disable Webflow's reCAPTCHA and configure spam protection through Formcarry's settings instead. Other common causes include missing name attributes on input fields, the method not being set to POST, or the site not being republished after changes.

  • Yes, but it requires a paid Formcarry plan and the right form configuration. Formcarry file uploads require enctype="multipart/form-data" and an <input type="file"> field. Depending on how your form is built in Webflow, that may mean using a Code Embed element or custom HTML for full control. The maximum file size is 10MB per file. See Formcarry's file upload documentation for the full setup details.

  • Yes. Exported Webflow sites lose all native form processing, as Webflow's documentation confirms. Formcarry works on any static HTML deployment because submissions go directly to Formcarry's servers. Open the exported HTML file, set the <form> element's action to your Formcarry endpoint URL and method to POST, then deploy to Netlify, Vercel, or any other host.

  • Yes. The developer option uses Formcarry's webhook feature to POST submission data to your server, which then maps field names to Webflow CMS slugs and calls the Webflow CMS API to create items. Field name mapping between Formcarry's HTML name attributes and Webflow's fieldData slugs is required in the API approach.

Formcarry
Formcarry
Joined in

Description

Formcarry adds file uploads, auto-reply emails, spam filtering, and webhook delivery to Webflow forms through a custom form action URL. It also restores form processing on exported Webflow sites hosted on Netlify, Vercel, or any static platform.

Install app

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


Other Forms & surveys integrations

Other Forms & surveys integrations

POWr

POWr

Embed POWr forms, popups, countdown timers, and much more. No coding necessary!

Forms & surveys
Learn more
POWR

POWR

Transform your Webflow site with powerful no-code widgets. Add forms, popups, galleries, and 60+ interactive apps to boost engagement, capture leads, and increase conversions — all without writing a single line of code.

Forms & surveys
Learn more
Paperform

Paperform

Connect Paperform, a design-first form builder, with Webflow to embed payment forms, conditional intake flows, and booking pages directly on any page with inline, popup, or full-screen layouts.

Forms & surveys
Learn more
MightyForms

MightyForms

Connect MightyForms' advanced form builder to your Webflow site for powerful data collection, automation, and payment processing — no coding required.

Forms & surveys
Learn more
Mailchimp Forms

Mailchimp Forms

Connect Mailchimp Forms with Webflow to capture leads and grow your email list through native form integration.

Forms & surveys
Learn more
JotForm

JotForm

Connect Jotform's powerful form builder with Webflow to create advanced forms with payment processing, file uploads, and automated workflows. Collect submissions that automatically create CMS items, sync data in real-time, and extend beyond Webflow's native form limitations.

Forms & surveys
Learn more
Jinglebell

Jinglebell

Jinglebell brings you an intuitive module to fully integrate your Webflow-designed forms.

Forms & surveys
Learn more
Getform

Getform

Connect Getform, a headless form backend, with Webflow to handle file uploads, spam filtering, UTM tracking, and submission routing to tools like Slack, HubSpot, and Salesforce.

Forms & surveys
Learn more
Form Sparrow

Form Sparrow

Connect Form Sparrow to Webflow for serverless form handling without backend code. Process submissions, manage email notifications, and protect against spam — all while maintaining full design control in Webflow.

Forms & surveys
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