Keep Repository Permissions Synced with Contact Changes

When a contact's role or team assignment shifts in Salesforce, Notis updates their GitHub repository permissions immediately. No more hunting through GitHub to remember who has what access.

Trigger

Contact Updated

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

GitHub logo

Action

Add or update team repository permissions

Sets or updates a team's permission level for a repository within an organization; the team must be a member of the organization.

Why this helps

Losing track of who should have GitHub access after contact role changes, causing security gaps or overprovisioned permissions.

  • Permission changes reflect immediately across your GitHub repos
  • Role changes in Salesforce automatically cascade to GitHub
  • Eliminates manual permission audits and corrections
  • Reduces risk of orphaned or overly broad access

Setup

Build it in a few focused steps.

  • 1Connect Salesforce and GitHub to Notis (done once for all automations)
  • 2Ask Notis: 'When a contact is updated in Salesforce, update their repository permissions in GitHub to match their new role'
  • 3Select the repository and define permission levels (e.g., read/write/admin based on role name)
  • 4Choose your notification channel so you see permission change confirmations
  • 5Test by changing a test contact's role in Salesforce and verify the GitHub permission updates

Questions about this workflow

What if a contact is updated but their role didn't actually change?

Notis will still send the update, but GitHub will recognize the permission level is already correct and make no change.

Can this handle multiple repositories?

Yes, you can set this up across your entire GitHub organization, or target specific repos.

What happens if a contact is deleted in Salesforce?

This workflow handles updates only. For deletion workflows, you can ask Notis to create a separate automation that removes access when a contact record is closed.

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.