1. Opening Problem Statement
Meet Sarah, a passionate software developer managing multiple projects on GitHub. She spends hours each day manually checking GitHub for new bug reports labeled as “Bug” across her repositories. Sarah sometimes misses urgent issues due to this tedious process, causing delayed bug fixes and dissatisfied users. The time lost handling these checks every 10 minutes adds up to nearly 5 hours weekly, impacting her productivity and delaying critical fixes.
This is precisely the problem addressed by the “FetchGithubIssues” n8n workflow. Imagine automating this tedious manual task completely, getting instant notifications on your Telegram whenever important issues arise, allowing you to act immediately without the hassle of constant monitoring.
2. What This Automation Does
When this workflow runs every 10 minutes, it performs a series of automated steps to fetch, filter, and notify you about GitHub issues. Here’s what happens:
- Fetches open issues labeled “Bug” from a specified GitHub repository using the GitHub node configured with specific filters (state = open, label = Bug, and issues created or updated within the last 30 minutes).
- Extracts relevant fields such as issue title, URL, creation date, and number of comments from each issue response.
- Filters issues based on the number of comments, only forwarding those with fewer than 5 comments, helping prioritize less-discussed bugs.
- Sends Telegram notifications to a specified user with a concise message containing the issue title and a direct link to the issue.
- Repeats automatically every 10 minutes, ensuring near real-time monitoring without manual intervention.
- Helps you stay updated on critical bug reports while reducing noise by filtering less relevant issues.
This workflow saves Sarah (and you!) several hours a week and drastically improves response time to emerging bugs.
3. Prerequisites ⚙️
- n8n Account – Use n8n cloud or self-hosted version (check self-hosting options).
- GitHub Account with a Personal Access Token configured in n8n to access repository issues.
- Telegram Account with a Telegram bot configured (you need the bot token and your Telegram chat ID).
4. Step-by-Step Guide to Building This Workflow
Step 1: Add the Schedule Trigger Node to run every 10 minutes
Navigate to Nodes → Trigger → Schedule Trigger.
Configure the interval to run every 10 minutes. This ensures the workflow automatically checks GitHub frequently without manual execution.
You should see the node output trigger events every 10 minutes once active.
Common mistake: Not setting the interval properly, causing the workflow to run too frequently or not at all.
Step 2: Configure the GitHub Node to Retrieve Issues
Go to Nodes → Integration → GitHub. Place it after the schedule trigger node.
Set the parameters:
Owner: Your GitHub username or organization.Repository: Target repository name.Resource: Select repository.Operation: Choose getRepositoryIssues.- Configure filters as follows:
state: openlabels: Bugsince: Set to{{ new Date(Date.now() - 30 * 60 * 1000).toISOString() }}to fetch issues created or updated in the last 30 minutes.
Authenticate using your GitHub Personal Access Token credential.
After execution, you should see a list of open bugs retrieved.
Common mistake: Incorrect owner or repository names, causing no data return.
Step 3: Use the Set Node to Map Relevant Fields
Add a Set node after the GitHub node. This step extracts just the useful data: issue title, URL, creation date, and comments count.
Configure it to map these fields:
title = {{ $json.title }}
html_url = {{ $json.html_url }}
created_at = {{ $json.created_at }}
comments = {{ $json.comments }}This simplifies the output for the next filter step.
Common mistake: Forgetting to correctly reference fields inside {{ }} causing empty results.
Step 4: Filter Issues Based on Number of Comments
Insert a Filter node after the Set node. This node checks which issues have less than 5 comments to avoid over-notifying about old discussions.
Configure the filter condition:
- Condition: comments < 5
Issues passing the filter proceed to the Telegram notification.
Common mistake: Setting the wrong operator or numeric comparison.
Step 5: Send Telegram Notifications
Add a Telegram node to send messages.
Use this text configuration:
New Issue: {{ $json.title }} [Link]({{ $json.html_url }})Provide your Telegram bot credentials and user chat ID.
Upon success, you will receive a neat message in Telegram with the issue title and clickable link.
Common mistake: Incorrect bot token or chat ID resulting in failed notification.
5. Customizations ✏️
- Change Label Filter: In the Get Github Issues node, modify the
labelsfield to monitor other issue types such as “Enhancement” or “Question.” This lets you get alerts tailored to your workflow. - Adjust Comment Threshold: Modify the filter node condition from
comments < 5to a different number, e.g.,comments < 3, to refine how many discussions trigger notifications. - Add More Fields: In the Set node, add mapping for other useful fields like
assignee,milestone, or issuelabelsfor richer notifications. - Change Notification Channel: Replace the Telegram node with Slack or Email node to send issue alerts through different platforms, using the existing extracted data.
- Modify Fetch Interval: In the schedule trigger node, update the interval from every 10 minutes to any other time period (e.g., every 5 minutes) depending on your urgency.
6. Troubleshooting 🔧
Problem: "GitHub node returns empty results despite new issues existing."
Cause: Incorrect repository owner/name or unsynced credentials.
Solution: Double-check the owner and repository fields, ensure the Personal Access Token has correct repo scopes, and test credentials separately.
Problem: "Telegram messages not sending or showing error."
Cause: Invalid bot token or incorrect Chat ID.
Solution: Recreate the Telegram bot token via BotFather, verify the chat ID by sending a manual message via Telegram API tester, and re-authenticate in n8n.
Problem: "Filter node not behaving as expected."
Cause: Misconfigured conditions or wrong data type comparisons.
Solution: Review filter node conditions, ensure the field "comments" is a number, and test with sample data items.
7. Pre-Production Checklist ✅
- Verify GitHub credentials have permission to read repository issues.
- Ensure your Telegram bot is active and able to send messages to your user ID.
- Test workflow manually to confirm each node returns expected outputs.
- Check that filtering correctly passes only issues with fewer than 5 comments.
- Back up your current workflow version before making major changes.
8. Deployment Guide
Activate your workflow by toggling it to active in n8n editor.
Monitor the Executions tab to ensure workflow runs every 10 minutes without errors.
Enable error notifications in n8n settings for pro-active alerts.
Review Telegram messages and adjust filters or fetch parameters as needed for your team’s preferences.
9. FAQs
Q: Can I track issues from multiple repositories?
A: Yes, either duplicate this workflow with different repo credentials or modify the GitHub node to loop through repositories using a SplitInBatches node.
Q: Will this workflow consume GitHub API rate limits?
A: Yes, but checking every 10 minutes with scoped filters minimizes unnecessary API calls.
Q: Is my GitHub token safe?
A: Yes, n8n securely stores credentials and your token never leaves your environment during operations.
10. Conclusion
By following this guide, you've built a robust n8n workflow that automatically fetches and filters GitHub bug issues, sending you real-time Telegram alerts. This automation saves valuable hours weekly and enhances your ability to respond quickly to critical problems.
Next steps could include expanding to other issue labels, integrating Slack alerts, or creating a dashboard to monitor open issues more visually.
Start automating today and transform your bug tracking into a seamless, efficient process!