Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/agent-factory-status.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
| [Typist - Go Type Analysis](https://github.com/github/gh-aw/blob/main/.github/workflows/typist.md) | claude | [![Typist - Go Type Analysis](https://github.com/github/gh-aw/actions/workflows/typist.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/typist.lock.yml) | `0 11 * * 1-5` | - |
| [Ubuntu Actions Image Analyzer](https://github.com/github/gh-aw/blob/main/.github/workflows/ubuntu-image-analyzer.md) | copilot | [![Ubuntu Actions Image Analyzer](https://github.com/github/gh-aw/actions/workflows/ubuntu-image-analyzer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/ubuntu-image-analyzer.lock.yml) | - | - |
| [Video Analysis Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/video-analyzer.md) | copilot | [![Video Analysis Agent](https://github.com/github/gh-aw/actions/workflows/video-analyzer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/video-analyzer.lock.yml) | - | - |
| [Weekly Editors Health Check](https://github.com/github/gh-aw/blob/main/.github/workflows/weekly-editors-health-check.md) | copilot | [![Weekly Editors Health Check](https://github.com/github/gh-aw/actions/workflows/weekly-editors-health-check.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/weekly-editors-health-check.lock.yml) | - | - |

Copilot AI Feb 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change appears to be unrelated to the PR's stated purpose of adding documentation about templatable fields in safe outputs. The addition of the "Weekly Editors Health Check" workflow to the status table seems like an auto-generated update that was included inadvertently. Consider whether this should be in a separate PR or if the PR description should be updated to mention this workflow addition.

Copilot uses AI. Check for mistakes.
| [Weekly Issue Summary](https://github.com/github/gh-aw/blob/main/.github/workflows/weekly-issue-summary.md) | copilot | [![Weekly Issue Summary](https://github.com/github/gh-aw/actions/workflows/weekly-issue-summary.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/weekly-issue-summary.lock.yml) | `0 15 * * 1` | - |
| [Weekly Safe Outputs Specification Review](https://github.com/github/gh-aw/blob/main/.github/workflows/weekly-safe-outputs-spec-review.md) | copilot | [![Weekly Safe Outputs Specification Review](https://github.com/github/gh-aw/actions/workflows/weekly-safe-outputs-spec-review.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/weekly-safe-outputs-spec-review.lock.yml) | `weekly on monday` | - |
| [Weekly Workflow Analysis](https://github.com/github/gh-aw/blob/main/.github/workflows/example-workflow-analyzer.md) | claude | [![Weekly Workflow Analysis](https://github.com/github/gh-aw/actions/workflows/example-workflow-analyzer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/example-workflow-analyzer.lock.yml) | - | - |
Expand Down
38 changes: 38 additions & 0 deletions docs/src/content/docs/reference/safe-outputs.md
Original file line number Diff line number Diff line change
Expand Up @@ -1276,6 +1276,44 @@ safe-outputs:

**Variables**: `{workflow_name}`, `{run_url}`, `{triggering_number}`, `{workflow_source}`, `{workflow_source_url}`, `{event_type}`, `{status}`, `{operation}`

### Templatable Fields

Certain safe output configuration fields are **templatable**: they accept either a literal value of the expected type or a GitHub Actions expression (e.g., `${{ inputs.foo }}`) that is evaluated at runtime. This lets you control behavior dynamically through workflow inputs, environments, or other GitHub Actions context values—without recompiling the workflow.

> [!NOTE]
> A free-form string that is not a valid GitHub Actions expression (`${{ ... }}`) is rejected with a compile-time error.

#### Templatable boolean fields

The following fields accept `true`, `false`, or a GitHub Actions expression:

`footer`, `group`, `close-older-issues`, `hide-older-comments`, `close-older-discussions`, `draft`, `allow-empty`, `auto-merge`, `report-as-issue`, `unassign-first`

```yaml wrap
safe-outputs:
create-issue:
group: ${{ inputs.group-issues }} # boolean expression
close-older-issues: true # literal boolean
create-pull-request:
draft: ${{ inputs.draft-pr }} # boolean expression
```

A non-boolean runtime value is treated as `false`.

#### Templatable integer fields

The `max` field on all safe output types accepts a positive integer or a GitHub Actions expression:

```yaml wrap
safe-outputs:
create-issue:
max: ${{ inputs.max-issues }} # integer expression
add-comment:
max: 3 # literal integer
```

A non-integer runtime value causes the operation to fail with a descriptive error.

## Related Documentation

- [Threat Detection Guide](/gh-aw/reference/threat-detection/) - Complete threat detection documentation and examples
Expand Down