Auto-Enforce Access Restrictions on Contact Changes

When a contact leaves or changes roles, you shouldn't have to manually revoke GitHub access. Notis updates access restrictions immediately so departing team members can't linger in your repositories.

Trigger

Contact Updated

Triggers when an existing Salesforce Contact record is modified. Emits changed fields alongside relevant timestamps.

GitHub logo

Action

Add user access restrictions

Sets/replaces list of users allowed to push to a protected branch; usernames (e.g., `["user1"]`) must be a json array in request body (not schema parameters), an empty array `[]` removes all restrictions.

Why this helps

Offboarding is chaotic—people leave Salesforce but keep GitHub access, creating security and audit risks.

  • Departing contacts lose access automatically without manual revocation
  • Reduces security risk from orphaned access
  • Keeps audit trails clean and compliant
  • Eliminates forgotten access revocation steps

Setup

Build it in a few focused steps.

  • 1Connect Salesforce and GitHub to Notis
  • 2Ask Notis: 'When a contact record is updated or marked inactive, remove their push access from our GitHub repositories'
  • 3Specify which repositories to protect and which access level to restrict
  • 4Choose your notification channel for confirmation
  • 5Test by marking a test contact as inactive in Salesforce and verify access restrictions appear in GitHub

Questions about this workflow

What happens to their past commits and code?

Removing push access doesn't delete their commits—GitHub keeps the history. They just can't push new changes.

Can I keep them as read-only instead of fully removing access?

Yes. Ask Notis to 'restrict to read-only' instead of removing access completely.

What if they're reactivated?

Ask Notis to create a complementary automation that restores access when a contact is marked active again.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Salesforce logo

Salesforce triggers

GitHub logo

GitHub actions

Account Created or Updated

Triggers when an Account is created or updated in Salesforce. Uses LastModifiedDate high-watermark to capture both creations and updates.

TriggerPolling

Accept a repository invitation

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

ActionInstant

Contact Updated

Triggers when an existing Salesforce Contact record is modified. Emits changed fields alongside relevant timestamps.

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

Record Updated (Generic SObject)

Triggers when monitored fields change on any Salesforce SObject. You specify the SObject type and which field values should be returned in the payload. The trigger uses SystemModstamp to detect changes regardless of which specific field changed.

TriggerPolling

List stargazers

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

ActionInstant

New Contact Trigger

Triggers when a new Contact is Created in Salesforce.

TriggerPolling

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

New Lead Trigger

Triggers when a new Lead is created in Salesforce.

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

New or Updated Opportunity

Triggers when a Salesforce Opportunity is created or updated.

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

Task Created or Completed

Triggers when a Task is created or when its status changes to Completed in Salesforce. Supports optional filtering by task Status or Subject.

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 Salesforce 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.