AsyncAPI description of Intercom's outbound webhook surface. Intercom delivers workspace events to a single subscriber URL configured per app under the Developer Hub > Webhooks settings. Each delivery is a single HTTP POST whose JSON body is a notification envelope of `type: notification_event`. The `topic` field on the envelope identifies the event class (for example `conversation.user.created`, `contact.user.updated`, `company.created`, `ping`). Source documentation: - Webhook models reference: https://developers.intercom.com/docs/references/2.13/webhooks/webhook-models - Webhook topics reference: https://developers.intercom.com/docs/references/2.13/webhooks/webhook-topics - Build a webhook integration: https://developers.intercom.com/docs/build-an-integration/learn-more/webhooks/ Security and signing: Intercom signs every outbound webhook request with the HMAC-SHA1 `X-Hub-Signature` header (RFC 2104). The signature is computed over the raw JSON request body using the Intercom app's `client_secret` as the shared key, and is delivered as the literal string `sha1=` followed by the 40-character hex-encoded digest. Subscribers should recompute the digest with constant-time comparison to verify authenticity. Intercom also sets `User-Agent: intercom-parrot-service-client/1.0`.
View SpecView on GitHubArtificial IntelligenceCustomer ServiceCustomer-SupportMessagingAsyncAPIEventsWebhooks
Channels
/intercom/webhook
publishreceiveIntercomNotification
Receive an Intercom notification_event
Single subscriber endpoint that receives every Intercom notification event the app is subscribed to. The `topic` field on the JSON envelope identifies the event class. Intercom sends one notification per HTTP POST and expects a 2xx response; non-2xx responses are retried with exponential backoff until `delivery_attempts` is exhausted.
Messages
✉
Ping
ping
Sent when an admin manually pings the subscription or Intercom periodically validates it.
✉
AdminAddedToWorkspace
admin.added_to_workspace
A new admin (teammate) joined the workspace.
✉
AdminAwayModeUpdated
admin.away_mode_updated
An admin toggled away mode or updated their reassignment setting.
✉
AdminActivityLogEventCreated
admin.activity_log_event.created
An admin activity log entry was created.
✉
AdminRemovedFromWorkspace
admin.removed_from_workspace
An admin (teammate) was removed from the workspace.
✉
AdminLoggedIn
admin.logged_in
An admin signed in to the workspace.
✉
AdminLoggedOut
admin.logged_out
An admin signed out of the workspace.
✉
ArticleCreated
article.created
A help center article was created.
✉
ArticleUpdated
article.updated
A help center article was updated.
✉
ArticlePublished
article.published
A help center article was published.
✉
ArticleUnpublished
article.unpublished
A help center article was unpublished.
✉
ArticleDeleted
article.deleted
A help center article was deleted.
✉
CompanyCreated
company.created
A new company was created in the workspace.
✉
CompanyUpdated
company.updated
A company's attributes were updated.
✉
CompanyDeleted
company.deleted
A company was deleted.
✉
CompanyContactAttached
company.contact.attached
A contact was attached to a company.
✉
CompanyContactDetached
company.contact.detached
A contact was detached from a company.
✉
ContactArchived
contact.archived
A contact was archived.
✉
ContactDeleted
contact.deleted
A contact was deleted.
✉
ContactEmailUpdated
contact.email.updated
A contact's email address was changed.
✉
ContactLeadAddedEmail
contact.lead.added_email
A lead added an email address (without converting to a user).
✉
ContactLeadCreated
contact.lead.created
A new lead contact was created.
✉
ContactLeadSignedUp
contact.lead.signed_up
A lead converted into a user by signing up.
✉
ContactLeadTagCreated
contact.lead.tag.created
A tag was applied to a lead contact.
✉
ContactLeadTagDeleted
contact.lead.tag.deleted
A tag was removed from a lead contact.
✉
ContactLeadUpdated
contact.lead.updated
A lead's attributes were updated.
✉
ContactMerged
contact.merged
Two contacts were merged.
✉
ContactSubscribed
contact.subscribed
A contact opted in to messaging.
✉
ContactUnarchive
contact.unarchive
A previously archived contact was restored.
✉
ContactUnsubscribed
contact.unsubscribed
A contact opted out of messaging.
✉
ContactUserCreated
contact.user.created
A new user contact was created.
✉
ContactUserTagCreated
contact.user.tag.created
A tag was applied to a user contact.
✉
ContactUserTagDeleted
contact.user.tag.deleted
A tag was removed from a user contact.
✉
ContactUserUpdated
contact.user.updated
A user contact's attributes were updated.
✉
ConversationAdminAssigned
conversation.admin.assigned
An admin or team was assigned to a conversation.
✉
ConversationAdminClosed
conversation.admin.closed
An admin closed a conversation.
✉
ConversationAdminNoted
conversation.admin.noted
An admin added a private note to a conversation.
✉
ConversationAdminOpenAssigned
conversation.admin.open.assigned
An admin reopened and reassigned a conversation in a single action.
✉
ConversationAdminOpened
conversation.admin.opened
An admin reopened a closed conversation.
✉
ConversationAdminReplied
conversation.admin.replied
An admin posted a reply on a conversation.
✉
ConversationAdminSingleCreated
conversation.admin.single.created
An admin started a one-to-one conversation with a contact.
✉
ConversationAdminSnoozed
conversation.admin.snoozed
An admin snoozed a conversation.
✉
ConversationAdminUnsnoozed
conversation.admin.unsnoozed
A snoozed conversation woke up or was manually unsnoozed.
✉
ConversationDeleted
conversation.deleted
A conversation was deleted.
✉
ConversationPartRedacted
conversation_part.redacted
A conversation part was redacted.
✉
ConversationPartTagCreated
conversation_part.tag.created
A tag was applied to a conversation part.
✉
ConversationPriorityUpdated
conversation.priority.updated
A conversation's priority flag changed.
✉
ConversationRatingAdded
conversation.rating.added
A conversation rating was submitted by a contact.
✉
ConversationRead
conversation.read
A conversation was marked as read.
✉
ConversationUserCreated
conversation.user.created
A contact (user or lead) started a new conversation.
✉
ConversationUserReplied
conversation.user.replied
A contact replied on an existing conversation.
✉
ConversationContactAttached
conversation.contact.attached
A contact was attached as a participant on a conversation.
✉
ConversationContactDetached
conversation.contact.detached
A contact was detached from a conversation.
✉
EventCreated
event.created
A data event was tracked against a contact.
✉
TicketCreated
ticket.created
A ticket was created.
✉
TicketStateUpdated
ticket.state.updated
A ticket's state changed.
✉
TicketNoteCreated
ticket.note.created
A private note was added to a ticket.
✉
TicketAdminAssigned
ticket.admin.assigned
A ticket was assigned to an admin.
✉
TicketTeamAssigned
ticket.team.assigned
A ticket was assigned to a team.
✉
TicketContactAttached
ticket.contact.attached
A contact was attached to a ticket.
✉
TicketContactDetached
ticket.contact.detached
A contact was detached from a ticket.
✉
TicketAttributeUpdated
ticket.attribute.updated
A custom or system ticket attribute was updated.
✉
TicketAdminReplied
ticket.admin.replied
An admin replied on a ticket.
✉
TicketContactReplied
ticket.contact.replied
A contact replied on a ticket.
✉
TicketClosed
ticket.closed
A ticket was closed.
✉
TicketRatingProvided
ticket.rating.provided
A rating was submitted on a ticket.
✉
GranularSubscribe
granular.subscribe
A contact opted in to a granular subscription type.
✉
GranularUnsubscribe
granular.unsubscribe
A contact opted out of a granular subscription type.
✉
VisitorSignedUp
visitor.signed_up
An anonymous visitor signed up and became an identified user.
✉
ContentStatBanner
content_stat.banner
A delivery or engagement stat fired for a banner.
✉
ContentStatCarousel
content_stat.carousel
A delivery or engagement stat fired for a carousel.
✉
ContentStatChat
content_stat.chat
A delivery or engagement stat fired for a chat message.
✉
ContentStatChecklist
content_stat.checklist
A delivery or engagement stat fired for a checklist.
✉
ContentStatCustomBot
content_stat.custom_bot
A delivery or engagement stat fired for a custom bot.
✉
ContentStatEmail
content_stat.email
A delivery or engagement stat fired for an email.
✉
ContentStatNewsItem
content_stat.news_item
A delivery or engagement stat fired for a news item.
✉
ContentStatPost
content_stat.post
A delivery or engagement stat fired for a post.
✉
ContentStatPush
content_stat.push
A delivery or engagement stat fired for a push notification.
✉
ContentStatSeries
content_stat.series
A delivery or engagement stat fired for a series.
✉
ContentStatSeriesWebhook
content_stat.series.webhook
A webhook step inside a series fired.
✉
ContentStatSms
content_stat.sms
A delivery or engagement stat fired for an SMS message.
✉
ContentStatSurvey
content_stat.survey
A delivery or engagement stat fired for a survey.
✉
ContentStatTooltipGroup
content_stat.tooltip_group
A delivery or engagement stat fired for a tooltip group.
✉
ContentStatTour
content_stat.tour
A delivery or engagement stat fired for a product tour.
Servers
https
subscriber{webhookUrl}
Customer-hosted HTTPS endpoint that receives webhook POSTs from Intercom. The full URL is configured per app on the Developer Hub Webhooks page.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.