---
title: Chord Webhook Events App
slug: chord-webhook-events-app
docTags: 
createdAt: 2026-03-10T15:21:40.399Z
---

## Overview

When installed on your Shopify store, Chord sends tracking events from two sources:

1. **Your storefront**, using either the Chord Shopify web pixel or `@chordcommerce/analytics` (see [Shopify installation](docId:7gGdgpVq4j3qwBPrHY1Fr))
2. **Chord's server events service**, which sends tracking events from a Shopify webhook source in your Chord workspace in response to webhook triggers from Shopify

When Chord provisions your workspace, it includes a Shopify webhook source/back-end in the Chord CDP. This source listens for webhook events from Shopify and transforms them into Chord events.

## Step 1: Create the App

1. Go to your **Shopify Dev Dashboard**

::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/UBqX2VPeJ5Z3PspeluUt0_image.png" size="100" isUploading="false" width="1733" height="843" darkWidth="1733" darkHeight="843" showCaption="false" indent="1"}

2. In the navigation menu, click **Apps** → **Create app**
3. Under **Start from Dev Dashboard**, enter the app name `Chord Webhook Events`

::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/N2wa1hloX4iBZemk_B6Vw_image.png" size="100" isUploading="false" width="3834" height="1918" darkWidth="3834" darkHeight="1918" showCaption="false" indent="1"}

4. Click **Create**

## Step 2: Configure Access Scopes

1. Leave the form settings as-is
2. In the **API Access** section, paste the following scopes:

:::BlockQuote
read\_all\_orders,read\_assigned\_fulfillment\_orders,read\_customers,read\_discounts,read\_fulfillments,read\_inventory,read\_locations,read\_merchant\_managed\_fulfillment\_orders,read\_orders,read\_product\_feeds,read\_product\_listings,read\_products,read\_reports,read\_returns,read\_shipping,read\_third\_party\_fulfillment\_orders
:::

1. Click **Release**

## Step 3: Install the App

1. On the app **Home** page, click **Install app**

::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/b67mutDG3fVg7eQMu7RSq_image.png" size="100" isUploading="false" width="1638" height="811" darkWidth="1638" darkHeight="811" showCaption="false" indent="1"}

2. Select your store
3. Review the application scopes
4. Click **Install**

## Step 4: Collect your Credentials

You can find the client credentials by visiting the app **Settings** page. You will need both the “Client ID” and “Secret”.&#x20;

![](https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/1GTjZ7kLoJB22RoodwGcI_image.png)

You will also need your store URL in the following format: your-store-url.myshopify.com. You can find your-store-url by visiting the store Admin page. The Admin landing page URL will look similar to the following:

:::BlockQuote
https\://admin.shopify.com/store/&#x7B;&#x7B;your-store-url}}/orders
:::

The portion of the URL after store, is your store name that you will want to provide.

## Step 5: Share your client credentials with Chord team

Your app's ***Client ID & Secret*** along with your Store's ***Shopify subdomain*** needs to be shared with the Chord team. These values will be used to finalize the creation & set-up of server-side events fired from Shopify back-end

## Additional Info

### Supported Webhook Topics & Events

| Webhook Topic      | Chord Event      |
| ------------------ | ---------------- |
| `checkouts/create` | Checkout Created |
| `orders/create`    | Order Completed  |
| `refunds/create`   | Order Refunded   |
| `customers/delete` | Customer Deleted |
| `customers/merge`  | Customer Merged  |
| `locations/delete` | Location Deleted |
| `orders/delete`    | Order Deleted    |
| `products/delete`  | Product Deleted  |

### Verifying the Installation

To verify that server events are flowing correctly:

1. Complete a test transaction in your Shopify store.
2. In your Chord workspace, navigate to the Shopify webhook source (possibly referenced as the `Back-End` source) and open the ***Live Events*** tab.
3. Confirm that the expected events (Checkout Created, Order Completed, etc.) appear.

### Subscription Events

If your store sells subscriptions, Chord can also track subscription lifecycle events (creation, cancellation, payment failures, etc.). Due to Shopify platform restrictions, subscription events require a different setup using Shopify Flow.

See [Shopify subscription event tracking](docId:3IRbD314fqAJoOWdjV6Ax) for details.

### Associating Server Events with Storefront Sessions

To link server events with front-end storefront events from the same customer session, the storefront must save certain browser identifiers as attributes on the cart or order. These identifiers are then retrieved by the webhook source and included in Chord events.

For details, see [Unifying Data Across Sources](#).
