Receive and Respond to Webhooks
Before we get into this, a quick clarification. A URL is just an address. Like a street address. It points somewhere on the internet. A webhook is the act of sending a message to that address. Every webhook uses a URL, but not every URL is a webhook. Google.com is a URL that serves you a website. An n8n webhook URL is a URL that's set up to receive data and trigger a workflow when that data arrives.

Think of it like a mailbox. The URL is the address on the mailbox. The webhook is the letter someone drops in. The n8n Webhook node is you sitting inside the house waiting for mail so you can do something with it.
So when people say "this service supports webhooks," they mean: you can give the service a URL, and when something happens (a payment comes in, a meeting ends, a form gets submitted), the service automatically sends data to your URL.
You've already used something like this. The Form Trigger from the first lesson? That's basically a pre-configured webhook. n8n's trigger nodes (Gmail Trigger, Schedule Trigger, etc.) are all built on webhooks under the hood, just wrapped in a nice UI. The Webhook node is the raw, DIY version. You use it when a service doesn't have a dedicated n8n trigger, or when you want to build something custom.
I used this a lot when I was doing automation work. I had a table in Airtable full of PDFs that needed to be analyzed by AI. Airtable's own automation system wasn't cutting it. So I built an n8n webhook and added a button in Airtable that, when pressed, sent the PDF data to n8n. n8n ran the AI analysis and inserted the results back into Airtable. I used a webhook instead of the Airtable trigger because I only wanted to process specific PDFs, not every new row. The button gave me that control.
Another time, a meeting transcription service sent me the transcript and meeting ID via webhook every time a call ended. I didn't have to poll for it or check manually. The service just pushed the data to my n8n URL, and my workflow took it from there.
Whenever you run into a problem with some software now, you check: does this service support webhooks? If yes, you can probably build a solution in n8n. That mental model is how I ended up connecting Airtable, meeting tools, payment processors, and a dozen other services to n8n.
But webhooks aren't just for receiving data. The Respond to Webhook node lets you send data back. That means you can build simple APIs: receive a request, process it, return a result. You can even return HTML and build extremely simple web apps.
Watch the video below. It walks through everything: the Webhook node, test vs production URLs, query parameters, authentication, and the Respond to Webhook node with multiple response types. After the video, the challenge has you build your own version: a bookmarkable weather dashboard that returns an HTML page.
What you'll practice:
- Setting up a Webhook node to receive GET requests
- Fetching external data with HTTP Request
- Using the Respond to Webhook node to return an HTML page
- Testing your webhook by pasting the URL in your browser
Your Task
- 1Copy the exercise below
- 2Paste into your n8n editor (Ctrl+V)
- 3Solve it — use hints if you get stuck
- 4Check the solution when done
Build a bookmarkable weather dashboard. When you open a URL in your browser, n8n fetches the current weather and returns a simple HTML page showing the temperature and wind speed.
- Add a Webhook node configured for GET requests
- Connect an HTTP Request node that fetches weather data from Open-Meteo (free, no API key):
https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t=temperature_2m,wind_speed_10m&timezone=auto - Add a Respond to Webhook node set to respond with Text
- In the Respond to Webhook node, return a simple HTML page that displays the current temperature and wind speed from the API response
To customize for your city, replace the latitude and longitude. Search "your city coordinates" to find them.
After testing with the test URL in your browser, try bookmarking it. You now have a personal weather page.
Bonus: Add Header Auth to your Webhook node so only you can access it.
Get the exercise workflow
Create a free account to copy exercises into your n8n editor.