Webhooks in Make.com
Quick WinWhat is a Webhook and why is it useful?
A Webhook is a unique URL that lets external systems "knock on the door" and pass you data in real time — without frequent polling. Instead of Make.com checking every two minutes whether something new happened, the third-party system sends an HTTP request the moment the event occurs. The result: much faster automation, with far fewer wasted API quotas.
Examples of common uses: receiving a new lead from a Typeform form, receiving a payment from Stripe, receiving a new message from Slack, updating an order status from WooCommerce, and hundreds of other services that support sending Webhooks.
Creating a Webhook in Make.com — step by step
Open a new Scenario in Make.com. Choose the first Trigger in Add a module, search for "Webhooks" and choose Custom Webhook. Click Add and give it a descriptive name like new-lead-webhook.
Make.com generates a unique URL for you. Make sure the Instant Trigger option is checked — that is what makes the Scenario run immediately with every request, instead of waiting for polling.
Click Determine data structure so Make.com learns your data structure. Send it a sample request (see code below) — the system will automatically analyze the JSON and generate a Schema.
After the structure is learned, all your fields (name, email, phone, etc.) will be available for mapping in the following modules in the Scenario. Drag them into the relevant fields.
Code: sending data to a Webhook in Make.com
If you want to test your Webhook from JavaScript code (Node.js, browser, or any other environment), here is a full example:
// sending data to a Webhook in Make.com
const webhookUrl = 'https://hook.eu1.make.com/YOUR_WEBHOOK_ID';
const data = {
name: 'John Doe',
email: 'israel@example.com',
phone: '050-1234567',
source: 'landing_page',
timestamp: new Date().toISOString()
};
const response = await fetch(webhookUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
console.log('Status:', response.status); // 200 = success
const text = await response.text();
console.log('Response:', text); // "Accepted" = Make.com received successfully
Make.com returns 200 Accepted the moment it receives the request — even before the Scenario finished. If you need an asynchronous response with results, use the Webhook Response module at the end of the Scenario.
Common mistakes and how to avoid them
You forgot to add the header Content-Type: application/json. Make.com will not parse the Body and will throw a parsing error.
The Webhook will return 200 even when the Scenario is off, but the requests will pile up in a Queue. Make sure the Scenario is active before testing.
A Custom Webhook in Make.com expects a POST request with a Body. Using GET will fail to read the form fields.
Before connecting Make.com, test your Webhook with requestbin.com to see exactly what is being sent to you.