Skip to content
Notis

Assign a GitHub organization role to a user from an incoming webhook

Someone changes roles, and their GitHub access stays stuck in their old one for weeks. When your HR tool or backend sends Notis a webhook, Notis assigns the right organization role to the user, so their access matches their responsibilities the day it changes.

Trigger

Webhook received

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

Action

Assign an organization role to a user

Assigns a specific organization role to a user who is a member or an outside collaborator in a github organization, using a valid role id.

Why this helps

Role changes rarely propagate to GitHub on time, leaving people over-permissioned, under-permissioned, or waiting on a manual grant.

  • Access matches the role change the day it happens.
  • Your existing HR system can drive GitHub permissions.
  • No more manual role grants trailing behind promotions.

Setup

Build it in a few focused steps.

  • 1Connect GitHub to Notis once in the portal.
  • 2Tell Notis: When my HR tool sends a webhook, assign the named organization role to the user it specifies.
  • 3Pick the incoming webhook trigger and add the URL Notis gives you to your HR system.
  • 4Choose a channel where Notis confirms the role assignment.
  • 5Send a test webhook and verify the role is assigned.

Questions about this workflow

Who can receive a role?

A user who is a member or an outside collaborator in the organization, using a valid role id.

What sends the webhook?

Any tool or backend you control that can make an HTTP request to the Notis webhook URL.

Can I revoke roles the same way?

You can pair this with a separate automation for role removal.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Google Calendar triggers

GitHub actions

Attendee Response Changed

Polling trigger that fires when any attendee's RSVP changes to accepted, declined, or tentative. Returns attendee info and current status.

TriggerPolling

Accept a repository invitation

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

ActionInstant

Event Canceled or Deleted

Triggers when a Google Calendar event is cancelled or deleted. Returns minimal data: event_id, summary (if available), and cancellation timestamp.

TriggerPolling

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

Event Starting Soon

Triggers when a calendar event is within a configured number of minutes from starting. Returns event details, time remaining, attendees, and join links when available.

TriggerPolling

List stargazers

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

ActionInstant

Calendar Event Changes

**SOON TO BE DEPRECATED** - Use Calendar Event Sync (polling trigger) instead. Real-time webhook trigger for calendar event changes. Returns event metadata only. For full event data, use Calendar Event Sync (polling trigger).

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

Event Created

Polling trigger that fires when a new calendar event is created. Returns event ID, summary, start/end times, and organizer info.

TriggerPolling

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

Calendar Event Sync

Polling trigger that returns full event data including details, attendees, and metadata. For real-time notifications with basic info, use Calendar Event Changes (webhook).

TriggerPolling

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

Event Updated

Triggers when an existing Google Calendar event is modified. Returns the event ID, change type, and the specific fields that changed with their previous and new values.

TriggerPolling

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

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 Google Calendar and GitHub. Any combination from 1,000+ 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.