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

# Orderspace Webhook Setup Guide

> Configure Orderspace 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/orderspace/guides/connector-profile/oauth-2-0" icon="https://stackone-logos.com/api/orderspace/filled/png" horizontal>
        Orderspace - OAuth 2.0
      </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/orderspace/guides/link-account/oauth-2-0" icon="https://stackone-logos.com/api/orderspace/filled/png" horizontal>
        Orderspace - OAuth 2.0
      </Card>
    </Columns>
  </Step>
</Steps>

<section data-guide-section data-guide-scopes="">
  <h2>Subscribe via the StackOne dashboard</h2>

  <p>This connector uses <strong>Programmatic Webhooks</strong>. When you enable webhook events for a connected Orderspace account, StackOne automatically registers a single webhook subscription in Orderspace (via `POST /v1/webhooks`) pointing at the StackOne Native Webhook URL, subscribed to all the events you selected.</p>

  <Steps>
    <Step title="Select event subscriptions in the dashboard">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the StackOne dashboard, open the Orderspace connector profile and enable the webhook events you want to receive. See the <strong>Available Webhook Events</strong> section below for the full list.</p>
      </div>
    </Step>

    <Step title="Connect the Orderspace account">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On account connection (or when event subscriptions change), StackOne registers the webhook in Orderspace on your behalf using the connected account's OAuth2 credentials. One consolidated subscription covers all selected events.</p>
      </div>
    </Step>

    <Step title="Verify delivery">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Trigger a matching change in Orderspace (for example, create a test order) and confirm the event reaches your downstream consumer.</p>

        <ul>
          <li>Orderspace sends events as an HTTP POST to the StackOne endpoint; StackOne responds with `200 OK` automatically.</li>
          <li>If Orderspace receives any other response it retries with an incremental backoff, and disables the webhook after multiple failed attempts.</li>
        </ul>
      </div>
    </Step>

    <Step title="Unsubscribe">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Changing your event selection re-registers the subscription with the updated event list. Disconnecting the account deletes the StackOne-managed webhook from Orderspace, stopping all deliveries.</p>
      </div>
    </Step>
  </Steps>
</section>

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

  <p>The following Orderspace events can be enabled. Only events selected in StackOne are included in the subscription — Orderspace will not deliver events that are not subscribed.</p>

  <Steps>
    <Step title="Customer events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to customer companies on the account.</p>

        <ul>
          <li><strong>Customer Created</strong> (`customer.created`) — Fired when a new customer company is added</li>
          <li><strong>Customer Updated</strong> (`customer.updated`) — Fired when an existing customer record changes</li>
          <li><strong>Customer Deleted</strong> (`customer.deleted`) — Fired when a customer is deleted</li>
        </ul>
      </div>
    </Step>

    <Step title="Order and dispatch events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to orders and dispatches.</p>

        <ul>
          <li><strong>Order Created</strong> (`order.created`) — Fired when a new order is placed</li>
          <li><strong>Order Updated</strong> (`order.updated`) — Fired when an existing order changes</li>
          <li><strong>Order Deleted</strong> (`order.deleted`) — Fired when an order is deleted</li>
          <li><strong>Dispatch Created</strong> (`dispatch.created`) — Fired when items on an order are dispatched</li>
        </ul>
      </div>
    </Step>

    <Step title="Invoice and payment events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to invoicing and payments.</p>

        <ul>
          <li><strong>Invoice Created</strong> (`invoice.created`) — Fired when an invoice is created</li>
          <li><strong>Invoice Deleted</strong> (`invoice.deleted`) — Fired when an invoice is deleted</li>
          <li><strong>Payment Created</strong> (`payment.created`) — Fired when a payment is made or recorded against an invoice</li>
        </ul>
      </div>
    </Step>

    <Step title="Product and inventory events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to the product catalog and stock levels.</p>

        <ul>
          <li><strong>Product Created</strong> (`product.created`) — Fired when a new product is created</li>
          <li><strong>Product Updated</strong> (`product.updated`) — Fired when an existing product changes</li>
          <li><strong>Product Deleted</strong> (`product.deleted`) — Fired when a product is deleted</li>
          <li><strong>Inventory Level Updated</strong> (`inventory_level.updated`) — Fired when a SKU's stock level changes. Bulk stock changes produce one event per SKU</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

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

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

  <Steps>
    <Step title="Batched payloads">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The payload of each request is a <strong>list of events</strong>. A request usually contains a single event, but Orderspace may batch multiple events into one request (up to 50) to reduce network traffic — most commonly on bulk actions such as stock updates. StackOne routes each delivery to the matching event handler.</p>
      </div>
    </Step>

    <Step title="Delivery security">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Delivery to StackOne is authenticated by the unique token embedded in the Native Webhook URL. The token is generated per connected account and validated on every incoming request, so only requests sent to your account's registered URL are accepted.</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.
