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

# Amplitude Webhook Setup Guide

> Configure Amplitude to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/amplitude#getting-started) on the Amplitude connector page.

<section data-guide-section data-guide-scopes="">
  <h2>Register the StackOne webhook in Amplitude</h2>

  <p>This connector uses <strong>Manual Webhooks</strong>. You add StackOne's Native Webhook URL as a Webhook destination in Amplitude Data. Amplitude sends no verification ping, so the destination is ready as soon as it is saved.</p>

  <Steps>
    <Step title="Retrieve StackOne Native Webhook URL">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The <strong>Native Webhook URL</strong> is generated once an account has been linked. It identifies your linked account, so no other routing field is needed.</p>

        <ul>
          <li>Open the linked account in StackOne.</li>
          <li>Copy the value from <strong>Native Webhook URL</strong>.</li>
        </ul>
      </div>
    </Step>

    <Step title="Sign in to Amplitude">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your Amplitude account in the region your project lives in.</p>

        <ul>
          <li>Standard Server — <a href="https://app.amplitude.com/login" target="_blank" rel="noopener noreferrer">Amplitude account</a></li>
          <li>EU Residency Server — <a href="https://app.eu.amplitude.com/login" target="_blank" rel="noopener noreferrer">Amplitude EU account</a></li>
          <li>Enter your <strong>Work Email</strong> and click <strong>Continue</strong>.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-sign-in.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=0a59bd04e4c3395bc5551051e10665f6" alt="Amplitude sign-in page with the Work Email field highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-sign-in.png" />
      </div>
    </Step>

    <Step title="Open Destinations">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the left navigation, open <strong>Data</strong> and click <strong>Connect Destinations</strong>. On <strong>Destinations</strong>, click <strong>Add Destination</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-add-destination.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=7ffbbadcc0c5abc38cf544ff52ccdb75" alt="Amplitude Destinations page with the Add Destination button highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-add-destination.png" />
      </div>
    </Step>

    <Step title="Select the Webhook destination">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Type `Webhook` into <strong>Search</strong> and click the <strong>Webhook</strong> card under <strong>Create Destinations</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-select-webhook.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=c32af6b0ab6316f2ea7de9ed62d2d7c6" alt="Destination catalog search for Webhook with the Webhook Cohorts card highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-select-webhook.png" />
      </div>
    </Step>

    <Step title="Configure the destination">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On <strong>Add New Webhook Destination</strong>, fill in the <strong>Destination Settings</strong>.</p>

        <ul>
          <li><strong>Display Name</strong>: `StackOne`</li>
          <li><strong>Webhook URL</strong>: paste the Native Webhook URL you copied from StackOne.</li>
          <li>Leave <strong>Headers</strong> as they are. The preset <strong>Content-Type</strong> and <strong>User-Agent</strong> headers are all StackOne needs.</li>
          <li>Optionally set <strong>Number of users per batch</strong> to limit how many users each delivery carries.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-destination-settings.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=a50dfc1a0a8226b402e05937e1e02530" alt="Add New Webhook Destination form with Display Name and Webhook URL highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-destination-settings.png" />
      </div>
    </Step>

    <Step title="Keep the default payload">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Expand <strong>Define cohort update payload</strong> and keep <strong>Send Amplitude's default payload</strong> selected. StackOne routes events by the default payload fields, so a customized payload is not delivered to any event.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-default-payload.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=86c1d6e1632d610c80eaf99e0659899b" alt="Define cohort update payload section with Send Amplitude's default payload highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-default-payload.png" />
      </div>
    </Step>

    <Step title="Save the destination">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Save</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-save-destination.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=2d785637ce6185e6d570c762e05ed7c3" alt="Destination Settings with the Save button highlighted and the Webhook URL hidden" width="1280" height="800" data-path="connectors/amplitude/images/events-save-destination.png" />
      </div>
    </Step>

    <Step title="Confirm the destination is connected">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The new <strong>Webhook</strong> destination named <strong>StackOne</strong> appears on <strong>Destinations</strong> with the status <strong>Connected</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-destination-connected.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=29090ea7debc22b7626aef183d7c7531" alt="Destinations table showing the StackOne webhook destination as Connected" width="1280" height="800" data-path="connectors/amplitude/images/events-destination-connected.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Sync a cohort to StackOne</h2>

  <p>Cohort events are sent when a cohort is synced to the StackOne destination. Repeat these steps for every cohort you want to receive events for.</p>

  <Steps>
    <Step title="Open the cohort">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the left navigation, open <strong>Users</strong> > <strong>Cohorts</strong>, open the cohort, and click <strong>Target Users</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-target-users.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=3491a805848e09c2af5ecb7f1b63d161" alt="Cohort details page with the Target Users button highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-target-users.png" />
      </div>
    </Step>

    <Step title="Choose the Webhook destination">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Under <strong>or sync this cohort to…</strong>, click <strong>Webhook</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-sync-webhook.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=7ae057cc425b0df7fdfbb1586c49f73f" alt="Use this cohort in a dialog with the Webhook option highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-sync-webhook.png" />
      </div>
    </Step>

    <Step title="Select the StackOne destination">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In <strong>Select Defined Destination</strong>, pick the <strong>StackOne</strong> destination you created and click <strong>Next</strong>.</p>

        <ul>
          <li>Optionally use <strong>Add A User Property</strong> to include user properties with each user in the payload.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-select-destination.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=8d497d0245ef7d6a218ccb84e0b2e01a" alt="Select Defined Destination dialog with the StackOne destination and Next highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-select-destination.png" />
      </div>
    </Step>

    <Step title="Choose a cadence and start the sync">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On <strong>Define Cadence</strong>, pick how often Amplitude sends the cohort, then click <strong>Sync</strong>.</p>

        <ul>
          <li><strong>One-Time Sync</strong> sends the users currently in the cohort. Running it again later sends only the changes since the last sync.</li>
          <li><strong>Scheduled Sync</strong> sends changes every hour or every day, and <strong>Real-Time Sync</strong> every minute. Both require a plan that includes them.</li>
          <li>Static (uploaded) cohorts do not change on their own, so scheduled syncs will not update them.</li>
        </ul>

        <img src="https://mintcdn.com/stackone-60/yZhsFrCJGbPyToh1/connectors/amplitude/images/events-define-cadence.png?fit=max&auto=format&n=yZhsFrCJGbPyToh1&q=85&s=81982ee7343fefc3436ae5600a0b1d46" alt="Define Cadence dialog with One-Time Sync and the Sync button highlighted" width="1280" height="800" data-path="connectors/amplitude/images/events-define-cadence.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Stream events and user properties</h2>

  <p>To receive analytics events and user-property updates as they are ingested, add a second destination of type <strong>Webhook: Events · User Properties</strong> from <strong>Data</strong> > <strong>Connect Destinations</strong> > <strong>Add Destination</strong>, paste the same Native Webhook URL, keep the default payload, and enable the event and user streams you need. This destination is only listed on plans that include Event Streaming. See <a href="https://amplitude.com/docs/data/destination-catalog/webhooks" target="_blank" rel="noopener noreferrer">Amplitude Webhook Streaming</a> for plan details.</p>
</section>

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

  <p>The following Amplitude events can be enabled. Only events selected in StackOne are delivered, and Amplitude only sends events for the destinations and cohort syncs you configure.</p>

  <Steps>
    <Step title="Cohort events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sent by the Cohort Webhook destination for every synced cohort.</p>

        <ul>
          <li><strong>Cohort Users Entered</strong> (`cohort.users_entered`) — Fired when a cohort sync delivers a batch of users who joined the cohort</li>
          <li><strong>Cohort Users Exited</strong> (`cohort.users_exited`) — Fired when a cohort sync delivers a batch of users who left the cohort</li>
        </ul>
      </div>
    </Step>

    <Step title="Event streaming events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sent by the Webhook Events · User Properties streaming destination.</p>

        <ul>
          <li><strong>Event Streamed</strong> (`event.streamed`) — Fired for each analytics event Amplitude ingests and forwards</li>
          <li><strong>User Streamed</strong> (`user.streamed`) — Fired for each user-property update Amplitude ingests and forwards</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>Details of how Amplitude delivers events to StackOne.</p>

  <Steps>
    <Step title="Batched cohort payloads">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Each cohort delivery carries a list of users for one cohort, marked as entering or leaving it. Large cohorts are split into several deliveries, sized by <strong>Number of users per batch</strong>. Every delivery has its own `message_id`, which StackOne uses as the event ID, so retried deliveries can be deduplicated.</p>
      </div>
    </Step>

    <Step title="Retries">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Amplitude retries failed deliveries, so the same event can arrive more than once. Deduplicate on the event ID.</p>
      </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.
