> ## 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.

# Close Webhook Setup Guide

> Configure Close 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="/connect/managing-connectors/overview">Managing Connectors</a>.

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

      <Card title="Connector Profile" href="/connectors/close/guides/connector-profile/api-key" icon="https://stackone-logos.com/api/close/filled/svg" horizontal>
        Close - API Key
      </Card>
    </Columns>
  </Step>

  <Step title="Link an Account">
    Connect an account using <a href="/embed/account-linking/overview">StackOne Hub</a> or <a href="/embed/account-linking/auth-link">Auth Link</a>.

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

      <Card title="Link Account" href="/connectors/close/guides/link-account/api-key" icon="https://stackone-logos.com/api/close/filled/svg" horizontal>
        Close - API Key
      </Card>
    </Columns>
  </Step>
</Steps>

<section data-guide-section data-guide-scopes="">
  <h2>How webhooks are set up</h2>

  <p>Close delivers events through a webhook subscription, and StackOne provisions it for you on connection. When you connect your account, StackOne creates one Close webhook subscription (`POST /webhook/`) pointing at a StackOne callback URL, covering every supported event type. When you disconnect, StackOne deletes that subscription (`DELETE /webhook/{id}/`). There is nothing to set up in Close and no URL to paste.</p>

  <Steps>
    <Step title="Connect with OAuth 2.0 or an API key">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Authorize the connection with either OAuth 2.0 or an API key — both work the same way for webhooks — so StackOne can create and delete the subscription on your behalf. No further setup is needed in Close.</p>
      </div>
    </Step>

    <Step title="Enable the events you need">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Enable the Close events you want in StackOne. StackOne registers one consolidated subscription that already covers every event type; only the events you enable in StackOne are dispatched onward.</p>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>How events are delivered</h2>

  <p>Close signs each delivery with two headers, `close-sig-hash` and `close-sig-timestamp`, which together let Close's own systems verify authenticity. Because the signing key is only handed back once — at the moment the subscription is created — StackOne cannot store it for later use, so it does not recompute the full signature on incoming requests. As a safeguard, StackOne still rejects (with a 401 response) any request that is missing either signature header, so unsigned or malformed requests are never processed.</p>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>The events below can be enabled for this connection, grouped by the entity they apply to.</p>

  <Steps>
    <Step title="Lead events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for leads.</p>

        <ul>
          <li><strong>Lead Created</strong> (`lead.created`) — Fired when a lead is created.</li>
          <li><strong>Lead Updated</strong> (`lead.updated`) — Fired when a lead's fields change.</li>
          <li><strong>Lead Deleted</strong> (`lead.deleted`) — Fired when a lead is deleted.</li>
          <li><strong>Lead Merged</strong> (`lead.merged`) — Fired when two leads are merged.</li>
        </ul>
      </div>
    </Step>

    <Step title="Contact events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for contacts.</p>

        <ul>
          <li><strong>Contact Created</strong> (`contact.created`) — Fired when a contact is created.</li>
          <li><strong>Contact Updated</strong> (`contact.updated`) — Fired when a contact's fields change.</li>
          <li><strong>Contact Deleted</strong> (`contact.deleted`) — Fired when a contact is deleted.</li>
        </ul>
      </div>
    </Step>

    <Step title="Opportunity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for opportunities.</p>

        <ul>
          <li><strong>Opportunity Created</strong> (`opportunity.created`) — Fired when an opportunity is created.</li>
          <li><strong>Opportunity Updated</strong> (`opportunity.updated`) — Fired when an opportunity's fields change.</li>
          <li><strong>Opportunity Deleted</strong> (`opportunity.deleted`) — Fired when an opportunity is deleted.</li>
        </ul>
      </div>
    </Step>

    <Step title="Call activity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for logged call activities.</p>

        <ul>
          <li><strong>Call Created</strong> (`activity.call.created`) — Fired when a call activity is logged.</li>
          <li><strong>Call Completed</strong> (`activity.call.completed`) — Fired when a call activity's status changes to completed.</li>
        </ul>
      </div>
    </Step>

    <Step title="Email activity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for email activities.</p>

        <ul>
          <li><strong>Email Created</strong> (`activity.email.created`) — Fired when an email activity is created.</li>
          <li><strong>Email Sent</strong> (`activity.email.sent`) — Fired when an email activity is sent.</li>
        </ul>
      </div>
    </Step>

    <Step title="SMS activity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for SMS activities.</p>

        <ul>
          <li><strong>SMS Created</strong> (`activity.sms.created`) — Fired when an SMS activity is created.</li>
          <li><strong>SMS Sent</strong> (`activity.sms.sent`) — Fired when an SMS activity is sent.</li>
        </ul>
      </div>
    </Step>

    <Step title="Note activity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for note activities.</p>

        <ul>
          <li><strong>Note Created</strong> (`activity.note.created`) — Fired when a note activity is created.</li>
          <li><strong>Note Updated</strong> (`activity.note.updated`) — Fired when a note activity is updated.</li>
        </ul>
      </div>
    </Step>

    <Step title="Meeting activity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for meeting activities.</p>

        <ul>
          <li><strong>Meeting Scheduled</strong> (`activity.meeting.scheduled`) — Fired when a meeting activity is scheduled.</li>
          <li><strong>Meeting Completed</strong> (`activity.meeting.completed`) — Fired when a meeting activity is completed.</li>
        </ul>
      </div>
    </Step>

    <Step title="Status change activity events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired when a lead's or opportunity's status changes.</p>

        <ul>
          <li><strong>Lead Status Change</strong> (`activity.lead_status_change.created`) — Fired when a lead's status changes.</li>
          <li><strong>Opportunity Status Change</strong> (`activity.opportunity_status_change.created`) — Fired when an opportunity's status changes.</li>
        </ul>
      </div>
    </Step>

    <Step title="Task events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for lead-scoped tasks.</p>

        <ul>
          <li><strong>Task Created</strong> (`task.lead.created`) — Fired when a task is created on a lead.</li>
          <li><strong>Task Completed</strong> (`task.lead.completed`) — Fired when a task on a lead is marked complete.</li>
        </ul>
      </div>
    </Step>

    <Step title="Sequence subscription events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired when a contact's sequence subscription changes.</p>

        <ul>
          <li><strong>Sequence Subscription Created</strong> (`sequence_subscription.created`) — Fired when a contact is subscribed to a sequence.</li>
          <li><strong>Sequence Subscription Updated</strong> (`sequence_subscription.updated`) — Fired when a sequence subscription is updated (e.g. paused, resumed).</li>
        </ul>
      </div>
    </Step>

    <Step title="Membership events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for organization membership changes.</p>

        <ul>
          <li><strong>Membership Activated</strong> (`membership.activated`) — Fired when a user's membership in the organization is activated.</li>
          <li><strong>Membership Deactivated</strong> (`membership.deactivated`) — Fired when a user's membership in the organization is deactivated.</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.
