Mirror GitHub bug issues into Microsoft Planner
When a bug is opened or labeled in GitHub, create a matching task in your Planner triage bucket and cross-link the two so PMs and engineers stay in sync.
Build a code-based workflow that mirrors GitHub bug issues into Microsoft Planner so PMs and non-engineering stakeholders can track bugs without living in GitHub.
Trigger: a webhook subscribed to a GitHub repository's issues events. Only fire on the opened and labeled actions, and only when the issue carries the bug label (the label name should be a configurable input so I can change it later).
When the webhook fires, do the following in order:
1. Deduplicate. Look at the issue body from the webhook payload. If it already contains a Planner task URL (substring check for tasks.office.com or planner.microsoft.com), stop and exit successfully. This keeps the workflow idempotent when the bug label is removed and reapplied.
2. Read the latest issue. Call GitHub's Get an Issue operation with the repo owner, repo name, and issue number from the webhook payload, so we work from the current title, body, assignees, and labels rather than stale payload data.
3. Find the triage bucket. Call Microsoft Planner's List Buckets in Plan operation against the engineering plan ID I provide as input, then pick the bucket whose name matches my configured bucket name (default 'Triage', case-insensitive). If no bucket matches, fail with a clear error so I know to fix the configuration.
4. Create the Planner task. Call Microsoft Planner's Create Task with this mapping: planId is my engineering plan ID; bucketId is the bucket from step 3; title is the GitHub issue title (truncate to Planner's title limit if needed); assignments contains one plannerAssignment entry per GitHub assignee whose verified email matches a Microsoft user in my tenant. Put the GitHub issue body into the task description and add the GitHub issue HTML URL as an external reference titled 'GitHub Issue' so it shows up under Planner's links section. If a GitHub assignee can't be matched to a Microsoft user, list them by handle in the description so the task owner can reassign manually.
5. Cross-link back to GitHub. Call GitHub's Create an Issue Comment on the original issue with a short message like 'Tracked in Planner: <task URL>' that includes the Planner task ID and a direct link to the new task. This is the piece that makes the integration actually useful day to day, so don't skip it.
Inputs I want to be able to configure without editing code: GitHub repo owner and name, the bug label name, the Microsoft 365 group ID and plan ID, and the destination bucket name. Integrations: github and microsoft-planner.
Additional information
What does this prompt do?
- Watches your GitHub repo for new issues and label changes, and fires the moment something gets the bug label.
- Creates a fresh task in your engineering plan's triage bucket in Microsoft Planner, copying over the title, description, and matching assignees.
- Posts a comment back on the GitHub issue with a direct link to the new Planner task so engineers can jump between the two in one click.
- Detects issues that are already mirrored and skips them, so relabeling the same bug never creates a duplicate task.
What do I need to use this?
- A connected GitHub account with access to the repository you want to track.
- A connected Microsoft account with edit access to the Planner plan your team uses for bug triage.
- The plan and bucket in Microsoft Planner where new bugs should land (for example, an Engineering plan with a Triage bucket).
How can I customize it?
- Swap the bug label for any label your team already uses, like needs-triage or customer-bug.
- Change the destination bucket from Triage to Backlog, Inbox, or a sprint column you actively groom.
- Choose whether to copy GitHub assignees over to Planner, route every task to a single PM, or leave new tasks unassigned.
Frequently asked questions
Will this create duplicate Planner tasks if the bug label gets reapplied?
Does it work with private GitHub repositories?
What if my engineers and PMs use different email addresses in GitHub and Microsoft 365?
Can I send bugs to a Planner plan owned by a different Microsoft 365 group?
Will edits to the GitHub issue after labeling update the Planner task?
Stop juggling GitHub and Planner for every new bug.
Connect GitHub and Microsoft Planner once, and every new bug shows up in your PMs' triage board with the original issue one click away.