AppsPricingBlogTry it
Slack logo
GitHub logo

Connect Slack to GitHub

Use 9 documented Slack triggers to run 24 documented GitHub actions.

9 source triggers
24 target actions
Reverse direction supported

Why Connect Slack & GitHub?

Start with a Slack event

Choose from 9 documented triggers, including New Channel Created (Instant), New Interaction Events (Instant), New Keyword Mention (Instant).

Run a GitHub action

Send the event into one of 24 documented actions, such as Create Issue, Search Issues and Pull Requests, Create Branch.

Map and review the workflow

Choose the fields and conditions for the workflow, then test the result before activation.

Available Triggers & Actions

Slack logo

Slack

Triggers (9)

New Channel Created (Instant)

Emit new event when a new channel is created.

webhook
New Interaction Events (Instant)

Emit new events on new Slack interactivity events sourced from Block Kit interactive elements, Slash commands, or Shortcuts.

webhook
New Keyword Mention (Instant)

Emit new event when a specific keyword is mentioned in a channel

webhook
New Message In Channels (Instant)

Emit new event when a new message is posted to one or more channels

webhook
New Private Channel Created

Emit new event when a new private channel is created. See the documentation

polling
New Reaction Added (Instant)

Emit new event when a member has added an emoji reaction to a message

webhook
New Saved Message (Instant)

Emit new event when a message is saved. Note: The endpoint is marked as deprecated, and Slack might shut this off at some point down the line.

webhook
New User Added (Instant)

Emit new event when a new member joins a workspace.

webhook
New User Mention (Instant)

Emit new event when a username or specific keyword is mentioned in a channel

webhook

Actions (24)

Send Message to Channel

Send a message to a public or private channel. See the documentation

Add Emoji Reaction

Add an emoji reaction to a message. See the documentation

Add Reaction

Add an emoji reaction to a message. Accepts a channel ID or channel name (resolved automatically). Use **Get Channel History** or **Search** to find the message timestamp. Emoji name should be without colons (e.g. thumbsup, fire, heart). See the documentation

Approve Workflow

Suspend the workflow until approved by a Slack message. See the documentation

Archive Channel

Archive a channel. See the documentation

Browse Files

List files shared in a channel or across the workspace. Accepts a channel ID or channel name (resolved automatically). Filter by file type (e.g. images, pdfs, snippets). Returns file metadata including name, type, size, and download URL. See the documentation

Build and Send a Block Kit Message

Configure custom blocks and send to a channel, group, or user. See the documentation.

Create a Channel

Create a new channel. See the documentation

Create Reminder

Create a reminder. See the documentation

Delete File

Delete a file. See the documentation

Delete Message

Delete a message. See the documentation

Edit Message

Edit an existing message. Accepts a channel ID or channel name (resolved automatically). Requires the message timestamp (ts) from **Get Channel History** or **Post Message**. You can only edit messages posted by the same token/user. See the documentation

Find Message

Find a Slack message. See the documentation

Find User by Email

Find a user by matching against their email. See the documentation

Find User by ID

Find a user by their ID. Returns user profile information including name, email (requires users:read.email scope), timezone, and status. See the documentation

Get Channel Details

Retrieve details for a Slack channel by selecting it or providing an ID. See the documentation

Get Channel History

Read the recent message history from a specific channel. Accepts a channel ID or channel name (resolved automatically). Use this when you want to see a channel's latest messages — unlike **Search** which finds messages by keyword. Returns messages with text, timestamps (ts), reactions, and user IDs. Message timestamps can be used with **Get Thread Replies**, **Edit Message**, and **Add Reaction**. See the documentation

Get Current User

Retrieve comprehensive context about the authenticated Slack member, combining auth.test, users.info, users.profile.get, and team.info payloads. Returns the user’s profile (name variants, email, locale, timezone, status, admin flags), raw auth test data, and workspace metadata (domain, enterprise info, icons). Ideal when you need to confirm which user token is active, tailor messages to their locale/timezone, or ground an LLM in the member’s role and workspace before executing other Slack actions. See Slack API docs.

Get File

Return information about a file. See the documentation

Get Thread Replies

Retrieve all replies in a message thread. Accepts a channel ID or channel name (resolved automatically). Use **Get Channel History** or **Search** to find the parent message's timestamp (thread_ts). Returns the parent message followed by all replies in chronological order. See the documentation

Get User Details

Retrieve the authenticated user's identity and workspace context. Returns user ID, name, email, timezone, profile, and workspace metadata. Call this first in any session to establish who you are — other tools like **Search** and **List Channels** can then filter by your user ID. See the documentation

Invite User to Channel

Invite a user to an existing channel. See the documentation

Kick User

Remove a user from a conversation. See the documentation

List Channels

Return a list of all channels in a workspace. See the documentation

GitHub logo

GitHub

Triggers (12)

New Branch Created

Emit new event when a branch is created.

polling
New Card in Column (Classic Projects)

Emit new event when a (classic) project card is created or moved to a specific column. For Projects V2 use New Issue with Status trigger. More information here

polling
New Collaborator

Emit new event when a collaborator is added

polling
New Commit

Emit new event when commits are pushed to a branch

polling
New Commit Comment

Emit new event when a commit comment is created

polling
New Discussion

Emit new event when a discussion is created

polling
New Fork

Emit new event when a repository is forked

polling
New Gist

Emit new events when new gists are created by the authenticated user. See the documentation

polling
New Issue Comment

Emit new event when a new comment is added to an issue or pull request

polling
New Label

Emit new event when a new label is created

polling
New Mention

Emit new event when you are @mentioned in a new commit, comment, issue or pull request. See the documentation

polling
New Notification

Emit new event when the authenticated user receives a new notification. See the documentation

polling

Actions (24)

Create Issue

Create a new issue in a GitHub repo. See the documentation

Search Issues and Pull Requests

Find issues and pull requests by state and keyword. See the documentation

Create Branch

Create a new branch in a GitHub repo. See the documentation

Create Gist

Allows you to add a new gist with one or more files. See the documentation

Create Issue Comment

Create a new comment in a issue. See the documentation

Create or Update File Contents

Create or update a file in a repository. See the documentation

Create Pull Request

Creates a new pull request for a specified repository. See the documentation

Create Repository

Creates a new repository for the authenticated user. See the documentation

Create Workflow Dispatch

Creates a new workflow dispatch event. See the documentation

Disable Workflow

Disables a workflow and sets the **state** of the workflow to **disabled_manually**. See the documentation

Enable Workflow

Enables a workflow and sets the **state** of the workflow to **active**. See the documentation

Get Commit

Get a commit in a GitHub repo. See the documentation

Get Current User

Gather a full snapshot of the authenticated GitHub actor, combining /user, /user/orgs, and /user/teams. Returns profile metadata (login, name, email, company, plan, creation timestamps) and trimmed lists of organizations and teams for quick role awareness. Helpful when you need to validate which user is calling the API, adapt behavior based on their org/team memberships, or provide LLMs with grounding before repository operations. See the documentation.

Get Issue

Get details of an issue in a GitHub repository. See the documentation

Get Issue Assignees

Get assignees for an issue in a GitHub repo. See the documentation

Get Repository Content

Get the content of a file or directory in a specific repository. See the documentation

Get Repository Info

Get information for a specific repository. See the documentation

Get Reviewers

Get reviewers for a PR (see documentation) or Commit SHA (see documentation).

Get Workflow Run

Gets a specific workflow run. See the documentation

List Branches

List branches for a repository using its owner/repo full name (for example, octocat/Hello-World). If you need to discover repository names first, use **List Repositories**. See the documentation

List Commits

List commits in a GitHub repo. See the documentation

List Gist Id Options

Retrieves available options for the Gist Id field.

List Gists for a User

Lists public gists for the specified user. See the documentation

List Organization Options

Retrieves available options for the Organization field.

Integration Features

9 documented Slack triggers
24 documented GitHub actions
Configurable field mapping
Conditional workflow steps
Execution monitoring
A supported GitHub to Slack direction

Capability Examples

Slack trigger → GitHub action

Catalog example
SlackSlack

New Channel Created (Instant)

GitHubGitHub

Create Issue

GitHub trigger → Slack action

Reverse direction
GitHubGitHub

New Branch Created

SlackSlack

Send Message to Channel

How It Works

1

Connect Apps

Authenticate your Slack and GitHub accounts

2

Choose a Trigger

Select a documented Slack event

3

Choose an Action

Select the documented GitHub operation to run

Test and Review

Verify field mapping and provider responses before activation

Frequently Asked Questions

Integration Benefits

Trigger-driven Workflows

Start the supported direction from one of 9 documented Slack triggers.

Automated Actions

Run one of 24 documented GitHub actions after the selected trigger fires.

Provider Authentication

Review the authentication requirements published by each provider before activating the workflow.

Guided Configuration

Select a documented trigger, choose a target action, and map the fields required by the workflow.

Field Mapping

Map the fields exposed by the selected trigger and action, then review the required provider inputs.

Execution Review

Test the workflow and review provider responses before relying on it in production.

GitHub logoSlack logo

Reverse Integration Available

Also connect GitHub to Slack for bidirectional automation

View Integration
Slack logo

All Slack Integrations

Explore all available Slack connections

View All Integrations
GitHub logo

All GitHub Integrations

Explore all available GitHub connections

View All Integrations

Ready to Connect Slack & GitHub?

Build this supported workflow in Mazaal AI and test it with your own provider accounts.

Get Started Free