DevOps Ā· n8n

Instantly Forward PagerDuty Alerts to Telegram for Faster Incident Response

Automatically sends a formatted Telegram message to your ops chat whenever a new PagerDuty incident is triggered. Keep your team informed in real time without checking dashboards.

difficulty Beginnersetup 30 minresult Every new PagerDuty incident instantly appears as a Telegram message with the incident title, severity, and a direct link so your team can act immediately.—
  1. 1

    Set up the Webhook trigger to receive PagerDuty events

    Add a Webhook node as the workflow trigger. Set HTTP Method to POST. Copy the generated webhook URL — you will paste it into PagerDuty. In PagerDuty, go to your Service > Integrations > Add a webhook extension and paste the URL there. Select event types such as incident.trigger.

  2. 2

    Extract the key incident fields with a Set node

    Add a Set node after the Webhook. Create three string fields: incidentTitle mapped to {{$json.body.messages[0].incident.title}}, severity mapped to {{$json.body.messages[0].incident.urgency}}, and incidentUrl mapped to {{$json.body.messages[0].incident.html_url}}. This normalises the data for the next step.

  3. 3

    Filter to only process triggered incidents with an IF node

    Add an IF node. Set the condition: {{$json.body.messages[0].event}} equals the string incident.trigger. Connect the TRUE branch to the next node. This prevents duplicate messages for updates or resolves.

  4. 4

    Send the alert to Telegram

    Add a Telegram node connected to the TRUE output of the IF node. In credentials, create a new Telegram Bot credential using your Bot Token from @BotFather. Set Chat ID to your group or channel ID (e.g. -1001234567890). Set Text to 🚨 *PagerDuty Alert* *Title:* {{$node["Set"].json["incidentTitle"]}} *Severity:* {{$node["Set"].json["severity"]}} šŸ”— {{$node["Set"].json["incidentUrl"]}}. Enable Parse Mode as Markdown.

Frequently asked questions

How do I find my Telegram Chat ID?

Add your bot to the target group or channel, then send a message to the group. Visit https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates in your browser and look for the `chat.id` field in the JSON response. Use that number as the Chat ID in the Telegram node.

Will I get flooded with messages if there are many incidents?

The IF node filters only `incident.trigger` events, so you get one message per new incident. If you want further throttling, you can add a rate-limit step or restrict alerts to high-urgency incidents by adding a second condition on the severity field.

Can I send alerts to multiple Telegram chats or channels?

Yes. Duplicate the Telegram node and set a different Chat ID on each copy. Connect both to the TRUE output of the IF node. Each copy will fire simultaneously, sending the alert to all configured chats.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.