Webhooks are a powerful resource that you can use to automate your use cases and improve your productivity. You can find more about them through this link if you're unfamiliar.
Unlike the API resources, which represent static data that you can create, update and retrieve as needed, webhooks represent dynamic resources. You can configure them to automatically notify you when a customer has taken a particular action, such as making a purchase or replying to a conversation.
The main concepts of Intercom Webhooks are subscriptions, topics and notifications.
A subscription is where you select a topic you wanted to be notified about. Intercom will setup subscriptions for selected topics when that app is installed on a workspace.
A subscription will contain one or more topics. Topics are types of notifications that you want to be informed about.
The object delivered to a webhook is a notification. Notifications have payloads, which contain the API’s existing JSON objects, such as user or conversations. You will need to provide a URL where Intercom will send these request.
Webhooks are associated with an app. You configure your webhooks per app just like you configure your access tokens. When you configure a webhook you tell Intercom where you want notifications to be sent to for one or more webhook topics.
You don't enable webhooks, Intercom will enable them for you when you install an app on a workspace.
You will need to select the permissions on the Authorization page of your app and then subscribe to the relevant topics on the Webhooks page.
No, you can only subscribe to webhooks now via your Developer Hub. This is to make it easier for people to setup webhooks. Previously people had to keep track of all their webhooks and know when to subscribe and unsubscribe from them as needed. Intercom does this for you now so it should be easier to configure.
Yes, anyone that has previously used webhooks can continue to work in the same way. Intercom will not delete your webhooks or reconfigure them in anyway. We hope that you will start using the new approach from now on since it is much easier to manage.
If I need to whitelist IP addresses to accept inbound webhook requests from Intercom, which are they?
These are as follows: