Skip to content

Shopify

Shopify is an e-commerce platform. The Pinlyx app pulls the people and the money out of your store and into the CRM, so you can answer buyers on WhatsApp, Telegram, Instagram or email from the same inbox you already use.

Once connected, Pinlyx keeps three things in sync:

What Shopify hasWhat it becomes in Pinlyx
CustomersContacts, matched on the Shopify customer id, then email, then phone, so nobody is duplicated
OrdersIncome entries on the Finance dashboard, or notes on the buyer’s timeline on plans without Finance
Abandoned checkoutsA tagged contact and a timeline note with the recovery link, ready for a follow-up you control

It can also put the Pinlyx live chat widget on your storefront, through Shopify’s own app embed rather than by editing your theme. See Live chat on your store.

Every connection starts in Shopify: an app may only be installed from Shopify’s own surfaces, so Pinlyx never asks you to type your store address.

  1. In the Shopify App Store, find Pinlyx and press Install.

  2. Approve the permission request on Shopify’s own screen. Pinlyx asks to read customers and orders, and nothing else.

  3. Pinlyx opens inside your Shopify admin. Press Connect to Pinlyx. A new tab opens on Pinlyx, where you create an account (your store’s email address is prefilled) or sign in to the one you already have.

  4. Go back to the Shopify tab. The page notices the connection on its own and switches to your store’s status and settings.

That is the whole setup. The store is attached to your account the moment step 3 finishes, and the first sync starts immediately.

If you already use Pinlyx, Integrations → Shopify in the panel links to the Pinlyx listing in the Shopify App Store. Follow the same steps and sign in at step 3 instead of creating an account; the store is then attached to your existing workspace.

Once the app is installed, Apps → Pinlyx in your Shopify admin shows the store without leaving Shopify:

  • What to sync, the same switches as the panel.
  • Live chat, with the toggle and the link that opens the theme editor on the right switch.
  • Sync now, an immediate pass for when you have just changed something in Shopify and want it in the CRM before the next scheduled run.
  • Recent activity, the webhook deliveries and sync passes of the last two weeks.

The same settings live in the panel under Integrations → Shopify. Change them in either place: both read one connection.

The embedded screen is authenticated by the short-lived token Shopify’s admin issues for your session, which is why it shows your store’s numbers without asking you to sign in to Pinlyx again, and why it works with third-party cookies blocked.

Every Shopify customer becomes a CRM contact. Matching runs in this order:

  1. The Shopify customer id
  2. Email address, case-insensitive
  3. Phone number

A shopper who first appears through an order and later through the customer sync stays one contact. Fields you have edited in the CRM are never overwritten: the sync only fills in what is still empty.

Contacts the integration creates are tagged (shopify by default) and land on the board you choose, so a store’s customers stay filterable and a bad import stays reversible.

On plans with the Finance module, each order becomes an income entry keyed on the Shopify order id, which means:

  • Re-syncing the same order updates the existing entry rather than adding a second one.
  • A refund or a cancellation corrects the original entry. A cancelled order whose payment still reads paid counts as money given back, not as revenue.
  • A partial refund keeps the entry at the amount you actually kept.

Those entries are grouped under a revenue source created for the store and named after it, so shop revenue stays separable from your other income on the Finance dashboard.

On plans without Finance, and whenever Add orders to Finance is off, each order and each change of its status is written as a note on the buyer’s timeline instead, dated when it happened rather than when it was imported. Turning Finance on later matches the very same contacts.

Paid orders only, on by default, skips orders that are unpaid or whose payment failed. A payment that is only authorised counts as unpaid until it is captured, because an authorisation can still be voided. Refunds always come through, since they correct an entry that already exists.

Test orders are only mirrored from development stores, so a live shop’s test checkouts never inflate its revenue.

Off by default. Turn on Abandoned carts and unfinished checkouts from the last two weeks are picked up on each scheduled pass. The shopper becomes a contact if they left an email address or phone number, is tagged abandoned-cart, and gets a timeline note with the basket, its value and Shopify’s own recovery link.

Nothing is sent to the shopper automatically. Chasing the cart is a sequence you build and control, and the tag is there so that a sequence or a segment can find them. The integration never messages a customer on your behalf.

Pinlyx serves its chat widget through a Shopify app embed: a block that belongs to the app, so a theme update cannot silently drop it and there is no snippet to paste back after a redesign. Shopify leaves the final switch to the merchant, so the setup is two steps, once:

  1. Turn on Show live chat on the storefront, in the app inside Shopify or under Integrations → Shopify in the panel.

  2. Press the theme editor link next to it. The editor opens on App embeds with Pinlyx’s Live chat ready. Switch it on and press Save.

After that the widget is driven from Pinlyx: turning the toggle off takes the chat off the storefront without another visit to the theme editor, and turning it back on brings it back.

Leave the widget selector on automatic and Pinlyx uses the widget registered for your store’s domain, creating one the first time. Pick an existing widget instead if you already run one and want the same conversations, greeting and styling on the shop. Switching later updates the store in place, so the chat never blinks out on a live shop.

The chat goes away when you turn the toggle off, when you disconnect the store, and when your plan no longer includes live chat. Uninstalling the app removes the embed with it, because Shopify takes an app’s storefront pieces away together with the app.

The integration itself, customer sync and order sync run on every plan, the free one included. Three things attached to it have their own gates, and the panel says so rather than failing quietly:

  • Orders as income entries needs the Finance module. Without it, orders still land on the buyer’s timeline as notes.
  • Live chat on the storefront needs a plan with live chat.
  • Follow-up channels (WhatsApp, Telegram, email sequences) follow their own plan limits.

Pinlyx subscribes to Shopify’s customer and order webhooks for every install, so most changes arrive within a couple of minutes. A delivery does not carry data into the CRM by itself: it tells Pinlyx to read the store now, which is why a duplicated or out-of-order delivery changes nothing.

A scheduled pass also reads every connected store every 15 minutes. That is deliberate rather than redundant: Shopify gives up on a failing endpoint after a few hours of retries, and the scheduled pass is what catches whatever fell through a deploy. Abandoned checkouts have no webhook at all, so they only arrive this way.

A large store is imported over several passes rather than all at once, so nothing is lost if the first import takes a while.

SettingDefaultWhat it does
CustomersOnImport Shopify customers as contacts
OrdersOnImport orders and attach them to the buyer
Paid orders onlyOnSkip unpaid and failed orders
Add orders to FinanceOnMirror orders as income entries (needs the Finance module). Off writes timeline notes instead
Abandoned cartsOffTag shoppers who left a checkout and note it on their timeline
Tag imported contactsshopifyTag applied to every contact the integration creates
Add new contacts toDefault pipelineWhich board and column store customers land on
Show live chat on the storefrontOffServe the chat widget through the app embed

Changes apply from the next sync onwards. Nothing already imported is removed.

What the app can read. Two read-only permissions, customers and orders. Abandoned checkouts come with the orders permission. Pinlyx never changes your products, prices, stock, customers or orders. The only thing it writes to your store is the live chat setting the app embed reads (on or off, which widget, and the widget’s script address), stored as data that belongs to the app installation and is not visible in your admin.

Which customer details. Name, email address, phone number, and the city, country and company from an order’s addresses, so that the CRM can recognise a shopper and you can reach them. Street addresses and postcodes are never requested.

Credentials. Pinlyx holds a Shopify access token that expires after an hour and is renewed in the background. Tokens are stored encrypted, and a disconnect deletes them.

Privacy requests. Shopify relays privacy requests to every installed app, and Pinlyx answers them without anything for you to do:

Shopify requestWhat Pinlyx does
Customer data requestAdds a note to the matching contacts, so you can export the contact and send it to the customer
Customer erasureAnonymises the contacts this store created: the name is replaced and email, phone and address details are removed. Income entries keep their amounts, which accounting rules require, but no longer name a person
Shop erasure, 48 hours after you uninstallErases the store’s credentials and its activity log

A contact that already existed in your CRM before the store matched it, someone who had written to you on WhatsApp for instance, is unlinked from the store rather than anonymised: that record is not the store’s to erase. Shopify decides when erasure requests are sent, which can be months after the customer asked.

Uninstalling the app stops all syncing at once and takes the chat embed with it. Contacts, tags and income entries already in the CRM stay, because they are your records; the store tag makes them easy to find if you want them gone.

The chat widget is not visible on the storefront

Section titled “The chat widget is not visible on the storefront”

The app embed is switched off. Open the theme editor link next to Show live chat on the storefront (or Online Store → Themes → Customize, then App embeds), switch Live chat on and press Save. If the embed is not offered at all, live chat is off in Pinlyx or your plan does not include it. App embeds are switched on per theme, so a newly published theme needs the same step once.

Orders from before the last 60 days are missing

Section titled “Orders from before the last 60 days are missing”

Expected for now. Shopify only gives apps the last 60 days of orders without an extra permission, and Pinlyx does not request it. Everything inside that window, and every order from then on, is imported.

Read the activity log in Integrations → Shopify: it records every webhook delivery and scheduled pass of the last two weeks, with the outcome of each. If the order is not there at all, check whether it is unpaid while Paid orders only is on, whether it is a test order on a live store, and whether it is older than 60 days.

Revenue does not appear on the Finance dashboard

Section titled “Revenue does not appear on the Finance dashboard”

Either Add orders to Finance is off, or your plan does not include the Finance module. The panel disables the toggle and says so in the second case.

The stored Shopify access ran out or was revoked. Open Pinlyx once from Apps in your Shopify admin: that renews the access and the connection resumes where it stopped.

The app was uninstalled in Shopify. It cannot be switched back on from the panel, because the credentials are gone with the install. Install it again from the Shopify App Store and open it; the connection resumes with its history, counters and settings.

A store feeds exactly one Pinlyx account, because Shopify issues one access per install. Connecting the store from a second account moves it there, and the first account’s connection is closed with a note saying so.

Full re-sync clears the sync watermarks and re-reads the store from the beginning of Shopify’s 60 day order window. It is safe: contacts match on identity and income entries update on the order id, so a full re-read corrects rather than duplicates.

Disconnect in Integrations → Shopify stops all syncing, takes the chat widget off the storefront and deletes the store’s credentials. Imported contacts, their tags and every income entry stay in your CRM, and the store’s own data in Shopify is untouched.

The app itself stays installed in Shopify, because only you can remove it there. To remove it completely, uninstall Pinlyx from the apps section of your Shopify admin.

To connect again, open Pinlyx from your Shopify admin and press Connect to Pinlyx. The same store reconnected to the same account keeps its imported history and counters.