What is a Webhook?
A webhook is a method of sending real-time data from one application to another whenever a specific event occurs. Unlike traditional APIs that require constant polling for updates, webhooks push data automatically when triggered, making them an efficient and instant way to transfer information.
In Make.com, webhooks allow you to automate workflows by receiving data from external services and triggering scenarios. This means that whenever an event happens—such as a new form submission, payment confirmation, or database update—Make.com can instantly process the data and take action.
🔄 How Do Webhooks Work?
- A webhook URL is generated in Make.com.
- An external service (e.g., Stripe, Shopify, Google Forms) sends data to the webhook when an event occurs.
- Make.com captures the data and triggers an automation scenario.
- The data is processed and can be sent to another app or stored for later use.
Webhooks are widely used in automation for tasks like sending instant notifications, updating CRM systems, syncing databases, and integrating third-party applications. They provide a seamless way to connect different tools without the need for manual intervention.
🚀 Ready to start using webhooks? Let’s dive into setting them up in Make.com!
Downloads
The Video Guide
Webhooks vs Acid Events in Make.com
When working with Make.com, two key concepts often come up in automation workflows: Webhooks and ACID Events. While both deal with data processing, they work in different ways and serve different purposes.
🔗 Webhooks?
A Webhook is an event-driven mechanism that allows apps to send data to Make.com in real time. Webhooks push data automatically when a specific event occurs, making them an efficient way to trigger automations without the need for frequent API requests.
✅ Best for: Instant event-based automation, such as form submissions, payment confirmations, and real-time notifications.
⚙️ ACID Events?
ACID (Atomicity, Consistency, Isolation, Durability) Events ensure reliable data transactions in automation workflows. Unlike webhooks, ACID events focus on ensuring data integrity, especially when working with databases and critical processes.
🛠 How ACID Events Work:
- Make.com processes data in a way that ensures transactions are fully completed or rolled back in case of failure.
- They prevent issues like duplicate data, partial updates, or inconsistent records.
- ACID principles ensure that each step of a process is completed successfully before moving to the next.
✅ Best for: Ensuring database consistency, transactional integrity, and preventing data loss in automation workflows.
🚀 Webhooks vs. ACID Events: Key Differences
Feature | Webhooks | Acid Events |
|---|---|---|
Trigger Mechanism | Event-based (data pushed to Make.com) | Transaction-based (ensures data integrity) |
Speed | Real-time | Depends on make.com schedule |
Data Handling | Pushes data instantly when triggered | Ensures data consistency and rollback if needed |
Best Use Case | Best Use Case | Instant event-driven automation |
Cost in make.com | Normally cheaper as an ‘instant trigger’ | Normally more expensive due to ‘scheduling’. |
🧐 Which One Should You Use?
Use Webhooks if you need real-time automation triggered by external events, such as receiving a new order, form submission, or user signup.
Use ACID Events when working with databases or sensitive transactions where data integrity is critical, such as financial records, inventory updates, or large-scale data processing.
💡 Final Thoughts: Both Webhooks and ACID Events have their place in Make.com automation. Choosing the right one depends on whether you need speed (webhooks) or reliability (ACID events). For many scenarios, combining both ensures a balance of efficiency and accuracy. Overall I much prefer Webhooks – I find them far more cost effective than scheduling an ACID event to run every X minutes.
Creating a Form with a Webhook in Make.com 📝🔗
Using webhooks with forms allows you to instantly capture and process form submissions in Make.com. Whether you’re collecting leads, handling support requests, or automating order processing, a webhook ensures that form data is sent and processed in real-time.
🚀 Why Use a Webhook with a Form?
- Instant Data Transfer: No need to manually check form submissions—webhooks push data automatically.
- Automation: Trigger actions like email notifications, CRM updates, or database entries upon form submission.
- Integration: Connect form submissions to multiple apps using Make.com’s automation scenarios.
📌 Step-by-Step Guide to Setting Up a Webhook for a Form
🔹 Step 1: Create a Webhook in Make.com
- Log into your Make.com account.
- Create a new scenario and select the Webhooks module.
- Choose Custom Webhook and click Add.
- Make.com will generate a Webhook URL. Copy this URL—you’ll need it for your form.
🔹 Step 2: Connect the Webhook to Your Form
Depending on the form provider you use, you need to configure it to send data to the webhook.
- Typeform: Navigate to Connect → Webhooks, then paste the webhook URL.
- WordPress Forms (WPForms, Gravity Forms, etc.): Use their webhook add-ons to send form submissions to Make.com.
- Custom HTML Form: Modify the form’s action attribute:
🔹 Step 3: Test the Webhook Connection
- Go back to Make.com and click Run Once on your scenario.
- Submit a test entry through your form.
- Make.com should receive the data instantly.
- Check the received data and configure further actions (e.g., send an email, save to Google Sheets, or update a CRM).
🔹 Step 4: Automate Actions Based on Form Data
Once the webhook is working, you can automate multiple processes:
- Send a Confirmation Email: Use the Email module in Make.com.
- Store Data in a Google Sheet: Add a Google Sheets module to save form responses.
- Update CRM (HubSpot, Salesforce, etc.): Use a CRM integration to create a new contact.
- Send a WhatsApp or Slack Notification: Trigger a message to inform your team about new submissions.
Secret JT Tip 🚨
When creating an email response after a form submission, do you want this to feel ‘real’?
Option 1 – A ‘pretty’ HTML email sent from your CRM. Then just chuck the submission in your CRM.
Option 2 (the secret tip) – A ‘real’ email sent from one of your team. Add a delay timer to your scenario, spice it up with some AI and then send an email as if a person has followed up almost instantly with your enquiry. From a user perspective this appears as if you are ‘on it’ when really you might be on the beach! 🏖️
Handling arrays (repeater fields)
🚀 Why Use an Iterator?
- Breaks down an array into individual items for further processing.
- Automates looping through multiple records in one scenario execution.
- Prepares data for structured storage, messaging, or API integration.
📌 Example: Processing a Repeater Field from a Form
Imagine a form where users can add multiple attendees to an event registration. The form might send the following JSON data to Make.com via a webhook:
{
"event_name": "Tech Conference 2025",
"attendees": [
{
"name": "Alice",
"email": "alice@example.com"
},
{
"name": "Bob",
"email": "bob@example.com"
},
{
"name": "Charlie",
"email": "charlie@example.com"
}
]
}
🔹 Step 1: Capture the Webhook Data
- In Make.com, create a new scenario and select the Webhooks module.
- Choose Custom Webhook and generate a Webhook URL.
- Send a test form submission to capture the webhook data.
🔹 Step 2: Add an Iterator Module
- After the Webhook module, add an Iterator module.
- For the Array Source, select
attendees[]from the webhook response. - Now, the Iterator will loop through each attendee separately.
🔹 Step 3: Process Each Item
Now that each attendee is processed separately, you can:
- Send an email confirmation to each attendee using the Email module.
- Store each attendee in a Google Sheets or database.
- Send a WhatsApp or Slack notification for each registrant.
🔹 Step 4: Test the Workflow
- Click Run Once to test the scenario.
- Submit the form again with multiple attendees.
- Check that each attendee is processed separately.
Posting to a Webhook (Google Appscipt - Free Download)
Google Apps Script allows you to automate tasks in Google Workspace, including sending data from Google Docs to external services. In this guide, we’ll show you how to post a Google Docs document ID to a webhook using a simple script.
🚀 Why Use a Webhook with Google Docs?
By posting document data to a webhook, you can:
- Automatically send Google Docs content to another system (e.g., a CRM or database).
- Trigger workflows in Make.com or other automation tools.
- Enable real-time collaboration and notifications.
🔹 Step 1: Adding a Custom Menu in Google Docs
The script first adds a new menu option called “Submit Document” to the Google Docs UI. This makes it easy for users to trigger the webhook without manually running the script.
- This function runs automatically when the document is opened.
- It creates a new menu called Custom Actions with an option to Submit Document.
🔹 Step 2: Posting the Document ID to a Webhook
When the user selects Submit Document, the following function sends the document’s ID to a webhook URL which you can specify. Please change the “$$replace_with_webhook_url$$” to your webhook url.
🔹 Step 3: How It Works
- The function retrieves the document ID using
DocumentApp.getActiveDocument().getId(). - The ID is then sent to the webhook in JSON format.
- If the request is successful, an alert is shown confirming submission.
- If there’s an error, an alert displays the error message.
⚡ Use Cases for This Script
Here are some real-world applications of posting Google Docs data to a webhook:
- Meeting Notes Automation – Send notes from Google Docs to a shared database or Slack channel.
- Approval Workflows – Notify team members when a document is ready for review.
- CRM Integration – Store customer-related documents automatically in a CRM system.
- Content Publishing – Send drafts to a CMS (e.g., WordPress) via API integration.
function onOpen() {
const ui = DocumentApp.getUi();
ui.createMenu('Custom Actions')
.addItem('Submit Document', 'postDocumentIDToWebhook')
.addToUi();
}
function postDocumentIDToWebhook() {
const webhookUrl = "$$replace_with_webhook_url$$";
const documentId = DocumentApp.getActiveDocument().getId();
const payload = {
documentId: documentId
};
const options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload),
muteHttpExceptions: true
};
try {
const response = UrlFetchApp.fetch(webhookUrl, options);
DocumentApp.getUi().alert("your_success_message");
} catch (error) {
DocumentApp.getUi().alert("Error submitting notes: " + error);
}
}
✅ Beginner’s Checklist for Webhooks in Make.com
Before you wrap up, use this quick checklist to ensure you’re set up correctly with webhooks in Make.com:
- 🔗 Webhook URL Generated: Created a custom webhook in Make.com and copied the URL.
- 📩 Data Source Connected: Configured an external app (e.g., Google Forms, Typeform, CRM) to send data to the webhook.
- 🔄 Webhook Trigger Set Up: Defined an event (e.g., form submission, payment received) to activate the webhook.
- 🛠 Scenario Created in Make.com: Built an automation workflow that processes incoming webhook data.
- 📊 Data Mapped Correctly: Checked and assigned the right data fields in Make.com.
- ⚙️ Automation Actions Configured: Connected the webhook to other apps (e.g., Google Sheets, Email, Slack, CRM).
- 🧪 Tested the Webhook: Sent test data and verified if Make.com processed it correctly.
- 🚀 Scenario Activated: Turned on automation for real-time execution.