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 exampleusetrmnlis ours, because our store is accessible atusetrmnl.myshopify.comXXX=> the Client ID copied from the previous instruction in Step 3YYY=> 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 exampleusetrmnlis ours, because our store is accessible atusetrmnl.myshopify.comXXX=> the Client ID copied from the previous instruction in Step 3YYY=> the Secret copied from the previous instruction in Step 3CODE=> the "code=" parameter value we noted in the previous instruction, for example3547b34z22b8f3from 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 entirecurl ...command from above (with your changes already made) and hit enteron a Windows computer, click the Start icon and then type
Command Prompt. After it opens, copy/paste the entirecurl ...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,
paste your new
access_tokenvalue from Step 4 inside the Access Token fieldinput 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.












