{"product_id":"assign-github-pr-reviewers-by-code-ownership-supabase-slack","title":"Assign GitHub PR Reviewers by Code Ownership (Supabase + Slack)","description":"\u003ch3\u003eAssign GitHub PR Reviewers Automatically—Using Code Ownership (Supabase + Slack)\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow listens for \u003cstrong\u003eGitHub pull request\u003c\/strong\u003e webhooks, determines which reviewers own the changed code, then \u003cstrong\u003erequests the right GitHub reviewers\u003c\/strong\u003e and \u003cstrong\u003eDMs them on Slack\u003c\/strong\u003e—balancing load using Supabase.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReceives PR webhooks\u003c\/strong\u003e via an n8n webhook endpoint when a \u003cstrong\u003epull_request\u003c\/strong\u003e event occurs.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFilters PRs\u003c\/strong\u003e to continue only for \u003cstrong\u003enewly opened\u003c\/strong\u003e, \u003cstrong\u003enon-draft\u003c\/strong\u003e pull requests that are \u003cstrong\u003enot authored by bots\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads reviewer ownership data from Supabase\u003c\/strong\u003e, including:\n    \u003cul\u003e\n      \u003cli\u003eGitHub username\u003c\/li\u003e\n      \u003cli\u003eSlack user ID\u003c\/li\u003e\n      \u003cli\u003eOwned path prefixes\u003c\/li\u003e\n      \u003cli\u003elast assigned time (last_assigned_at)\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMatches changed files to owned path prefixes\u003c\/strong\u003e, excludes the PR author, and selects candidates based on \u003cstrong\u003eleast recently assigned\u003c\/strong\u003e to evenly distribute review work.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRequests reviewers on GitHub\u003c\/strong\u003e (up to a configured maximum) using the GitHub REST API.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNotifies each selected reviewer in Slack\u003c\/strong\u003e with a direct message containing the PR title, author, and link.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUpdates Supabase\u003c\/strong\u003e by setting \u003cstrong\u003elast_assigned_at\u003c\/strong\u003e so future assignments stay balanced.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eTeams with clear ownership boundaries (e.g., frontend vs. backend) who want \u003cstrong\u003ecode-ownership-based PR review\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eSaaS operators reducing manual reviewer selection by automating \u003cstrong\u003eGitHub reviewer assignment\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eOn-call or distributed teams using Supabase to track reviewer coverage and rotation.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations:\u003c\/strong\u003e GitHub (PR reviewer requests), Slack (DMs), Supabase (reviewer roster + load balancing).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n workflow logic:\u003c\/strong\u003e \u003ccode\u003eif\u003c\/code\u003e, \u003ccode\u003eset\u003c\/code\u003e, \u003ccode\u003ecode\u003c\/code\u003e, \u003ccode\u003eno op\u003c\/code\u003e, \u003ccode\u003emerge\u003c\/code\u003e, and Slack-related steps.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSetup basics:\u003c\/strong\u003e Configure a GitHub webhook, provide a GitHub personal access token with permission to request reviewers, and create\/populate a Supabase \u003cem\u003ereviewers\u003c\/em\u003e table with the roster fields.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46228899659955,"sku":"N8N-20877","price":70.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/NY7v3EBaBDNCbWDoIxGBg_zaVj1UCu.png?v=1792056264","url":"https:\/\/buyflowscripts.com\/products\/assign-github-pr-reviewers-by-code-ownership-supabase-slack","provider":"N8N Commerce","version":"1.0","type":"link"}