Daily Open GitHub Issues Digest
Every morning, pull all open issues from a GitHub repo and email a prioritized digest to the dev lead.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
Every morning at 8:00 AM ET, this flow pulls all open issues from a specified GitHub repository and sends a formatted HTML digest email to the development lead. If there are no open issues, a brief "all clear" email is sent instead. This flow is ideal for dev teams who want a daily snapshot of their open issues without manually checking GitHub.
Use Case
Development teams often lose track of open issues across repositories. This flow provides a zero-effort daily summary delivered to the dev lead's inbox, showing issue numbers, titles, assignees, creation dates, and labels — enabling quick triage and prioritization each morning.
The flow is ideal for teams that:
- Development teams that want a daily snapshot of open issues without manually checking GitHub
- Dev leads who need quick triage and prioritization data each morning
- Teams managing one or more GitHub repos who want centralized visibility into open work
Flow Architecture
Recurrence - Daily Morning
RecurrenceFires daily at 8:00 AM Eastern. Steps 1-6 run in parallel for performance; step 7 waits for all six to complete before executing.
Initialize Variable - Repo Owner
InitializeVariableLoads GitHub repo owner from the flowlibs_GitHubRepoOwner environment variable.
Initialize Variable - Repo Name
InitializeVariableLoads GitHub repo name from the flowlibs_GitHubRepoName environment variable.
Initialize Variable - Dev Lead Email
InitializeVariableLoads dev lead email from the flowlibs_DevLeadEmail environment variable.
Initialize Variable - Digest Subject
InitializeVariableLoads email subject from the flowlibs_IssueDigestSubject environment variable.
Initialize Variable - Issue Table HTML
InitializeVariableEmpty string used to accumulate HTML table rows as each issue is processed.
Initialize Variable - Issue Count
InitializeVariableInteger counter for total open issues returned by GitHub.
Get Open GitHub Issues
OpenApiConnection (GitHub)Calls GitHub's GetIssues action with state=open, sort=created, direction=desc to retrieve the current list of open issues.
Set Variable - Total Issue Count
SetVariableSets varIssueCount to the length of the issues array returned by the GitHub call.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_GitHubRepoOwner | String | <configure> | The GitHub user or organization that owns the repository (e.g. 'octocat' or 'microsoft'). |
| flowlibs_GitHubRepoName | String | <configure> | The repository name to pull open issues from. |
| flowlibs_DevLeadEmail | String | devlead@contoso.com | Recipient of the daily digest email. Can be a single mailbox or a distribution list. |
| flowlibs_IssueDigestSubject | String | Daily Open GitHub Issues Digest | Subject-line prefix for the digest email. Open issue count and date are appended at runtime. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| GitHub | shared_github | GetIssues (retrieves open issues from the configured repo) |
| Office 365 Outlook | shared_office365 | SendEmailV2 (sends the formatted digest or 'all clear' email) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Set your GitHub repo
- Update the flowlibs_GitHubRepoOwner and flowlibs_GitHubRepoName environment variables with your org/user and the repository name to monitor.
- Set your dev lead email
- Update flowlibs_DevLeadEmail to the recipient who should receive the daily digest.
- Customize the subject line
- Modify flowlibs_IssueDigestSubject to match your team's naming convention. The runtime expression appends the open issue count and current date.
- Change the schedule
- Edit the Recurrence trigger to adjust the time or frequency — for example, switch to weekdays only or change the time zone.
- Filter by label or assignee
- Add the labels or assignee parameters to the Get Open GitHub Issues action to narrow which issues appear in the digest.
- Add more recipients
- Change the emailMessage/To field to a semicolon-separated list of addresses or a distribution group to broaden delivery.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Issue count
Counts the total number of open issues returned by the GitHub call; stored in varIssueCount and used by the condition.
EXPR.02Null-safe assignee
Falls back to 'Unassigned' when an issue has no assignee, preventing null errors in the HTML row.
EXPR.03Date formatting
Renders the issue's created_at timestamp as a clean ISO-style date.
EXPR.04Label join
Joins the issue's label array into a comma-separated list, defaulting to 'None' if there are no labels.
EXPR.05Dynamic subject with count
Builds the email subject by combining the configured prefix with the open issue count and today's date.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.