Shopify integration

  • Last updated on May 13, 2025 at 12:22 PM

In order to connect to your shopify store you will need to create a new custom app on the store and provide  it specific permissions.

Step by step

We will need to create a connector app on the Shopify side, an app whose purpose is to allow 3rd party applications (like the Dixa widget) to access the store information via API access.

Configuration on the Shopify side

Go to your store's apps section

Click on the Develop apps for your store button

And then choose to create an app

Give it a meaningful name

and on the next screen we will need to configure the admin access that this app will have 

From all the possible permissions we will need to select the following:

  • Customers
    • write_customers
    • read_customers
  • Merchant-managed fulfilment orders
    • read_merchant_managed_fulfillment_orders
  • Orders
    • write_orders
    • read_orders
  • Discounts
    • write_discounts

Once we hit save, it should look like this:

Now that we've configured the app's admin API permissions we will need to install the app on our store and retrieve our admin access token.

Do this by clicking Install app

And confirm 

Once we install the app the Admin API access token will be visible and we will be able to grab the token

Important: be sure to copy and store this token securely as we won't be able to retrieve it later.

If you forget to store it and need it later on, you will have to repeat the process and create a new app to generate a new token.

Add a Shopify widget to Dixa 

Once you have  API access token we can proceed with the widget configuration on the Dixa side. Start by visiting Dixa go to Settings --> Integrations  --> Conversation cards. Create a new integration widget by clicking on Shopify.

Configuration the integration

On the Create widget page you must fill in the following:

  • Widget name
  • API Access token
  • API host name

The Widget name is used to identify the integration in the conversation interface. An example would be Shopify.

The second required field is the API Key you created in the previous step.

The third required field is your instance of Shopify's API URL. It will be this-is-a-da-demo-store.myshopify.com

You have the following toggle options:
Enable the "refund order" button - using this button will fully refund the order. 

Enable the  "cancel order" button - you can cancel an on-going order with this button. After clicking the cancel button, a pop-up will prompt you for more details on the cancellation.

Enable the "edit shipping address" button - makes it possible for agents to edit the shipping address in Shopify from the Dixa interface.

Displays short orders overview - shows an overview of total placed orders and the total amount of money spent.

Displays the email marketing consent status of the customer - shows if the contact has accepted to receive marketing material sent through Shopify.

Displays the segment memberships of the customer - show the configured Shopify segments, and if the contact is a member of a Shopify segment, a coloured logo will be displayed on the right of the segment name.

Once you are done with the configurations, ensure that  Show the widget in the conversations sidebar is toggled on. 

After the configuration is done, when opening up a conversation, we will use Shopify to look up the contact and pull their data based on their email address, below is an example: 

FAQ

Multiple stores

It's not uncommon to have multiple Shopify instances to cover different geographical markets. How should you handle that?

Because Dixa can handle multiple versions of the same integration, we recommend you create a Shopify widget for each market and leave all Shopify instances open when opening a conversation with a customer. When an agent opens or closes a widget, the state is saved in the browser and will be remembered for future conversations. A Shopify widget that doesn't find a result will only show a string with "We cannot find the customer in Shopify," it won't take up much space.

Was this article helpful?

Help Center
Username
Dixa Support
System Status
Have a question?
Product Roadmap
Webinar Series
Dixa Academy