Build an app

Last updated 7 October 2026

An app is software, run by you, that works with other companies’ Intercom Chat workspaces. A workspace administrator installs it, approves what it may do, and chooses the channels it can use. It then posts and reads through a small API, with a token that works for that one workspace and nothing else. Approved apps can be listed in the public marketplace.

For your own tools posting into one channel, you do not need this: use an app under Admin, then Apps, which gives you a secret web address. See the developer overview.

What an installed app can and cannot do

1. Register your app

  1. Sign in to any Intercom Chat workspace you own or administer (a free one is fine) and open Admin, then Developer.
  2. Fill in the details and choose the most your app may ask for. Ask for as little as you need.
  3. Give at least one redirect address. It must start with https:// (or http://localhost for testing) and is matched exactly.
  4. Copy your client secret when it is shown. It is shown once; we keep only a fingerprint. Keep it on your server, never in a web page or a phone app.

A new app is a draft: only your own workspace can install it, which is how you test it.

Permissions (scopes)

ScopeWhat it allows
channels:readSee the channels it has been added to
messages:readRead the messages in those channels
messages:writePost messages in those channels, under its own name
users:readSee the names and job titles of people (never email addresses)

2. Send the administrator to approve it

Send the person’s browser to their workspace, using the address they give you (for example acme for acme.intercomchat.com):

https://WORKSPACE.intercomchat.com/apps/authorize
  ?client_id=YOUR_CLIENT_ID
  &redirect_uri=https%3A%2F%2Fyourapp.example.com%2Fcallback
  &response_type=code
  &scope=channels%3Aread%20messages%3Awrite
  &state=A_RANDOM_VALUE_YOU_CHECK_LATER
  &code_challenge=...&code_challenge_method=S256

The administrator sees who you are and what you ask for, picks the channels, and approves. Their browser is then sent to your redirect address with code and your state. If they cancel, it is sent with error=access_denied.

3. Swap the code for a token

From your server, within 5 minutes. A code works once.

curl -X POST https://intercomchat.com/api/oauth/token \
  -d grant_type=authorization_code \
  -d code=THE_CODE \
  -d redirect_uri=https://yourapp.example.com/callback \
  -d client_id=YOUR_CLIENT_ID \
  -d client_secret=YOUR_CLIENT_SECRET \
  -d code_verifier=YOUR_PKCE_VERIFIER

You get:

{
  "access_token": "icat_…",
  "token_type": "bearer",
  "scope": "channels:read messages:write",
  "workspace": { "id": "…", "subdomain": "acme" }
}

Store the token like a password. Installing the app again in the same workspace replaces its token. Using a code a second time revokes what the first use created. You may also send the client id and secret as HTTP Basic credentials instead of in the body.

4. Use the API

Send Authorization: Bearer icat_… to https://intercomchat.com/api/app/v1. Everything is JSON.

CallNeedsWhat it does
GET /me—The app, the workspace and the permissions granted. A good first call.
GET /channelschannels:readThe channels the app was added to.
GET /channels/{id}/messagesmessages:readMessages, oldest first. limit (up to 200) and before (ISO time; use nextBefore from the last page).
POST /channels/{id}/messagesmessages:writePost { "text": "…" } (up to 4,000 characters) under the app’s name.
GET /usersusers:readNames and job titles of members. Never email addresses.
curl -X POST https://intercomchat.com/api/app/v1/channels/CHANNEL_ID/messages \
  -H "Authorization: Bearer icat_…" -H "Content-Type: application/json" \
  -d '{ "text": "Deploy finished" }'

Errors and limits

An administrator can change an app’s channels, or remove it, at any time. Removing it makes its token stop working at once. Your app should expect this and handle 401 by treating that workspace as uninstalled.

Getting listed in the marketplace

When your app works, choose Submit for review on its page. You need a summary, a description, your name as shown publicly, a website, a support email and a privacy policy address. We look at what the app asks for against what it says it does. Apps are approved when:

Changing an approved app’s redirect addresses or permissions sends it back for review (other edits do not). We may suspend an app that breaks these rules; installed copies then stop working until it is restored. Installed apps from other developers are theirs, not ours: their own terms and privacy policy apply.

Questions

support@intercomchat.com.

Xypno Business Solutions Ltd. Questions? Email support@intercomchat.com.