# Supported Events WebHooker supports 28 GitHub webhook event types, each with a dedicated formatter that produces rich Discord embeds and Telegram HTML messages — plus `custom` events from signed custom JSON webhooks. Unsupported events fall through to a generic formatter. ## Events Table | Event | Description | Embed Highlights | | ----------------------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------- | | `push` | Code pushed to a branch | Commit list, branch, author, diff stats | | `pull_request` | PR opened/closed/merged/edited | PR title, branch, diff stats, labels | | `issues` | Issue opened/closed/edited | Issue title, labels, assignees | | `issue_comment` | Comment on issue or PR | Comment body, issue reference | | `workflow_run` | CI/CD workflow phase updated | Workflow status, conclusion, duration; phases update a single message in place | | `workflow_job` | CI job phase updated | Job name, status, conclusion, workflow | | `status` | Commit status updated | Commit status, context, state, commit link | | `deployment` | Deployment created | Environment, ref, task | | `deployment_status` | Deployment status updated | Environment, status, commit ref | | `check_run` | Check run phase updated | Status, conclusion, details URL; phases update a single message in place | | `check_suite` | Check suite completed | Suite conclusion, head branch, commit link | | `ping` | Webhook confirmation | Webhook confirmation, event types subscribed | | `release` | Release published/edited | Tag, body, assets, pre-release flag | | `create` | Branch or tag created | Ref name, ref type | | `delete` | Branch or tag deleted | Ref name, ref type | | `star` | Repository starred/unstarred | Star count, action | | `fork` | Repository forked | Source → target fork | | `pull_request_review` | PR review submitted | Review state (approved/changes/commented), body | | `pull_request_review_comment` | Inline code review comment | File path, line number, comment body | | `commit_comment` | Comment on a commit | Commit SHA, comment body | | `member` | Collaborator added/removed | Member login, action | | `label` | Label created/edited/deleted | Label name, color, description | | `milestone` | Milestone opened/closed | Progress bar, issue counts, due date | | `discussion` | Discussion created/answered | Title, category, action | | `discussion_comment` | Comment on discussion | Comment body, discussion reference | | `repository` | Repo renamed/transferred | Old → new name, changes | | `code_scanning_alert` | Code scanning alert | Severity, rule ID, file path | | `dependabot_alert` | Dependabot alert | Severity, package, vulnerable range, fix version | | `custom` | Signed custom JSON webhook | Arbitrary title/description/color/url/author/fields (see [Custom webhooks](../guide/ingress.md#custom-webhooks)) | ## Color Coding Each event type uses a distinct color in the Discord embed (from `server/lib/formatters/colors.ts`): | Color | Events | | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Green (`#2da44e`) | push, PR opened / ready for review, issue opened, workflow success, release published, check success, review approved, deployment success, member added, milestone closed, discussion answered | | Red (`#f85149`) | PR closed, issue closed, workflow failure, release deleted, delete, check failure, review changes requested, deployment failure, member removed, code scanning / dependabot critical & high | | Purple (`#8957e5`) | PR merged, label, discussion | | Blue (`#1f6feb`) | PR (other actions), issue reopened, fork, milestone opened | | Yellow (`#d29922`) | workflow (queued/running/other), release prerelease, star, check (other), deployment pending, code scanning / dependabot medium | | Gray (`#6e7681`) | issue comment, commit comment, discussion comment | | Gray (`#8b949e`) | review commented, repository, code scanning / dependabot low, default | ## Generic Fallback Any event type without a dedicated formatter falls through to the generic formatter, which produces a basic embed with: - Event type as title (plus the action when available) - Actor login (author line) - Repository name in the footer ## In-Place Message Updates `workflow_run` and `check_run` events (queued → running → success/failure) are sent once and then **edited in place** for each subsequent phase instead of posting a new message. The original message's link preview, author, and field layout are preserved; only the status, conclusion emoji, duration, and title are refreshed. Supported on both Discord (`editMessage`) and Telegram (`editMessageText` / `editMessageCaption`). ## Filter Compatibility See the [Filter Tutorial](../guide/filters) for a hands-on guide with worked examples. | Filter | Works With | | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `event` | All events | | `repo` | All events | | `actor` | All events | | `action` | Events with `action` field in payload | | `branch` | push, pull_request, pull_request_review, pull_request_review_comment, create, delete, workflow_run, workflow_job, check_suite, deployment, code_scanning_alert | | `keyword` | All events (searches full payload body) |