> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Intercom Webhook Setup Guide

> Configure Intercom to deliver events to StackOne.

## Prerequisites

Before continuing, you should have already completed the following for this connector:

<Steps>
  <Step title="Configure the Connector">
    Enable the connector and set up its connector profile in your project. See <a href="/guides/explore-connectors">Managing Connectors</a>.

    <Columns cols={2}>
      <Card title="Connector Profile" href="/connectors/intercom/guides/connector-profile/oauth-2-0" icon="https://stackone-logos.com/api/intercom/filled/png" horizontal>
        Intercom - OAuth 2.0
      </Card>

      <Card title="Connector Profile" href="/connectors/intercom/guides/connector-profile/access-token" icon="https://stackone-logos.com/api/intercom/filled/png" horizontal>
        Intercom - Access Token
      </Card>
    </Columns>
  </Step>

  <Step title="Link an Account">
    Connect an account using <a href="/guides/embedding-stackone-hub">StackOne Hub</a> or <a href="/guides/auth-link">Auth Link</a>.

    <Columns cols={2}>
      <Card title="Link Account" href="/connectors/intercom/guides/link-account/oauth-2-0" icon="https://stackone-logos.com/api/intercom/filled/png" horizontal>
        Intercom - OAuth 2.0
      </Card>

      <Card title="Link Account" href="/connectors/intercom/guides/link-account/access-token" icon="https://stackone-logos.com/api/intercom/filled/png" horizontal>
        Intercom - Access Token
      </Card>
    </Columns>
  </Step>
</Steps>

<section data-guide-section data-guide-scopes="">
  <h2>Configure webhooks in the Developer Hub</h2>

  <p>This connector uses <strong>Manual Webhooks</strong>. You need to set the StackOne webhook URL and enable topics (events) in your Intercom Developer Hub app so that Intercom sends events to StackOne.</p>

  <Steps>
    <Step title="Copy the Native Webhook URL">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>When linking your Intercom account in StackOne (or via StackOne Hub), the <strong>Native Webhook URL</strong> is displayed on the hub form. Copy this URL — you will paste it into the Intercom Developer Hub in the next steps.</p>
      </div>
    </Step>

    <Step title="Open your app in the Developer Hub">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Navigate to the Developer Hub using the same steps from the authentication setup.</p>

        <ul>
          <li>Click <strong>Settings</strong> in the bottom-left corner of the Intercom dashboard.</li>
          <li>Navigate to <strong>Integrations</strong> in the menu.</li>
          <li>Click on <strong>Developer Hub</strong>.</li>
          <li>Click on your existing app (e.g., "StackOne Integration").</li>
        </ul>
      </div>
    </Step>

    <Step title="Navigate to Webhooks">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the left sidebar of your app, under <strong>Configure</strong>, click <strong>Webhooks</strong>.</p>
      </div>
    </Step>

    <Step title="Set the Endpoint URL">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Paste the <strong>Native Webhook URL</strong> (copied from StackOne) into the <strong>Endpoint URL</strong> field. This is where Intercom will POST all webhook events.</p>
      </div>
    </Step>

    <Step title="Enable topics">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Under <strong>Topics</strong>, use the <strong>Select a topic...</strong> dropdown to add the events you want to receive. Each topic corresponds to a specific event type (e.g., `contact.user.created`, `company.created`, `conversation.admin.replied`).</p>

        <ul>
          <li>Select each topic you want to subscribe to from the dropdown.</li>
          <li>Enabled topics will appear in the table with an <strong>On</strong> status.</li>
          <li>Ensure the required <strong>Permissions</strong> are granted for each topic (shown in the Permissions column).</li>
          <li>See the <strong>Available Webhook Events</strong> section below for the full list of supported topics.</li>
        </ul>
      </div>
    </Step>

    <Step title="Save the configuration">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click the <strong>Save</strong> button in the top-right corner to save the webhook configuration.</p>
      </div>
    </Step>

    <Step title="Unsubscribe">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>To stop receiving specific events, remove the topic from the Topics list in the Developer Hub and save. To stop all events, clear the Endpoint URL field or delete the app.</p>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available Webhook Events</h2>

  <p>The following Intercom topics can be enabled. Only topics enabled in both the Developer Hub and StackOne will be delivered downstream.</p>

  <Steps>
    <Step title="Company events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to company records.</p>

        <ul>
          <li><strong>Company Created</strong> (`company.created`) — Fired when a new company is created</li>
          <li><strong>Company Updated</strong> (`company.updated`) — Fired when a company record is updated</li>
          <li><strong>Company Deleted</strong> (`company.deleted`) — Fired when a company is deleted</li>
          <li><strong>Company Contact Attached</strong> (`company.contact.attached`) — Fired when a contact is attached to a company</li>
          <li><strong>Company Contact Detached</strong> (`company.contact.detached`) — Fired when a contact is detached from a company</li>
        </ul>
      </div>
    </Step>

    <Step title="Contact events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to contacts (users and leads).</p>

        <ul>
          <li><strong>Contact Archived</strong> (`contact.archived`) — Fired when a contact is archived</li>
          <li><strong>Contact Deleted</strong> (`contact.deleted`) — Fired when a contact is deleted</li>
          <li><strong>Contact Unarchived</strong> (`contact.unarchive`) — Fired when a contact is restored from archive</li>
          <li><strong>Contact Email Updated</strong> (`contact.email.updated`) — Fired when a contact's email changes</li>
          <li><strong>Contact Merged</strong> (`contact.merged`) — Fired when two contacts are merged</li>
          <li><strong>Contact Subscribed</strong> (`contact.subscribed`) — Fired when a contact subscribes to email</li>
          <li><strong>Contact Unsubscribed</strong> (`contact.unsubscribed`) — Fired when a contact unsubscribes from email</li>
          <li><strong>Lead Created</strong> (`contact.lead.created`) — Fired when a new lead is created</li>
          <li><strong>Lead Updated</strong> (`contact.lead.updated`) — Fired when a lead is updated</li>
          <li><strong>Lead Tag Created</strong> (`contact.lead.tag.created`) — Fired when a tag is applied to a lead</li>
          <li><strong>Lead Tag Deleted</strong> (`contact.lead.tag.deleted`) — Fired when a tag is removed from a lead</li>
          <li><strong>User Created</strong> (`contact.user.created`) — Fired when a new user is created</li>
          <li><strong>User Updated</strong> (`contact.user.updated`) — Fired when a user is updated</li>
          <li><strong>User Tag Created</strong> (`contact.user.tag.created`) — Fired when a tag is applied to a user</li>
          <li><strong>User Tag Deleted</strong> (`contact.user.tag.deleted`) — Fired when a tag is removed from a user</li>
        </ul>
      </div>
    </Step>

    <Step title="Conversation events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to conversations.</p>

        <ul>
          <li><strong>Admin Assigned</strong> (`conversation.admin.assigned`) — Fired when a conversation is assigned to a teammate</li>
          <li><strong>Admin Closed</strong> (`conversation.admin.closed`) — Fired when a conversation is closed</li>
          <li><strong>Admin Noted</strong> (`conversation.admin.noted`) — Fired when a note is added to a conversation</li>
          <li><strong>Admin Opened</strong> (`conversation.admin.opened`) — Fired when a conversation is reopened</li>
          <li><strong>Admin Replied</strong> (`conversation.admin.replied`) — Fired when a teammate replies</li>
          <li><strong>Admin Single Created</strong> (`conversation.admin.single.created`) — Fired when an admin initiates a message to one user</li>
          <li><strong>Admin Snoozed</strong> (`conversation.admin.snoozed`) — Fired when a conversation is snoozed</li>
          <li><strong>Admin Unsnoozed</strong> (`conversation.admin.unsnoozed`) — Fired when a conversation is unsnoozed</li>
          <li><strong>Contact Attached</strong> (`conversation.contact.attached`) — Fired when a contact is added to a conversation</li>
          <li><strong>Contact Detached</strong> (`conversation.contact.detached`) — Fired when a contact is removed from a conversation</li>
          <li><strong>Conversation Deleted</strong> (`conversation.deleted`) — Fired when a conversation is deleted</li>
        </ul>
      </div>
    </Step>

    <Step title="Ticket events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to tickets.</p>

        <ul>
          <li><strong>Ticket Created</strong> (`ticket.created`) — Fired when a new ticket is created</li>
          <li><strong>Ticket State Updated</strong> (`ticket.state.updated`) — Fired when a ticket's state changes</li>
          <li><strong>Ticket Note Created</strong> (`ticket.note.created`) — Fired when a note is added to a ticket</li>
          <li><strong>Ticket Admin Assigned</strong> (`ticket.admin.assigned`) — Fired when a ticket is assigned to an admin</li>
          <li><strong>Ticket Admin Replied</strong> (`ticket.admin.replied`) — Fired when an admin replies to a ticket</li>
          <li><strong>Ticket Attribute Updated</strong> (`ticket.attribute.updated`) — Fired when a ticket attribute is modified</li>
          <li><strong>Ticket Contact Attached</strong> (`ticket.contact.attached`) — Fired when a contact is added to a ticket</li>
          <li><strong>Ticket Closed</strong> (`ticket.closed`) — Fired when a ticket is closed</li>
          <li><strong>Ticket Resolved</strong> (`ticket.resolved`) — Fired when a ticket is resolved</li>
        </ul>
      </div>
    </Step>

    <Step title="Article events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to help center articles.</p>

        <ul>
          <li><strong>Article Created</strong> (`article.created`) — Fired when a new article is created</li>
          <li><strong>Article Updated</strong> (`article.updated`) — Fired when an article is modified</li>
          <li><strong>Article Published</strong> (`article.published`) — Fired when an article is published</li>
          <li><strong>Article Unpublished</strong> (`article.unpublished`) — Fired when an article is unpublished</li>
          <li><strong>Article Deleted</strong> (`article.deleted`) — Fired when an article is deleted</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.
