Skip to main content

Check file hash reputation with VirusTotal and Slack alerts

Workflow preview

Workflow preview
100%
Check file hash reputation with VirusTotal and Slack alerts preview
Open on n8n.io

1. Workflow Overview

Template Description File Hash Reputation Checker is a security automation workflow that validates file hashes ( MD5 , SHA1 , SHA256 ) and checks their reputation using the VirusTotal API . It i...

Best for

  • SecOps automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.webhook, n8n-nodes-base.respondtowebhook, n8n-nodes-base.slack, n8n-nodes-base.if, n8n-nodes-base.code, n8n-nodes-base.httprequest, n8n-nodes-base.stickynote, n8n-nodes-base.set

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Edson Encinas.

Original n8n.io source

1.1 Workflow description

Title
Check file hash reputation with VirusTotal and Slack alerts
Workflow name
Check file hash reputation with VirusTotal and Slack alerts

🧩 Template Description

File Hash Reputation Checker is a security automation workflow that validates file hashes (MD5, SHA1, SHA256) and checks their reputation using the VirusTotal API. It is designed for SOC teams, security engineers, and automation pipelines that need fast and consistent malware verdicts from a single hash input.

The workflow supports two input methods:

  • An HTTP webhook for API-based integrations

  • A Slack slash command (/hash-check) for quick analyst-driven checks directly from Slack

Once a hash is submitted, the workflow normalizes and validates the input, queries VirusTotal for detection statistics, and determines whether the file is Malicious, Suspicious, Clean, or Unknown. Results are returned as a structured JSON response and also posted to Slack with severity-based formatting.

⚙️ How It Works

  1. A file hash is submitted via HTTP POST or Slack using /hash-check FILE_HASH.

  2. The hash is normalized (lowercased and trimmed).

  3. The workflow validates the hash format (MD5, SHA1, or SHA256).

  4. VirusTotal is queried for hash reputation data.

  5. Detection statistics are analyzed to calculate a verdict:

  • Malicious
  • Suspicious
  • Clean
  • Unknown
  1. A Slack message is sent for all verdicts, with alert-style formatting for malicious results.

  2. A structured JSON response is returned to the requester.

🛠️ Setup Steps

  1. VirusTotal API
  • Create or use an existing VirusTotal account.

  • Add your API key to n8n as VirusTotal API credentials.

  1. Slack Configuration
  • Create a Slack App.
  • Enable Slash Commands and create /hash-check.
  • Set the Request URL to the n8n webhook endpoint.
  • Connect your Slack account in n8n credentials.
  1. Activate the Workflow
  • Activate the workflow in n8n.

  • Test using:

  • HTTP POST: { "text": "file_hash" }

  • Slack: /hash-check FILE_HASH;

🎛️ Customization Ideas

  • Route Slack messages to different channels based on severity.

  • Add additional outputs (email, SIEM, ticketing systems).

  • Extend the workflow to support multiple hashes per request.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Receive File Hash

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2.1

Block 2 - Respond - Clean or Unknown

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.5

Block 3 - Slack - Malicious Hash Alert

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.4

Block 4 - IF - Malicious Verdict

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 5 - Function - Calculate Verdict

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 6 - Respond - Invalid Hash

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.5

Block 7 - HTTP - VirusTotal Hash Lookup

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 8 - IF - Hash Exists in VT

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 9 - IF - Valid Hash Format

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 10 - Respond - Unknown Hash

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.5

Block 11 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Normalize Hash from Webhook

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 18 - Send a message

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.4

3. Summary Table

Workflow Check file hash reputation with VirusTotal and Slack alerts
Complexity advanced
Nodes 18
Categories SecOps, AI Summarization
Author Edson Encinas
Published 05 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13229/13229.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Check file hash reputation with VirusTotal and Slack alerts do?

Template Description File Hash Reputation Checker is a security automation workflow that validates file hashes ( MD5 , SHA1 , SHA256 ) and checks their reputation using the VirusTotal API . It i...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your SecOps, AI Summarization use case.