Sync Team Membership Between Slack and GitHub

When your team decides to add someone in Slack, Notis updates GitHub team membership immediately. No manual sync.

Trigger

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

GitHub logo

Action

Add or update team membership for a user

Adds a github user to a team or updates their role (member or maintainer), inviting them to the organization if not already a member; idempotent, returning current details if no change is made.

Why this helps

You discuss reorganizing teams or promoting someone in Slack, then forget to update their GitHub team membership. They don't have the access they need, and it takes a few days to notice.

  • Team changes happen instantly across both platforms
  • No more delayed access issues from forgotten steps
  • Your GitHub team structure reflects real organizational decisions made in Slack

Setup

Build it in a few focused steps.

  • 1Connect Slack and GitHub to Notis.
  • 2Create an automation: 'When we discuss adding someone to a GitHub team in Slack, add them with the role we mention (member or maintainer).'
  • 3Specify which Slack channels can trigger team membership changes.
  • 4Choose your Notis notification channel for confirmations.
  • 5Test by discussing adding a real person to a team in Slack.

Questions about this workflow

Can I add someone as a maintainer vs just a member?

Yes. Just say 'add Jane as a maintainer' or 'add Bob as a member' in your Slack message.

What if the GitHub username isn't obvious from context?

Notis asks for clarification in your Notis channel before making the change.

Can I remove people from teams the same way?

Yes. Use the same workflow for removal—just say 'remove' instead of 'add.'

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to GitHub. A trigger fires from one place; an action lands in another.

Slack logo

Slack triggers

GitHub logo

GitHub actions

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Accept a repository invitation

Accepts a pending repository invitation that has been issued to the authenticated user.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

List repositories starred by the authenticated user

Deprecated: lists repositories starred by the authenticated user, including star creation timestamps; use 'list repositories starred by the authenticated user' instead.

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

List stargazers

Deprecated: lists users who have starred a repository; use `list stargazers` instead.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Star a repository for the authenticated user

Deprecated: stars a repository for the authenticated user; use `star a repository for the authenticated user` instead.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Add email for auth user

Adds one or more email addresses (which will be initially unverified) to the authenticated user's github account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

Add app access restrictions

Replaces github app access restrictions for an existing protected branch; requires a json array of app slugs in the request body, where apps must be installed and have 'contents' write permissions.

ActionInstant

Reaction Removed Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.

TriggerInstant

Add a repository collaborator

Adds a github user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.

ActionInstant

New Bot Message Received Trigger

DEPRECATED: use `SLACK_CHANNEL_MESSAGE_RECEIVED` with `is_bot_message=true` instead. Triggered when a new bot message is posted to a Slack channel.

TriggerInstant

Add a repository to an app installation

Adds a repository to a github app installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Slack and GitHub. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business GitHub.