Monitor Multiple GitHub Repos with n8n Webhook Automation

This tutorial walks you through automating the monitoring of multiple GitHub repositories using n8n webhooks. Save hours by automatically registering and deleting webhooks without polling, and receive instant notifications on repository changes.
manualTrigger
httpRequest
webhook
+5
Workflow Identifier: 2091
NODES in Use: Manual Trigger, Sticky Note, Split Out, HTTP Request, Set, Slack, Telegram, Webhook

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

What this workflow does

This workflow monitors many GitHub repositories in real time using webhooks.

It solves the problem of checking each repository manually for changes like code commits or pull requests.

The workflow registers GitHub webhooks automatically for all repositories you want to watch.

When code changes happen, the workflow gets notified immediately without polling the API again and again.

The workflow extracts important commit details, then sends messages about changes to Telegram or Slack.

This saves time and prevents missing updates.


How this workflow works: Inputs, Processing, and Outputs

Inputs

  • A list of repository URLs to monitor: The full GitHub HTTPS URLs you add into the Repos to Monitor node.
  • GitHub Personal Access Token: Required for API calls to register and delete webhooks. It must have admin:repo_hook scope, and repo scope if monitoring private repos.
  • Webhook Trigger URL: The public HTTPS URL from the Webhook Trigger node to receive events from GitHub.
  • Telegram or Slack credentials: For notification nodes to send messages.

Processing Steps

  • The workflow reads the list of repositories to monitor.
  • The Register Github Webhook node registers webhooks on each repo using GitHub API. It sends GitHub events to the Webhook Trigger URL.
  • When a GitHub event happens (push or pull request), GitHub calls the webhook URL.
  • The Webhook Trigger node receives this event and passes data to a node that extracts key fields.
  • The extracted data includes repository name, commit info, author, changed files, message, and URLs.
  • Notification nodes send formatted messages based on this data to Telegram or Slack.
  • Deleting webhooks uses a set of nodes to list current hooks and remove them via the GitHub API.

Outputs

  • Real-time notifications in Telegram or Slack about code commits and pull requests.
  • Logs of registered webhooks for each monitored repository.
  • Successful webhook deletion confirmation if used.

Who should use this workflow

Anyone managing many GitHub repositories and needing fast updates on code changes.

The workflow helps avoid time lost in manual checks and API polling limits.

Users with basic n8n knowledge and GitHub tokens can set it up easily.

It is helpful for teams, developers, or project managers monitoring multiple repos.


Tools and services used

  • n8n automation platform: Runs the workflow and nodes.
  • GitHub API: Registers and deletes webhooks on monitored repositories.
  • Telegram Bot API: Receives notifications about commits and pull requests.
  • Slack API (optional): Alternative channel for receiving notifications.
  • HTTP Header Authentication with GitHub token: Secures API calls.

Beginner step-by-step: How to use this workflow in n8n production

Step 1: Import workflow

  1. Download the workflow file using the Download button on this page.
  2. Inside the n8n editor, click on “Import from File” and upload the downloaded workflow.

Step 2: Configure credentials and information

  1. Open the Register Github Webhook node.
  2. Set up header authentication credentials with your GitHub Personal Access Token, including “Bearer ” prefix before the token.
  3. Apply the same credentials to the webhook registration and deletion nodes.
  4. Update the url field in the JSON of the Register Github Webhook node to match the public HTTPS URL from the Webhook Trigger node.
  5. Open the Repos to Monitor node and edit its JSON to add full GitHub HTTPS URLs of repositories to watch. Make sure URLs have no trailing slash.
  6. If you want notifications, set your Telegram bot token and target chat ID in the Telegram node or configure Slack node as needed.

Step 3: Test workflow

  1. Disable the Webhook Trigger node temporarily.
  2. Run “Test workflow” to register webhooks on all listed repos.
  3. Check the output or use the Get Existing Hook node to confirm webhooks are registered.

Step 4: Activate workflow

  1. Enable the Webhook Trigger node.
  2. Activate the workflow to make it listen for GitHub events 24/7.
  3. Make a commit or pull request in a monitored repo to test receiving notifications.

Customization ideas

  • Change notification channel by enabling Slack node and entering Slack API credentials.
  • Add more GitHub event types (e.g., issues, fork, release) in webhook registration JSON to monitor wider events.
  • Use Function node to filter repositories by name pattern before webhook registration.
  • Edit notification message templates to include branch name, detailed commit links, or other info.

Common problems and how to fix

401 Unauthorized error from GitHub API

Cause: Bad or missing GitHub personal access token in authentication headers.

Fix: Make sure the token has admin:repo_hook scope (and repo for private repos) and is entered with “Bearer ” prefix in n8n credentials.

No webhook events received after activating

Cause: Webhook URL not reachable by GitHub or Webhook Trigger node is off.

Fix: Check that the webhook URL is public, uses HTTPS, and that the trigger node and workflow are active.


Summary of results

✓ Saves hours daily by automating GitHub repo monitoring.

✓ Sends real-time commit and pull request alerts without polling.

✓ Works with many repositories dynamically via a watchlist.

✓ Easily add or remove repos without manual webhook setup.

✓ Supports notifications to Telegram and Slack.

→ Keeps users informed of code updates fast and reliably.

→ Reduces API rate limit issues from polling requests.


Frequently Asked Questions

Yes. The GitHub token used in the workflow needs both admin:repo_hook and repo scopes to access private repositories.
It uses API calls mainly during webhook registration and deletion. After that, events come via push notifications without consuming API rate limits.
This happens when the GitHub token is missing, expired, or incorrectly entered without the “Bearer ” prefix in HTTP header authentication.
Disable the Telegram node and enable the Slack node in the workflow. Then enter Slack API credentials and channel ID to send messages there.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation Workflows in n8n

A complete beginner guide to building an AI SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free