Skip to main content

Shopify

Sales and order stats, at your fingertips.

Ryan Kulp avatar
Written by Ryan Kulp
Updated over a week ago

Connecting your Shopify store to TRMNL requires a bit of concentration and a few minutes of your time, but no coding skills are required.

On January 1, 2026 the Shopify team made it more complicated to build private applications, so the tutorial below has been updated with better instructions to guide you through the process.

For TRMNL to generate custom dashboards of your Shopify sales, we only need read only access to your last 60 days of Orders, nothing more.

Step 1 - Visit the Shopify plugin

Inside TRMNL, navigate to Plugins > Shopify.

Before we can click Save on this screen we need to generate a custom Shopify app and login credentials. This is a one-time operation and you will not need to touch this custom app after initial setup.

Step 2 - Create a Shopify App

Inside your Shopify admin, open Settings at the bottom of your left side navigation.

Click the Apps item on the new left side menu.

Near the top right click "Develop apps."

If you have not already created custom apps, you may need to accept the Terms of Use.

This is a 2-page process, so click “Allow” on both screens.

Otherwise, click "Build apps in Dev Dashboard" and then "Create app."

Name your app, we suggest TRMNL Plugin, then click Create.

Scroll down to Access and input read_orders in the Scopes text area. TRMNL needs access to your Orders scope in order to fetch recent sales data and generate screen content. This access is read only and may be revoked at any time.

Now input https://example.com inside the Redirect URLs text area. This is dummy data but is important to help us install our app.

Click "Release" at the bottom or top of this settings form to save your work. You can ignore the optional version and message fields that will be prompted in a popup.

Step 3 - Install your Shopify App

From your Shopify Dev Dashboard click your app's name from the list,

then save your "Client ID" and "Secret" values using the clipboard icon. We'll need both of them in a moment.

Next, copy the string of text below into your computer's notepad or text document, replacing the capitalized details.

https://YOUR-STORE.myshopify.com/admin/oauth/authorize?client_id=XXX&client_secret=YYY&scopes=read_orders&redirect_uri=https://example.com

Here are the values you'll be replacing:

  • YOUR-STORE => your MyShopify admin subdomain, for example usetrmnl is ours, because our store is accessible at usetrmnl.myshopify.com

  • XXX => the Client ID copied from the previous instruction in Step 3

  • YYY => the Secret copied from the previous instruction in Step 3

Past this entire (updated) URL into a new browser tab and hit enter.

You'll be prompted to select your Shopify store, then approve the permissions we just created in the Scopes section.

After confirming the installation you'll land on a page like this:

Copy the full URL from your web browser into a text note or document:

https://example.com/?code=3547b34z22b8f3&hmac=66...


We just need the code value, which is every character between code= and &hmac, therefore 3547b34z22b8f3 in the examlpe above. Your code value will be different and a bit longer.

Step 4 - Generate a permanent access token

We're almost done - it's time to combine all these random values of text into a permanent token that TRMNL can use to generate sales dashboards on your device.

Here is just 1 more blob of text to customize...

curl -X POST \
"https://YOUR-STORE.myshopify.com/admin/oauth/access_token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=XXX" \
-d "client_secret=YYY" \
-d "code=CODE"

Like before, replace these values with content we gathered previously:

  • YOUR-STORE => your MyShopify admin subdomain, for example usetrmnl is ours, because our store is accessible at usetrmnl.myshopify.com

  • XXX => the Client ID copied from the previous instruction in Step 3

  • YYY => the Secret copied from the previous instruction in Step 3

  • CODE => the "code=" parameter value we noted in the previous instruction, for example 3547b34z22b8f3 from our example

After you update the text blog...

  • on a Mac computer, open your terminal by hitting cmd+space, then typing terminal. After it opens, copy/paste the entire curl ... command from above (with your changes already made) and hit enter

  • on a Windows computer, click the Start icon and then type Command Prompt. After it opens, copy/paste the entire curl ... command from above and hit enter

Regardless of what kind of computer you use, this command should yield a message like this:

{"access_token":"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","scope":"read_orders"}

Step 5 - Configure Plugin

Back inside TRMNL > Plugins > Shopify,

  1. paste your new access_token value from Step 4 inside the Access Token field

  2. input your Shopify store's MyShopify subdomain

Your access token begins with shpat_ and is followed by several alphanumeric characters. Do not include any " quote marks.

Your Store Web Address does not require a full "myshopify.com" URL, only your store's subdomain. For example, if your store is "usetrmnl.myshopify.com" then "usetrmnl" is your subdomain.

Click Save to activate this plugin.

Step 6 - You're Done!

Based on your desired refresh settings, TRMNL will begin aggregating order stats from Shopify very soon.

Stay focused.

Did this answer your question?