<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged forms</title>
<link>https://coderlegion.com/tag/forms</link>
<description>Powered by Question2Answer</description>
<item>
<title>Why I Use Formgrid for Every Client Website I Build</title>
<link>https://coderlegion.com/20932/why-i-use-formgrid-for-every-client-website-i-build</link>
<description>&lt;p&gt;A few months ago, I was building a website for my web design agency at leadsgrid.co.&lt;/p&gt;
&lt;p&gt;I had the homepage done. The services page was looking good. The industry landing pages were ready. Everything was working.&lt;/p&gt;
&lt;p&gt;Then I got to the contact form.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-problem-every-web-developer-hits&quot;&gt;The Problem Every Web Developer Hits&lt;/h3&gt;
&lt;p&gt;I needed a lead capture form on the site. Not just a contact form that sends me an email. A proper form that would:&lt;/p&gt;
&lt;p&gt;Notify me immediately when someone enquires. Store every submission somewhere I could track it. Let me see which enquiries I had followed up on and which ones I had not. Tell me which marketing channel sent each lead.&lt;/p&gt;
&lt;p&gt;I had built this before. I knew what it involved.&lt;/p&gt;
&lt;p&gt;A PHP backend to receive the POST request. An email sending library to format and deliver the notification. A database to store submissions. A dashboard to view them. Spam protection so bots do not flood the inbox. Something to track UTM parameters.&lt;/p&gt;
&lt;p&gt;I looked at my shared hosting on Namecheap. cPanel. PHP 8. MySQL.&lt;/p&gt;
&lt;p&gt;I thought: I could build this.&lt;/p&gt;
&lt;p&gt;Then I thought: I already built this. It is called Formgrid.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;why-i-almost-did-not-use-my-own-tool&quot;&gt;Why I Almost Did Not Use My Own Tool&lt;/h3&gt;
&lt;p&gt;Here is the thing about building a product. You spend so much time inside it, thinking about edge cases and user flows and feature gaps, that you sometimes forget to step back and see what it actually does.&lt;/p&gt;
&lt;p&gt;I almost went down the cPanel route out of habit. The same habit that makes developers spin up a Node.js backend and configure Nodemailer for a contact form when a better option already exists.&lt;/p&gt;
&lt;p&gt;What stopped me was a simple question:&lt;/p&gt;
&lt;p&gt;If I were not the founder of Formgrid and I needed a form backend for a static agency site right now, what would I use?&lt;/p&gt;
&lt;p&gt;The answer was obvious.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-i-actually-did&quot;&gt;What I Actually Did&lt;/h3&gt;
&lt;p&gt;I pointed the enquiry form on leadsgrid.co at a Formgrid endpoint.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;form action=&quot;https://formgrid.dev/api/f/your-form-id&quot; method=&quot;POST&quot;&amp;gt;
  &amp;lt;input type=&quot;text&quot; name=&quot;name&quot; placeholder=&quot;Your Name&quot; required /&amp;gt;
  &amp;lt;input type=&quot;email&quot; name=&quot;email&quot; placeholder=&quot;Your Email&quot; required /&amp;gt;
  &amp;lt;select name=&quot;package&quot;&amp;gt;
    &amp;lt;option value=&quot;&quot;&amp;gt;Choose a package&amp;lt;/option&amp;gt;
    &amp;lt;option value=&quot;Lead Starter&quot;&amp;gt;Lead Starter $500&amp;lt;/option&amp;gt;
    &amp;lt;option value=&quot;Lead Engine&quot;&amp;gt;Lead Engine $950&amp;lt;/option&amp;gt;
    &amp;lt;option value=&quot;Lead Machine&quot;&amp;gt;Lead Machine $1,500&amp;lt;/option&amp;gt;
  &amp;lt;/select&amp;gt;
  &amp;lt;textarea name=&quot;message&quot; placeholder=&quot;Tell me about your business&quot;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/20932/why-i-use-formgrid-for-every-client-website-i-build</guid>
<pubDate>Thu, 18 Jun 2026 16:49:24 +0000</pubDate>
</item>
<item>
<title>How to Send a Confirmation Email to Your Webflow Form Submitters Without Zapier or Make</title>
<link>https://coderlegion.com/18718/how-to-send-a-confirmation-email-to-your-webflow-form-submitters-without-zapier-or-make</link>
<description>&lt;p&gt;Someone fills out your Webflow contact form. &lt;br&gt;
They click submit. They wait.&lt;/p&gt;
&lt;p&gt;Nothing arrives in their inbox.&lt;/p&gt;
&lt;p&gt;No confirmation. No acknowledgement. &lt;br&gt;
No &quot;thank you, we received your message.&quot; &lt;br&gt;
Just silence.&lt;/p&gt;
&lt;p&gt;They wonder if the form worked. &lt;br&gt;
They submit it again. You receive two identical enquiries and have no idea which one to respond to.&lt;/p&gt;
&lt;p&gt;This is one of the most common frustrations Webflow users run into. Your form looks professional. Your site looks polished. &lt;br&gt;
But the moment someone submits your form, they get nothing back.&lt;/p&gt;
&lt;p&gt;This post explains exactly why this happens, why the most commonly suggested fixes no longer work, and how to solve it completely &lt;br&gt;
in about 5 minutes, without Zapier, Make, or MailerSend.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;why-webflow-cannot-send-confirmation-emails-to-submitters&quot;&gt;Why Webflow Cannot Send Confirmation Emails to Submitters&lt;/h3&gt;
&lt;p&gt;Webflow's native form handling notifies you when someone submits your form. Not to notify them.&lt;/p&gt;
&lt;p&gt;By default, Webflow sends an email to the address associated with your Webflow account every time a form is submitted. You can &lt;br&gt;
customize who receives that notification, what the subject line says, and what the body contains.&lt;/p&gt;
&lt;p&gt;But that notification goes to you. &lt;br&gt;
Not to the person who submitted the form.&lt;/p&gt;
&lt;p&gt;There is no native setting in Webflow that sends an automatic confirmation email back to the submitter the moment they fill in &lt;br&gt;
your form.&lt;/p&gt;
&lt;h3 id=&quot;what-happened-to-webflow-logic&quot;&gt;What Happened to Webflow Logic&lt;/h3&gt;
&lt;p&gt;For a while, there was hope that Webflow Logic would solve this. Webflow Logic was an automation feature that allowed you to build &lt;br&gt;
workflows triggered by form submissions, including sending emails to submitters.&lt;/p&gt;
&lt;p&gt;Webflow Logic was discontinued on June 27, 2025.&lt;/p&gt;
&lt;p&gt;If you have read tutorials suggesting you use Webflow Logic for auto-responder emails, those tutorials are now outdated. Webflow Logic no longer exists.&lt;/p&gt;
&lt;h3 id=&quot;the-workaround-most-people-find&quot;&gt;The Workaround Most People Find&lt;/h3&gt;
&lt;p&gt;After discovering that Webflow cannot do this natively, most people find the same workaround:&lt;br&gt;
Connect Webflow to Make&lt;br&gt;
Connect Make to MailerSend&lt;br&gt;
Build a scenario that triggers when a form is submitted&lt;br&gt;
Map the form fields to email variables&lt;br&gt;
Send the confirmation email through MailerSend&lt;/p&gt;
&lt;p&gt;This works. But it requires:&lt;br&gt;
A Make account: $9 to $16 per month&lt;br&gt;
A MailerSend account: free to $30 per month&lt;br&gt;
Several hours to set up and test&lt;br&gt;
A dependency on three separate services&lt;br&gt;
that can each break independently&lt;/p&gt;
&lt;p&gt;You are paying for multiple subscriptions and maintaining a complex integration just to send one confirmation email when someone fills in a form.&lt;/p&gt;
&lt;p&gt;There is a simpler way.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-simpler-solution-replace-the-webflow-form-with-a-formgrid-endpoint&quot;&gt;The Simpler Solution: Replace the Webflow Form With a Formgrid Endpoint&lt;/h3&gt;
&lt;p&gt;Formgrid is an open-source form backend that works with any website, including Webflow. Instead of Webflow handling your form submissions, you point your form at a Formgrid endpoint URL.&lt;/p&gt;
&lt;p&gt;Formgrid receives every submission, saves it to your dashboard, sends you an email notification, and automatically sends a branded confirmation email back to the person who submitted the form.&lt;/p&gt;
&lt;p&gt;Auto-responder emails are included on the Premium plan at $12 per month. &lt;br&gt;
No Zapier. No Make. No MailerSend. &lt;br&gt;
No complex scenarios to build or maintain.&lt;/p&gt;
&lt;p&gt;Here is exactly how to set it up.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-you-will-need&quot;&gt;What You Will Need&lt;/h3&gt;
&lt;p&gt;A Formgrid account: Sign up for free at formgrid.dev&lt;br&gt;
No credit card required&lt;br&gt;
Auto-responder emails are available&lt;br&gt;
on Premium at $12 per month&lt;br&gt;
A Webflow site with a form:&lt;br&gt;
Any Webflow form works&lt;br&gt;
Contact forms, enquiry forms,&lt;br&gt;
registration forms, booking forms&lt;br&gt;
A Google account (optional):&lt;br&gt;
If you also want submissions to land&lt;br&gt;
in Google Sheets automatically&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;part-one-set-up-your-formgrid-form&quot;&gt;Part One: Set Up Your Formgrid Form&lt;/h3&gt;
&lt;h4 id=&quot;step-1-create-your-formgrid-account&quot;&gt;Step 1: Create Your Formgrid Account&lt;/h4&gt;
&lt;p&gt;Go to formgrid.dev and sign up using Google or your email address. &lt;br&gt;
No credit card required.&lt;/p&gt;
&lt;p&gt;The free plan lets you test the setup and receive submissions. Upgrade to Premium at $12 per month to enable auto-responder emails.&lt;/p&gt;
&lt;h4 id=&quot;step-2-create-a-new-form&quot;&gt;Step 2: Create a New Form&lt;/h4&gt;
&lt;p&gt;Once you are in your Formgrid dashboard, click New Form. Give it a name that matches the Webflow form you are connecting to. For example, &quot;Contact Form&quot; or &quot;Booking Enquiry.&quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ozar28d2u9v4whi05ogg.png&quot; alt=&quot;Formgrid dashboard and new form creation&quot;&gt;&lt;/p&gt;
&lt;p&gt;You are not building a form inside Formgrid here. You are registering a form entry in your dashboard so Formgrid knows where to route incoming submissions from Webflow. Your actual form fields stay exactly as they are in Webflow.&lt;/p&gt;
&lt;h4 id=&quot;step-3-copy-your-endpoint-url&quot;&gt;Step 3: Copy Your Endpoint URL&lt;/h4&gt;
&lt;p&gt;After creating your form, open it in your Formgrid dashboard. You will see your unique endpoint URL displayed prominently in the Overview tab.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l2n2wk1glt9b8u3dp89g.png&quot; alt=&quot;Formgrid endpoint URL on form details page&quot;&gt;&lt;/p&gt;
&lt;p&gt;Copy this URL. You will need it in the next section when you update your Webflow form settings.&lt;/p&gt;
&lt;p&gt;This URL is permanent. It does not change when you update your form &lt;br&gt;
settings, connect integrations, or make any other changes inside Formgrid. You set it once in Webflow and never need to touch it again.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;part-two-update-your-webflow-form&quot;&gt;Part Two: Update Your Webflow Form&lt;/h3&gt;
&lt;h4 id=&quot;step-4-open-your-webflow-form-settings&quot;&gt;Step 4: Open Your Webflow Form Settings&lt;/h4&gt;
&lt;p&gt;Log in to your Webflow account and open the project containing the form you want to connect. In the Webflow Designer, click &lt;br&gt;
on your form element to select it. Then open the form settings panel.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qrh4p9qubld1lolwpy61.png&quot; alt=&quot;Webflow Designer with form element selected&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e17qjmejocjann5mayyu.png&quot; alt=&quot;Webflow form settings panel&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;step-5-set-the-form-action-url&quot;&gt;Step 5: Set the Form Action URL&lt;/h4&gt;
&lt;p&gt;In the form settings panel, locate the Action field. By default, this is either empty or set to Webflow's internal submission handler.&lt;/p&gt;
&lt;p&gt;Replace the existing value with your &lt;br&gt;
Formgrid endpoint URL:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-plaintext&quot;&gt;https://formgrid.dev/api/f/your-form-id
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Set the Method to POST if it is not already set.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eppst7xj0cdchj86ykey.png&quot; alt=&quot;Webflow form action URL field updated with Formgrid endpoint&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;step-6-check-your-field-names&quot;&gt;Step 6: Check Your Field Names&lt;/h4&gt;
&lt;p&gt;Formgrid uses the name attribute of each form field to identify submissions and to populate variables in your auto-responder email.&lt;/p&gt;
&lt;p&gt;In the Webflow Designer, click on each input field in your form and check the name value in the element settings panel. Make sure the email field is named &quot;email&quot; exactly. Formgrid uses this &lt;br&gt;
field to know where to send the confirmation email.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fgyh2t3it2cf7bzwjp1n.png&quot; alt=&quot;Webflow form field name settings panel&quot;&gt;&lt;/p&gt;
&lt;p&gt;Field names like &quot;name&quot;, &quot;email&quot;, &quot;phone&quot;, and &quot;message&quot; will produce &lt;br&gt;
clean, readable variables in your auto-responder template. Update any &lt;br&gt;
that are unclear or auto-generated by Webflow.&lt;/p&gt;
&lt;h4 id=&quot;step-7-publish-your-webflow-site&quot;&gt;Step 7: Publish Your Webflow Site&lt;/h4&gt;
&lt;p&gt;Once you have updated the form action URL and reviewed your field names, publish your Webflow site to push the changes live. The Formgrid endpoint will not receive any submissions until your site is published.&lt;/p&gt;
&lt;h4 id=&quot;step-8-submit-a-test-entry&quot;&gt;Step 8: Submit a Test Entry&lt;/h4&gt;
&lt;p&gt;Before setting up the auto-responder, confirm that submissions are reaching Formgrid correctly. Visit your live Webflow site, fill in your form with test data, and submit it.&lt;/p&gt;
&lt;p&gt;Open your Formgrid dashboard and check the submissions list for your form. The test entry should appear within a few seconds.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9avjnvjdz3vq950iznj8.png&quot; alt=&quot;Formgrid submissions list showing test entry&quot;&gt;&lt;/p&gt;
&lt;p&gt;If the submission does not appear, go back to your Webflow form settings and confirm that the action URL is set correctly and that the method is POST. Also, confirm that you published the site after making the change, since unpublished changes in Webflow do not take effect on the live site.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;part-three-set-up-auto-responder-emails-in-formgrid&quot;&gt;Part Three: Set Up Auto-Responder Emails in Formgrid&lt;/h3&gt;
&lt;p&gt;This is where Formgrid replaces the entire Webflow + Make + MailerSend workflow. Auto-responder emails are built directly into Formgrid. No external services required.&lt;/p&gt;
&lt;h4 id=&quot;step-9-open-your-form-settings&quot;&gt;Step 9: Open Your Form Settings&lt;/h4&gt;
&lt;p&gt;In your Formgrid dashboard, open the form you just connected and click the Settings tab at the top of the page.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7096x1s7s71rbzqzl9io.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;step-10-find-the-auto-responder-section&quot;&gt;Step 10: Find the Auto-Responder Section&lt;/h4&gt;
&lt;p&gt;Scroll down to the Auto-Responder Emails section. If you are on the &lt;br&gt;
Premium plan at $12 per month, you will see the full auto-responder &lt;br&gt;
configuration. If you are on the free plan, you will see a prompt &lt;br&gt;
to upgrade.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qiq0rdylhcebojfap9yc.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ny46e1zjbdinyiedetc.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;step-11-enable-the-auto-responder&quot;&gt;Step 11: Enable the Auto-Responder&lt;/h4&gt;
&lt;p&gt;Toggle the auto-responder on. Once enabled, Formgrid will automatically send a confirmation email to the email address submitted in your form every time someone fills it in.&lt;/p&gt;
&lt;p&gt;The email field in your Webflow form must be named &quot;email&quot; for Formgrid to know where to send the confirmation. If your email field has a different name attribute, update it in your Webflow Designer and republish.&lt;/p&gt;
&lt;h4 id=&quot;step-12-write-your-auto-responder-email&quot;&gt;Step 12: Write Your Auto-Responder Email&lt;/h4&gt;
&lt;p&gt;Set your subject line and write the body of your confirmation email.&lt;/p&gt;
&lt;p&gt;Formgrid uses Mustache templating, which lets you personalize the &lt;br&gt;
confirmation email with the actual values submitted in the form.&lt;/p&gt;
&lt;p&gt;The available variables are:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-handlebars&quot;&gt;{{ _formName }}    
Name of your form

{{ _time }}        
Submission timestamp

{{ fieldName }}    
Any field by its exact name attribute

{{# fields }}      
Loop through all fields
  {{ _name }}      Field label
  {{ _value }}     Field value
{{/ fields }}      
Close the loop
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For example if your Webflow form &lt;br&gt;
has a field with name=&quot;name&quot; you &lt;br&gt;
can use {{ name }} in your &lt;br&gt;
auto-responder to greet the &lt;br&gt;
submitter by their actual name.&lt;/p&gt;
&lt;p&gt;A simple confirmation email &lt;br&gt;
template that works for any form:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto; 
            color: #1f2937;&quot;&amp;gt;

  &amp;lt;h2 style=&quot;color: #1d4f3d;&quot;&amp;gt;
    Thanks for reaching out
  &amp;lt;/h2&amp;gt;

  &amp;lt;p&amp;gt;
    Hi {{ name }}, we have received 
    your message and will get back 
    to you shortly.
  &amp;lt;/p&amp;gt;

  &amp;lt;p style=&quot;color: #6b7280;&quot;&amp;gt;
    Here is a summary of what 
    you submitted:
  &amp;lt;/p&amp;gt;

  {{# fields }}
  &amp;lt;div style=&quot;margin-bottom: 12px; 
              border-bottom: 1px solid #f3f4f6; 
              padding-bottom: 12px;&quot;&amp;gt;
    &amp;lt;p style=&quot;margin: 0; 
              font-size: 11px; 
              color: #9ca3af; 
              text-transform: uppercase; 
              letter-spacing: 0.05em;&quot;&amp;gt;
      {{ _name }}
    &amp;lt;/p&amp;gt;
    &amp;lt;p style=&quot;margin: 4px 0 0; 
              font-size: 14px; 
              color: #374151;&quot;&amp;gt;
      {{ _value }}
    &amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
  {{/ fields }}

  &amp;lt;p style=&quot;margin-top: 24px; 
            color: #6b7280; 
            font-size: 13px;&quot;&amp;gt;
    Submitted: {{ _time }}
  &amp;lt;/p&amp;gt;

&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For a booking or registration form where you want a more specific &lt;br&gt;
branded confirmation:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto; 
            color: #1f2937;&quot;&amp;gt;

  &amp;lt;h2 style=&quot;color: #1d4f3d; 
             border-bottom: 2px solid #e8f3ee; 
             padding-bottom: 10px;&quot;&amp;gt;
    Your enquiry has been received
  &amp;lt;/h2&amp;gt;

  &amp;lt;p&amp;gt;
    Hi {{ name }},
  &amp;lt;/p&amp;gt;

  &amp;lt;p&amp;gt;
    Thank you for getting in touch. 
    We have received your enquiry and 
    someone from our team will respond 
    within 24 hours.
  &amp;lt;/p&amp;gt;

  &amp;lt;p&amp;gt;
    If you have any urgent questions 
    in the meantime feel free to 
    reply directly to this email.
  &amp;lt;/p&amp;gt;

  &amp;lt;hr style=&quot;border: none; 
             border-top: 1px solid #e5e7eb; 
             margin: 24px 0;&quot; /&amp;gt;

  &amp;lt;p style=&quot;font-size: 12px; 
            color: #9ca3af;&quot;&amp;gt;
    Submitted: {{ _time }}
  &amp;lt;/p&amp;gt;

&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The variable {{ name }} must match the name attribute of your Webflow &lt;br&gt;
form field exactly. If your name field has name=&quot;fullName&quot; then use &lt;br&gt;
{{ fullName }} in your template.&lt;/p&gt;
&lt;h4 id=&quot;step-13-preview-and-save&quot;&gt;Step 13: Preview and Save&lt;/h4&gt;
&lt;p&gt;Click Preview to see exactly how your confirmation email will look &lt;br&gt;
with sample data substituted in. When you are happy with it, click &lt;br&gt;
Save.&lt;/p&gt;
&lt;p&gt;From this point on, every submission through your Webflow form will &lt;br&gt;
automatically trigger a confirmation email to the submitter. Every single time. Instantly.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;part-four-test-the-full-flow&quot;&gt;Part Four: Test the Full Flow&lt;/h3&gt;
&lt;h4 id=&quot;step-14-submit-a-real-test-entry&quot;&gt;Step 14: Submit a Real Test Entry&lt;/h4&gt;
&lt;p&gt;Visit your live Webflow site and fill in your form using a real email address you have access to. Submit the form.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ygxhdhqkeabfydelameu.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Within a few seconds, you should receive &lt;br&gt;
two emails:&lt;br&gt;
Email 1: Your notification email&lt;br&gt;
Sent to you as the form owner&lt;br&gt;
Contains the submission data&lt;br&gt;
Email 2: The auto-responder confirmation&lt;br&gt;
Sent to the email address you submitted&lt;br&gt;
Contains your branded confirmation message&lt;/p&gt;
&lt;p&gt;Your Notification Email:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pmfku0032yss58mm2u9t.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Auto-responder/Confirmation Email:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b6jr2yac44kwn4f0ggfp.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;If the auto-responder does not arrive, check your spam folder first. Then confirm in your Formgrid settings that the auto-responder is toggled on and that your form has an &quot;email&quot; field named correctly.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-the-complete-flow-looks-like&quot;&gt;What the Complete Flow Looks Like&lt;/h3&gt;
&lt;p&gt;Once everything is set up here is exactly what happens every time &lt;br&gt;
someone fills in your Webflow form:&lt;br&gt;
Visitor fills in your Webflow form&lt;br&gt;
and clicks Submit&lt;br&gt;
↓&lt;br&gt;
The browser sends the data directly&lt;br&gt;
to your Formgrid endpoint&lt;br&gt;
↓&lt;br&gt;
Formgrid receives and saves the&lt;br&gt;
submission to your dashboard&lt;br&gt;
↓&lt;br&gt;
Email notification sent to you&lt;br&gt;
and any other configured recipients&lt;br&gt;
↓&lt;br&gt;
Auto-responder confirmation email&lt;br&gt;
sent instantly to the submitter&lt;br&gt;
↓&lt;br&gt;
Spam protection runs in the background&lt;br&gt;
to filter out bot submissions&lt;br&gt;
↓&lt;br&gt;
If Google Sheets is connected, a new&lt;br&gt;
row is added to your spreadsheet&lt;/p&gt;
&lt;p&gt;Your submitter gets an instant professional confirmation. You get &lt;br&gt;
a clean, organized notification. The submission is saved in your &lt;br&gt;
Formgrid dashboard as a tracked lead. All of this happens automatically with no Zapier, no Make, and no &lt;br&gt;
MailerSend involved.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;comparing-the-two-approaches&quot;&gt;Comparing the Two Approaches&lt;/h3&gt;
&lt;p&gt;Here is the honest comparison between the Webflow + Make + MailerSend &lt;br&gt;
workaround and the Formgrid approach:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Webflow + Make + MailerSend:&lt;/strong&gt;&lt;br&gt;
Setup time: 2 to 4 hours&lt;br&gt;
Monthly cost: $9 to $46 across&lt;br&gt;
three services&lt;br&gt;
Dependencies: three separate services&lt;br&gt;
that can each break&lt;br&gt;
independently&lt;br&gt;
Maintenance: occasional scenario&lt;br&gt;
failures to debug&lt;br&gt;
Delay: slight delay between submission and confirmation email&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Formgrid Premium:&lt;/strong&gt;&lt;br&gt;
Setup time: 5 to 10 minutes&lt;br&gt;
Monthly cost: $12 per month total&lt;br&gt;
Dependencies: one service&lt;br&gt;
Maintenance: none&lt;br&gt;
Delay: confirmation sent instantly&lt;br&gt;
on submission&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-else-is-included-in-formgrid-premium&quot;&gt;What Else Is Included in Formgrid Premium&lt;/h3&gt;
&lt;p&gt;Auto-responder emails are just one part of the Formgrid Premium plan &lt;br&gt;
at $12 per month. The full plan includes:&lt;br&gt;
1,000 submissions per month&lt;br&gt;
File uploads up to 1GB per file&lt;br&gt;
Google Sheets syncs 500 rows per month&lt;br&gt;
Lead pipeline&lt;br&gt;
CSV export of all submissions&lt;br&gt;
Remove Formgrid branding&lt;br&gt;
Up to 3 email notification recipients&lt;br&gt;
Auto-responder emails to submitters&lt;br&gt;
Advanced spam protection&lt;/p&gt;
&lt;p&gt;And if you need custom-branded email templates for your notification emails or unlimited Google Sheets sync, the &lt;br&gt;
Business plan at $29 per month includes &lt;br&gt;
everything in Premium plus:&lt;br&gt;
Custom HTML email templates&lt;br&gt;
Unlimited Google Sheets sync&lt;br&gt;
Webhooks and Zapier integration&lt;br&gt;
15,000 submissions per month&lt;br&gt;
Priority support with direct access&lt;br&gt;
to the founder&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;frequently-asked-questions&quot;&gt;Frequently Asked Questions&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Does this replace my Webflow form &lt;br&gt;
or modify it?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It replaces where Webflow sends the submission data. Your form still looks and works the same for your visitors. The only change is in the &lt;br&gt;
form Action URL setting in your Webflow Designer. Your form design, &lt;br&gt;
fields, and styling are completely unchanged.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What if my Webflow form has a &lt;br&gt;
field named something other than &lt;br&gt;
&quot;email&quot;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Formgrid looks for a field named &lt;br&gt;
&quot;email&quot; to send the auto-responder. If your email field has a different name attribute, update it in your &lt;br&gt;
Webflow Designer to &quot;email&quot; and republish your site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will my Webflow success message &lt;br&gt;
still show after submission?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Webflow shows its success message based on the form submission event in the browser. Since you are still submitting the same Webflow form, the success message behavior is unchanged.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I use this with multiple &lt;br&gt;
Webflow forms?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Create a separate form in your Formgrid dashboard for each Webflow form you want to connect. Each one gets its own endpoint URL and its own auto-responder configuration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What happens if someone submits &lt;br&gt;
the form but enters a fake email?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The auto-responder will attempt to deliver to whatever email was entered. If the email bounces or does not exist, Formgrid handles the bounce gracefully. The submission is still saved to your dashboard, so you never lose the data.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is Formgrid open source?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Formgrid is fully open source under the MIT license. You can &lt;br&gt;
self-host it for free using Docker if you prefer to run your own &lt;br&gt;
instance rather than using the managed version.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;final-thoughts&quot;&gt;Final Thoughts&lt;/h3&gt;
&lt;p&gt;Webflow builds beautiful websites. But when it comes to sending &lt;br&gt;
confirmation emails back to your form submitters, it has never offered a native solution. Webflow Logic was the closest thing to a fix, and it was discontinued in June 2025.&lt;/p&gt;
&lt;p&gt;The workaround of connecting Webflow to Make to MailerSend works, but it is complex, expensive, and fragile. Three tools that can each fail &lt;br&gt;
independently for a feature that should be a single checkbox.&lt;/p&gt;
&lt;p&gt;Formgrid solves this with one endpoint URL change in your Webflow &lt;br&gt;
Designer and a few minutes of configuration in your Formgrid &lt;br&gt;
dashboard. Every submitter gets an instant professional confirmation. &lt;br&gt;
Every submission is saved as a tracked lead in your dashboard. Google Sheets sync is included. No Zapier required.&lt;/p&gt;
&lt;p&gt;If you are running a Webflow site and your form submitters are currently getting no confirmation after they submit, this setup will fix that completely in the time it takes to make a coffee.&lt;/p&gt;
&lt;p&gt;👉 &lt;a rel=&quot;nofollow&quot; href=&quot;https://formgrid.dev&quot;&gt;Start free at formgrid.dev&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No credit card required. &lt;br&gt;
Auto-responder emails are available &lt;br&gt;
on Premium at $12 per month. &lt;br&gt;
Upgrade when you are ready.&lt;/p&gt;
&lt;p&gt;If you have questions about connecting your specific Webflow &lt;br&gt;
form, reply in the comments or email &lt;em&gt;Emails are not allowed&lt;/em&gt; directly. &lt;br&gt;
I read and reply to every message.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. &lt;br&gt;
Written as honestly as I could. &lt;br&gt;
Let me know in the comments if &lt;br&gt;
anything looks off or inaccurate.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/18718/how-to-send-a-confirmation-email-to-your-webflow-form-submitters-without-zapier-or-make</guid>
<pubDate>Sat, 23 May 2026 01:29:25 +0000</pubDate>
</item>
<item>
<title>Why Contact Form 7 Emails Look Unprofessional and How to Fix It</title>
<link>https://coderlegion.com/14382/why-contact-form-7-emails-look-unprofessional-and-how-to-fix-it</link>
<description>&lt;p&gt;You installed Contact Form 7 on your WordPress site. &lt;br&gt;
Someone fills out your contact form. You receive the email.&lt;/p&gt;
&lt;p&gt;And it looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u1yw6jfar6wrxazc08wt.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;Or if you are lucky, it looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-properties&quot;&gt;From: John Smith
Email: *Emails are not allowed*
Message: Hello there
_wpcf7: 1234
_wpcf7_version: 5.7
_wpcf7_locale: en_US
_wpcf7_unit_tag: wpcf7-f1-p2-o1
_wpcf7_container_post: 2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Raw field data. Internal WordPress variables. &lt;br&gt;
No structure. No labels. &lt;br&gt;
No context.&lt;/p&gt;
&lt;p&gt;If you are an event manager receiving 20 registrations a day, or a small business owner trying to act quickly on client inquiries, this email is a nightmare to read.&lt;/p&gt;
&lt;p&gt;This guide explains exactly why CF7 emails look the way they do and gives you two ways to fix it permanently.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;why-contact-form-7-emails-look-so-bad&quot;&gt;Why Contact Form 7 Emails Look So Bad&lt;/h3&gt;
&lt;p&gt;Contact Form 7 sends notification emails by dumping whatever data it receives into the email body. &lt;br&gt;
It does not know your form's structure. &lt;br&gt;
It does not know which fields are important. &lt;br&gt;
It does not know that your recipient needs to see &lt;br&gt;
Contact Information, Event Details, before Payment Summary.&lt;/p&gt;
&lt;p&gt;It just sends everything in one flat list, including internal WordPress fields that your recipient should never see.&lt;/p&gt;
&lt;p&gt;Here are the most common problems CF7 users complain about:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Internal fields showing up in every email&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;CF7 includes internal WordPress variables &lt;br&gt;
like &lt;code&gt;_wpcf7&lt;/code&gt;, &lt;code&gt;_wpcf7_version&lt;/code&gt;, &lt;br&gt;
&lt;code&gt;_wpcf7_unit_tag&lt;/code&gt;, and &lt;br&gt;
&lt;code&gt;_wpcf7_container_post&lt;/code&gt; in every &lt;br&gt;
notification email. These are not your &lt;br&gt;
data. They are WordPress internals. &lt;br&gt;
But CF7 sends them anyway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No section headers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;All fields appear in one flat list with no grouping. Name, email, message, event selection, dietary requirements, and payment details are all running together with no separation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No formatting on long text&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Long text values appear as one unbroken paragraph with no line breaks. Reading a multi-paragraph message in a CF7 email is genuinely difficult.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wrong field order&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Fields appear in the order they were submitted, not in a logical reading order. If your form has 20 fields, the email is impossible to scan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generic subject line&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Every email says &quot;New message from your contact form&quot; with no context &lt;br&gt;
about who submitted or what they selected. &lt;br&gt;
If you receive 50 submissions per day, every email looks identical &lt;br&gt;
in your inbox.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Looks like spam&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Because CF7 relies on WordPress PHP &lt;br&gt;
mail for delivery and includes internal fields and raw data. &lt;br&gt;
Gmail and Outlook increasingly treat CF7 notifications as suspicious. &lt;br&gt;
Many CF7 emails end up in spam folders or get rejected entirely.&lt;/p&gt;
&lt;p&gt;The problem gets worse the more fields your form has. A simple 3-field contact form is manageable. &lt;br&gt;
But event registration forms, client intake forms, and job application forms can have 20 to 40 fields. When all of that arrives &lt;br&gt;
as one unformatted block, the person reading it has to hunt for the &lt;br&gt;
information they need every single time.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-a-professional-form-email-should-look-like&quot;&gt;What a Professional Form Email Should Look Like&lt;/h3&gt;
&lt;p&gt;Instead of a raw data dump, imagine &lt;br&gt;
receiving this for every registration:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/njgpgd8470kygupsmkcy.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;Clean. Organized. Readable by anyone. &lt;br&gt;
Whether they are a developer, an event coordinator, or an office manager who just needs to know who is coming and what they paid.&lt;/p&gt;
&lt;p&gt;That is what you should be receiving. &lt;br&gt;
Here is how to get there.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;who-does-this-problem-affect-most&quot;&gt;Who Does This Problem Affect Most&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Event organizers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Workshop registrations, conference entries, and seminar signups. &lt;br&gt;
Your coordinator needs to see attendee details in a logical order, not a random field dump. For a 200-person event, receiving unreadable registration emails is hours of unnecessary work every time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Small businesses&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Client intake forms, service booking forms, and quote request forms. Your team needs to act on submissions quickly. &lt;br&gt;
A clean email means faster response times and fewer mistakes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Freelancers and consultants&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Project brief forms, onboarding forms. &lt;br&gt;
When a new client submits their project brief, you want it formatted like a document you can actually work from, not a wall of raw text.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nonprofits and community organizations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Volunteer applications, membership forms, and donation forms. Your coordinator needs to process applications efficiently without deciphering raw data.&lt;/p&gt;
&lt;p&gt;If you are sending form submission emails to anyone who is not a developer, the default CF7 email format is not good enough.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;fix-1-customize-cf7-email&quot;&gt;Fix 1: Customize CF7 Email&lt;/h3&gt;
&lt;h3 id=&quot;templates-directly&quot;&gt;Templates Directly&lt;/h3&gt;
&lt;p&gt;Contact Form 7 does let you customize &lt;br&gt;
your email template. It is not beautiful, but it works for simple forms.&lt;/p&gt;
&lt;h4 id=&quot;step-1-open-your-cf7-form-settings&quot;&gt;Step 1: Open your CF7 form settings&lt;/h4&gt;
&lt;p&gt;In your WordPress dashboard, go to Contact and click on your form. Click the Mail tab at the top.&lt;/p&gt;
&lt;h4 id=&quot;step-2-edit-the-message-body&quot;&gt;Step 2: Edit the message body&lt;/h4&gt;
&lt;p&gt;By default, the message body uses the &lt;code&gt;[all_fields]&lt;/code&gt; shortcode, which &lt;br&gt;
dumps everything. Replace it with your specific field shortcodes:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-plaintext&quot;&gt;From: [your-name]
Email: [your-email]
Phone: [your-phone]

Message:
[your-message]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Replace &lt;code&gt;[your-name]&lt;/code&gt;, &lt;code&gt;[your-email]&lt;/code&gt;, &lt;br&gt;
&lt;code&gt;[your-phone]&lt;/code&gt;, and &lt;code&gt;[your-message]&lt;/code&gt; &lt;br&gt;
with the actual field names from your form.&lt;/p&gt;
&lt;h4 id=&quot;step-3-customize-the-subject-line&quot;&gt;Step 3: Customize the subject line&lt;/h4&gt;
&lt;p&gt;Change the subject line from the &lt;br&gt;
generic default to something meaningful:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-plaintext&quot;&gt;New inquiry from [your-name] 
via [_site_title]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This gives every email a subject line that shows who submitted and where it came from.&lt;/p&gt;
&lt;h4 id=&quot;step-4-remove-internal-fields&quot;&gt;Step 4: Remove internal fields&lt;/h4&gt;
&lt;p&gt;Make sure your message body only includes fields you actually want &lt;br&gt;
to see. Do not include &lt;br&gt;
&lt;code&gt;[_wpcf7]&lt;/code&gt;, &lt;code&gt;[_wpcf7_version]&lt;/code&gt;, or any other internal WordPress &lt;br&gt;
variables.&lt;/p&gt;
&lt;h4 id=&quot;the-limitation-of-this-approach&quot;&gt;The limitation of this approach&lt;/h4&gt;
&lt;p&gt;CF7 email customization is plain text. &lt;br&gt;
You can control which fields appear and in what order, but you cannot add section headers, styled layouts, colored backgrounds, or anything &lt;br&gt;
that makes the email look genuinely professional.&lt;/p&gt;
&lt;p&gt;For a simple contact form, this is probably enough. &lt;br&gt;
For complex registration forms with 10 or more fields, you will still end up with a long flat list that is hard to scan.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;fix-2-use-formgrid-for-fully-customizable-email-templates&quot;&gt;Fix 2: Use Formgrid for Fully Customizable Email Templates&lt;/h3&gt;
&lt;p&gt;If you want complete control over how your notification emails look &lt;br&gt;
including section headers, branded colors, grouped fields, and custom subject lines, consider switching to Formgrid as your form backend.&lt;/p&gt;
&lt;p&gt;Formgrid is an open-source form backend and form builder. &lt;br&gt;
On the Business plan at $29/month, you get full HTML email template control using Mustache templating. &lt;br&gt;
A simple, widely used templating language that lets you write an HTML email with placeholders that get replaced with real submission data automatically.&lt;/p&gt;
&lt;h4 id=&quot;the-available-template-variables&quot;&gt;The available template variables&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-handlebars&quot;&gt;{{ _formName }}    
Name of your form

{{ _time }}        
Submission timestamp

{{ fieldName }}    
Any field by its exact name attribute

{{# fields }}      
Loop through all fields
  {{ _name }}      Field label
  {{ _value }}     Field value
{{/ fields }}      
Close the loop
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;option-a-the-simple-loop-for-any-form&quot;&gt;Option A: The simple loop for any form&lt;/h4&gt;
&lt;p&gt;If you just want clean formatted emails without thinking too much about structure use the fields loop. This works for any form automatically:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto;&quot;&amp;gt;

  &amp;lt;h2 style=&quot;color: #1d4f3d;&quot;&amp;gt;
    New Submission: {{ _formName }}
  &amp;lt;/h2&amp;gt;

  {{# fields }}
  &amp;lt;div style=&quot;margin-bottom: 16px; 
              border-bottom: 1px solid #eee; 
              padding-bottom: 16px;&quot;&amp;gt;
    &amp;lt;p style=&quot;margin: 0; 
              font-size: 12px; 
              color: #888; 
              text-transform: uppercase;&quot;&amp;gt;
      {{ _name }}
    &amp;lt;/p&amp;gt;
    &amp;lt;p style=&quot;margin: 4px 0 0; 
              font-size: 15px; 
              color: #333;&quot;&amp;gt;
      {{ _value }}
    &amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
  {{/ fields }}

  &amp;lt;p style=&quot;font-size: 12px; 
            color: #999;&quot;&amp;gt;
    Submitted: {{ _time }}
  &amp;lt;/p&amp;gt;

&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This renders every field cleanly with its label above and value below. No internal fields. No raw data. No mess. &lt;br&gt;
Clean, readable output for every submission automatically.&lt;/p&gt;
&lt;h4 id=&quot;option-b-sectioned-template-for-complex-registration-forms&quot;&gt;Option B: Sectioned template for complex registration forms&lt;/h4&gt;
&lt;p&gt;If your form has multiple sections, like a workshop registration with &lt;br&gt;
attendee details, session selection, dietary requirements, and payment. You can group fields into sections &lt;br&gt;
with clear headers:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;font-family: sans-serif; 
            max-width: 600px; 
            margin: 0 auto; 
            color: #1f2937;&quot;&amp;gt;

  &amp;lt;h2 style=&quot;color: #1d4f3d; 
             border-bottom: 2px solid #e8f3ee; 
             padding-bottom: 10px;&quot;&amp;gt;
    New Registration: {{ _formName }}
  &amp;lt;/h2&amp;gt;

  &amp;lt;h3 style=&quot;color: #1d4f3d;&quot;&amp;gt;
    Attendee Information
  &amp;lt;/h3&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Name:&amp;lt;/strong&amp;gt; {{ name }}&amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Email:&amp;lt;/strong&amp;gt; {{ email }}&amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Company:&amp;lt;/strong&amp;gt; {{ company }}&amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Phone:&amp;lt;/strong&amp;gt; {{ phone }}&amp;lt;/p&amp;gt;

  &amp;lt;h3 style=&quot;color: #1d4f3d; 
             margin-top: 24px;&quot;&amp;gt;
    Session Selection
  &amp;lt;/h3&amp;gt;
  &amp;lt;p&amp;gt;
    &amp;lt;strong&amp;gt;Workshop:&amp;lt;/strong&amp;gt; 
    {{ workshopName }}
  &amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Date:&amp;lt;/strong&amp;gt; {{ date }}&amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Format:&amp;lt;/strong&amp;gt; {{ format }}&amp;lt;/p&amp;gt;

  &amp;lt;h3 style=&quot;color: #1d4f3d; 
             margin-top: 24px;&quot;&amp;gt;
    Payment
  &amp;lt;/h3&amp;gt;
  &amp;lt;p&amp;gt;
    &amp;lt;strong&amp;gt;Ticket Type:&amp;lt;/strong&amp;gt; 
    {{ ticketType }}
  &amp;lt;/p&amp;gt;
  &amp;lt;p&amp;gt;
    &amp;lt;strong&amp;gt;Total:&amp;lt;/strong&amp;gt; 
    {{ totalAmount }}
  &amp;lt;/p&amp;gt;

  &amp;lt;h3 style=&quot;color: #1d4f3d; 
             margin-top: 24px;&quot;&amp;gt;
    Notes
  &amp;lt;/h3&amp;gt;
  &amp;lt;p&amp;gt;{{ notes }}&amp;lt;/p&amp;gt;

  &amp;lt;hr style=&quot;margin-top: 32px; 
             border: none; 
             border-top: 1px solid #e5e7eb;&quot; /&amp;gt;
  &amp;lt;p style=&quot;font-size: 12px; 
            color: #9ca3af; 
            margin-top: 12px;&quot;&amp;gt;
    Submitted: {{ _time }}
  &amp;lt;/p&amp;gt;

&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The variable names like &lt;code&gt;{{ name }}&lt;/code&gt;, &lt;br&gt;
&lt;code&gt;{{ workshopName }}&lt;/code&gt;, and &lt;br&gt;
&lt;code&gt;{{ totalAmount }}&lt;/code&gt; must match the &lt;br&gt;
&lt;code&gt;name&lt;/code&gt; attributes of your HTML form &lt;br&gt;
inputs exactly:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;input type=&quot;text&quot; name=&quot;name&quot; /&amp;gt;
&amp;lt;select name=&quot;workshopName&quot;&amp;gt;...&amp;lt;/select&amp;gt;
&amp;lt;input type=&quot;hidden&quot; name=&quot;totalAmount&quot; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This gives you complete control over &lt;br&gt;
the layout, grouping, and order of &lt;br&gt;
every notification email.&lt;/p&gt;
&lt;h4 id=&quot;custom-subject-lines&quot;&gt;Custom subject lines&lt;/h4&gt;
&lt;p&gt;You can control the email subject &lt;br&gt;
line using the &lt;code&gt;_subject&lt;/code&gt; hidden &lt;br&gt;
field in your HTML form:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;input 
  type=&quot;hidden&quot; 
  name=&quot;_subject&quot; 
  value=&quot;New Registration from {{ name }}&quot;
/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This means every submission email has &lt;br&gt;
a meaningful subject line like &lt;br&gt;
&quot;New Registration from Sarah Johnson&quot; &lt;br&gt;
instead of the generic &lt;br&gt;
&quot;New form submission.&quot;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;how-to-set-up-custom-email-templates-in-formgrid&quot;&gt;How to Set Up Custom Email Templates in Formgrid&lt;/h3&gt;
&lt;p&gt;Custom email templates are available &lt;br&gt;
on the Business plan at $29/month.&lt;/p&gt;
&lt;h4 id=&quot;step-1-go-to-your-form-settings&quot;&gt;Step 1: Go to your form settings&lt;/h4&gt;
&lt;p&gt;Log in to your Formgrid dashboard, open your form, and click the &lt;br&gt;
Settings tab.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5wdsoxjh25y6sjxmhmx3.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;step-2-find-the-custom-email&quot;&gt;Step 2: Find the Custom Email&lt;/h4&gt;
&lt;h4 id=&quot;template-section&quot;&gt;Template section&lt;/h4&gt;
&lt;p&gt;Scroll down to the Custom Email &lt;br&gt;
Template section. If you are on the Business plan, you will see the &lt;br&gt;
full template editor. &lt;br&gt;
If you are on the free or Premium plan, you will see a prompt to upgrade.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cgnp5fhfen6snz58in2y.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;step-3-enable-the-custom-template&quot;&gt;Step 3: Enable the custom template&lt;/h4&gt;
&lt;p&gt;Toggle the custom template on. The &lt;br&gt;
editor pre-populates with a starter &lt;br&gt;
template using the simple fields loop. &lt;br&gt;
A clean starting point that works for &lt;br&gt;
any form immediately.&lt;/p&gt;
&lt;h4 id=&quot;step-4-customize-your-template&quot;&gt;Step 4: Customize your template&lt;/h4&gt;
&lt;p&gt;Edit the HTML to match your needs. &lt;br&gt;
Use the simple loop for basic forms or build a sectioned template for &lt;br&gt;
complex registration forms. The available variables panel shows &lt;br&gt;
every variable you can use.&lt;/p&gt;
&lt;h4 id=&quot;step-5-preview-and-save&quot;&gt;Step 5: Preview and save&lt;/h4&gt;
&lt;p&gt;Click Preview to see exactly how your &lt;br&gt;
email will look with sample data &lt;br&gt;
substituted in. When you are happy, &lt;br&gt;
click Save Template.&lt;/p&gt;
&lt;p&gt;From this point on, every submission to your form will use your custom template. &lt;br&gt;
Clean, organized, and formatted exactly the way you designed.&lt;/p&gt;
&lt;h4 id=&quot;step-6-test-it&quot;&gt;Step 6: Test it&lt;/h4&gt;
&lt;p&gt;Submit a test entry on your form and check your inbox. &lt;br&gt;
Your notification email should arrive formatted exactly as you designed.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;how-to-use-formgrid-with-wordpress&quot;&gt;How to Use Formgrid With WordPress&lt;/h3&gt;
&lt;p&gt;Formgrid is not a WordPress plugin. &lt;br&gt;
It works through a simple HTML form &lt;br&gt;
or iframe embed in your WordPress &lt;br&gt;
Custom HTML block.&lt;/p&gt;
&lt;h4 id=&quot;option-a-replace-cf7-with-an&quot;&gt;Option A: Replace CF7 with an&lt;/h4&gt;
&lt;h4 id=&quot;html-form&quot;&gt;HTML form&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Sign up free at &lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://formgrid.dev&quot;&gt;formgrid.dev&lt;/a&gt;. &lt;br&gt;
No credit card required.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Create a new form and copy &lt;br&gt;
your endpoint URL from the Overview tab:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-plaintext&quot;&gt;https://formgrid.dev/api/f/your-form-id
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ozar28d2u9v4whi05ogg.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l2n2wk1glt9b8u3dp89g.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; In your WordPress page editor &lt;br&gt;
add a Custom HTML block and replace &lt;br&gt;
your CF7 shortcode with this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;form 
  action=&quot;https://formgrid.dev/api/f/your-form-id&quot;
  method=&quot;POST&quot;&amp;gt;

  &amp;lt;div&amp;gt;
    &amp;lt;label for=&quot;name&quot;&amp;gt;Your Name&amp;lt;/label&amp;gt;
    &amp;lt;input 
      type=&quot;text&quot; 
      id=&quot;name&quot; 
      name=&quot;name&quot; 
      required /&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;div&amp;gt;
    &amp;lt;label for=&quot;email&quot;&amp;gt;Email Address&amp;lt;/label&amp;gt;
    &amp;lt;input 
      type=&quot;email&quot; 
      id=&quot;email&quot; 
      name=&quot;email&quot; 
      required /&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;div&amp;gt;
    &amp;lt;label for=&quot;message&quot;&amp;gt;Message&amp;lt;/label&amp;gt;
    &amp;lt;textarea 
      id=&quot;message&quot; 
      name=&quot;message&quot; 
      rows=&quot;5&quot; 
      required&amp;gt;&amp;lt;/textarea&amp;gt;
  &amp;lt;/div&amp;gt;

  &amp;lt;input 
    type=&quot;text&quot; 
    name=&quot;_honey&quot; 
    style=&quot;display:none&quot; /&amp;gt;

  &amp;lt;button type=&quot;submit&quot;&amp;gt;Send Message&amp;lt;/button&amp;gt;

&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Publish the page and submit a test entry.&lt;/p&gt;
&lt;h4 id=&quot;option-b-embed-the-formgrid-form-builder&quot;&gt;Option B: Embed the Formgrid form builder&lt;/h4&gt;
&lt;p&gt;If you do not want to write any HTML, you can build your form using Formgrid's drag-and-drop form builder and embed it in WordPress using an iframe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Build your form in the Formgrid form builder. Drag and drop your fields, customize labels, and click Save.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qoy2c2w7bryqr9obfqe6.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1nc7en2b8mjlrtqghdhg.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Copy your shareable form &lt;br&gt;
link from the Overview tab.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; In your WordPress page editor, add a Custom HTML block and paste this embed code:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;iframe 
  src=&quot;https://share.formgrid.dev/f/your-form-id&quot;
  width=&quot;100%&quot;
  height=&quot;600&quot;
  frameborder=&quot;0&quot;
  style=&quot;border: none;&quot;&amp;gt;
&amp;lt;/iframe&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Your form is now embedded in your WordPress page, and all submissions go directly to Formgrid.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;formgrid-business-plan-includes&quot;&gt;Formgrid Business Plan Includes&lt;/h3&gt;
&lt;h3 id=&quot;more-than-just-email-templates&quot;&gt;More Than Just Email Templates&lt;/h3&gt;
&lt;p&gt;Custom email templates are part of the Formgrid Business plan at $29/month &lt;br&gt;
which also includes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;15,000 submissions per month&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auto-responder emails&lt;/strong&gt;&lt;br&gt;
Automatically send confirmation emails to your form submitters. Every person who registers gets an instant professional confirmation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multiple notification recipients&lt;/strong&gt;&lt;br&gt;
Send submissions to your whole team simultaneously. Everyone who needs to see registrations gets them &lt;br&gt;
in their inbox.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Custom subject lines&lt;/strong&gt;&lt;br&gt;
Every email has a meaningful subject line showing who submitted and what they selected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google Sheets sync&lt;/strong&gt;&lt;br&gt;
Every submission appears automatically as a new row in your spreadsheet. &lt;br&gt;
No Zapier. No manual copying.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Webhooks&lt;/strong&gt;&lt;br&gt;
Connect to Slack, Notion, and other tools when a submission arrives.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Priority support&lt;/strong&gt;&lt;br&gt;
Direct access to the founder for any issues.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;cf7-vs-formgrid-which-one&quot;&gt;CF7 vs Formgrid: Which One&lt;/h3&gt;
&lt;h3 id=&quot;should-you-use&quot;&gt;Should You Use&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-plaintext&quot;&gt;You have a simple 3-field contact 
form and just need basic improvements:

Customize CF7 directly using field shortcodes. 
Takes 10 minutes.
Free.


You have a complex registration form with multiple sections, and your team needs to read submissions quickly:

Switch to Formgrid. Full HTML email template control. Section 
headers. 
Branded colors. Clean, organized notifications.
Business plan at $29/month.


You are non-technical and do not want to touch any code:

Use Formgrid's form builder via iframe. Build your form with drag 
and drop. Upgrade to Business for professional email templates.
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-real-cost-of-unreadable&quot;&gt;The Real Cost of Unreadable&lt;/h3&gt;
&lt;h3 id=&quot;form-emails&quot;&gt;Form Emails&lt;/h3&gt;
&lt;p&gt;It is easy to think of messy form emails as just a minor annoyance. &lt;br&gt;
But the real cost is higher than it looks.&lt;/p&gt;
&lt;p&gt;Every time you receive an unformatted registration email and have to hunt through raw field data to find the information you need, that is time wasted. &lt;br&gt;
For a small team processing 50 registrations per event, that waste &lt;br&gt;
adds up to hours.&lt;/p&gt;
&lt;p&gt;Every time you forward an unformatted submission to a colleague, and they have to decode it, that is friction that slows your whole operation down.&lt;/p&gt;
&lt;p&gt;And every time a submission arrives looking like spam and gets filtered by Gmail before it ever reaches you. That is a lead or registration you never knew you missed.&lt;/p&gt;
&lt;p&gt;Clean, organized notification emails are not a luxury. &lt;br&gt;
They are the difference between a form that works or your business and a form that creates extra work every single day.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;frequently-asked-questions-1&quot;&gt;Frequently Asked Questions&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Can I fix CF7 email formatting &lt;br&gt;
without switching tools?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Go to your CF7 form settings, click the Mail tab, and replace &lt;br&gt;
&lt;code&gt;[all_fields]&lt;/code&gt; with specific field shortcodes in the order you want &lt;br&gt;
them. &lt;br&gt;
This removes internal fields and gives you control over the field &lt;br&gt;
order. It will not give you section headers or HTML styling, but it is a free improvement that takes 10 minutes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Does Formgrid work with any &lt;br&gt;
WordPress theme?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Formgrid uses a standard HTML form or an iframe embed. Both work &lt;br&gt;
with any WordPress theme, including Astra, Divi, Elementor, GeneratePress, and Kadence.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What happens to my submissions &lt;br&gt;
if the email fails?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With CF7 and PHP mail, if the email fails, the submission is lost permanently. &lt;br&gt;
With Formgrid, every submission is saved to your dashboard regardless of email delivery. &lt;br&gt;
You can always log in and see every submission ever received.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I see a preview before &lt;br&gt;
my template goes live?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes. Formgrid's template editor includes a Preview button that shows &lt;br&gt;
you exactly how your email will look with sample data substituted in before you save and go live.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I need to know HTML to use &lt;br&gt;
custom email templates?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Basic HTML knowledge helps, but is not required. &lt;br&gt;
The template editor pre-populates with a clean starter template that works immediately. &lt;br&gt;
You can customize colors and layout by editing simple inline CSS values.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;final-thoughts-1&quot;&gt;Final Thoughts&lt;/h3&gt;
&lt;p&gt;Contact Form 7 email notifications look the way they do because CF7 &lt;br&gt;
was built as a simple form tool, not an email design tool. For basic &lt;br&gt;
contact forms, the default output is acceptable.&lt;/p&gt;
&lt;p&gt;But the moment your form gets complex &lt;br&gt;
with multiple sections and many fields, and your recipients need to act quickly on what they receive, the default CF7 email becomes a real problem.&lt;/p&gt;
&lt;p&gt;You have two options:&lt;/p&gt;
&lt;p&gt;Customize CF7 directly using field shortcodes for a free improvement &lt;br&gt;
that takes 10 minutes.&lt;/p&gt;
&lt;p&gt;Or switch to Formgrid for full HTML email template control, section headers, branded colors, custom subject lines, and a submission dashboard that saves every entry regardless of email delivery.&lt;/p&gt;
&lt;p&gt;Either way, your notification emails will stop looking like spam and start looking like professional business email communications.&lt;/p&gt;
&lt;p&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://formgrid.dev&quot;&gt;Try Formgrid free at formgrid.dev&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Full disclosure: I built Formgrid. &lt;br&gt;
Written as honestly as I could. &lt;br&gt;
Let me know in the comments if &lt;br&gt;
anything looks off.&lt;/em&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/14382/why-contact-form-7-emails-look-unprofessional-and-how-to-fix-it</guid>
<pubDate>Fri, 10 Apr 2026 00:37:18 +0000</pubDate>
</item>
</channel>
</rss>