OAuth Scopes

When you configure OAuth you will need to define the OAuth scopes, and these will be reviewed when you submit your app for approval. This guide will help you understand what OAuth scopes are, which ones are available, and how to choose them.

What are OAuth scopes?

OAuth scopes, or permissions, let you specify exactly what types of data your app can access within an Intercom workspace and actions that it can take with the workspace's data.

You select OAuth scopes when you are configuring OAuth in your Developer Hub.

OAuth Scopes Settings in the Developer Hub

Why are OAuth scopes important?

OAuth scopes are important because they define the level of access your app has to specific pieces of customer data. For the security of our customers, Intercom ensures that public apps only access resources necessary to the functionality of the app.

It's important that you only specify the scopes you need to satisfy your use case and no more.

Over-privileged scopes are the most common reason that apps are initially rejected in the approval process.

It's also important to note that if you are using Canvas Kit for Messenger or Inbox apps, certain OAuth scopes are required by default.

Canvas Kit required scopes

If your app utilizes Canvas Kit, certain permissions are required by default due to the data your app will have access to. The following scopes will be automatically selected and cannot be deselected:

  • Read and list users and companies
  • Read conversations
  • Read admins
  • Gather App data

Available OAuth scopes

The following scopes can be selected via checkboxes on your Authorization settings page in the Developer Hub:

People & conversation data

Standard scopesDescription
Read and list users and companiesList and view all segments, users and companies
Read and write usersList all users and execute bulk actions
Write users and companiesCreate and update users and companies
Read one user and one companyList and view a single user and company
Read tagsList all tags
Write tagsCreate, update, use and delete tags
Read conversationsView conversations
Write conversationsReply to, mark as read and close conversations
Read eventsList all events belonging to a user
Write eventsAbility to submit events (i.e. user activity)
Read countsCount users and companies with specified criteria
Write data attributesCreate and update custom data attributes
Export message dataExport engagement data for messages
Export content dataExport engagement data for content
Read content dataCreate and update custom data attributes
Read ticketsView tickets
Write ticketsCreate tickets

Workspace data

Extended scopesDescription
Read adminsList and view all admins
Read one adminView a single admin
Update adminsUpdate away mode for admins
Read admin activity logsList and view all admins and their activity
Read data when entered into the appGather data via Intercom Apps
Read and List news items and newsfeedsList and view all News items and Newsfeeds
Read and Write news items and newsfeedsRead, Update and Create news items and newsfeeds
Read and List articlesList and view all articles
Read and Write ArticlesRead, Update and Create articles
Create phone call redirectsCreate phone call redirects

Webhook topics and OAuth scopes

Webhook topics are related to corresponding OAuth permission scopes.

For example, if you need to setup a webook to trigger when a user/lead is created then you will need to select the "Read and write users" permission scopes.

You will then be able to setup the webhook topics for your app which will fire for each workspace it is installed on.

See the guide on setting up webhooks for more information on how to enable webhooks for your app.