Files
AutoGPT/docs/integrations/github/triggers.md
Nicholas Tindle c1a1767034 feat(docs): Add block documentation auto-generation system (#11707)
- Add generate_block_docs.py script that introspects block code to
generate markdown
- Support manual content preservation via <!-- MANUAL: --> markers
- Add migrate_block_docs.py to preserve existing manual content from git
HEAD
- Add CI workflow (docs-block-sync.yml) to fail if docs drift from code
- Add Claude PR review workflow (docs-claude-review.yml) for doc changes
- Add manual LLM enhancement workflow (docs-enhance.yml)
- Add GitBook configuration (.gitbook.yaml, SUMMARY.md)
- Fix non-deterministic category ordering (categories is a set)
- Add comprehensive test suite (32 tests)
- Generate docs for 444 blocks with 66 preserved manual sections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

<!-- Clearly explain the need for these changes: -->

### Changes 🏗️

<!-- Concisely describe all of the changes made in this pull request:
-->

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  <!-- Put your test plan here: -->
  - [x] Extensively test code generation for the docs pages



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Introduces an automated documentation pipeline for blocks and
integrates it into CI.
> 
> - Adds `scripts/generate_block_docs.py` (+ tests) to introspect blocks
and generate `docs/integrations/**`, preserving `<!-- MANUAL: -->`
sections
> - New CI workflows: **docs-block-sync** (fails if docs drift),
**docs-claude-review** (AI review for block/docs PRs), and
**docs-enhance** (optional LLM improvements)
> - Updates existing Claude workflows to use `CLAUDE_CODE_OAUTH_TOKEN`
instead of `ANTHROPIC_API_KEY`
> - Improves numerous block descriptions/typos and links across backend
blocks to standardize docs output
> - Commits initial generated docs including
`docs/integrations/README.md` and many provider/category pages
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
631e53e0f6. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 07:03:19 +00:00

11 KiB

GitHub Triggers

Blocks for triggering workflows from GitHub webhook events like pull requests, issues, releases, and stars.

Github Discussion Trigger

What it is

This block triggers on GitHub Discussions events. Great for syncing Q&A to Discord or auto-responding to common questions. Note: Discussions must be enabled on the repository.

How it works

This block creates a webhook subscription to GitHub Discussions events using the GitHub Webhooks API. When a discussion event occurs (created, edited, answered, etc.), GitHub sends a webhook payload that triggers your workflow.

The block parses the webhook payload and extracts discussion details including the title, body, category, state, and the user who triggered the event. Note that GitHub Discussions must be enabled on the repository.

Inputs

Input Description Type Required
repo Repository to subscribe to. Note: Make sure your GitHub credentials have permissions to create webhooks on this repo. str Yes
events The discussion events to subscribe to Events Yes

Outputs

Output Description Type
error Error message if the payload could not be processed str
payload The complete webhook payload that was received from GitHub. Includes information about the affected resource (e.g. pull request), the event, and the user who triggered the event. Dict[str, Any]
triggered_by_user Object representing the GitHub user who triggered the event Dict[str, Any]
event The discussion event that triggered the webhook str
number The discussion number int
discussion The full discussion object Dict[str, Any]
discussion_url URL to the discussion str
title The discussion title str
body The discussion body str
category The discussion category object Dict[str, Any]
category_name Name of the category str
state Discussion state str

Possible use case

Discord Sync: Post new discussions to Discord channels to keep the community engaged across platforms.

Auto-Responder: Automatically respond to common questions in discussions with helpful resources.

Q&A Routing: Route discussion questions to the appropriate team members based on category or content.


Github Issues Trigger

What it is

This block triggers on GitHub issues events. Useful for automated triage, notifications, and welcoming first-time contributors.

How it works

This block creates a webhook subscription to GitHub Issues events. When an issue event occurs (opened, closed, labeled, assigned, etc.), GitHub sends a webhook payload that triggers your workflow.

The block extracts issue details including the title, body, labels, assignees, state, and the user who triggered the event. Use this for automated triage, notifications, and issue management workflows.

Inputs

Input Description Type Required
repo Repository to subscribe to. Note: Make sure your GitHub credentials have permissions to create webhooks on this repo. str Yes
events The issue events to subscribe to Events Yes

Outputs

Output Description Type
error Error message if the payload could not be processed str
payload The complete webhook payload that was received from GitHub. Includes information about the affected resource (e.g. pull request), the event, and the user who triggered the event. Dict[str, Any]
triggered_by_user Object representing the GitHub user who triggered the event Dict[str, Any]
event The issue event that triggered the webhook (e.g., 'opened') str
number The issue number int
issue The full issue object Dict[str, Any]
issue_url URL to the issue str
issue_title The issue title str
issue_body The issue body/description str
labels List of labels on the issue List[Any]
assignees List of assignees List[Any]
state Issue state ('open' or 'closed') str

Possible use case

Automated Triage: Automatically label new issues based on keywords in title or description.

Welcome Messages: Send welcome messages to first-time contributors when they open their first issue.

Slack Notifications: Post notifications to Slack when issues are opened or closed.


Github Pull Request Trigger

What it is

This block triggers on pull request events and outputs the event type and payload.

How it works

This block creates a webhook subscription to GitHub Pull Request events. When a PR event occurs (opened, closed, merged, review requested, etc.), GitHub sends a webhook payload that triggers your workflow.

The block extracts PR details including the number, URL, and full pull request object. This enables automated code review, CI/CD pipelines, and notification workflows.

Inputs

Input Description Type Required
repo Repository to subscribe to. Note: Make sure your GitHub credentials have permissions to create webhooks on this repo. str Yes
events The events to subscribe to Events Yes

Outputs

Output Description Type
error Error message if the payload could not be processed str
payload The complete webhook payload that was received from GitHub. Includes information about the affected resource (e.g. pull request), the event, and the user who triggered the event. Dict[str, Any]
triggered_by_user Object representing the GitHub user who triggered the event Dict[str, Any]
event The PR event that triggered the webhook (e.g. 'opened') str
number The number of the affected pull request int
pull_request Object representing the affected pull request Dict[str, Any]
pull_request_url The URL of the affected pull request str

Possible use case

Automated Code Review: Trigger AI-powered code review when new PRs are opened.

CI/CD Automation: Start builds and tests when PRs are created or updated.

Reviewer Assignment: Automatically assign reviewers based on files changed or PR author.


Github Release Trigger

What it is

This block triggers on GitHub release events. Perfect for automating announcements to Discord, Twitter, or other platforms.

How it works

This block creates a webhook subscription to GitHub Release events. When a release event occurs (published, created, edited, etc.), GitHub sends a webhook payload that triggers your workflow.

The block extracts release details including tag name, release name, release notes, prerelease flag, and associated assets. Use this to automate announcements and deployment workflows.

Inputs

Input Description Type Required
repo Repository to subscribe to. Note: Make sure your GitHub credentials have permissions to create webhooks on this repo. str Yes
events The release events to subscribe to Events Yes

Outputs

Output Description Type
error Error message if the payload could not be processed str
payload The complete webhook payload that was received from GitHub. Includes information about the affected resource (e.g. pull request), the event, and the user who triggered the event. Dict[str, Any]
triggered_by_user Object representing the GitHub user who triggered the event Dict[str, Any]
event The release event that triggered the webhook (e.g., 'published') str
release The full release object Dict[str, Any]
release_url URL to the release page str
tag_name The release tag name (e.g., 'v1.0.0') str
release_name Human-readable release name str
body Release notes/description str
prerelease Whether this is a prerelease bool
draft Whether this is a draft release bool
assets List of release assets/files List[Any]

Possible use case

Release Announcements: Post release announcements to Discord, Twitter, or Slack when new versions are published.

Changelog Distribution: Automatically send release notes to mailing lists or documentation sites.

Deployment Triggers: Initiate deployment workflows when releases are published.


Github Star Trigger

What it is

This block triggers on GitHub star events. Useful for celebrating milestones (e.g., 1k, 10k stars) or tracking engagement.

How it works

This block creates a webhook subscription to GitHub Star events. When someone stars or unstars your repository, GitHub sends a webhook payload that triggers your workflow.

The block extracts star details including the timestamp, current star count, repository name, and the user who starred. Use this to track engagement and celebrate milestones.

Inputs

Input Description Type Required
repo Repository to subscribe to. Note: Make sure your GitHub credentials have permissions to create webhooks on this repo. str Yes
events The star events to subscribe to Events Yes

Outputs

Output Description Type
error Error message if the payload could not be processed str
payload The complete webhook payload that was received from GitHub. Includes information about the affected resource (e.g. pull request), the event, and the user who triggered the event. Dict[str, Any]
triggered_by_user Object representing the GitHub user who triggered the event Dict[str, Any]
event The star event that triggered the webhook ('created' or 'deleted') str
starred_at ISO timestamp when the repo was starred (empty if deleted) str
stargazers_count Current number of stars on the repository int
repository_name Full name of the repository (owner/repo) str
repository_url URL to the repository str

Possible use case

Milestone Celebrations: Announce when your repository reaches star milestones (100, 1k, 10k stars).

Engagement Tracking: Log star events to track repository popularity over time.

Thank You Messages: Send personalized thank you messages to users who star your repository.