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.
Worflow. Uses whatsAppTrigger, httpRequest, whatsApp. Event-driven trigger; 94 nodes.
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 captures invoice images/documents from WhatsApp, extracts structured invoice data with Google Gemini, and syncs the result to HubSpot by creating vendor-payment tasks or closing matching
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.