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 →
{
"id": "Y4SJP07CnkFr6gvM",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Automated File Integrity Check with Slack",
"tags": [],
"nodes": [
{
"id": "a56ca493-a82b-45db-bc81-90c9d9368646",
"name": "Scheduled Check",
"type": "n8n-nodes-base.cron",
"position": [
-416,
352
],
"parameters": {},
"typeVersion": 1
},
{
"id": "334491fa-dfe6-4502-b704-1f852639b2cc",
"name": "List Files & Checksums",
"type": "n8n-nodes-base.code",
"position": [
-192,
352
],
"parameters": {
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.myNewField = 1;\n}\n\nreturn $input.all();"
},
"typeVersion": 1
},
{
"id": "a8f2ce95-e2af-45d7-a068-870f04d09f66",
"name": "Get Remote File Checksum",
"type": "n8n-nodes-base.ssh",
"position": [
32,
352
],
"parameters": {
"command": "sha256sum {{ $json.path }}"
},
"typeVersion": 1
},
{
"id": "e2feef20-0895-4d3c-9dac-053766f4a298",
"name": "Checksums Match?",
"type": "n8n-nodes-base.if",
"position": [
256,
352
],
"parameters": {},
"typeVersion": 1
},
{
"id": "28ac7db9-54aa-45c7-a711-df5c21e2f73f",
"name": "End Workflow",
"type": "n8n-nodes-base.noOp",
"position": [
480,
448
],
"parameters": {},
"typeVersion": 1
},
{
"id": "71ef0e9f-4a7f-4c09-9511-4775df30a1cd",
"name": "Send Alert",
"type": "n8n-nodes-base.slack",
"position": [
480,
256
],
"parameters": {
"text": "=\ud83d\udea8 *File Integrity Alert!* \ud83d\udea8\\nFile: *{{ $json.path }}* has been modified!\\nKnown Checksum: *{{ $json.knownChecksum }}*\\nCurrent Checksum: *{{ $json.stdout.split(' ')[0] }}*",
"user": {
"__rl": true,
"mode": "id",
"value": "[YOUR_SECURITY_ALERT_CHANNEL_ID]"
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.3
},
{
"id": "47a05b08-78a3-4bfa-8a98-bff0c883b5e8",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
208
],
"parameters": {
"width": 1152,
"height": 368,
"content": "## Flow"
},
"typeVersion": 1
},
{
"id": "ac402d8d-8588-4b51-a1dd-e7ea24ded695",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
608
],
"parameters": {
"color": 5,
"width": 1152,
"height": 352,
"content": "# \ud83d\udea8 Automated File Integrity Check \ud83d\udee1\ufe0f\n\n* **Problem Solved:**\n Sebagai seorang *developer AI Agent* yang fokus pada solusi untuk bisnis kecil dan menengah, Anda tahu bahwa sistem penting seperti server sering kali menjadi sasaran. Perubahan yang tidak terduga pada file-file kunci (seperti konfigurasi server atau skrip penting) dapat menjadi tanda awal dari peretasan, malware, atau aktivitas berbahaya. Mengaudit integritas file-file ini secara manual sangat tidak praktis dan tidak dapat diandalkan, terutama bagi tim IT yang kecil.\n\n* **Solution Overview:**\n *Workflow n8n* ini menawarkan solusi sederhana namun vital untuk **pemantauan integritas file**. Otomatisasi ini secara teratur terhubung ke server remote Anda, menghitung *checksum* (misalnya, SHA256) dari file-file penting yang Anda tentukan, dan membandingkannya dengan nilai yang telah Anda konfirmasi sebelumnya. Jika ada perubahan sekecil apa pun pada file (yang ditunjukkan oleh *checksum* yang tidak cocok), tim Anda akan menerima **notifikasi instan di Slack**. Ini adalah lapisan pertahanan dasar yang efektif yang membantu mendeteksi kompromi lebih awal.\n\n* **For Whom:**\n Otomatisasi ini sangat ideal untuk:\n * **Tim IT dan DevOps:** Untuk memantau server produksi atau pengembangan secara otomatis.\n * **Penyedia Layanan Managed Hosting:** Untuk menawarkan fitur keamanan tambahan kepada klien mereka.\n * **Admin Sistem:** Untuk menghemat waktu dan memastikan integritas file-file sistem dan konfigurasi yang kritis.\n * **Setiap Bisnis (terutama UMKM):** Yang mengelola server sendiri dan membutuhkan alat deteksi dini yang sederhana namun kuat untuk melindungi infrastruktur mereka.\n\n---\n\n### How It Works: The 5-Node Security Flow\n\nAlur kerja ini secara efisien melakukan audit integritas file yang terjadwal.\n\n1. **Scheduled Check (Cron Node):**\n * **Fungsi:** Ini adalah pemicu utama. Node ini menjadwalkan alur kerja untuk berjalan pada interval yang telah ditentukan, misalnya, setiap hari pada pukul 3 pagi.\n * **Proses:** Node `Cron` secara otomatis memulai alur kerja sesuai jadwal, memastikan pemeriksaan integritas file dilakukan secara konsisten tanpa intervensi manual.\n\n2. **List Files & Checksums (Code Node):**\n * **Fungsi:** Node ini berfungsi sebagai database statis Anda. Di sini, Anda menentukan file mana yang ingin Anda pantau dan nilai *checksum* \"baik\" yang telah Anda verifikasi sebelumnya untuk setiap file.\n * **Proses:** Node ini mengonfigurasi jalur file dan *checksum* yang valid ke dalam sebuah array yang akan diproses oleh node-node berikutnya. Ini memisahkan logika dari data, membuatnya mudah untuk diperbarui.\n\n3. **Get Remote File Checksum (SSH Node):**\n * **Fungsi:** Node ini terhubung ke server remote Anda melalui SSH untuk mendapatkan *checksum* file yang sedang dipantau.\n * **Proses:** Node ini menjalankan perintah seperti `sha256sum /path/to/file` pada server. Hasilnya (yaitu, *checksum* saat ini) kemudian ditangkap dan diteruskan ke node berikutnya.\n\n4. **Checksums Match? (If Node):**\n * **Fungsi:** Node ini berfungsi sebagai logika deteksi inti. Node ini membandingkan *checksum* yang baru didapat dari server dengan *checksum* \"baik\" yang telah Anda simpan di node `Code`.\n * **Proses:** Jika kedua nilai *checksum* **tidak sama**, itu menandakan ada perubahan pada file, dan alur kerja akan mengalihkan jalurnya ke node pemberitahuan. Jika cocok, alur kerja akan berakhir dengan aman.\n\n5. **Send Alert (Slack Node) / End Workflow (No-Op Node):**\n * **Fungsi:** Node-node ini adalah respons akhir dari alur kerja.\n * **Proses:** Jika *checksum* tidak cocok, node `Slack` akan mengirimkan peringatan terperinci yang berisi informasi tentang file yang diubah, *checksum* yang diharapkan, dan *checksum* yang ditemukan. Jika *checksum* cocok, alur kerja akan berakhir tanpa notifikasi, menghemat waktu dan perhatian tim Anda.\n\n---\n\n### Cara Mengatur (Setup Steps)\n\nMenerapkan monitor keamanan penting ini di n8n sangatlah mudah.\n\n1. **Siapkan Kredensial & Server:**\n * **Kredensial SSH:** Siapkan **SSH credential** di n8n dengan informasi server Anda (hostname, port, user, dan kunci privat atau kata sandi). Pastikan pengguna SSH memiliki izin untuk menjalankan `sha256sum` pada file-file yang ingin Anda pantau.\n * **Kredensial Slack:** Siapkan **Slack credential** di n8n dan catat **Channel ID** dari saluran pemberitahuan keamanan Anda (misalnya, `#security-alerts`).\n * **Dapatkan *Checksum*:** **Ini adalah langkah paling penting.** Jalankan perintah `sha256sum [file_path]` secara manual di server Anda untuk setiap file yang ingin Anda pantau. Salin dan simpan nilai *checksum* yang dihasilkan\u2014ini adalah *checksum* \"baik\" yang akan Anda gunakan sebagai referensi.\n\n2. **Impor Alur Kerja JSON:**\n * **Impor:** Di n8n, buat alur kerja baru dan pilih \"Import from JSON.\" Tempelkan kode JSON yang disediakan di respons sebelumnya.\n\n3. **Konfigurasi Node:**\n * **Scheduled Check (Cron):** Atur jadwal sesuai preferensi Anda (misalnya, setiap hari pukul 03:00 pagi).\n * **List Files & Checksums (Code):** Buka node ini dan **edit array `filesToCheck`**. Masukkan jalur file server Anda yang sebenarnya dan tempelkan *checksum* \"baik\" yang Anda dapatkan secara manual di langkah 1.\n * **Get Remote File Checksum (SSH):** Pilih **SSH credential** Anda.\n * **Send Alert (Slack):** Pilih **Slack credential** Anda. Ganti `YOUR_SECURITY_ALERT_CHANNEL_ID` dengan **Channel ID** Anda yang sebenarnya.\n\n4. **Uji & Aktifkan:**\n * **Uji Manual:** Jalankan alur kerja secara manual. Verifikasi bahwa alur kerja berhasil terhubung ke server dan memeriksa file tanpa mengirimkan peringatan (asumsi file tidak berubah).\n * **Verifikasi:** Jika Anda ingin menguji peringatan, ubah salah satu file di server secara manual dan jalankan lagi. Periksa saluran Slack Anda untuk memastikan peringatan dikirimkan dengan benar.\n * **Aktifkan:** Setelah Anda yakin semuanya berfungsi, aktifkan alur kerja. Sekarang, n8n akan secara otomatis mengaudit integritas file-file penting Anda sesuai jadwal.\n\n---"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "4489311f-ff4b-4df7-8ac6-f378f84c5361",
"connections": {
"Scheduled Check": {
"main": [
[
{
"node": "List Files & Checksums",
"type": "main",
"index": 0
}
]
]
},
"Checksums Match?": {
"main": [
[
{
"node": "Send Alert",
"type": "main",
"index": 0
}
],
[
{
"node": "End Workflow",
"type": "main",
"index": 0
}
]
]
},
"List Files & Checksums": {
"main": [
[
{
"node": "Get Remote File Checksum",
"type": "main",
"index": 0
}
]
]
},
"Get Remote File Checksum": {
"main": [
[
{
"node": "Checksums Match?",
"type": "main",
"index": 0
}
]
]
}
},
"_metadata": {
"name": "Monitor Remote Server File Integrity with SSH and Slack Alerts",
"used_count": 0,
"popularity_score": 25,
"source_url": "https://n8n.io/workflows/6814",
"scraped_at": "2025-08-21 04:49:31",
"workflow_id": "dd651bba-9906-50a0-9b87-936d67185338"
},
"_filename": "Monitor_Remote_Server_File_Integrity_with_SSH_and_Slack_Alerts.json"
}
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.
slackApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automated File Integrity Check with Slack. Uses ssh, slack. Scheduled trigger; 8 nodes.
Source: https://github.com/fraserbrownirl/n8n-workflow-library/blob/17dc3b797e883acf24bd3036d9029efc463c8cfd/workflows/Monitor_Remote_Server_File_Integrity_with_SSH_and_Slack_Alerts.json — 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.
Automated File Integrity Check with Slack. Uses ssh, slack. Scheduled trigger; 8 nodes.
This workflow is designed for engineering teams, project managers, and IT operations who need consistent visibility into team availability across multiple projects. It’s perfect for organizations that
This workflow is an automated system that tracks End-of-Life (EOL) dates for software and technologies used across your projects. It eliminates the need to manually monitor EOL dates in spreadsheets o
This workflow continuously monitors the Meta Ads Library for new creatives from a specific competitor pages, logs them into Google Sheets, and sends a concise Telegram notification with the number of
Enhance financial oversight with this automated n8n workflow. Triggered every 5 minutes, it fetches real-time bank transactions via an API, enriches and transforms the data, and applies smart logic to