Go to the app

Integrations

Integrations

An integration is a live connection between your PIM catalog and a store, marketplace, counter or feed, and once it is set up your data moves without you.

An integration is a live connection between your PIM catalog and a place you sell. Once you connect one, the PIM writes your products out to it and reads back what happened to them there, and neither direction needs you to press anything again.

Most people connect one for one of three reasons. They want to stop typing the same product into two systems. They want one price and one stock number everywhere they sell. Or they want a catalog they already built here in front of shoppers somewhere new.

You will find all of this under Integrations in the left sidebar. The screen is a grid of square cards, one per integration, sorted into sections. Clicking a card opens a dialog over the page, and everything you do next happens inside that dialog.

The PIM connects five today: Shopify, BigCommerce, Amazon, Square and Google, where Google means Google Merchant Center. The other cards on the screen are placeholders you cannot click yet. The Repricer keeps a separate set of connections of its own, and Integrations sets both out side by side.

Before you start

What your role lets you do

RoleWhat you can do here
AdminEverything on this screen
ManagerNothing. You never see the screen
EditorNothing. You never see the screen

Integrations is not in your sidebar at all below Admin, and typing its address sends you back to the dashboard. So if a teammate tells you they cannot find Integrations, their role is the answer. Roles are set in team, roles and permissions.

Deleting an account cannot be undone

Deleting an account removes the connection and everything the PIM recorded about it, the pricing history and the market data included. Nothing brings it back. Your PIM products are not deleted.

How to connect an integration

  1. Open the Integrations page

    Click Integrations in the left sidebar. You get a grid of square cards, grouped into sections such as Online Stores and Marketplaces.

  2. Click the card you want

    A card you can use opens a dialog right on the connect form. A card showing a dimmed logo and a Coming soon tag does nothing when you click it.

  3. Fill in the form

    Three integrations ask you for nothing at all. Shopify and BigCommerce each ask for your store address plus two credentials you create in that store first.

  4. Approve the connection

    Click Connect in the bottom right of the dialog. On three of the five you are sent to the integration’s own site to approve access, and it sends you back here after that. Shopify and BigCommerce never send you away, so you stay where you are.

  5. Watch the first sync

    A dialog opens on its own and counts what happened. Close it whenever you like, because closing it never stops the work behind it.

That is the whole flow. Your account is live from that moment. The PIM starts reading the integration on a schedule and publishing your catalog to it, and the card gets a green Connected tag.

Everything below explains the screen one part at a time. You do not need any of it to connect your first account.

Every option in detail

Three words run through this whole screen, and they are worth learning once.

An account is one seller account you authorized: one Shopify store, one Amazon seller account, one Square merchant, one Merchant Center account, one BigCommerce store. A destination is one level under an account and is the thing that actually syncs, and each integration means something different by it. A location is a warehouse or a shop floor the integration already knows about, and it only ever affects stock.

You can connect more than one account on the same integration, and each one keeps its own settings, its own destinations and its own locations.

Reading the cards

The Integrations page is one long grid, sorted into sections in a fixed order: Online Stores, Marketplaces, POS Systems, Shopping Feeds, and Tools at the bottom. A card shows the integration’s logo and nothing else, because the name, the numbers and every control are in the dialog behind it.

Under the logo is one short tag, and which tag you get tells you the state of your connection.

TagWhat it means
ConnectedAt least one account is connected and none needs your attention
Reauth neededAn account has lost its authorization
ErrorAn account hit a problem it cannot recover from
PausedYou have accounts here and none of them is currently syncing
Coming soonThis one is not built yet, and clicking does nothing
No tag at allYou have never connected this integration

The worst state is the one shown, so one broken account hides a healthy one’s Connected. If you have two Shopify stores and the tag reads Error, open the card and look at the list to see which of the two it is about.

Clicking a card you have never connected goes right to the connect form. There is no overview to read first. An integration with no accounts has no numbers to show you yet.

Once you do have an account, that same click opens an overview instead. It gives you four numbers, labeled Accounts, Products, Last pull and Last push, so you can see at a glance how many of your products are live there and how recently anything moved. Under them is Manage accounts, which is how you open the accounts themselves.

Connecting an account

Clicking a card on Integrations puts you on that integration’s connect form, and what it wants from you depends on which one you picked. Three of the five hand you over to their own site to approve access, so there is nothing to type and nothing to copy. Shopify and BigCommerce are the other two, and both ask for credentials you make yourself.

IntegrationWhat the form asks forWhere you approve it
ShopifyThree fields, Shop URL, Client ID and Client secretNowhere. You approve it by creating an app in Shopify and installing it on your store
BigCommerceThree fields, Store URL, Access Token and Client IDNowhere. You approve it by creating the credentials in BigCommerce first
AmazonNothingAmazon Seller Central
SquareNothingSquare
GoogleNothingGoogle, against your Merchant Center account

A Shopify connection runs on an app you create in your own Shopify account. The connect form has the five steps for making it, and a list of permissions with a Copy button, because your app has to be given all of them. Its Client ID and Client secret are what you paste back. Shop URL takes your store address in any shape you have it: paste the address from your browser, paste your myshopify.com address, or type the store name on its own.

A BigCommerce connection needs an API account you create before you start. Make one in your BigCommerce admin and give it permission to modify products and to modify inventory. Then paste its access token and its client ID into the two fields. Keep both somewhere safe, because BigCommerce shows them to you once and they never expire on their own.

One Amazon authorization covers every marketplace in every region that seller account sells in, and you never pick a region. Google takes the first Merchant Center account your Google sign-in can open, with no account picker, so sign in with the login that opens the one you want.

Your organization’s currency has to match the store’s or the merchant’s own currency on Shopify, BigCommerce and Square. When they differ, the first sync fails and nothing at all is imported.

The other two have nothing to disagree with. Google’s destination takes your organization’s currency the moment you connect. An Amazon marketplace in another currency simply finds no price to publish until the variant has one, which pricing works through account by account.

What to create in Shopify before you connect it

Your app is made in the Shopify Dev Dashboard, which the connect form links to. From your Shopify admin, open Settings, then Apps and sales channels, then Develop apps, and click Build apps in Dev Dashboard.

Create an app and give it a name. In the app version, add the permissions the connect form lists, and click Release. Then open Installs and install the app on your store. Your Client ID and Client secret are under Settings and then Credentials in the app.

Leave the app installed after that. When you need fresh credentials, rotate the secret in the Dev Dashboard instead of deleting the app.

Why a seller account can only be connected once

A seller account can be in one organization at a time, across every organization on Ready for Commerce. Connecting one that is already taken is rejected, and the message points you at the address of our support team.

Shopify and BigCommerce catch this before it wastes your time, because a store’s identity is its address and you typed that into the form. The other three can only be recognized once the authorization comes back, so you go all the way to their site before you learn the answer.

If the account is in another organization you are in, the message names it, so you know exactly where to go and disconnect it.

Messages that stop a connection before it starts
MessageWhat to do
This account is already connected to your organization.You have it. Look for it in your accounts list
This account is already connected to "{orgName}", another of your organizations. Disconnect it there first to connect it here.Disconnect it in the organization named, then come back
This Amazon account is not selling in any supported marketplace yet.Start selling in a marketplace on Amazon first
No Merchant Center account was reachable with this Google account.Sign in with a Google login that can open your Merchant Center
Merchant Center already has a file feed for this country and language. Products can only be published through an API feed, so remove or retarget the existing feed first.Remove or retarget that feed in Merchant Center, then connect again
Google did not return a lasting authorization. Remove Ready for Commerce from your Google account permissions, then connect again.Remove us from your Google permissions, then connect again
BigCommerce rejected the access token. Check the token and try again.Make a new token in your BigCommerce admin
The token is missing a required write scope. Grant Products (modify) and Inventory (modify) to the API account.Give the API account both permissions, then connect again
Authorization was declined on the Google consent screen.Start again and approve access

Watching the first sync

You come back to Integrations with a dialog already open, showing a bar and a running count. When it finishes it gives you four numbers: how many products were imported, how many were matched to products you already had, how many were left unchanged, and how many hit an error. A link under those numbers downloads the errors as a file.

Closing that dialog never stops the sync, and the sync goes on whether you are looking at the screen or not. The one you started yourself stays open until it finishes, so you cannot lose track of it. One you find already running on a later visit closes freely, so a long import never traps you here.

What the first sync actually does is different on each integration, and pull covers it one by one.

Working with the accounts list

Click Manage accounts in the dialog that opens from a card and you get the list of your accounts on that integration. Each row shows the name you gave the account and, underneath it, how many destinations and locations it has. Both numbers are narrower than they look: the destination count includes only the ones you switched on, and the location count leaves out the ones the PIM creates for itself.

On the right of each row is either an on and off switch or a status badge, never both.

What you see on the rightWhat it means
A switchThe account is connected or paused, and the switch moves it between the two
ReconnectThe authorization expired or was revoked
ErrorThe account hit a problem it cannot recover from
Redirecting…You pressed Connect or Reconnect and your browser is on its way
Disconnecting…A Shopify store is being removed after its app was uninstalled
PendingThe account exists and has not settled into a state yet

Connect Account at the bottom of the list adds your first account, and reads Add another account once you have one.

Opening an account

Click any row in the accounts list and the dialog switches to that account. Settings and Rename are in the dialog header. Back is in the bottom left, Delete in the bottom right, and Reconnect appears beside it only when the account needs one.

When the account is anything other than plainly connected, a colored banner appears at the top of that dialog and says what is wrong.

BannerWhat it tells you
Reconnection requiredThe connection has to be re-authorized, and you cannot change destinations until it is
Account deactivatedSomething permanent happened on the other side. Delete this account and connect a new one
Connection pausedNothing is syncing. Sort the problem out with the integration, then reconnect
Disconnecting…The Shopify connection is being removed. Your products stay in your catalog

Settings is where you change what that one account does. The settings are on the account and not on your organization, so two Shopify stores can publish two different prices from one catalog. Integration settings covers every field in it.

Reading the Account setup card

A card headed Account setup appears at the top of the account dialog, above the destinations, when something is wrong with the account itself and no single product can fix it. Today only a Google account produces one.

Our own findings come first, and there are two of them. An account with every destination switched off can publish nothing at all. A Merchant Center with products from some other feed will fight with yours until you disconnect the old provider.

Under those come Merchant Center’s own wording, marked as theirs so you know who wrote the sentence. Only the first few are shown, and a line under them tells you how many more there are. The whole card disappears when there is nothing to say, so an account without one has no findings against it.

Turning a destination on or off

The account dialog lists destinations in two groups, Active destinations for the ones you have switched on and Available destinations, dimmed, for the rest. Each row shows a country flag, the destination name, and a switch on the right.

What one destination is depends on the integration.

IntegrationOne destination is
ShopifyOne Shopify market
BigCommerceOne storefront channel in your store
AmazonOne marketplace your seller account sells in, so two countries are two rows under one connection
SquareThe merchant itself, so there is exactly one
GoogleOne Merchant Center feed, fixed to a country and a language

That switch is what actually starts and stops the syncing. Turning it off stops both the reading and the writing for that destination and changes nothing else about the account. The one thing that finishes anyway is a delete already on its way out, so nothing is left half removed on the other side.

Which destinations you start with is decided for you. Shopify and Amazon both arrive with every one of them switched on. BigCommerce arrives with your main storefront on and every other storefront channel off, so publishing to a second one is a choice you make here. Square has one and Google has one.

How your Shopify markets turn into destinations

The PIM reads your markets from Shopify while it connects the store, and keeps them current after that, so you never type one in.

The destination created when you connected stays, and takes the name of your primary Shopify market, so it stops reading like your store’s nickname. Your primary market never gets a second row of its own. Every other active market becomes a destination, switched on, and one you add in Shopify turns up on the next read.

Your own choice about a destination is kept through every refresh. Only the name, the country and the currency are rewritten, so one you switched off stays off however many times your markets are re-read.

A market you removed in Shopify has its destination removed here too. That only happens when the whole market list was read successfully, so a half-read can never delete one by accident. A market with no currency never becomes a destination at all.

Deciding which locations count toward your stock

Scroll past the destinations in the account dialog and an account that has locations of its own gets a list headed Locations. Each row is one location and a switch, and that switch decides whether the location’s count is part of the on-hand number your PIM works from.

Your own locations and third-party locations arrive switched on. Amazon FBA locations arrive switched off, because those units are already sold by Amazon, and adding them to a quantity you then publish yourself would count them twice. A location the integration has marked inactive is dimmed and is still yours to switch.

The locations the PIM creates inside your store for the stock it publishes never appear in this list, and inventory explains what each one does. An account with no locations of its own shows no Locations list at all.

Pausing an account

The switch on the right of a row in the accounts list moves that account between connected and paused. Pausing stops the reading and the writing for every destination under it. Nothing is deleted, and everything already synced stays exactly where it is. Product badges elsewhere in the app turn gray and read Account paused while it lasts.

A second switch is in the header of the dialog you get from the card, and it pauses or resumes every account on that integration at once. It never touches an account that is in error or needs re-authorization, and you cannot press it at all while the integration is in error.

An account that is in error, needs re-authorization, or is disconnecting cannot be paused or resumed. The switch is not there on those rows, so there is nothing to press until the account is back to connected or paused. Destination and location switches keep working while an account is paused, and stop working in those same three states.

Renaming an account

Click Rename in the account dialog header and the title turns into a box you can type in, up to 100 characters. The name is yours alone: it is never sent to the integration and changes nothing about what syncs.

Name any account you are going to see beside a sibling. Two Shopify stores selling the same brand look identical in the list until you tell them apart yourself.

Reconnecting an account

Reconnect appears in the bottom right of the account dialog only when the authorization expired or was revoked, which is the recoverable case. An account that failed permanently, a store that is gone or a seller account that was shut down, gets no reconnect, because there is nothing left to re-authorize.

For Amazon, Square and Google the dialog shows one line telling you where you are about to be sent, and pressing Reconnect sends you. Shopify and BigCommerce have no hand-off, so you paste fresh credentials instead. On Shopify that is the Client ID and Client secret from your app, and the store itself does not change. On BigCommerce it is a fresh access token and client ID, made with the same permissions as the original.

It has to be the same account. Authorizing a different store, a different seller account or a different Merchant Center account is rejected with a message that says so plainly.

A reconnect stores the new authorization, turns the account back to connected, clears its error and closes the alerts it raised. It creates nothing and deletes nothing, so your destinations, your locations and the link between each product and its listing are all left untouched.

Disconnecting an account

Every account is deleted from here directly. Delete is in the bottom right of the account dialog, and the dialog tells you how many products and how many destinations it is about to cut loose. It then asks you to type the account name exactly, and to type the word DELETE. Only then does Delete become clickable.

Disconnecting a Shopify store does not remove your app from it. The app is yours, so it stays installed and can go on doing whatever else you built it for. Uninstalling it in your Shopify Admin disconnects the store too: the PIM is told, removes the account along with its credentials, its destinations, its locations and its sync state, and emails you. Your catalog is untouched either way.

Linking the Repricer

Scroll to the bottom of Integrations and the Tools section has one card, Repricer. It is not an integration and it has no accounts of its own. It is the one switch that links your PIM to your Repricer.

Click that card and a dialog shows you four numbers before you commit. It counts your PIM products, your Repricer listings, and how many of them match and do not. Press Connect in that dialog and the link is on.

Both products have to be active on your organization first. If the Repricer is not, the dialog says so and gives you a link out to activate it.

Once the link is on, every account you have in both products pairs up. The paired ones are listed in that same dialog, tagged Prices by Repricer. From then on the Repricer owns the selling price on those accounts and the PIM stops writing it. The PIM owns the cost, the MAP and the MSRP on the matching listings. Disconnect gives pricing back, and the prices the Repricer set stay where they are. The Repricer connection covers the whole trade.

Limits

WhatLimit
Accounts on one integrationNo limit
Characters in an account name100
Destinations on a Square account1
Feeds on a Google Merchant Center account1
Organizations one seller account can be in1

What you cannot do here

You cannotDo this instead
Sync an account on demandSave that account’s settings and answer Re-sync now
Share one connection between the PIM and the RepricerAuthorize the account separately in each product, then link them from Tools
Pick which Amazon regions you connectSwitch off the destinations you do not want
Choose which Merchant Center account Google usesSign in with a Google login that can open the one you want
Publish one field to one account and keep another backSwitch the whole product off for that account
Edit anything about a listing from this screenOpen the product in your catalog

What each integration does with your catalog

The five are not variations on one idea, and the difference decides what you should expect from each connection. Shopify and BigCommerce both keep your whole product and report back on it. Square keeps a catalog and sends back what happens at the counter. Google advertises a product it never stores. Amazon sells your offer against a listing someone else owns.

IntegrationWhat it keepsWhat comes back into your catalog
ShopifyYour whole product, images and video includedNothing about content. Deletes, locations, and a read-only view of the store’s stock
BigCommerceYour whole productNothing about content. Deletes, locations, and a read-only view of stock
SquareYour product and its variationsCounter sales as a read-only view of stock, and the archived state
GoogleNothing. It links shoppers to your own websiteA verdict on each product, and the reasons behind a rejection
AmazonOnly your offer, never the listing textThe offer’s state, its ASIN, and who fulfills it

Amazon in the PIM is offer-only. Your push sends the condition, the price, the tie between your SKU and the ASIN on the first push, and a quantity on listings you ship yourself.

Google is at the other end of that range. It takes a whole product and hosts none of them, so every offer has to name the address of that product’s page on your own site. You give it that address in the account’s settings, and an offer with nowhere to link is kept back instead of published.

Every integration except Amazon publishes your catalog without waiting to be asked. Once one of them has been read to completion, every product of yours whose SKU is missing there is queued to be published. That happens on connect and again on every read after that, which is why a catalog appears somewhere without you editing anything. Amazon never does it, because an Amazon offer needs an ASIN you supplied.

What goes in each direction, field by field, is set out in push and pull.

When something goes wrong

What each account state stops

StateWhat stopsWhat clears it
Paused by youReading and writing on every destinationFlip the switch back
Destination switched offReading and writing on that destination aloneFlip that switch back
Reauth neededEverything, until you re-authorizeReconnect in the account dialog
ErrorEverything, permanentlyDelete the account and connect a new one
Lapsed subscriptionThe scheduled reading, on everythingFix your organization’s billing

A lapsed subscription stops the scheduled reading everywhere without changing a thing on this screen. Every switch still reads as on and no account looks paused. Check your billing before you check your connections.

Getting told about it

You get an email when a connection needs you, and email is the only way the PIM tells you: there is no message center anywhere in the app. Six of them exist, and each names the integration it is about.

The email is aboutWhat it asks you to do
An expired or revoked authorizationReconnect the account
A paused connectionReconnect the account
A sync problemNothing. It is retried for you
A problem at the integration’s own endNothing. It often clears itself
A billing problem on the integrationLook at the details
A currency that does not matchLine the two currencies up, then save the product again

You control these under Notifications in your settings, in the group named Integrations & Sync. There are two switches: Connection issues covers the first two, and Sync errors covers the rest.

Two things that happen with no message

Neither of these tells you it happened, so they are worth knowing about.

A card reading Connected can still hide a broken account, because the tag reports your worst account and not your best one. Open the card and read the list.

An account you paused stays paused forever. Nothing resumes it for you and nothing reminds you, so if a store went quiet weeks ago, the switch on its row is the first thing to look at.

Where to go next