Shopify is a cloud-based e-commerce platform. The Shopify Product Connectors App keeps your Yext account in sync with your Shopify product catalog, enabling Yext Search and Pages to surface up-to-date product information.
This guide covers three steps:
- Create a custom Shopify app
- Install the Shopify Product Connectors App in the Yext App Directory
- Set up webhooks in your Shopify account
Create a custom Shopify app
Shopify allows you to create custom apps to provision access to the Shopify APIs. You'll need to create a custom app to give Yext permission to access your Shopify store.
Start on your Shopify store homepage and follow the steps below:
- Navigate to Apps > App & sales channel settings.
- Click Develop apps for your store and click Create an app in the top right. Give the app a name and create it.
- This app uses the Shopify Admin API. Select Configure Admin API Scopes and provision the
read_productsscope. Click Save in the top right corner. - Click Install App to retrieve your access token.
- Authorize the installation and on the next page click Reveal token once. Copy and paste this token somewhere safe — you will need it when installing the Shopify Product Connectors App in Yext. You can only view this token once; Shopify does not allow you to retrieve it again after viewing.
Install the Shopify Product Connectors App
This app creates six connectors in your Yext account — three for comprehensive daily data pulls and three for handling near-real-time changes via webhooks:
- Products: Pulls in parent products and their photo gallery.
- Variants: Pulls in all product detail fields from variants.
- Images: Pulls in the primary image for each variant. Note: products without variants will only have a primary image on the parent product, not on the variant. Variant images sync daily, not in near-real time.
- Parent Product Updates: Adds newly created parent products and updates parent products in near-real time.
- Variant Product Updates: Adds newly created variant products and updates variants in near-real time.
- Product Deletions: Instead of deleting the entity, this connector adds a label — "Deleted in Shopify" — to preserve historical analytics. The label can be used to filter products out of Search or Pages.
To install the app:
- Navigate to Apps > Directory and search for the Shopify Product Connectors app.
- Review the app details and click Install.
- Allow the connector to access your Yext account by clicking Next.
- Input the following:
- Shopify Store Name
- Shopify API Access Token — the access token generated from your Shopify custom app.
- Click Authorize, which will install and run the connector.
- You will be redirected to the Shopify Parent Products Connector overview page. Click Run Connector to pull in all parent products.
- Manually run the Variant Products connector and Variant Images connector as well. Navigate to the Connectors page, select each variant connector, and press Run Connector.
- Check out your newly created Product entities in the Knowledge Graph.
After installing, you can also customize the following:
- Options mapping: Options are mapped to Shopify Option fields by default. If one of your options is color, size, or material, you can map these to built-in fields on the product entity instead of using Shopify Option 1, Option 2, and Option 3.
- Currency: The default currency for all variants is USD. To change this, update the Variant Products Update connector at transforms in steps 6 and 7.
Set up webhooks in your Shopify account
To keep your Shopify product catalog up to date in near-real time, you need to create webhooks in Shopify that trigger the appropriate connectors in Yext.
Create an app in Yext
First, create a developer app within Yext to retrieve an API key with proper permissions for your webhook endpoints.
- Navigate to the Developer Console within Yext.
- Select +Add an App and give it a name.
- Under the API Credentials tab, add API permissions for the Management API Connectors endpoint.
- Click Save.
Set up webhooks in Shopify
You will create 5 webhooks in Shopify. Each webhook requires a URL from the corresponding Yext connector — retrieved by navigating to the connector, clicking Edit Configuration, and copying the URL from the connector settings tab. Set the format to JSON and the Webhook API Version to 2022-10.
Parent product webhooks (product creation and updates):
- Navigate to your Connectors page in Yext and select the Shopify Parent Product Updates connector.
- Click Edit Configuration.
- In the connector settings tab, copy the URL. Use this URL for both the product creation and product updates webhooks in Shopify.
Variant product webhooks (variant creation and updates):
- Navigate to your Connectors page and select the Shopify Variant Product Updates connector.
- Click Edit Configuration.
- Copy the URL. Use this URL for both the variant creation and variant updates webhooks in Shopify.
Product deletion webhook:
- Navigate to your Connectors page and select the Shopify Product Deletions connector.
- Click Edit Configuration.
- Copy the URL. Use this URL for your product deletions webhook in Shopify.
After all webhooks are saved in Shopify, your Shopify product catalog will stay in sync with Yext.