How to Use Webhooks with Contact Forms on Static HTML Sites

steve jacobsteve jacob
4 min read

Static HTML websites are fast, lightweight, and easy to deploy — but they come with one major limitation: no built-in backend to process form submissions.

So how do you collect form data from visitors and send it somewhere useful, like your email, CRM, Google Sheets, or Slack?

The answer is simple: webhooks.

In this guide, we’ll show you how to use webhooks with contact forms on static HTML sites, and how to do it without writing server-side code.

What Is a Webhook?

A webhook is a URL that accepts real-time data from your application — in this case, from your form. When someone submits your form, the data is sent (via HTTP POST) to a webhook endpoint, which can then process or forward it to another service.

Think of it as a triggered HTTP request that sends data to another app — no backend needed on your end.

Why Use Webhooks on Static Sites?

If your website is built with just HTML, CSS, and JavaScript — hosted on platforms like GitHub Pages, Netlify, or Vercel — you can’t run PHP or Node.js code to handle form submissions.

Webhooks solve this problem. They let you:

  • ✅ Send data to Google Sheets, CRMs, or Slack

  • ✅ Trigger emails or notifications

  • ✅ Automate lead capture

  • ✅ Avoid server-side hosting

Best of all, you can do this without building or deploying your own API.

The No-Code Way: Use ContactFormToAPI

ContactFormToAPI is the easiest way to connect a contact form on a static site to any webhook or API endpoint — no backend, no code, no hassle.

Key Benefits:

  • Works with any HTML form

  • No server or plugins required

  • Supports JSON, URL-encoded, and custom payloads

  • Integrates with Google Sheets, HubSpot, Airtable, Salesforce, and more

  • GDPR-compliant and secure

How to Use Webhooks with a Static HTML Contact Form (Step-by-Step)

Step 1: Create Your Contact Form

Here’s a simple HTML form:

<form action="https://your-webhook-url" method="POST">

<label>Name:</label>

<input type="text" name="name" required>

<label>Email:</label>

<input type="email" name="email" required>

<label>Message:</label>

<textarea name="message" required></textarea>

<button type="submit">Send</button>

</form>

The action attribute should point to your webhook URL — which we'll get in the next step.

Step 2: Set Up Your Webhook Using ContactFormToAPI

  1. Go to https://www.contactformtoapi.com

  2. Sign up for a free account

  3. Click “Add New Form”

  4. Set your destination — e.g., Google Sheets, Slack, HubSpot, etc.

  5. Map form fields (e.g., name, email, message) to their API counterparts

  6. Choose the format (JSON or form-urlencoded)

  7. Save and copy your unique webhook URL

Step 3: Replace the Form Action

Update your form’s action with the webhook URL from ContactFormToAPI:

<form action="https://your-webhook.contactformtoapi.com/xyz123" method="POST">

...

</form>

That’s it! Now, every submission will be automatically sent to your API endpoint.

Optional: Redirect After Submission

Want to show a thank-you message or redirect users after they submit the form?

Use JavaScript like this:

<script>

document.querySelector("form").addEventListener("submit", function(e) {

e.preventDefault();

fetch(this.action, {

method: "POST",

body: new FormData(this)

}).then(response => {

if (response.ok) {

window.location.href = "/thank-you.html";

} else {

alert("Submission failed.");

}

});

});

</script>

Is It Secure?

Yes — as long as:

  • You use HTTPS for the webhook

  • You avoid exposing sensitive API keys in HTML

  • You use a trusted platform like ContactFormToAPI

The service supports secure headers, field validation, and GDPR compliance.

Use Cases

  • Personal portfolios – Send messages to Gmail or Slack

  • Landing pages – Capture leads into your CRM

  • Event registration – Store RSVPs in Google Sheets

  • Startup MVPs – Save data without writing backend code

Pro Tip

You can even use webhooks to chain automations with Make (formerly Integromat), Zapier, or Pabbly — no technical skills needed.

Final Thoughts

Using webhooks with contact forms on static HTML sites is not only possible — it’s incredibly easy with the right tools. With platforms like ContactFormToAPI, you can turn a basic form into a powerful data pipeline, no coding or backend required.

So if you’re building a site on Netlify, GitHub Pages, or any static host, don’t let the lack of a backend stop you from collecting data.

0
Subscribe to my newsletter

Read articles from steve jacob directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

steve jacob
steve jacob