github / github/gh-aw

Feature request: Add projects_v2_item trigger support

Open
#25,336 3 comments 4 reactions 0 assignees View on GitHub
ai-inspected community
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.