Commerce

Connect Shopify and other store integrations

8 min readUpdated October 2026Pro · Custom
Connect your Shopify store and Tanvik keeps your products, orders and customers in sync automatically. You can then fulfil orders, update tracking, manage products and create discount codes from inside Tanvik, and send customers WhatsApp messages for new orders, payments, shipping and abandoned carts. WooCommerce, Shiprocket and Razorpay connect from the same page.
Before you begin

You need:

RequirementWhy
Commerce on your planIntegrations live under Commerce → Integrations in the sidebar (Commerce is part of Pro and Custom). If you don't see Commerce in the sidebar, message our team.
Your .myshopify.com domainFind it in Shopify Admin → Settings → Domains. Your custom domain won't work here.
A Shopify app's Client ID and Client secretFrom the Shopify Dev Dashboard → your app → Settings → Credentials. Apps created in Shopify admin before January 2026 can use an Admin API access token instead.
app.tanvik.io/commerce-connectors
The Connectors page with Shopify at the top
Connect your Shopify store
01
Open Integrations
Go to Commerce → Integrations. Under Available (or Add more, if something is already connected), find the Shopify card and click Connect.
02
Enter your store details
Fill in the fields in the table below. You need the Shop domain plus either the Client ID and Client secret, or a legacy access token.
03
Click Connect
Tanvik checks the details with Shopify. When they work you will see Connected to your store name, and Tanvik starts pulling in your products. The store then moves to the Connected list.
04
Register webhooks
On the Shopify row, click Settings, then Register webhooks. Tanvik registers all 18 update types in Shopify for you, so new orders, products and customers flow in the moment they happen.
05
Reload the page
A Shopify store tab now appears next to All integrations. It is where you manage the store (see below).
FieldWhat to enter
Shop domainRequired, e.g. your-store.myshopify.com.
Storefront domainOptional. The domain customers see, e.g. yourbrand.com. Product links sent on WhatsApp use it. Leave blank only if you have no custom domain.
Client ID / Client secretFrom your app's credentials page. The secret is also used to verify incoming updates.
Admin API access token (legacy apps only)Only for custom apps made in Shopify admin before January 2026. Leave blank if you use a Client ID and secret.
Webhook secretOptional. Normally the same value as the Client secret.
If you see "Registered X, Y failed — usually a missing API scope", your Shopify app doesn't have permission for some data. Add the missing access scopes to the app in Shopify, then click Register webhooks again.
What syncs

Once connected, these update on their own as soon as they change in Shopify:

DataWhere you see it in Tanvik
Orders (new, updated, paid, cancelled, fulfilled)Commerce → Orders (marked as coming from Shopify) and the Orders tab of the Shopify store tab
Products and stock levelsCommerce → Products, which shows Synced from Shopify
CustomersThe Customers tab of the Shopify store tab
Checkouts and refundsUsed for abandoned cart and order messages (see below)

A safety-net check also runs every 15 minutes to catch anything that was missed. The Live sync card on the Shopify store tab's Overview shows when each type of data last came in.

Edit Shopify products in Shopify or in the Shopify store tab. Commerce → Products warns that edits made there can be replaced by the next Shopify sync.
Manage your store from Tanvik

Open Commerce → Integrations and click the Shopify store tab (or Store on the Shopify row). The top shows your store, when it last synced, and buttons for Open in Shopify and Force Full Resync. Below are Revenue (30d), Avg order value, Unfulfilled orders and your Catalog size. Refresh reloads the tab.

TabWhat you can do
OverviewQuick actions, the Live sync card and your Last 30 days (total, paid and fulfilled orders).
OrdersFilter All, Unfulfilled or Fulfilled. Open an order to Fulfil order, Update tracking (once it has been dispatched) or Cancel order. Cancelling also cancels it in Shopify.
ShipmentsEvery dispatched parcel with status, courier, AWB, dispatch and delivery dates, and a Track link. Parcels with no movement for over 4 days are flagged stuck.
ProductsSearch, switch between Grid and List, add a product with New product, edit or delete. Status can be Active, Draft or Archived. Deleting removes the product from Shopify.
CustomersName, phone, number of orders, total spent and city.
DiscountsNew discount: enter a Discount code, pick Percentage off or Fixed amount off (₹), set the Value and an optional Usage limit, then Create.
Webhooks & SettingsSee the registered webhooks and recent events, Re-register all, or Disconnect Shopify.
01
Fulfil an order
In the Orders tab, open the order and click Fulfil order.
02
Pick the courier from the list
Choose the Courier, enter the AWB / tracking number and, if you have one, the Tracking URL. Then click Fulfil.
03
Decide on Shopify's email
Also let Shopify email the customer is off by default, because Tanvik already sends a WhatsApp update. Tick it only if you also want Shopify's email to go out.
Always pick a courier from the list when you can. Shopify only passes on tracking updates for courier names it recognises. With Other / not listed, the order can stay on "Shipped" forever and your customer never gets a delivery update.
Order updates and abandoned cart messages

With Shopify connected, go to Automate → Automations. At the top you'll see ready-made Shopify automations built on your store's events (once you have several automations of your own, they sit under Start from a ready Shopify automation). Pick one, review it, and click Set up → to switch it on. You can also build your own with these triggers:

TriggerWhen it fires
Order CreatedA new order is placed. Use {{order.order_number}} and {{order.total}}.
Order Status ChangedAn order moves to the status you pick, e.g. shipped or delivered.
Payment ReceivedAn order is marked paid. Good for thank-you messages.
Cart AbandonedSomeone starts checkout but doesn't finish. Use {{cart.total}}, {{cart.items}} and {{cart.checkout_url}}.
Order Placed (COD)Any Cash on Delivery order, from Shopify checkout or placed over WhatsApp. Use it to confirm before dispatch or to nudge customers to prepay.
Abandoned cart: the customer is enrolled as soon as checkout starts, so put a delay on step 1 (for example 60 minutes). The message then only goes out if they haven't come back.

Order messages must use approved WhatsApp templates. The Automations page tells you how many of the 7 standard order messages still need approval. Click Create the N missing messages to submit them all at once. Approval runs in the background while you set up your automations. When all are approved, it shows that all 7 order messages are approved on WhatsApp.

If WhatsApp files an order message as Marketing, it only reaches customers who have opted in, so most order updates won't be delivered. The page warns you when this happens. Ask WhatsApp to re-categorise it as Utility, or create a replacement with plainer wording. See template problems.
Other integrations

The All integrations page lists what is Connected (a green Connected pill, or Needs attention if the last check failed), what you can add (Available or Add more) and what is Coming soon. A connected row has Settings and, for most, Sync now. Inside Settings you can Save changes, run Test connection or Disconnect.

IntegrationWhat it doesWhat you need
WooCommerceSyncs products, orders, customers and addresses. Sends WhatsApp order and status updates.Store URL (with https://), Consumer key and Consumer secret from WooCommerce → Settings → Advanced → REST API, with Read/Write access. After connecting, click Register webhooks in Settings.
ShiprocketPushes orders to Shiprocket for shipping and brings the AWB and tracking back to the order.Your Shiprocket account email, Password and Pickup location name (usually "Primary"). Copy the webhook URL shown in the card's settings (Copy URL) into Shiprocket → Settings → API → Webhooks.
RazorpayCreates a payment link for each order, paid by UPI, card or netbanking.Click Set up (or Payment settings once connected). It opens the Payment Gateway page, where you connect with your Key ID and Key Secret. PayU is also available there.

Under Coming soon you will also see Delhivery, PetPooja POS and Shadowfax. These can't be connected yet.

Disconnecting an integration keeps everything already synced. Orders, products and customers stay in Tanvik, but nothing new comes in until you reconnect.
Common problems
ProblemWhat to do
"Connect failed: Invalid credentials or shop domain"Use the .myshopify.com domain, not your custom domain, and check the Client ID and secret match the same app.
"Enter Client ID + Client secret... or an Admin API access token"Fill in one of the two options. Only one is needed.
The Shopify store tab is missingIt shows only while a Shopify store is connected. Connect Shopify first, then reload the page.
Data looks out of dateCheck the Live sync card on the Overview tab. If something looks stale, click Force Full Resync (it re-pulls products, orders and customers).
Webhooks show fewer than 18Go to Webhooks & Settings and click Re-register all. This removes duplicates first.
A shipment never shows as deliveredThe courier name probably wasn't recognised by Shopify. Use Update tracking and pick a courier from the list.