diff --git a/.github/labeler.yml b/.github/labeler.yml
new file mode 100644
index 0000000000..d74f757029
--- /dev/null
+++ b/.github/labeler.yml
@@ -0,0 +1,19 @@
+core:
+  - quantum/**/*
+  - tmk_core/**/*
+  - drivers/**/*
+  - tests/**/*
+  - util/**/*
+  - platforms/**/*
+keymap:
+  - users/**/*
+  - layouts/**/*
+  - keyboards/**/keymaps/**/*
+cli:
+  - bin/qmk
+  - requirements.txt
+  - lib/python/**/*
+python:
+  - '**/*.py'
+documentation:
+  - docs/**/*
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
new file mode 100644
index 0000000000..7abbbeca34
--- /dev/null
+++ b/.github/workflows/labeler.yml
@@ -0,0 +1,13 @@
+name: "Pull Request Labeler"
+
+on:
+  schedule:
+  - cron: "*/10 * * * *"
+
+jobs:
+  triage:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: fjeremic/cron-labeler@0.2.0
+      with:
+        repo-token: ${{ secrets.GITHUB_TOKEN }}