Connect a Shopify store
PreviewMake your own app in Shopify's Dev Dashboard, grant RowCall the permissions it reads with, set its privacy webhooks, and connect the store.
RowCall reads your Shopify store through an app you make in Shopify's Dev Dashboard, in your store's own organization. The app is yours: you decide what it may read, and uninstalling it ends the integration.
What you set up
Make the app
In Shopify's Dev Dashboard, in the same organization as your store, open Apps, press Create app and choose Start from Dev Dashboard. Name it RowCall and press Create.
Release a version with RowCall's permissions
Open Versions and press Create version. Set App URL to Shopify's page for apps that aren't shown in the admin,
https://shopify.dev/apps/default-app-home. Paste the permissions below into Scopes all at once (Shopify takes them comma-separated), and press Release.read_products,read_customers,read_orders,read_returns,read_merchant_managed_fulfillment_orders,write_orders,write_merchant_managed_fulfillment_ordersInstall it on the store
On the app's home, press Install app, choose your store and press Install.
Set the privacy webhooks
Shopify takes these only from the app's configuration file, so they're set with Shopify CLI. In an empty folder, link the app (choose it from the list):
shopify app config linkIn the
shopify.app.tomlit writes, replace the[access_scopes]and[webhooks]sections with these lines, with your org's webhook URL from RowCall's Stores page (it's filled in there, ready to copy):[access_scopes] scopes = "read_products,read_customers,read_orders,read_returns,read_merchant_managed_fulfillment_orders,write_orders,write_merchant_managed_fulfillment_orders" [webhooks] api_version = "2026-10" [[webhooks.subscriptions]] compliance_topics = [ "customers/redact", "customers/data_request", "shop/redact" ] uri = "https://<rowcall>/webhooks/orgs/<your org id>/shopify"Then release it:
shopify app deployConnect the store in RowCall
In the app's App settings, copy the Client ID and Client secret from Credentials. In RowCall, open Stores, press Connect a Shopify store and enter them with the store's
myshopify.comaddress. RowCall checks them with Shopify before saving anything, then subscribes to the store's other webhooks and imports its data.
Permissions
| Permission | Required | What RowCall uses it for |
|---|---|---|
read_products | Required | Products and variants, so calls can name what was ordered |
read_customers | Required | Customers: who to call, their phone and language |
read_orders | Required | Orders from the last 60 days, fulfillments, delivery status and refunds |
read_returns | Required | Returns and their reasons |
read_merchant_managed_fulfillment_orders | Required | What is on hold or ready to ship |
write_orders | Recommended | Tagging orders and adding notes with what a call found (later) |
write_merchant_managed_fulfillment_orders | Recommended | Holding shipping until a cash-on-delivery order is confirmed (later) |
When a new version of RowCall asks for a permission your store hasn't granted, the store shows Needs attention and names it. Add it to your app and release the new version; Shopify tells RowCall once you've approved it, and the notice clears.
Webhooks
You set these in your app's shopify.app.toml (step 4), all to your org's webhook URL. RowCall shows it on the Stores page; it looks like https://<rowcall>/webhooks/orgs/<your org id>/shopify.
| Webhook | What RowCall does |
|---|---|
customers/redact | Forgets the shopper: their customer record, their details on orders and returns |
customers/data_request | Exports everything RowCall holds about the shopper, for you to send them |
shop/redact | Deletes all of the store's data |
RowCall can only see that these are set once one arrives: each store shows when every webhook last came in.
RowCall sets these itself when it connects the store, and checks them every 15 minutes: orders, fulfillments, refunds, returns, customers and products changing, the shop's details, app/uninstalled and app/scopes_update.
Uninstalling
Uninstalling the app ends the integration. RowCall marks the store Uninstalled and deletes its data straight away: orders, customers, returns, products, history and the raw copies Shopify sent. Contacts the store created are deleted too, unless they were called (they keep their calls, without the store's name for them) or another store still links to them.
Next stepIntegrationsOther ways to connect RowCall to your store.