Trigger Notification Workflows on GitHub Events

Build automated notification sequences for GitHub events. Handle pull requests, issues, releases, and CI/CD with zero code.

Pull Request Review Workflow
{
  "key": "integration.github.pull_request",
  "steps": [
    {
      "if": "payload.action == 'opened'",
      "command": "broadcast",
      "input": {
        "action_url": "{{payload.pull_request.html_url}}",
        "content": "PR #{{payload.pull_request.number}} by {{payload.sender.login}} - {{payload.pull_request.additions}} additions, {{payload.pull_request.deletions}} deletions across {{payload.pull_request.changed_files}} files.",
        "overrides": {
          "providers": {
            "email": {},
            "slack": {}
          }
        },
        "recipients": [
          {
            "external_id": "code-reviewers"
          }
        ],
        "title": "New PR: {{payload.pull_request.title}}"
      }
    }
  ]
}

Trusted by 1,000+ companies

StacksiGitBookPitchEllipsusWinampSifted
GitHub + MagicBell

Why GitHub + MagicBell Workflows

Respond to every GitHub event with the right notification at the right time.

Instant Triggers

Instant Triggers

Workflows execute automatically when GitHub webhooks arrive. No polling, no delays.

Event Data

Event Data Access

Reference any GitHub webhook data in your notifications with liquid templates.

Smart Logic

Smart Logic

Branch workflows based on event type, repository, author, labels, or any metadata.

PR Workflows

PR Workflows

Notify reviewers, track approvals, and alert on merge conflicts automatically.

Multi-Channel

Multi-Channel

Send to in-app, email, Slack, SMS, or push notifications from a single workflow.

Zero Code

Zero Code Setup

Configure workflows via API or dashboard. No backend changes required.

Example Workflows

Real GitHub Workflow Examples

Copy these workflows to handle common GitHub events.

GitHub
pull_request

Github Pull Request Opened Notification to Slack & Email

Notify reviewers when a new pull request is opened. Notify the team lead if the PR has more than 500 lines changed.

{
  "key": "integration.github.pull_request",
  "steps": [
    {
      "if": "payload.action == 'opened'",
      "command": "broadcast",
      "input": {
        "action_url": "{{payload.pull_request.html_url}}",
        "content": "PR #{{payload.pull_request.number}} by {{payload.sender.login}} - {{payload.pull_request.additions}} additions, {{payload.pull_request.deletions}} deletions across {{payload.pull_request.changed_files}} files.",
        "overrides": {
          "providers": {
            "email": {},
            "slack": {}
          }
        },
        "recipients": [
          {
            "external_id": "code-reviewers"
          }
        ],
        "title": "New PR: {{payload.pull_request.title}}"
      }
    }
  ]
}
View event details and payload
GitHub
issues

Github Issues Opened Notification to Slack & Email

Notify the team on Slack when a new issue is opened. Include issue details and a link to triage quickly.

{
  "key": "integration.github.issues",
  "steps": [
    {
      "if": "payload.action == 'opened'",
      "command": "broadcast",
      "input": {
        "action_url": "{{payload.issue.html_url}}",
        "content": "Issue #{{payload.issue.number}} opened by {{payload.sender.login}} in {{payload.repository.full_name}}.",
        "overrides": {
          "providers": {
            "slack": {}
          }
        },
        "recipients": [
          {
            "external_id": "engineering-team"
          }
        ],
        "title": "New issue: {{payload.issue.title}}"
      }
    }
  ]
}
View event details and payload
GitHub
release

Github Release Published Notification to Slack & Email

Announce new releases to the team and stakeholders. Notify via Slack and email with release notes.

{
  "key": "integration.github.release",
  "steps": [
    {
      "if": "payload.action == 'published'",
      "command": "broadcast",
      "input": {
        "action_url": "{{payload.release.html_url}}",
        "content": "{{payload.repository.full_name}} {{payload.release.tag_name}} has been published by {{payload.sender.login}}.",
        "overrides": {
          "providers": {
            "email": {},
            "slack": {}
          }
        },
        "recipients": [
          {
            "external_id": "all-team"
          }
        ],
        "title": "Release {{payload.release.tag_name}}: {{payload.release.name}}"
      }
    }
  ]
}
View event details and payload
GitHub
check_run

Github Check Run Completed Notification to Slack & Email

Notify developers when CI checks fail. Send via Slack with details about the failure.

{
  "key": "integration.github.check_run",
  "steps": [
    {
      "if": "payload.action == 'completed' \u0026\u0026 payload.check_run.conclusion == 'failure'",
      "command": "broadcast",
      "input": {
        "action_url": "{{payload.check_run.html_url}}",
        "content": "Check run failed on {{payload.check_run.check_suite.head_branch}} in {{payload.repository.full_name}}. {{payload.check_run.output.summary}}",
        "overrides": {
          "providers": {
            "slack": {}
          }
        },
        "recipients": [
          {
            "external_id": "engineering-team"
          }
        ],
        "title": "CI Failed: {{payload.check_run.name}}"
      }
    }
  ]
}
View event details and payload
Setup

Connect GitHub to MagicBell

Forward GitHub webhooks to MagicBell to automatically trigger workflows.

How It Works

1.
Create workflows in MagicBell with GitHub event keys
integration.github.pull_request.opened
2.
Configure GitHub webhook endpoint
https://api.magicbell.com/v2/integrations/github/webhooks/incoming/YOUR_ID
3.
Select which events to forward
Issues, Pull requests, Pushes, Releases, and more
4.
Workflows execute automatically when events arrive
Event data available as {{data.*}} variables
Create GitHub Webhook
# 1. Save your GitHub webhook signing secret in MagicBell
magicbell integration save_github \
  --data '{"webhook_signing_secret":"your_secret_here"}'

# 2. Use the returned ID to build your webhook URL
# https://api.magicbell.com/v2/integrations/github/webhooks/incoming/{id}
All Events

Browse Event Examples

View sample payloads and workflow configurations for 66 GitHub events.

💡
Event Naming Convention

To create a workflow for any GitHub event, use the key pattern: integration.github.{event_type}. GitHub sends the event type in the webhook header and the action in the payload body. Use an if condition to filter by action.

branch_protection_rule

Notify security team when branch protection rules are modified.

check_run

Notify developers when CI checks fail. Send via Slack with details about the failure.

check_suite

Notify when all CI checks complete for a branch.

code_scanning_alert

Notify security team when CodeQL finds vulnerabilities in code.

commit_comment

Notify commit authors when someone comments on their commits.

content_reference

Handle external content references via domain allowlists.

create

Track branch and tag creation. Notify team about new feature branches or release tags.

delete

Track branch and tag deletion. Monitor cleanup of merged branches.

dependabot_alert

Notify security team when Dependabot detects a vulnerability.

deploy_key

Notify when deploy keys are added to repositories for security awareness.

deployment

Notify team when a deployment is initiated. Track production deployments.

deployment_protection_rule

Notify approvers when deployment protection rules require approval.

deployment_status

Track deployment status changes. Notify team on deployment success or failure.

discussion_comment

Notify discussion authors when someone comments on their discussion.

discussion

Notify maintainers when new discussions are created. Keep the team informed about community feedback.

fork

Track when your repository is forked. Notify maintainers about growing community interest.

github_app_authorization

Track when users revoke GitHub App authorization.

gollum

Track wiki page updates and notify documentation team.

installation

Track when GitHub Apps are installed in your organization.

installation_repositories

Track when repositories are added to GitHub App installations.

installation_target

Track when installation target accounts are renamed.

issue_comment

Notify issue authors when someone comments on their issue.

issues

Notify the team on Slack when a new issue is opened. Include issue details and a link to triage quickly.

label

Track label creation for repository organization.

marketplace_purchase

Track GitHub Marketplace purchases for your app.

member

Notify team when a new collaborator is added to a repository.

membership

Notify team members when new people join their team.

merge_group

Track merge queue activity and CI checks for queued PRs.

meta

Notify when webhooks are deleted from repositories.

milestone

Announce new milestones to the team for project planning.

org_block

Track when users are blocked from the organization.

organization_member

Welcome new organization members and notify admins.

package

Announce new package versions to the team.

page_build

Track GitHub Pages build status.

personal_access_token_request

Notify admins when fine-grained personal access tokens require approval.

ping

Verify webhook configuration is working correctly.

project_card

Track when cards are added to project boards.

project_column

Track when columns are added to project boards.

project

Notify team when new project boards are created.

projects_v2

Notify when new GitHub Projects are created.

projects_v2_item

Track when items are added to GitHub Projects.

public

Notify when repositories are made public (important for security review).

pull_request

Notify team when pull requests are merged or closed.

pull_request

Notify reviewers when a new pull request is opened. Notify the team lead if the PR has more than 500 lines changed.

pull_request_review_comment

Notify PR authors when reviewers leave line comments.

pull_request_review

Notify PR authors when their pull request is reviewed.

pull_request_review_thread

Notify PR authors when review threads are resolved.

pull_request_target

Handle pull requests from forks that trigger workflows in the target repository.

push

Notify the team when code is pushed to the main branch. Include commit details and a link to the comparison.

release

Announce new releases to the team and stakeholders. Notify via Slack and email with release notes.

repository

Announce new repositories to the organization.

repository_dispatch

Track custom webhook events triggered via repository dispatch.

repository_import

Notify when repository imports complete.

repository_vulnerability_alert

Notify when vulnerability alerts are created for repository dependencies.

secret_scanning_alert

Urgent notification when secrets are detected in the repository.

security_advisory

Notify security team when new security advisories are published.

security_and_analysis

Track when security features are enabled or disabled on repositories.

star

Celebrate new repository stars. Send a notification when someone stars your project.

status

Track commit status updates from external CI/CD systems.

team_add

Notify when team repository access is modified.

team

Notify organization admins when new teams are created.

user

Track user profile changes (useful for enterprise GitHub apps).

watch

Track when users start watching your repository.

workflow_dispatch

Notify when workflows are manually triggered.

workflow_job

Notify when a workflow job starts queueing. Track CI/CD pipeline progress.

workflow_run

Notify when GitHub Actions workflows complete. Notify the team on deployment success or failure.

Explore More Workflows

Learn about workflow fundamentals, commands, and integrations with other platforms.

Stripe logo

Stripe

Payment and subscription workflows

View All Workflows
Resources

GitHub Workflow Resources

Learn more about GitHub webhooks and integrations for your workflow automation.