AutomationFlowsSlack & Telegram › Download Media Files From Slack Messages

Download Media Files From Slack Messages

ByUsman Liaqat @usmanliaqat on n8n.io

Description: This n8n workflow helps you capture Slack messages via a webhook and download attached media files (like images, documents, or videos) directly from those messages.

Event trigger★★☆☆☆ complexity4 nodesSlack TriggerHTTP Request
Slack & Telegram Trigger: Event Nodes: 4 Complexity: ★★☆☆☆ Added:

This workflow corresponds to n8n.io template #4039 — we link there as the canonical source.

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 →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "0a986ad8-37ca-4869-9071-2236cefddd49",
      "name": "Trigger Slack File Message",
      "type": "n8n-nodes-base.slackTrigger",
      "position": [
        -2460,
        -200
      ],
      "parameters": {
        "options": {},
        "trigger": [
          "message"
        ],
        "watchWorkspace": true
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bb609575-b106-4786-8fe6-85f9eaed45c0",
      "name": "Download Media from Slack",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2100,
        -200
      ],
      "parameters": {
        "url": "={{ $('Trigger Slack File Message').item.json.files[0].url_private_download }}",
        "options": {
          "response": {
            "response": {}
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5248c9ad-adbb-419d-a193-cf97efc14541",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2560,
        -260
      ],
      "parameters": {
        "width": 320,
        "height": 220,
        "content": "This node listens for new messages in Slack that include file attachments."
      },
      "typeVersion": 1
    },
    {
      "id": "b363e861-cf22-4be9-a534-414d98190da0",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2180,
        -260
      ],
      "parameters": {
        "width": 320,
        "height": 220,
        "content": "This node downloads the file from the Slack message using the private download URL. "
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Trigger Slack File Message": {
      "main": [
        [
          {
            "node": "Download Media from Slack",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Description: This n8n workflow helps you capture Slack messages via a webhook and download attached media files (like images, documents, or videos) directly from those messages.

Source: https://n8n.io/workflows/4039/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

Vendorbot Form Filler. Uses executeCommand, gmail, telegram, slack. Event-driven trigger; 39 nodes.

Execute Command, Gmail, Telegram +6
Slack & Telegram

My Workflow. Uses slackTrigger, httpRequest, slack, googleDrive. Event-driven trigger; 38 nodes.

Slack Trigger, HTTP Request, Slack +2
Slack & Telegram

Type in Slack. Walk away. Get a professional PDF report and a structured Excel fix sheet delivered to Google Drive and posted back in your Slack thread — fully automated, zero manual work.

Compression, HTTP Request, Google Drive +3
Slack & Telegram

Create-Issue-Linear-Slack. Uses linear, postgres, slackTrigger, httpRequest. Event-driven trigger; 33 nodes.

Linear, Postgres, Slack Trigger +2
Slack & Telegram

This workflow automates the full company enrichment pipeline: Simply import CSV company lists to Slack and save time on enrichment and CRM maintenance. It processes uploaded files, extracts company do

Slack Trigger, Slack, HTTP Request +3