AutomationFlowsSlack & Telegram › Send Jira Task Notifications to Telegram User via Bot

Send Jira Task Notifications to Telegram User via Bot

ByAbolfazl Akbarzadeh @abolfazlakbarzadeh on n8n.io

What we wanna do?

Webhook trigger★★★★☆ complexity8 nodesTelegram
Slack & Telegram Trigger: Webhook Nodes: 8 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #2708 — 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
{
  "nodes": [
    {
      "id": "e10615ff-41dc-4ea6-981a-d8e949e2e386",
      "name": "telegram account",
      "type": "n8n-nodes-base.code",
      "position": [
        -220,
        0
      ],
      "parameters": {
        "jsCode": "const accountId = $('jira-webhook').first().json.body.fields.assignee?.accountId\n\nconst telegramAccounts = {\n  \"[jira account id]\": 00000000, // telegram chat id\n}\n\nconst telegramChatId = telegramAccounts[accountId]\n\nreturn [{telegramChatId}]"
      },
      "typeVersion": 2
    },
    {
      "id": "a0effbdb-8f99-4248-9a98-aba34ff67690",
      "name": "check tg account exists",
      "type": "n8n-nodes-base.if",
      "position": [
        40,
        120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "149c600c-7030-4480-a4ef-18f02fd9ade9",
              "operator": {
                "type": "number",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $('telegram account').item.json.telegramChatId }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "71d58c37-9934-4b10-8aed-d66175a1bc3a",
      "name": "check type",
      "type": "n8n-nodes-base.switch",
      "position": [
        300,
        0
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
                    "rightValue": "created"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "1ec37373-db94-401d-8913-9f18d2bb8b08",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
                    "rightValue": "updated"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "12b237f5-d9ef-46be-98f9-60fe74a54298",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
                    "rightValue": "change-assignee"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "251f6e9b-439a-46f6-bb7d-be04e722a494",
      "name": "Send Update",
      "type": "n8n-nodes-base.telegram",
      "position": [
        580,
        0
      ],
      "parameters": {
        "text": "=\u26a0\ufe0f Update {{ $('jira-webhook').item.json.body.fields.issuetype.name }}\n\n\ud83d\udd30 Project: `{{ $('jira-webhook').item.json.body.fields.project.name }}`\n\n\ud83c\udd94 Key: `{{ $('jira-webhook').item.json.body.key }}`\n\n\ud83d\udd30 Title: `{{ $('jira-webhook').item.json.body.fields.summary }}`\n\n\ud83d\udd30 Description: `{{ $('jira-webhook').item.json.body.fields.description }}`\n\nCreate Time: `{{ DateTime.fromMillis($('jira-webhook').item.json.body.fields.created).format(\"yyyy-MM-dd HH:mm\") }}`",
        "chatId": "={{ $(\"telegram account\").item.json.telegramChatId }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8efbed55-8642-440c-9ec7-8b93256a27f5",
      "name": "Send Create",
      "type": "n8n-nodes-base.telegram",
      "position": [
        580,
        -180
      ],
      "parameters": {
        "text": "=\ud83c\udd95 New {{ $('jira-webhook').item.json.body.fields.issuetype.name }}\n\n\ud83d\udd30 Project: `{{ $('jira-webhook').item.json.body.fields.project.name }}`\n\n\ud83c\udd94 Key: `{{ $('jira-webhook').item.json.body.key }}`\n\n\ud83d\udd30 Title: `{{ $('jira-webhook').item.json.body.fields.summary }}`\n\n\ud83d\udd30 Description: `{{ $('jira-webhook').item.json.body.fields.description }}`\n\nCreate Time: `{{ DateTime.fromMillis($('jira-webhook').item.json.body.fields.created).format(\"yyyy-MM-dd HH:mm\") }}`",
        "chatId": "={{ $(\"telegram account\").item.json.telegramChatId }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9c2889e7-7c9c-490c-8293-fed3c255f086",
      "name": "Send Assign Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        580,
        180
      ],
      "parameters": {
        "text": "=\ud83d\udc69\u200d\ud83d\udcbb\ud83d\udc68\u200d\ud83d\udcbb Assigned to you {{ $('jira-webhook').item.json.body.fields.issuetype.name }}\n\n\ud83d\udd30 Project: `{{ $('jira-webhook').item.json.body.fields.project.name }}`\n\n\ud83c\udd94 Key: `{{ $('jira-webhook').item.json.body.key }}`\n\n\ud83d\udd30 Title: `{{ $('jira-webhook').item.json.body.fields.summary }}`\n\n\ud83d\udd30 Description: `{{ $('jira-webhook').item.json.body.fields.description }}`\n\nCreate Time: `{{ DateTime.fromMillis($('jira-webhook').item.json.body.fields.created).format(\"yyyy-MM-dd HH:mm\") }}`",
        "chatId": "={{ $(\"telegram account\").item.json.telegramChatId }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f660857d-ff24-4c08-bb13-e2461da950d6",
      "name": "check issue body, assignee and hook type",
      "type": "n8n-nodes-base.if",
      "position": [
        -480,
        120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6862ba4b-7f46-44d2-9f82-da33b3ed0166",
              "operator": {
                "type": "object",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('jira-webhook').item.json.body }}",
              "rightValue": ""
            },
            {
              "id": "67527de5-e12c-4917-b1f6-791c79b08637",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
              "rightValue": ""
            },
            {
              "id": "26a19a6a-a072-4035-a1cd-113277476899",
              "operator": {
                "type": "object",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('jira-webhook').item.json.body.fields.assignee }}",
              "rightValue": "="
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6ed72f04-7b15-4fb4-8699-0691beac69c0",
      "name": "jira-webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -740,
        0
      ],
      "parameters": {
        "path": "1e4989bf-6a23-4415-bd17-72d08130c5c4",
        "options": {},
        "httpMethod": "POST",
        "authentication": "headerAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    }
  ],
  "connections": {
    "check type": {
      "main": [
        [
          {
            "node": "Send Create",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Update",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Assign Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "jira-webhook": {
      "main": [
        [
          {
            "node": "check issue body, assignee and hook type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "telegram account": {
      "main": [
        [
          {
            "node": "check tg account exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "check tg account exists": {
      "main": [
        [
          {
            "node": "check type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "check issue body, assignee and hook type": {
      "main": [
        [
          {
            "node": "telegram account",
            "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

What we wanna do?

Source: https://n8n.io/workflows/2708/ — 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

qualiopi. Uses airtable, telegram, emailSend, httpRequest. Webhook trigger; 51 nodes.

Airtable, Telegram, Email Send +3
Slack & Telegram

PsyCardv2. Uses executeCommand, telegram, readBinaryFile, googleDrive. Webhook trigger; 41 nodes.

Execute Command, Telegram, Read Binary File +2
Slack & Telegram

[](https://www.linkedin.com/in/mosaab-yassir-lafrimi/)[](https://t.me/joevenner)

HTTP Request, Redis, S3 +1
Slack & Telegram

How it works • Webhook triggers from content creation system in Airtable • Downloads media (images/videos) from Airtable URLs • Uploads media to Postiz cloud storage • Schedules or publishes content a

Airtable, Telegram, HTTP Request
Slack & Telegram

This n8n workflow provides comprehensive network vulnerability scanning with automated CVE enrichment and professional report generation. It performs Nmap scans, queries the National Vulnerability Dat

Execute Command, Read Write File, Form Trigger +2