Pardon the mess

You are viewing docs related to an older version of Sequin. We’re in the process of updating our provider-specific guides and will be done in a few weeks (May 2024). Please click here to view the latest version of the docs.

If you’re interested in Shopify and want to learn more about what’s changing, send us a note.

Supported objects

Collection NameReadWrite
Access
Analytics
Billing
Customers
Discounts
Events
Gift Cards
Inventory
MarketingEvent
Metafield
Online Store
Orders
Plus
Products
Sales Channels
Shipping and Fulfillment
Shopify Payments
Store Properties
TenderTransaction

Setup & installation

To connect Sequin to Shopify, install the Sequin Shopify application in your Shopify store.

Install Sequin in your Shopify store

Steps:

  1. In the Sequin console, click Add sync and select Shopify.
  2. Click Install Sequin in your store to add our application to your Shopify store.
  3. This will bring you to Shopify for installation. Click Install app.
    Installing the Sequin Shopify application in you Shopify store.
  4. You will be redirected back to the Sequin console once installation is complete.

After the app is installed, you can view and manage it from the Apps page in your Shopify admin.

The syncing process

We first backfill your database with all your Shopify data. Backfilling typically completes in a few minutes. For larger Shopify stores this can take longer - if you have a store with millions of objects this may take up to an hour. We’ll email you when your backfill is complete and Sequin has loaded all your data into your database.

After the initial backfill, we’ll rely on Shopify webhooks to monitor changes. Webhooks allow Sequin to monitor changes to your Shopify data in realtime- typically your database will receive inserts, updates, and deletes in less than a second. We backstop webhooks with an occasional polling process to ensure we don’t miss any events. This means changes on Shopify should propagate to your database in just a few seconds.

Learn more about [our syncing process]/syncs.

Read and write Shopify data using SQL

You’ll connect to your Shopify data through Sequin’s Postgres Proxy, enabling direct SQL operations on your synced data. This setup lets you use the familiar SQL clients compatible with Postgres to access your data.

Below is an example showing how Shopify data appears in your Postgres database after synchronization:

db7hea89oah3tas=> \dt

                   List of relations
 Schema |           Name            | Type  |  Owner
--------+---------------------------+-------+----------
 public | _sync_cdc                 | table | sequin
 public | customers                 | table | sequin
 public | orders                    | table | sequin
 public | products                  | table | sequin
 public | billing                   | table | sequin
 public | inventory                 | table | sequin
(6 rows)

Each Shopify object you choose to sync is represented as a table in your database. The _sync_cdc table is a special Sequin mechanism for sync management.

Querying the customers table is straightforward:

select
    first_name,
    last_name,
    email,
    postal_code,
    orders_count,
    total_spent,
    last_order_id,
    created_at,
    updated_at
from
    customers
where
    customer_id = 'shopify|1010101010101010101010';

A typical query response might look like:

-[ RECORD 1 ]--+----------------------------
first_name     | Jane
last_name      | Doe
email          | jane.doe@example.com
postal_code    | 12345
orders_count   | 5
total_spent    | 489.50
last_order_id  | shopify|2020202020202020202020
created_at     | 2023-11-10T08:00:00.000Z
updated_at     | 2023-11-10T09:30:00.000Z

Updating customer information is as simple as executing an SQL statement. To update a customer’s billing address, you might use:

update customers
set postal_code = 54321
where customer_id = 'shopify|1010101010101010101010';

Sequin instantly reflects this change in both Shopify and your database. In the event of an error during a write operation to Shopify, Sequin will revert the associated database transaction. For instance, attempting to update an postal code with invalid data will trigger a rollback:

update customers
set postal_code = 123 -- Invalid postal code
where customer_id = 'shopify|1010101010101010101010';

ERROR: [Shopify] Bad request: Invalid postal_code '123'

Next steps

Your Shopify tables are now available as fully readable and writeable tables in your database. You can query for all your data using SQL, and mutate data thanks to Sequin’s Postgres Proxy. To build on this foundation, here are some next steps:

  • Setup your ORM to work with your synced tables.
  • Edit the Shopify objects and properties you’re syncing at any time.
  • Create views on your Shopify data to tailor your schema to your needs.
  • Invite your team to your Sequin account and start building!

If you need assistance setting up your sync, just send us a note. We’re around and eager to help.

Was this page helpful?