Files
sim/apps/docs/content/docs/en/triggers/github.mdx
Waleed 147ac89672 feat(docs): fill documentation gaps across platform features (#4110)
* feat(docs): fill documentation gaps across platform features

* fix(docs): address PR review comments on chat OTP cookies and MCP env var placeholders

* fix(docs): replace smart quotes with straight quotes in JSX attributes

* update(docs): update mcp, custom tools, and variables docs

* Fix grammar

* mothership docs, tags, connectors, api, chat deploy, etc

* more info

* more

* feat(docs): auto-generate per-provider trigger documentation

Extends scripts/generate-docs.ts to produce one MDX page per trigger
provider (39 pages) in apps/docs/content/docs/en/triggers/. The 5
hand-written pages (index, start, schedule, webhook, rss) are never
touched.

Key additions to the generation script:
- resolveConstVariable() resolves module-level const spreads so
  providers like Vercel that build outputs from const variables (not
  just functions) are fully documented
- resolveTriggerBuilderFunction() extended to expand variable spreads
  (...varName) in addition to function-call spreads (...fn())
- groupTriggersByProvider() deduplicates v1/v2 trigger variants by
  name, keeping the highest-versioned one per provider
- writeIconMapping() adds bare-name aliases for versioned block types
  (github_v2 → github, fireflies_v2 → fireflies, etc.) so
  BlockInfoCard resolves icons for all 39 trigger providers
- extractTriggerConfigFields() filters readOnly display blocks (webhook
  URL displays, sample payloads, curl examples) from config tables

Each generated page includes: BlockInfoCard with correct icon/color,
trigger count, polling note where applicable, Configuration table, and
Output table for every trigger. No "Type:" lines.

* refactor(docs): align trigger docs structure with tools docs

- Use ### `trigger_id` headings (matching ### `tool_id` in tools docs)
- Wrap all trigger sections under a ## Triggers header
- Rename Configuration/Output to #### level (matching #### Input/Output)
- Use Parameter column header to match tools docs table style
- Map UI widget types to semantic types: short-input/long-input/dropdown
  → string, switch → boolean, slider → number, oauth-input → string

* refactor(docs): use human-readable names for trigger section headings

Trigger IDs are internal identifiers; users scan by name. Switch from
### `trigger_id` to ### Trigger Name for cleaner sidebar navigation
and better readability.

* fix(docs): resolve subBlock builder functions for all trigger Config sections

Extends generate-docs.ts to parse subBlock builder functions so all 15
providers previously missing Configuration sections now generate them.

Handles three patterns:
- `buildTriggerSubBlocks({extraFields: buildX(...)})` — extracts extra
  fields from the call site and resolves them from the provider's utils.ts
- `return [...]` — direct array return (Attio, Confluence, etc.)
- `blocks.push(...)` — imperative push pattern (Linear, Ashby)

Also resolves const-reference field IDs (SCREAMING_CASE) by searching
the webhook provider constants cache, fixing Gong's `gongJwtPublicKeyPem`
field which was previously unresolvable. Adds title-as-description fallback
for OAuth credential fields that have no explicit description.

* fix(docs): correctly destructure nested implicit-object trigger outputs

Fixes a parser bug where output fields with no top-level `type` key but
child fields each having their own `type`/`description` were incorrectly
parsed. The `type:` and `description:` regex matches were not
depth-aware, so values from nested children bled into the parent field.

Changes:
- Add `isAtDepthZero()` helper for brace-depth-aware regex matching
- Fix `parseFieldContent` to only match `type:` at brace depth 0
- Fix `extractDescription` to only match `description:` at brace depth 0
- Add implicit-object fallback: when no top-level `type` exists but child
  fields have their own types, treat as `object` with `properties`
- Regenerate all affected trigger docs (Cal.com payload, Linear data,
  Jira issue.fields, Ashby application, Greenhouse candidate, etc.)

* chore(docs): update static trigger and start page images

* feat(providers): add claude-opus-4-7 model with adaptive thinking support

* Add workflow version screenshots

* Add function block screenshots

---------

Co-authored-by: Theodore Li <theo@sim.ai>
2026-04-16 11:51:49 -07:00

1187 lines
57 KiB
Plaintext

---
title: GitHub
description: Available GitHub triggers for automating workflows
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="github"
color="#181C1E"
/>
GitHub provides 12 triggers for automating workflows based on events.
## Triggers
### GitHub Actions Workflow Run
Trigger workflow when a GitHub Actions workflow run is requested, in progress, or completed
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., workflow_run\) |
| `action` | string | Action performed \(requested, in_progress, completed\) |
| `workflow_run` | object | workflow_run output from the tool |
| ↳ `id` | number | Workflow run ID |
| ↳ `node_id` | string | Workflow run node ID |
| ↳ `name` | string | Workflow name |
| ↳ `workflow_id` | number | Workflow ID |
| ↳ `run_number` | number | Run number for this workflow |
| ↳ `run_attempt` | number | Attempt number for this run |
| ↳ `event` | string | Event that triggered the workflow \(push, pull_request, etc.\) |
| ↳ `status` | string | Current status \(queued, in_progress, completed\) |
| ↳ `conclusion` | string | Conclusion \(success, failure, cancelled, skipped, timed_out, action_required\) |
| ↳ `head_branch` | string | Branch name |
| ↳ `head_sha` | string | Commit SHA that triggered the workflow |
| ↳ `path` | string | Path to the workflow file |
| ↳ `display_title` | string | Display title for the run |
| ↳ `run_started_at` | string | Timestamp when the run started |
| ↳ `created_at` | string | Workflow run creation timestamp |
| ↳ `updated_at` | string | Workflow run last update timestamp |
| ↳ `html_url` | string | Workflow run HTML URL |
| ↳ `check_suite_id` | number | Associated check suite ID |
| ↳ `check_suite_node_id` | string | Associated check suite node ID |
| ↳ `url` | string | Workflow run API URL |
| ↳ `actor` | object | actor output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `triggering_actor` | object | triggering_actor output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name |
| ↳ `private` | boolean | Whether repository is private |
| ↳ `head_repository` | object | head_repository output from the tool |
| ↳ `id` | number | Head repository ID |
| ↳ `node_id` | string | Head repository node ID |
| ↳ `name` | string | Head repository name |
| ↳ `full_name` | string | Head repository full name |
| ↳ `private` | boolean | Whether repository is private |
| ↳ `head_commit` | object | head_commit output from the tool |
| ↳ `id` | string | Commit SHA |
| ↳ `tree_id` | string | Tree ID |
| ↳ `message` | string | Commit message |
| ↳ `timestamp` | string | Commit timestamp |
| ↳ `author` | object | author output from the tool |
| ↳ `name` | string | Author name |
| ↳ `email` | string | Author email |
| ↳ `committer` | object | committer output from the tool |
| ↳ `name` | string | Committer name |
| ↳ `email` | string | Committer email |
| ↳ `pull_requests` | array | Array of associated pull requests |
| ↳ `referenced_workflows` | array | Array of referenced workflow runs |
| `workflow` | object | workflow output from the tool |
| ↳ `id` | number | Workflow ID |
| ↳ `node_id` | string | Workflow node ID |
| ↳ `name` | string | Workflow name |
| ↳ `path` | string | Path to workflow file |
| ↳ `state` | string | Workflow state \(active, deleted, disabled_fork, etc.\) |
| ↳ `created_at` | string | Workflow creation timestamp |
| ↳ `updated_at` | string | Workflow last update timestamp |
| ↳ `url` | string | Workflow API URL |
| ↳ `html_url` | string | Workflow HTML URL |
| ↳ `badge_url` | string | Workflow badge URL |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `node_id` | string | Owner node ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub Issue Closed
Trigger workflow when an issue is closed in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., issues, pull_request, push\) |
| `action` | string | Action performed \(opened, closed, reopened, edited, etc.\) |
| `issue` | object | issue output from the tool |
| ↳ `id` | number | Issue ID |
| ↳ `node_id` | string | Issue node ID |
| ↳ `number` | number | Issue number |
| ↳ `title` | string | Issue title |
| ↳ `body` | string | Issue body/description |
| ↳ `state` | string | Issue state \(open, closed\) |
| ↳ `state_reason` | string | Reason for state \(completed, not_planned, reopened\) |
| ↳ `html_url` | string | Issue HTML URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `labels` | array | Array of label objects |
| ↳ `assignees` | array | Array of assigned users |
| ↳ `milestone` | object | Milestone object if assigned |
| ↳ `created_at` | string | Issue creation timestamp |
| ↳ `updated_at` | string | Issue last update timestamp |
| ↳ `closed_at` | string | Issue closed timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub Issue Comment
Trigger workflow when a comment is added to an issue (not pull requests)
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., issue_comment\) |
| `action` | string | Action performed \(created, edited, deleted\) |
| `issue` | object | issue output from the tool |
| ↳ `number` | number | Issue number |
| ↳ `title` | string | Issue title |
| ↳ `state` | string | Issue state \(open, closed\) |
| ↳ `html_url` | string | Issue HTML URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| `comment` | object | comment output from the tool |
| ↳ `id` | number | Comment ID |
| ↳ `node_id` | string | Comment node ID |
| ↳ `body` | string | Comment text |
| ↳ `html_url` | string | Comment HTML URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `created_at` | string | Comment creation timestamp |
| ↳ `updated_at` | string | Comment last update timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub Issue Opened
Trigger workflow when a new issue is opened in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., issues, pull_request, push\) |
| `action` | string | Action performed \(opened, closed, reopened, edited, etc.\) |
| `issue` | object | issue output from the tool |
| ↳ `id` | number | Issue ID |
| ↳ `node_id` | string | Issue node ID |
| ↳ `number` | number | Issue number |
| ↳ `title` | string | Issue title |
| ↳ `body` | string | Issue body/description |
| ↳ `state` | string | Issue state \(open, closed\) |
| ↳ `state_reason` | string | Reason for state \(completed, not_planned, reopened\) |
| ↳ `html_url` | string | Issue HTML URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `labels` | array | Array of label objects |
| ↳ `assignees` | array | Array of assigned users |
| ↳ `milestone` | object | Milestone object if assigned |
| ↳ `created_at` | string | Issue creation timestamp |
| ↳ `updated_at` | string | Issue last update timestamp |
| ↳ `closed_at` | string | Issue closed timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub PR Closed
Trigger workflow when a pull request is closed without being merged (e.g., abandoned) in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., pull_request\) |
| `action` | string | Action performed \(opened, closed, synchronize, reopened, edited, etc.\) |
| `number` | number | Pull request number |
| `pull_request` | object | pull_request output from the tool |
| ↳ `id` | number | Pull request ID |
| ↳ `node_id` | string | Pull request node ID |
| ↳ `number` | number | Pull request number |
| ↳ `title` | string | Pull request title |
| ↳ `body` | string | Pull request description |
| ↳ `state` | string | Pull request state \(open, closed\) |
| ↳ `merged` | boolean | Whether the PR was merged |
| ↳ `merged_at` | string | Timestamp when PR was merged |
| ↳ `merged_by` | object | merged_by output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `draft` | boolean | Whether the PR is a draft |
| ↳ `html_url` | string | Pull request HTML URL |
| ↳ `diff_url` | string | Pull request diff URL |
| ↳ `patch_url` | string | Pull request patch URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `head` | object | head output from the tool |
| ↳ `ref` | string | Source branch name |
| ↳ `sha` | string | Source branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Source repository name |
| ↳ `full_name` | string | Source repository full name |
| ↳ `base` | object | base output from the tool |
| ↳ `ref` | string | Target branch name |
| ↳ `sha` | string | Target branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Target repository name |
| ↳ `full_name` | string | Target repository full name |
| ↳ `additions` | number | Number of lines added |
| ↳ `deletions` | number | Number of lines deleted |
| ↳ `changed_files` | number | Number of files changed |
| ↳ `labels` | array | Array of label objects |
| ↳ `assignees` | array | Array of assigned users |
| ↳ `requested_reviewers` | array | Array of requested reviewers |
| ↳ `created_at` | string | Pull request creation timestamp |
| ↳ `updated_at` | string | Pull request last update timestamp |
| ↳ `closed_at` | string | Pull request closed timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub PR Comment
Trigger workflow when a comment is added to a pull request in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., issue_comment\) |
| `action` | string | Action performed \(created, edited, deleted\) |
| `issue` | object | issue output from the tool |
| ↳ `id` | number | Issue ID |
| ↳ `node_id` | string | Issue node ID |
| ↳ `number` | number | Issue/PR number |
| ↳ `title` | string | Issue/PR title |
| ↳ `body` | string | Issue/PR description |
| ↳ `state` | string | Issue/PR state \(open, closed\) |
| ↳ `html_url` | string | Issue/PR HTML URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `labels` | array | Array of label objects |
| ↳ `assignees` | array | Array of assigned users |
| ↳ `pull_request` | object | pull_request output from the tool |
| ↳ `url` | string | Pull request API URL \(present only for PR comments\) |
| ↳ `html_url` | string | Pull request HTML URL |
| ↳ `diff_url` | string | Pull request diff URL |
| ↳ `patch_url` | string | Pull request patch URL |
| ↳ `created_at` | string | Issue/PR creation timestamp |
| ↳ `updated_at` | string | Issue/PR last update timestamp |
| `comment` | object | comment output from the tool |
| ↳ `id` | number | Comment ID |
| ↳ `node_id` | string | Comment node ID |
| ↳ `url` | string | Comment API URL |
| ↳ `html_url` | string | Comment HTML URL |
| ↳ `body` | string | Comment text |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `created_at` | string | Comment creation timestamp |
| ↳ `updated_at` | string | Comment last update timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `node_id` | string | Owner node ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub PR Merged
Trigger workflow when a pull request is successfully merged in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., pull_request\) |
| `action` | string | Action performed \(opened, closed, synchronize, reopened, edited, etc.\) |
| `number` | number | Pull request number |
| `pull_request` | object | pull_request output from the tool |
| ↳ `id` | number | Pull request ID |
| ↳ `node_id` | string | Pull request node ID |
| ↳ `number` | number | Pull request number |
| ↳ `title` | string | Pull request title |
| ↳ `body` | string | Pull request description |
| ↳ `state` | string | Pull request state \(open, closed\) |
| ↳ `merged` | boolean | Whether the PR was merged |
| ↳ `merged_at` | string | Timestamp when PR was merged |
| ↳ `merged_by` | object | merged_by output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `draft` | boolean | Whether the PR is a draft |
| ↳ `html_url` | string | Pull request HTML URL |
| ↳ `diff_url` | string | Pull request diff URL |
| ↳ `patch_url` | string | Pull request patch URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `head` | object | head output from the tool |
| ↳ `ref` | string | Source branch name |
| ↳ `sha` | string | Source branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Source repository name |
| ↳ `full_name` | string | Source repository full name |
| ↳ `base` | object | base output from the tool |
| ↳ `ref` | string | Target branch name |
| ↳ `sha` | string | Target branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Target repository name |
| ↳ `full_name` | string | Target repository full name |
| ↳ `additions` | number | Number of lines added |
| ↳ `deletions` | number | Number of lines deleted |
| ↳ `changed_files` | number | Number of files changed |
| ↳ `labels` | array | Array of label objects |
| ↳ `assignees` | array | Array of assigned users |
| ↳ `requested_reviewers` | array | Array of requested reviewers |
| ↳ `created_at` | string | Pull request creation timestamp |
| ↳ `updated_at` | string | Pull request last update timestamp |
| ↳ `closed_at` | string | Pull request closed timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub PR Opened
Trigger workflow when a new pull request is opened in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., pull_request\) |
| `action` | string | Action performed \(opened, closed, synchronize, reopened, edited, etc.\) |
| `number` | number | Pull request number |
| `pull_request` | object | pull_request output from the tool |
| ↳ `id` | number | Pull request ID |
| ↳ `node_id` | string | Pull request node ID |
| ↳ `number` | number | Pull request number |
| ↳ `title` | string | Pull request title |
| ↳ `body` | string | Pull request description |
| ↳ `state` | string | Pull request state \(open, closed\) |
| ↳ `merged` | boolean | Whether the PR was merged |
| ↳ `merged_at` | string | Timestamp when PR was merged |
| ↳ `merged_by` | object | merged_by output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `draft` | boolean | Whether the PR is a draft |
| ↳ `html_url` | string | Pull request HTML URL |
| ↳ `diff_url` | string | Pull request diff URL |
| ↳ `patch_url` | string | Pull request patch URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `head` | object | head output from the tool |
| ↳ `ref` | string | Source branch name |
| ↳ `sha` | string | Source branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Source repository name |
| ↳ `full_name` | string | Source repository full name |
| ↳ `base` | object | base output from the tool |
| ↳ `ref` | string | Target branch name |
| ↳ `sha` | string | Target branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Target repository name |
| ↳ `full_name` | string | Target repository full name |
| ↳ `additions` | number | Number of lines added |
| ↳ `deletions` | number | Number of lines deleted |
| ↳ `changed_files` | number | Number of files changed |
| ↳ `labels` | array | Array of label objects |
| ↳ `assignees` | array | Array of assigned users |
| ↳ `requested_reviewers` | array | Array of requested reviewers |
| ↳ `created_at` | string | Pull request creation timestamp |
| ↳ `updated_at` | string | Pull request last update timestamp |
| ↳ `closed_at` | string | Pull request closed timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub PR Reviewed
Trigger workflow when a pull request review is submitted, edited, or dismissed in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., pull_request_review\) |
| `action` | string | Action performed \(submitted, edited, dismissed\) |
| `review` | object | review output from the tool |
| ↳ `id` | number | Review ID |
| ↳ `node_id` | string | Review node ID |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | Reviewer username |
| ↳ `id` | number | Reviewer user ID |
| ↳ `node_id` | string | Reviewer node ID |
| ↳ `avatar_url` | string | Reviewer avatar URL |
| ↳ `html_url` | string | Reviewer profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `body` | string | Review comment text |
| ↳ `state` | string | Review state \(approved, changes_requested, commented, dismissed\) |
| ↳ `html_url` | string | Review HTML URL |
| ↳ `submitted_at` | string | Review submission timestamp |
| ↳ `commit_id` | string | Commit SHA that was reviewed |
| ↳ `author_association` | string | Author association \(OWNER, MEMBER, COLLABORATOR, CONTRIBUTOR, etc.\) |
| `pull_request` | object | pull_request output from the tool |
| ↳ `id` | number | Pull request ID |
| ↳ `node_id` | string | Pull request node ID |
| ↳ `number` | number | Pull request number |
| ↳ `title` | string | Pull request title |
| ↳ `body` | string | Pull request description |
| ↳ `state` | string | Pull request state \(open, closed\) |
| ↳ `merged` | boolean | Whether the PR was merged |
| ↳ `draft` | boolean | Whether the PR is a draft |
| ↳ `html_url` | string | Pull request HTML URL |
| ↳ `diff_url` | string | Pull request diff URL |
| ↳ `patch_url` | string | Pull request patch URL |
| ↳ `user` | object | user output from the tool |
| ↳ `login` | string | PR author username |
| ↳ `id` | number | PR author user ID |
| ↳ `node_id` | string | PR author node ID |
| ↳ `avatar_url` | string | PR author avatar URL |
| ↳ `html_url` | string | PR author profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `head` | object | head output from the tool |
| ↳ `ref` | string | Source branch name |
| ↳ `sha` | string | Source branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Source repository name |
| ↳ `full_name` | string | Source repository full name |
| ↳ `base` | object | base output from the tool |
| ↳ `ref` | string | Target branch name |
| ↳ `sha` | string | Target branch commit SHA |
| ↳ `repo` | object | repo output from the tool |
| ↳ `name` | string | Target repository name |
| ↳ `full_name` | string | Target repository full name |
| ↳ `created_at` | string | Pull request creation timestamp |
| ↳ `updated_at` | string | Pull request last update timestamp |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `node_id` | string | Owner node ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub Push
Trigger workflow when code is pushed to a repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., push\) |
| `branch` | string | Branch name derived from ref \(e.g., main from refs/heads/main\) |
| `ref` | string | Git reference that was pushed \(e.g., refs/heads/main\) |
| `before` | string | SHA of the commit before the push |
| `after` | string | SHA of the commit after the push |
| `created` | boolean | Whether this push created a new branch or tag |
| `deleted` | boolean | Whether this push deleted a branch or tag |
| `forced` | boolean | Whether this was a force push |
| `base_ref` | string | Base reference for the push |
| `compare` | string | URL to compare the changes |
| `commits` | array | Array of commit objects included in this push |
| `head_commit` | object | head_commit output from the tool |
| ↳ `id` | string | Commit SHA of the most recent commit |
| ↳ `tree_id` | string | Git tree SHA |
| ↳ `distinct` | boolean | Whether this commit is distinct |
| ↳ `message` | string | Commit message |
| ↳ `timestamp` | string | Commit timestamp |
| ↳ `url` | string | Commit URL |
| ↳ `author` | object | author output from the tool |
| ↳ `name` | string | Author name |
| ↳ `email` | string | Author email |
| ↳ `username` | string | Author GitHub username |
| ↳ `committer` | object | committer output from the tool |
| ↳ `name` | string | Committer name |
| ↳ `email` | string | Committer email |
| ↳ `username` | string | Committer GitHub username |
| ↳ `added` | array | Array of file paths added in this commit |
| ↳ `removed` | array | Array of file paths removed in this commit |
| ↳ `modified` | array | Array of file paths modified in this commit |
| `pusher` | object | pusher output from the tool |
| ↳ `name` | string | Pusher name |
| ↳ `email` | string | Pusher email |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `default_branch` | string | Default branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `node_id` | string | Owner node ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
---
### GitHub Release Published
Trigger workflow when a new release is published in a GitHub repository
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event_type` | string | GitHub event type from X-GitHub-Event header \(e.g., release\) |
| `action` | string | Action performed \(published, unpublished, created, edited, deleted, prereleased, released\) |
| `release` | object | release output from the tool |
| ↳ `id` | number | Release ID |
| ↳ `node_id` | string | Release node ID |
| ↳ `tag_name` | string | Git tag name for the release |
| ↳ `target_commitish` | string | Target branch or commit SHA |
| ↳ `name` | string | Release name/title |
| ↳ `body` | string | Release description/notes in markdown format |
| ↳ `draft` | boolean | Whether the release is a draft |
| ↳ `prerelease` | boolean | Whether the release is a pre-release |
| ↳ `created_at` | string | Release creation timestamp |
| ↳ `published_at` | string | Release publication timestamp |
| ↳ `url` | string | Release API URL |
| ↳ `html_url` | string | Release HTML URL |
| ↳ `assets_url` | string | Release assets API URL |
| ↳ `upload_url` | string | URL for uploading release assets |
| ↳ `tarball_url` | string | Source code tarball download URL |
| ↳ `zipball_url` | string | Source code zipball download URL |
| ↳ `discussion_url` | string | Discussion URL if available |
| ↳ `author` | object | author output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `gravatar_id` | string | Gravatar ID |
| ↳ `url` | string | User API URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `followers_url` | string | Followers API URL |
| ↳ `following_url` | string | Following API URL |
| ↳ `gists_url` | string | Gists API URL |
| ↳ `starred_url` | string | Starred repositories API URL |
| ↳ `subscriptions_url` | string | Subscriptions API URL |
| ↳ `organizations_url` | string | Organizations API URL |
| ↳ `repos_url` | string | Repositories API URL |
| ↳ `events_url` | string | Events API URL |
| ↳ `received_events_url` | string | Received events API URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `site_admin` | boolean | Whether user is a site administrator |
| ↳ `assets` | array | Array of release asset objects with download URLs |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `repo_description` | string | Repository description |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `archive_url` | string | Archive API URL |
| ↳ `assignees_url` | string | Assignees API URL |
| ↳ `blobs_url` | string | Blobs API URL |
| ↳ `branches_url` | string | Branches API URL |
| ↳ `collaborators_url` | string | Collaborators API URL |
| ↳ `comments_url` | string | Comments API URL |
| ↳ `commits_url` | string | Commits API URL |
| ↳ `compare_url` | string | Compare API URL |
| ↳ `contents_url` | string | Contents API URL |
| ↳ `contributors_url` | string | Contributors API URL |
| ↳ `deployments_url` | string | Deployments API URL |
| ↳ `downloads_url` | string | Downloads API URL |
| ↳ `events_url` | string | Events API URL |
| ↳ `forks_url` | string | Forks API URL |
| ↳ `git_commits_url` | string | Git commits API URL |
| ↳ `git_refs_url` | string | Git refs API URL |
| ↳ `git_tags_url` | string | Git tags API URL |
| ↳ `hooks_url` | string | Hooks API URL |
| ↳ `issue_comment_url` | string | Issue comment API URL |
| ↳ `issue_events_url` | string | Issue events API URL |
| ↳ `issues_url` | string | Issues API URL |
| ↳ `keys_url` | string | Keys API URL |
| ↳ `labels_url` | string | Labels API URL |
| ↳ `languages_url` | string | Languages API URL |
| ↳ `merges_url` | string | Merges API URL |
| ↳ `milestones_url` | string | Milestones API URL |
| ↳ `notifications_url` | string | Notifications API URL |
| ↳ `pulls_url` | string | Pull requests API URL |
| ↳ `releases_url` | string | Releases API URL |
| ↳ `stargazers_url` | string | Stargazers API URL |
| ↳ `statuses_url` | string | Statuses API URL |
| ↳ `subscribers_url` | string | Subscribers API URL |
| ↳ `subscription_url` | string | Subscription API URL |
| ↳ `tags_url` | string | Tags API URL |
| ↳ `teams_url` | string | Teams API URL |
| ↳ `trees_url` | string | Trees API URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size in KB |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `has_issues` | boolean | Whether issues are enabled |
| ↳ `has_projects` | boolean | Whether projects are enabled |
| ↳ `has_downloads` | boolean | Whether downloads are enabled |
| ↳ `has_wiki` | boolean | Whether wiki is enabled |
| ↳ `has_pages` | boolean | Whether GitHub Pages is enabled |
| ↳ `forks_count` | number | Number of forks |
| ↳ `mirror_url` | string | Mirror URL if repository is a mirror |
| ↳ `archived` | boolean | Whether the repository is archived |
| ↳ `disabled` | boolean | Whether the repository is disabled |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `license` | object | license output from the tool |
| ↳ `key` | string | License key |
| ↳ `name` | string | License name |
| ↳ `spdx_id` | string | SPDX license identifier |
| ↳ `url` | string | License API URL |
| ↳ `node_id` | string | License node ID |
| ↳ `allow_forking` | boolean | Whether forking is allowed |
| ↳ `is_template` | boolean | Whether repository is a template |
| ↳ `topics` | array | Array of repository topics |
| ↳ `visibility` | string | Repository visibility \(public, private, internal\) |
| ↳ `forks` | number | Number of forks |
| ↳ `open_issues` | number | Number of open issues |
| ↳ `watchers` | number | Number of watchers |
| ↳ `default_branch` | string | Default branch name |
| ↳ `created_at` | string | Repository creation timestamp |
| ↳ `updated_at` | string | Repository last update timestamp |
| ↳ `pushed_at` | string | Repository last push timestamp |
| ↳ `owner` | object | owner output from the tool |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `node_id` | string | Owner node ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `gravatar_id` | string | Owner gravatar ID |
| ↳ `url` | string | Owner API URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `followers_url` | string | Followers API URL |
| ↳ `following_url` | string | Following API URL |
| ↳ `gists_url` | string | Gists API URL |
| ↳ `starred_url` | string | Starred repositories API URL |
| ↳ `subscriptions_url` | string | Subscriptions API URL |
| ↳ `organizations_url` | string | Organizations API URL |
| ↳ `repos_url` | string | Repositories API URL |
| ↳ `events_url` | string | Events API URL |
| ↳ `received_events_url` | string | Received events API URL |
| ↳ `owner_type` | string | Owner type \(User, Organization\) |
| ↳ `site_admin` | boolean | Whether owner is a site administrator |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Username |
| ↳ `id` | number | User ID |
| ↳ `node_id` | string | User node ID |
| ↳ `avatar_url` | string | Avatar URL |
| ↳ `gravatar_id` | string | Gravatar ID |
| ↳ `url` | string | User API URL |
| ↳ `html_url` | string | Profile URL |
| ↳ `followers_url` | string | Followers API URL |
| ↳ `following_url` | string | Following API URL |
| ↳ `gists_url` | string | Gists API URL |
| ↳ `starred_url` | string | Starred repositories API URL |
| ↳ `subscriptions_url` | string | Subscriptions API URL |
| ↳ `organizations_url` | string | Organizations API URL |
| ↳ `repos_url` | string | Repositories API URL |
| ↳ `events_url` | string | Events API URL |
| ↳ `received_events_url` | string | Received events API URL |
| ↳ `user_type` | string | User type \(User, Bot, Organization\) |
| ↳ `site_admin` | boolean | Whether user is a site administrator |
---
### GitHub Webhook
Trigger workflow from GitHub events like push, pull requests, issues, and more
#### Configuration
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
| `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
| `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ref` | string | Git reference \(e.g., refs/heads/fix/telegram-wh\) |
| `before` | string | SHA of the commit before the push |
| `after` | string | SHA of the commit after the push |
| `created` | boolean | Whether the push created the reference |
| `deleted` | boolean | Whether the push deleted the reference |
| `forced` | boolean | Whether the push was forced |
| `base_ref` | string | Base reference for the push |
| `compare` | string | URL to compare the changes |
| `repository` | object | repository output from the tool |
| ↳ `id` | number | Repository ID |
| ↳ `node_id` | string | Repository node ID |
| ↳ `name` | string | Repository name |
| ↳ `full_name` | string | Repository full name \(owner/repo\) |
| ↳ `private` | boolean | Whether the repository is private |
| ↳ `html_url` | string | Repository HTML URL |
| ↳ `fork` | boolean | Whether the repository is a fork |
| ↳ `url` | string | Repository API URL |
| ↳ `created_at` | number | Repository creation timestamp |
| ↳ `updated_at` | string | Repository last updated time |
| ↳ `pushed_at` | number | Repository last push timestamp |
| ↳ `git_url` | string | Repository git URL |
| ↳ `ssh_url` | string | Repository SSH URL |
| ↳ `clone_url` | string | Repository clone URL |
| ↳ `homepage` | string | Repository homepage URL |
| ↳ `size` | number | Repository size |
| ↳ `stargazers_count` | number | Number of stars |
| ↳ `watchers_count` | number | Number of watchers |
| ↳ `language` | string | Primary programming language |
| ↳ `forks_count` | number | Number of forks |
| ↳ `archived` | boolean | Whether the repository is archived |
| ↳ `disabled` | boolean | Whether the repository is disabled |
| ↳ `open_issues_count` | number | Number of open issues |
| ↳ `topics` | array | Repository topics |
| ↳ `visibility` | string | Repository visibility \(public, private\) |
| ↳ `forks` | number | Number of forks |
| ↳ `open_issues` | number | Number of open issues |
| ↳ `watchers` | number | Number of watchers |
| ↳ `default_branch` | string | Default branch name |
| ↳ `stargazers` | number | Number of stargazers |
| ↳ `master_branch` | string | Master branch name |
| ↳ `owner` | object | owner output from the tool |
| ↳ `name` | string | Owner name |
| ↳ `email` | string | Owner email |
| ↳ `login` | string | Owner username |
| ↳ `id` | number | Owner ID |
| ↳ `node_id` | string | Owner node ID |
| ↳ `avatar_url` | string | Owner avatar URL |
| ↳ `gravatar_id` | string | Owner gravatar ID |
| ↳ `url` | string | Owner API URL |
| ↳ `html_url` | string | Owner profile URL |
| ↳ `user_view_type` | string | User view type |
| ↳ `site_admin` | boolean | Whether the owner is a site admin |
| ↳ `license` | object | Repository license information |
| `pusher` | object | Information about who pushed the changes |
| `sender` | object | sender output from the tool |
| ↳ `login` | string | Sender username |
| ↳ `id` | number | Sender ID |
| ↳ `node_id` | string | Sender node ID |
| ↳ `avatar_url` | string | Sender avatar URL |
| ↳ `gravatar_id` | string | Sender gravatar ID |
| ↳ `url` | string | Sender API URL |
| ↳ `html_url` | string | Sender profile URL |
| ↳ `user_view_type` | string | User view type |
| ↳ `site_admin` | boolean | Whether the sender is a site admin |
| `commits` | array | Array of commit objects |
| `head_commit` | object | Head commit object |
| `event_type` | string | Type of GitHub event \(e.g., push, pull_request, issues\) |
| `action` | string | The action that was performed \(e.g., opened, closed, synchronize\) |
| `branch` | string | Branch name extracted from ref |