Vereinfachte Überprüfung von Änderungsanträgen von Monday.com zu Jira, Slack und Google Sheets

Experte

Dies ist ein Automatisierungsworkflow mit 25 Nodes. Hauptsächlich werden If, Set, Jira, Gmail, Slack und andere Nodes verwendet. Automatisierung des Workflows für Änderungsanträge: Von Monday.com zu Jira mit Slack- und Sheets-Integration

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • Slack Bot Token oder Webhook URL
  • Google Sheets API-Anmeldedaten

Kategorie

-
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "qcrbyv2z8OnQhJ8F",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Streamline Change Request Reviews from Monday.com to Jira, Slack, and Google Sheets",
  "tags": [],
  "nodes": [
    {
      "id": "b8a91ff9-d449-45c9-b706-61e83d030052",
      "name": "Workflow-Übersicht",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1440,
        -512
      ],
      "parameters": {
        "color": 4,
        "width": 389,
        "height": 535,
        "content": "## 🎯 Change Request Approval Workflow\n\nAutomated change management system that routes requests based on risk level and status.\n\n**What it does:**\n- Fetches change requests from Monday.com daily\n- Routes by status (Pending/Approved/Rejected)\n- Creates Jira tickets for approved requests\n- Logs approved requests to Google Sheets\n- Sends Slack notifications to stakeholders\n- Handles resubmissions for rejected requests\n\n**Use Case:** Perfect for IT teams managing change requests with approval workflows and risk-YOUR_OPENAI_KEY_HERE routing.\n\n**Required Setup:**\n- Monday.com board with change requests\n- Jira project for approved changes\n- Google Sheets for audit trail\n- Slack workspace for notifications\n- Gmail for email confirmations"
      },
      "typeVersion": 1
    },
    {
      "id": "0bdc7dc2-9c82-4244-ac4b-705a9614327f",
      "name": "Zeitplan-Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -880,
        -240
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 3 * * 1-5"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7d410d1e-b7c0-4437-a1bd-a3204182b655",
      "name": "Hinweis - Zeitplan",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1024,
        -512
      ],
      "parameters": {
        "width": 262,
        "height": 253,
        "content": "## ⏰ Daily Schedule\n\nRuns weekdays at 3:00 AM to process change requests.\n\n**Schedule:** Mon-Fri at 03:00\n**Cron:** `0 3 * * 1-5`\n\n**Customize:** Adjust timing based on your team's timezone and workflow needs."
      },
      "typeVersion": 1
    },
    {
      "id": "a88be726-9d70-4b65-b27e-8f6de2aa6000",
      "name": "Änderungsanträge abrufen",
      "type": "n8n-nodes-base.mondayCom",
      "position": [
        -688,
        -240
      ],
      "parameters": {
        "boardId": "YOUR_BOARD_ID",
        "groupId": "topics",
        "resource": "boardItem",
        "operation": "getAll"
      },
      "typeVersion": 1
    },
    {
      "id": "82495c67-2b53-4687-9403-d149fae710b6",
      "name": "Hinweis - Abruf",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        -96
      ],
      "parameters": {
        "width": 262,
        "height": 269,
        "content": "## 📋 Fetch Requests\n\n**Setup Required:**\n1. Replace `YOUR_BOARD_ID` with your Monday.com board ID\n2. Update `groupId` if using different group\n3. Connect Monday.com credentials\n\n**Fetches:** All change request items from board"
      },
      "typeVersion": 1
    },
    {
      "id": "34f52f17-bcae-4ee9-91b2-21bcf735715b",
      "name": "Anforderungsdaten extrahieren",
      "type": "n8n-nodes-base.set",
      "position": [
        -464,
        -240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1970365-569f-4272-a0a1-cfb19592ae14",
              "name": "id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "20ee1686-786d-4702-8786-562dd485ae77",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "3957374a-b750-40d9-889a-0b8cc320d317",
              "name": "Component affected",
              "type": "string",
              "value": "={{ $json.column_values[4].text }}"
            },
            {
              "id": "7724954e-5ab9-493d-ac12-f8da9754561b",
              "name": "Approvers",
              "type": "string",
              "value": "={{ $json.column_values[5].text }}"
            },
            {
              "id": "c749e528-e47e-4de6-b40a-8ae74acfcb52",
              "name": "Status",
              "type": "string",
              "value": "={{ $json.column_values[1].text }}"
            },
            {
              "id": "c74e1543-2ac9-46dc-aa93-0e45ca8f1dbd",
              "name": "Description",
              "type": "string",
              "value": "={{ $json.column_values[6].text }}"
            },
            {
              "id": "59caec12-5c47-498e-a784-28c3b92a2fb0",
              "name": "Risk Level",
              "type": "string",
              "value": "={{ $json.column_values[3].text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "711aebae-2618-4900-8b45-220ca132c4ba",
      "name": "Hinweis - Extraktion",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        -544
      ],
      "parameters": {
        "width": 262,
        "height": 293,
        "content": "## 🔄 Data Transformation\n\nExtracts and maps Monday.com columns to clean fields.\n\n**Mapped Fields:**\n- ID, Name, Status\n- Component affected\n- Approvers\n- Description\n- Risk Level\n\n**Note:** Adjust column indices if your board structure differs"
      },
      "typeVersion": 1
    },
    {
      "id": "5f7bbae1-47bd-4093-809b-0a108e4dd5fd",
      "name": "Ausstehende Anträge filtern",
      "type": "n8n-nodes-base.if",
      "position": [
        -240,
        -240
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.Status }}",
              "value2": "Pending"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "67a96247-6ade-4425-b15d-a27dbc97945a",
      "name": "Hinweis - Status-Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -80
      ],
      "parameters": {
        "width": 262,
        "height": 285,
        "content": "## 🔀 Status Router\n\nRoutes requests based on status.\n\n**True Branch:** Status = \"Pending\"\n- Sends notification to stakeholders\n\n**False Branch:** Status = \"Approved\" or \"Rejected\"\n- Continues to next routing node"
      },
      "typeVersion": 1
    },
    {
      "id": "7334c79d-6312-4102-878b-e71e6c74a391",
      "name": "Ausstehenden Antrag benachrichtigen",
      "type": "n8n-nodes-base.slack",
      "position": [
        -16,
        -336
      ],
      "webhookId": "4d3540d3-4828-43ec-a1b9-570a9b02f187",
      "parameters": {
        "text": "=🔔 New Request Requires Your Approval\n\n*Name:* {{ $json.name }}\n*Request:* {{ $json.Description }}\n*Risk Level:* {{ $json['Risk Level'] }}\n*Component:* {{ $json['Component affected'] }}\n*Approver:* {{ $json.Approvers }}\n\nPlease review and update the status in Monday.com",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_CHANNEL_ID",
          "cachedResultName": "change-requests"
        },
        "otherOptions": {}
      },
      "typeVersion": 2
    },
    {
      "id": "7e709062-4468-4156-8d6b-e5924dcd055d",
      "name": "Hinweis - Ausstehend Slack",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        -608
      ],
      "parameters": {
        "width": 262,
        "height": 258,
        "content": "## 💬 Slack Alert - Pending\n\n**Setup Required:**\n1. Replace `YOUR_CHANNEL_ID` with Slack channel ID\n2. Connect Slack API credentials\n\n**Sends:** Notification for pending approvals with all request details"
      },
      "typeVersion": 1
    },
    {
      "id": "19f26741-55e1-4414-82e1-7e18eb2a25c6",
      "name": "Genehmigte Anträge filtern",
      "type": "n8n-nodes-base.if",
      "position": [
        -16,
        -144
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.Status }}",
              "value2": "Approved"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2e1b935e-9a0d-4ae6-8683-1aa981086636",
      "name": "Hinweis - Genehmigungs-Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        0
      ],
      "parameters": {
        "width": 262,
        "height": 258,
        "content": "## ✅ Approved Router\n\n**True Branch:** Status = \"Approved\"\n- Creates Jira ticket\n- Logs to Google Sheets\n\n**False Branch:** Status = \"Rejected\"\n- Handles resubmission flow"
      },
      "typeVersion": 1
    },
    {
      "id": "38e773fd-a193-4768-a5b9-a08e09d995e5",
      "name": "Jira-Ticket erstellen",
      "type": "n8n-nodes-base.jira",
      "position": [
        224,
        -336
      ],
      "parameters": {
        "project": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_PROJECT_ID",
          "cachedResultName": "Change Management"
        },
        "summary": "={{ $json.name }}",
        "issueType": {
          "__rl": true,
          "mode": "list",
          "value": "10006",
          "cachedResultName": "Task"
        },
        "additionalFields": {
          "description": "={{ $json.Description }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3b269183-16cb-472e-ad53-55eec45dcb7a",
      "name": "Hinweis - Jira",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -592
      ],
      "parameters": {
        "width": 262,
        "height": 237,
        "content": "## 🎫 Create Jira Issue\n\n**Setup Required:**\n1. Replace `YOUR_PROJECT_ID` with Jira project ID\n2. Update issue type if needed\n3. Connect Jira credentials\n\n**Creates:** Task with request name and description"
      },
      "typeVersion": 1
    },
    {
      "id": "5c7ae18a-9006-4fe2-965b-9158dc97a071",
      "name": "In Google Sheets protokollieren",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        -144
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Component affected",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Component affected",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Approvers",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Approvers",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Risk Level",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Risk Level",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "id"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_GID",
          "cachedResultName": "Approved Requests"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_ID",
          "cachedResultName": "Change Request Log"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "sOplQNr4zvwQul4A",
          "name": "jyothi"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "e9131c3a-0780-4327-a6aa-5dfa1b78c6f5",
      "name": "Hinweis - Sheets",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        176
      ],
      "parameters": {
        "width": 262,
        "height": 309,
        "content": "## 📊 Audit Trail\n\n**Setup Required:**\n1. Replace `YOUR_SHEET_ID` with Google Sheets document ID\n2. Replace `YOUR_SHEET_GID` with sheet tab ID\n3. Connect Google OAuth2 credentials\n\n**Logs:** All approved requests for compliance tracking"
      },
      "typeVersion": 1
    },
    {
      "id": "20d32c52-d750-46b6-96b9-de5973da359d",
      "name": "Genehmigung benachrichtigen",
      "type": "n8n-nodes-base.slack",
      "position": [
        448,
        -336
      ],
      "webhookId": "ec9807fb-4b9f-44be-869e-c8b47998bd34",
      "parameters": {
        "text": "=🔔 Request Approved\n\n*Name:* {{ $('Filter Approved Requests').item.json.name }}\n*Request:* {{ $('Filter Approved Requests').item.json.Description }}\n*Risk Level:* {{ $('Filter Approved Requests').item.json[\"Risk Level\"] }}\n*Component:* {{ $('Filter Approved Requests').item.json[\"Component affected\"] }}\n*Approver:* {{ $('Filter Approved Requests').item.json.Approvers }}\n*Jira Ticket:* {{ $json.key }}\n\nPlease proceed with implementation.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_CHANNEL_ID",
          "cachedResultName": "change-requests"
        },
        "otherOptions": {}
      },
      "typeVersion": 2
    },
    {
      "id": "f09cf9cc-1a82-4c7e-92f1-ee4c289d10da",
      "name": "Hinweis - Genehmigt Slack",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -224
      ],
      "parameters": {
        "width": 262,
        "height": 269,
        "content": "## 💬 Slack Alert - Approved\n\n**Setup Required:**\n1. Use same Slack channel ID\n2. Same credentials as pending notification\n\n**Sends:** Confirmation with Jira ticket key for approved requests"
      },
      "typeVersion": 1
    },
    {
      "id": "aeb63837-91ff-4cc6-bc41-8535632dfef5",
      "name": "Bestätigungs-E-Mail senden",
      "type": "n8n-nodes-base.gmail",
      "position": [
        672,
        -336
      ],
      "webhookId": "01e06999-8949-4cea-8b71-03196adf5bb9",
      "parameters": {
        "sendTo": "YOUR_EMAIL@example.com",
        "message": "=Your change request has been approved.\n\nName: {{ $('Filter Approved Requests').item.json.name }}\nComponent affected: {{ $('Filter Approved Requests').item.json[\"Component affected\"] }}\n\nJira Ticket: {{ $('Create Jira Ticket').item.json.key }}\n\nPlease proceed with the implementation as planned.",
        "options": {},
        "subject": "Change Request Approved",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "70f5n8rPahCANHs7",
          "name": "jyothi"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0af472d6-740a-4fba-9c8e-1048ae537732",
      "name": "Hinweis - E-Mail",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        -576
      ],
      "parameters": {
        "width": 262,
        "height": 301,
        "content": "## 📧 Email Confirmation\n\n**Setup Required:**\n1. Replace `YOUR_EMAIL@example.com` with recipient\n2. Connect Gmail OAuth2 credentials\n\n**Sends:** Professional confirmation email with Jira ticket link"
      },
      "typeVersion": 1
    },
    {
      "id": "201bb8ec-0ef7-4477-b0f1-1e1edb305b1f",
      "name": "Abgelehnte Anträge filtern",
      "type": "n8n-nodes-base.if",
      "position": [
        224,
        64
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.Status }}",
              "value2": "Rejected"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b95b46e2-6495-4588-951a-d26e914460e1",
      "name": "Hinweis - Ablehnungs-Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        224
      ],
      "parameters": {
        "width": 262,
        "height": 258,
        "content": "## ❌ Rejected Router\n\n**True Branch:** Status = \"Rejected\"\n- Creates resubmission item in Monday.com\n\n**False Branch:** No action\n- End of workflow for other statuses"
      },
      "typeVersion": 1
    },
    {
      "id": "03d9109c-b8ed-4946-904f-0623d2460088",
      "name": "Wiedervorlage-Element erstellen",
      "type": "n8n-nodes-base.mondayCom",
      "position": [
        448,
        64
      ],
      "parameters": {
        "name": "=Resubmission: {{ $json.name }}",
        "boardId": "YOUR_BOARD_ID",
        "groupId": "topics",
        "resource": "boardItem",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "041490e8-5ad2-4333-8428-615b07fb2677",
      "name": "Hinweis - Wiedervorlage",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        64
      ],
      "parameters": {
        "width": 262,
        "height": 285,
        "content": "## 🔄 Resubmission Handler\n\n**Setup Required:**\n1. Use same board ID as fetch node\n2. Same Monday.com credentials\n\n**Creates:** New item prefixed with \"Resubmission:\" for rejected requests"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "ad65aef6-ec63-402b-b1b9-eac62f2064c3",
  "connections": {
    "20d32c52-d750-46b6-96b9-de5973da359d": {
      "main": [
        [
          {
            "node": "aeb63837-91ff-4cc6-bc41-8535632dfef5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0bdc7dc2-9c82-4244-ac4b-705a9614327f": {
      "main": [
        [
          {
            "node": "a88be726-9d70-4b65-b27e-8f6de2aa6000",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "38e773fd-a193-4768-a5b9-a08e09d995e5": {
      "main": [
        [
          {
            "node": "20d32c52-d750-46b6-96b9-de5973da359d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "34f52f17-bcae-4ee9-91b2-21bcf735715b": {
      "main": [
        [
          {
            "node": "5f7bbae1-47bd-4093-809b-0a108e4dd5fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a88be726-9d70-4b65-b27e-8f6de2aa6000": {
      "main": [
        [
          {
            "node": "34f52f17-bcae-4ee9-91b2-21bcf735715b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5f7bbae1-47bd-4093-809b-0a108e4dd5fd": {
      "main": [
        [
          {
            "node": "7334c79d-6312-4102-878b-e71e6c74a391",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "19f26741-55e1-4414-82e1-7e18eb2a25c6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "19f26741-55e1-4414-82e1-7e18eb2a25c6": {
      "main": [
        [
          {
            "node": "38e773fd-a193-4768-a5b9-a08e09d995e5",
            "type": "main",
            "index": 0
          },
          {
            "node": "5c7ae18a-9006-4fe2-965b-9158dc97a071",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "201bb8ec-0ef7-4477-b0f1-1e1edb305b1f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "201bb8ec-0ef7-4477-b0f1-1e1edb305b1f": {
      "main": [
        [
          {
            "node": "03d9109c-b8ed-4946-904f-0623d2460088",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Verwandte Workflows

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes25
Kategorie-
Node-Typen9
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
Rahul Joshi

Rahul Joshi

@rahul08

Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34