Skip to content
GitHub Agentic Workflows

Footer Control

Control whether AI-generated footers are added to created and updated GitHub items (issues, pull requests, discussions, releases). Footers provide attribution and links to workflow runs, but you may want to omit them for cleaner content or when using custom branding.

Set footer: false at the safe-outputs level to hide footers for all output types:

safe-outputs:
footer: false # hide footers globally
create-issue:
title-prefix: "[ai] "
create-pull-request:
title-prefix: "[ai] "

When footer: false is set:

  • Visible footer content is omitted - No AI-generated attribution text appears in the item body
  • XML markers are preserved - Hidden workflow-id and tracker-id markers remain for searchability
  • All safe output types affected - Applies to create-issue, create-pull-request, create-discussion, update-issue, update-pull-request, update-discussion, and update-release

Override the global setting for specific output types by setting footer at the handler level:

safe-outputs:
footer: false # global default: no footers
create-issue:
title-prefix: "[issue] "
# inherits footer: false
create-pull-request:
title-prefix: "[pr] "
footer: true # override: show footer for PRs only

Individual handler settings always take precedence over the global setting.

For PR reviews (submit-pull-request-review), the footer field supports conditional control over when the footer is added to the review body:

safe-outputs:
create-pull-request-review-comment:
submit-pull-request-review:
footer: "if-body" # conditional footer based on review body

The footer field accepts three string values:

  • "always" (default) - Always include footer on the review body
  • "none" - Never include footer on the review body
  • "if-body" - Only include footer when the review has body text

Boolean values are also supported and automatically converted:

  • true"always"
  • false"none"

This is particularly useful for clean approval reviews without body text. With footer: "if-body", approval reviews appear clean without the AI-generated footer, while reviews with explanatory text still include the footer for attribution.

Example use case - Clean approvals:

safe-outputs:
create-pull-request-review-comment:
submit-pull-request-review:
footer: "if-body" # Show footer only when review has body

When the agent submits an approval without a body (just “APPROVE” event), no footer appears. When the agent includes explanatory comments in the review body, the footer is included.

Even with footer: false, the following are still included:

  1. Workflow-id marker - Hidden HTML comment for search and tracking:

    <!-- gh-aw-workflow-id: WORKFLOW_NAME -->
  2. Tracker-id marker - For issue/discussion tracking (when applicable):

    <!-- gh-aw-tracker-id: unique-id -->

These markers enable you to search for workflow-created items using GitHub’s search, even when footers are hidden.

You can use the workflow-id marker to find all items created by a specific workflow on GitHub.com. The marker is always included in the body of issues, pull requests, discussions, and comments, regardless of the footer setting.

Search Examples:

Find all open issues created by the daily-team-status workflow:

repo:owner/repo is:issue is:open "gh-aw-workflow-id: daily-team-status" in:body

Find all pull requests created by the security-audit workflow:

repo:owner/repo is:pr "gh-aw-workflow-id: security-audit" in:body

Find all items (issues, PRs, discussions) from any workflow in your organization:

org:your-org "gh-aw-workflow-id:" in:body

Find comments from a specific workflow:

repo:owner/repo "gh-aw-workflow-id: bot-responder" in:comments

Clean content for public repositories:

safe-outputs:
footer: false
create-issue:
title-prefix: "[report] "
labels: [automated]

Custom branding - footers on PRs only:

safe-outputs:
footer: false # hide for issues
create-issue:
title-prefix: "[issue] "
create-pull-request:
footer: true # show for PRs
title-prefix: "[pr] "

Minimal documentation updates:

safe-outputs:
update-release:
footer: false # clean release notes
max: 1

The default value for footer is true, maintaining backward compatibility with existing workflows. To hide footers, you must explicitly set footer: false.

Instead of hiding footers entirely, you can customize the footer message text using the messages.footer template. This allows you to maintain attribution while using custom branding:

safe-outputs:
messages:
footer: "> Powered by [{workflow_name}]({run_url})"
create-issue:
title-prefix: "[bot] "

The messages.footer template supports variables like {workflow_name}, {run_url}, {triggering_number}, and more. See Custom Messages for complete documentation on message templates and available variables.

When to use each approach:

  • footer: false - Completely hide attribution footers for cleaner content
  • messages.footer - Keep attribution but customize the text and branding