diff --git a/.github/labeler.yml b/.github/labeler.yml
new file mode 100644
index 0000000..329d85c
--- /dev/null
+++ b/.github/labeler.yml
@@ -0,0 +1,5 @@
+"merge with bors":
+  - terraform/**/*
+
+"terraform":
+  - terraform/**/*
diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml
new file mode 100644
index 0000000..7fe0ffa
--- /dev/null
+++ b/.github/workflows/labels.yml
@@ -0,0 +1,14 @@
+name: "labels"
+
+on:
+  pull_request_target:
+
+jobs:
+  labels:
+    runs-on: ubuntu-latest
+    if: github.repository == 'nix-community/infra'
+    steps:
+      - uses: actions/labeler@v4
+        with:
+          repo-token: ${{ secrets.GITHUB_TOKEN }}
+          sync-labels: true