This workflow corresponds to n8n.io template #4213 — we link there as the canonical source.
This workflow follows the HTTP Request → WhatsApp recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "a24e0949-dcf6-48d4-8b9e-ce201e8b87d8",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2380,
-400
],
"parameters": {
"width": 320,
"height": 240,
"content": "This note indicates that the workflow triggers when a new WhatsApp message with media is received."
},
"typeVersion": 1
},
{
"id": "f513cc8b-89d3-4481-b7fa-ac9d33ba8562",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1980,
-400
],
"parameters": {
"width": 320,
"height": 240,
"content": "This note explains that the media ID is used to retrieve a private URL for downloading the media."
},
"typeVersion": 1
},
{
"id": "3bae6af6-8858-4da4-ab2c-846a2c3e0ffe",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1600,
-400
],
"parameters": {
"width": 320,
"height": 240,
"content": "This note highlights that the media file is downloaded using the retrieved private URL."
},
"typeVersion": 1
},
{
"id": "f694abd7-dacf-41a7-82aa-157bfcf54f83",
"name": "Trigger WhatsApp Media",
"type": "n8n-nodes-base.whatsAppTrigger",
"position": [
-2280,
-320
],
"parameters": {
"options": {},
"updates": [
"messages"
]
},
"credentials": {
"whatsAppTriggerApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "33e74a92-4475-470d-8003-7631ea0b706f",
"name": "Fetch Media Download URL",
"type": "n8n-nodes-base.whatsApp",
"position": [
-1880,
-320
],
"parameters": {
"resource": "media",
"operation": "mediaUrlGet",
"mediaGetId": "={{ $json.messages[0].image.id }}"
},
"credentials": {
"whatsAppApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "5e9b09e8-b9d2-4571-a897-d49d32a68c3c",
"name": "Download Media File",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1500,
-320
],
"parameters": {
"url": "={{ $json.url }}",
"options": {
"response": {
"response": {}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
},
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
}
],
"connections": {
"Trigger WhatsApp Media": {
"main": [
[
{
"node": "Fetch Media Download URL",
"type": "main",
"index": 0
}
]
]
},
"Fetch Media Download URL": {
"main": [
[
{
"node": "Download Media File",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
httpBearerAuthhttpHeaderAuthwhatsAppApiwhatsAppTriggerApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow listens for incoming WhatsApp messages that contain media (e.g., images) and automatically downloads the media file using WhatsApp's private media URL. The trigger node activates when a WhatsApp message with media is received. The media ID is extracted from the…
Source: https://n8n.io/workflows/4213/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow is designed for **customer support teams, e-commerce founders, and operations managers** who want to handle thousands of customer queries seamlessly. Instead of building a brand-new chat
This workflow enables seamless, bidirectional communication between WhatsApp and Slack using n8n. It automates the reception, processing, and forwarding of messages (text, media, and documents) betwee
Filter Whatsapp. Uses stickyNote, whatsAppTrigger, CUSTOM, whatsApp. Event-driven trigger; 12 nodes.
Community Node Disclaimer: This workflow uses KlickTipp community nodes.
This workflow is for service-based businesses and freelancers who want to automate booking appointments via WhatsApp without relying on third-party scheduling tools. It's perfect for small teams who w