Feature request: Add projects_v2_item trigger support
- Dominant language
- Go
- Stars
- 5.1k
- Forks
- 541
- Avg merge
- 5h 46m
- Merged PRs (30d)
- 760
Description
## Feature Request
### Summary
Add support for the `projects_v2_item` webhook event as a workflow trigger, enabling agentic workflows to run when issues (or PRs) are added to, edited on, or removed from a GitHub Projects board.
### Motivation
Currently, there is no way to trigger an agentic workflow when an issue is added to a project. This is a common need for teams that use GitHub Projects as their intake funnel — for example:
- **Automatic triage** when a support escalation issue lands on a team board
- **Ownership assessment** when an issue is added to a shared project
- **Field population** (classification, priority, dates) as soon as an item appears
Today the workarounds are:
1. Using `issues.labeled` as a proxy trigger (requires a labeling step)
2. A scheduled orchestrator that polls the project board (adds latency)
3. A traditional GitHub Actions workflow on `projects_v2_item` that dispatches the agentic workflow via `workflow_dispatch` (extra plumbing)
Native support would eliminate all of these workarounds.
### Proposed Trigger Syntax
```yaml
on:
projects_v2_item:
types: [created, edited, deleted, archived, restored, converted]
```
Or a simplified gh-aw shorthand:
```yaml
on:
project_item:
types: [created]
project: "https://github.com/orgs//projects/"
```
### Activity Types
GitHub already supports these activity types on the `projects_v2_item` webhook:
| Type | Description |
|------|-------------|
| `created` | Item added to the project |
| `edited` | Item field value changed |
| `deleted` | Item removed from the project |
| `archived` | Item archived |
| `restored` | Item restored from archive |
| `converted` | Item converted (e.g., draft → issue) |
### Context Variables
It would be useful to expose context like:
- `${{ github.event.projects_v2_item.content_type }}` (issue, PR, draft)
- `${{ github.event.projects_v2_item.content_node_id }}`
- The issue/PR number and repository when the content type is an issue or PR
### Use Case
We are building installable agentic workflows in [github/identity-core](https://github.com/github/identity-core) for support escalation triage. Currently we rely on `issues.labeled` with a `support-escalation` label, but triggering directly on project board addition would be more natural and eliminate the labeling requirement.
Contributor guide
Assessment
This issue has not been assessed yet.