This page describes what a merchant sees when your app sends them to the authorize URL, and how they disconnect it later. Use it when you write your own onboarding, and when you need to explain why a shop cannot be selected.
The Consent Screen
When a merchant opens your authorize URL, they sign in to Triple Whale if they are not already signed in. The consent screen shows:
- Your app's logo and name, as submitted in the portal
- The scopes you requested, in the wording from OAuth Scopes
- A shop picker, so they can connect one shop or several
After they approve, they are redirected to your redirect URI with the authorization code. Call granted shops with the access token to see which shops were granted.
Choosing Shops
A merchant may have access to more than one Triple Whale shop.
- Shops that can be combined are selected together. Your app receives one token that covers all of them.
- A shop that cannot be combined with others can still be connected on its own. The screen explains that, and picking it clears any other selection.
- For an app with
moby:read, a shop whose plan does not include MCP cannot be selected. The screen tells the merchant what to do next. If none of their shops can be connected, the screen says so instead of offering the picker.
Where Merchants See Connected Apps
Connected apps are listed under Apps in shop settings, with your app's name and logo. The page is at app.triplewhale.com/store-settings/apps.
The Apps item appears when the shop has at least one connected app, including an MCP connection. A shop admin or owner can open the page. The older address app.triplewhale.com/apps redirects there.
Opening Your App
If your app has a Launch URL, Apps shows Open app next to it. The button opens that URL and sets the query parameter accountId to the shop id of the shop the merchant is in. An app with no Launch URL does not show Open app.
To send a merchant back to Triple Whale, use app.triplewhale.com/store-settings/apps.
Disconnecting an App
A shop admin or owner opens Apps and clicks Remove app. The confirmation says the app loses access to that shop right away, and connecting again means authorizing from the app. From that moment:
- That shop is disconnected
- The app disappears from that shop's Apps page
- Other shops on the same consent stay connected
- A shop listed only in
additionalShopIdsdrops off that list.accountIdstill shows the shop id from the token after that shop is disconnected
When that shop was the only one on the consent, refreshing the token fails. To reconnect that shop, send the merchant through the authorize URL again.
Disconnecting a Shop from Your Side
Call Disconnect a Shop with the merchant's access token. That call disconnects one shop, for every user who connected it. It has the same result as the merchant clicking Remove app.
App owners and admins can also disconnect a shop in the portal. Open the app, go to Usage, click Show shops, then Disconnect. The confirmation says that shop stops sharing with your app right away, for every user who connected it, and the merchant has to authorize again.
Best Practices
- Tell merchants which shops they should connect, and that combining shops depends on their plan.
- When a refresh fails, offer a "reconnect Triple Whale" action instead of a raw error. A
401on refresh means the merchant removed the app, or your client secret was rotated. - If your app uses
moby:read, mention the MCP plan requirement in your own docs so a disabled shop on the consent screen is not a surprise.