Connecting to Shopify
There are 2 ways to connect Gadget to your Shopify store.
The Shopify Partners dashboard allows you to manually create a custom or public application that can then be linked to Gadget. If this is your first time trying Gadget, we recommend you follow the Partners dashboard documentation to set up your first connection. A Partners account also allows you to make development stores for testing.
The Shopify store Admin allows you to develop an app right inside a Shopify store environment. You can develop on a live store, or use a Partners account to create a development store.
Public apps can only be created in the Partners Dashboard (Partners Connection). More information can be found in the Shopify documentation.
Connect to Shopify through the Partners dashboard
To complete this connection, you will need a Shopify Partners account as well as a store or development store
Our first step is going to be setting up a custom Shopify application in the Partners dashboard.
- Go to the Shopify Partners dashboard
- Click on the link to the Apps page
Both the Shopify store Admin and the Shopify Partner Dashboard have an Apps section. Ensure that you are on the Shopify Partner Dashboard before continuing.

- Click the Create App button

- Click the Create app manually button and enter a name for your Shopify app

- Go to the Connections page in your Gadget app

- Copy the Client ID and Client secret from your newly created Shopify app and paste the values into the Gadget Connections page
- Click Connect on the Gadget Connections page to move to scope and model selection

Now we get to select what Shopify scopes we give our application access to, while also picking what Shopify data models we want to import into our Gadget app.
- Select the Read and Write scopes you need for your application
- Select what Shopify models you want to import into your Gadget app
- Click Confirm to connect to the custom Shopify app


Now we want to connect our Gadget app to our custom app in the Partners dashboard.
- In your Shopify app in the Partners dashboard, click on App setup in the side nav bar so you can edit the App URL and Allowed redirection URL(s) fields
- Copy the App URL and Allowed redirection URL from the Gadget Connections page and paste them into your custom Shopify App

Now we need to install our Shopify app on a store, and sync data.
Note: If you are using an Event subscriptions version later than 2022-07, you will need to request access permissions in the Protected customer data access section on the App Setup page of your Shopify app. Clicking on Request access will bring you to the access request page. Once there, add requests to any data under Protected customer data.


After completing the required sections in Protected customer access data, return to your Gadget app and navigate to your Shopify connection on the Connections tab. Click on Shop Installs under the Shopify Apps section and register the webhooks.

- Go back to the Shopify Partners dashboard
- Click on Apps to go to the Apps page again
- Click on your custom app
- Click on Select store
- Click on the store we want to use to develop our app
- You may be prompted about Store transfer being disabled. This is okay, click Install anyway
- Click Install app to install your Gadget app on your Shopify store


You will be redirected to an embedded admin app that has been generated for you. The code for this app template can be found in frontend/ShopPage.jsx.

Set up is complete! We are now ready to build our Gadget application.
If we have created at least one product in our store we can test out the connection:
- Go back to our Gadget Connections page and click on the Shop Installs button for the added app in the Shopify Apps section
- Click the Sync button for the installed store
- We should see that the Sync action was a success



That's it! We have successfully set up a store and custom app in Shopify, connected our Gadget app to this store, and synced our store data with our Gadget app.
Note: For public Shopify apps, you can add a code effect to sync data on Shop install. For more information, check out our docs.
Connect to Shopify through the Store Admin
To complete this connection, you will need a Shopify account and store.
Note: If you want to create a Development Store that is free beyond Shopify's 14-day free trial, you can also sign up for a Shopify Partners account and create a free store there.
- In your Shopify Store Admin, click on Settings, at the bottom left of the screen, to open the Settings window
- Click on the Apps and sales channels option

- Click on Develop apps for your store

- Click Allow custom app development and accept the terms of use (after reading them, of course)
- Click Create an app and enter a name for your custom application

- Click Configure Admin API scopes to select the scopes required by your application

- Select the scopes your application requires and click Save
- Click on the API credentials tab

- Install the app on your store

- In your Gadget app, click on Connections in the nav bar
- Click on the Shopify Admin connection type in your Gadget app

- Enter your store domain
Do not include https://
when copying over your domain, it must be of the store-name.myshopify.com
format!
- Copy credentials (Access Token, API Key, API Secret) over from your Shopify Admin to Gadget

- Select the same scopes that you selected in the Shopify Admin scope selection
- Select the models that you want to import from Shopify

- Click Sync to sync data from Shopify

Congrats! You have set up your Admin Connection!