Skip to main content

Shopify

Sales and order stats, at your fingertips.

Written by Ryan Kulp

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 Shopify stopped letting merchants create custom apps inside the store admin. This guide uses Shopify's new Dev Dashboard instead, and TRMNL now refreshes its own access token, so your connection does not expire.

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."

Click Build apps in Dev Dashboard.

The Dev Dashboard opens in a new tab. Click Apps in the left menu, then Create app at the top right, then Create app manually.

Name your app, we suggest TRMNL Plugin.

Under API access, type read_orders in the Scopes box. TRMNL needs read only access to your Orders to fetch recent sales data. Leave everything else on this form as it is.

Click Create app at the top right.

Click Release in the popup. You can skip the description.

Step 3 - Install your Shopify App

This is the step people miss most often. An app that is created but not installed cannot read your orders.

On your app's Overview page, click Distribution. This opens Shopify Partners in a new tab. If Shopify asks you to choose an account, pick the one you use for your store.

Choose Custom distribution and click Select.

Click Select custom distribution to confirm.

In Store domain, enter your full store address, for example mystore.myshopify.com. Click Generate link, then Generate link again to confirm.

Click Copy next to the install link and paste it into a new browser tab.

Pick your store and click Install. Shopify lists customer data in the permissions because orders include it. TRMNL only reads order totals and dates.

Shopify then opens a page about example.com. That is expected, you can close it.

Step 4 - Copy your Client ID and Client secret

Back in the Dev Dashboard tab, the Credentials card on your app's Overview page shows the Client ID and Client secret. Copy both with the copy buttons.

Treat the Client secret like a password. Anyone who has it can read your orders.

Step 5 - Configure Plugin

Back inside TRMNL > Plugins > Shopify, paste your Client ID and Client Secret. Leave Access Token blank.

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.

Troubleshooting

"Shopify refused the store address, Client ID or Client Secret" One of those three values is wrong, or the app is not installed on your store yet. Check each value, then repeat Step 3.

"Shopify store not found, or the access token is invalid" The store subdomain is wrong, or, if you use an Access Token, the token was revoked or the app was uninstalled.

"Could not get a Shopify access token" Shopify did not answer when TRMNL asked for a token. This is usually temporary. TRMNL tries again on the next refresh.

"This app can't be installed yet" You clicked Install app in the Dev Dashboard before choosing a distribution method. Use the install link from Step 3 instead.

"The installation link for this app is invalid" The Install app button in the Dev Dashboard does not work for custom distribution apps. Use the install link from Step 3.

My token stopped working after 24 hours You followed an older version of this guide that had you make the token yourself. Those tokens last 24 hours. Paste your Client ID and Client Secret instead and clear the Access Token field. TRMNL then makes a new token on every refresh.

I set this up before 2026 with an Access Token Nothing to do. Tokens from custom apps made in the Shopify admin do not expire, and they keep working.

Related

Did this answer your question?