Shopify Subscription Apps Compared: Which Let an AI Support Agent Skip, Pause and Cancel? (2026)
Of the 16 Shopify subscription apps with the most installs, 10 expose skip, pause and cancel through a documented API that an AI support agent can call with a static key, and 3 of those 10 put that API behind a paid plan or add-on. Recharge, the largest at 53,290 stores, documents skip and cancel but has no pause endpoint. Three apps can't be reached by an agent at all. We read every vendor's API reference and Shopify App Store listing on 28 September 2026; the matrix below shows which of six subscriber requests each app lets an agent finish, and what the help desk's own AI already does.
Key takeaways
- Seal, Appstle, Bold, PayWhirl, Loop, Subi, Skio, Stay AI, Awtomic and Smartrr, 10 of the 16 most-installed Shopify subscription apps, document skip, pause and cancel in an API that takes a static key.
- Recharge's 2021-11 API lists subscription statuses as "active", "cancelled" and "expired" and has no pause endpoint, although its customer portal can pause and fires a subscription/paused webhook.
- Gorgias AI Agent ships ready-made Actions for Recharge, Skio and Loop Subscriptions, but it only skips or cancels when the shopper has a single subscription.
- Loop's API tokens need Loop's PRO plan, Subi's API is a $49 a month add-on unless you're on Subi Plus, and Appstle's docs describe a paid API plan requirement for merchant keys.
- Stay AI's reference now documents Skip Next Order, Pause Subscription and Set Next Billing Date, pages updated 16 September 2026, so older write-ups saying its API can't skip or pause are out of date.
Which subscription apps can an AI agent act in, and how?
"Static key" means the merchant generates a token once in the app's settings and the agent sends it in a header on every call, with no customer login and no token that expires every day. That's the condition for an agent that works tickets on its own. The job columns list only actions the vendor's API reference documents. We made one live call, to Loop, on a test ticket, described near the end of this page; none of these writes has been run against a real subscription.
| App | Shopify stores (StoreLeads) · App Store rating | Auth header | Static key? | Skip | Pause | Cancel | Next date | Swap | Address | Help desk AI actions |
|---|---|---|---|---|---|---|---|---|---|---|
| Recharge | 53,290 · 4.8 (3,121) | X-Recharge-Access-Token | Yes | Yes (charge) | No | Yes, reason required | Yes | Yes | Yes | Gorgias AI Agent: cancel, skip |
| Seal Subscriptions | 34,496 · 4.9 (3,113) | X-Seal-Token | Yes | Yes | Yes | Yes | Yes | Yes | Yes | None documented |
| Appstle Subscriptions | 34,346 · 5.0 (8,822) | X-API-Key (apst_) | Yes, paid API plan | Yes | Yes | Yes | Yes | Yes | Yes | None documented |
| Kaching Subscriptions | 21,066 · 5.0 (1,067) | None found | No | No | No | No | No | No | No | None |
| Shopify Subscriptions | 17,637 · 3.7 (825) | Shopify app token | No for new setups | No | No | No | No | No | No | None |
| Recurpay | 8,401 · 5.0 (564) | X-Recurpay-Access-Token | Unconfirmed | Yes | Not found | Yes | Not confirmed | Yes (lines) | Not confirmed | None |
| Bold Subscriptions | 6,092 · 4.0 (380) | Bearer API access token | Yes | Yes | Yes | Yes | Yes | Yes | Yes | None |
| PayWhirl | 4,677 · 4.7 (190) | api-key + api-secret | Yes, two headers | Yes | Yes | Yes | Yes | Plan change | Customer address | None |
| Loop Subscriptions | 4,412 · 5.0 (767) | X-Loop-Token | Yes, PRO plan | Yes | Yes | Yes | Yes | Yes | Yes | Gorgias AI Agent: skip, cancel, pause, resume |
| Subi | 2,906 · 4.9 (921) | X-Api-Key | Yes, $49/mo add-on | Yes | Yes | Yes | Yes | Yes | No | None |
| Skio | 1,716 · 5.0 (241) | authorization: API <token> (GraphQL) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Gorgias AI Agent: cancel, skip |
| Joy Subscription | 1,697 · 4.9 (457) | App keys plus the customer's own login session | No | No | No | No | No | No | No | None |
| Stay AI | 917 · 4.9 (148) | X-RETEXTION-ACCESS-TOKEN | Yes | Yes | Yes | Yes | Yes | Yes | Yes | None documented |
| Awtomic | 492 · 5.0 (35) | x-api-key | Yes | Yes | Yes | Yes | Yes | Yes (lines) | Yes | None documented |
| Smartrr | 475 · 5.0 (70) | x-smartrr-access-token | Yes | Yes | Yes | Yes | Yes | Yes | Yes | None documented |
| Ordergroove | 393 · 5.0 (21) | x-api-key | Yes | Yes | Not in REST reference | Yes | Yes | Yes | Yes | None documented |
Store counts are StoreLeads app reports, each marked "Updated Sep 25 2026", which we read on 28 September 2026. Ratings and review counts are the Shopify App Store listings the same day. The 16 apps together sit on 193,013 store installs, and Recharge alone is 27.6% of that.
Which Shopify subscription app should you pick if support automation matters?
If you're choosing an app partly on how much of the subscription queue an agent can clear, four segments come out of the matrix. Prices come from the pricing block on each vendor's Shopify App Store listing, read on 28 September 2026; those plans are billed through Shopify and may differ from the vendor's own site.
- Already on Recharge, or want the largest install base: stay. Skip, cancel, next date, swap and address are all in the API, and Gorgias AI Agent has ready-made Actions for it. Pause is the gap, so write a policy for moving the next charge date instead. Recharge's listing has a $25 a month plan with "no transaction fees for your first 50 subscribers", then Starter at $99 a month plus 1.49% + 19¢ per transaction.
- Mid-market and want pause through the API: Loop or Skio. Loop's Pro plan is $399 a month plus 0.75% per transaction on its listing, and it's the plan that lists "Admin/ Storefront APIs and webhooks". Skio's Scale plan is $599 a month plus 1% + 20¢ on its listing, with no separate API gate.
- Free or low-cost: Seal. Its listing includes "Full API & webhooks access" on the free plan (up to 50 subscriptions) and on SUPERSALE at $5.95 a month (up to 100). Appstle's paid tiers start at $10 a month (Starter, up to $5,000 a month in subscription revenue), but its listing says "PING US FOR ENTERPRISE, APIs & WEBHOOK", so see Appstle's pricing for what API access costs.
- Enterprise: Ordergroove. Its listing quotes "minimum fees of $2,917 per month". Its REST reference has skip, cancel, next date, swap and address but no pause.
What do subscribers ask support to do?
Six requests make up the subscription queue that an agent can act on: skip the next box, pause for a month, cancel, move the next charge date, swap a flavor or size, and change the shipping address. A seventh, "why was I charged?", is a read: find the subscriber, find the last charge, explain it. The table above covers the six writes. The read question is answerable in every app with an API, and in Shopify itself through Macha's built-in Shopify connector, which can look up the order the charge created.
Before any write, the agent has to find the right subscription, and the apps differ more on that lookup than on the writes:
| App | Lookup key | Calls before the write |
|---|---|---|
| Loop, Seal, Stay AI, Subi, Ordergroove | Email on the ticket | One search by email |
| Recharge | Email, then Recharge customer ID | Two: GET /customers?email=, then GET /subscriptions?customer_id= |
| PayWhirl | Email or PayWhirl customer ID | One: GET /customer/{id} accepts either |
| Awtomic, Smartrr | Shopify customer ID | Two: find the shopper in Shopify first, then pass that ID across |
| Skio | Any field in the GraphQL Subscriptions query | One query, filtered as you write it |
Which jobs can an AI agent finish end to end?
For the 10 apps with skip, pause and cancel documented under a static key, an agent can take "skip my October box" from ticket to done: find the subscriber by email, list their subscriptions, confirm which one if there's more than one, call the skip endpoint, and reply with the new next charge date the API returns. Loop's version is POST /2026-04/subscription/{id}/skipNext with the token in X-Loop-Token; Stay AI's is POST /api/v2/subscriptions/{id}/skip-next-order with X-RETEXTION-ACCESS-TOKEN; Skio's is the skipSubscription GraphQL mutation.
Pause has the most variation. Stay AI's Pause Subscription requires a pausedUntil date. Seal pauses with PUT /subscription and {"action": "pause"}, the same endpoint that cancels. Appstle sets the status to PAUSED through one status-update endpoint. Bold's reference notes that "Paused orders will still appear as 'active'", which matters if the agent checks status afterward to confirm. ecomm.design's comparison, dated 22 December 2025, marks Bold with no API access; Bold's Subscriptions API reference documents skip, pause, cancel, next order date, product swap and shipping address.
Stay AI is the correction in this list. Planning notes written in September, including ours, said its public API had no skip, pause or next-date endpoint, because the machine-readable index at docs.stay.ai/llms.txt still omits them. The rendered reference lists Skip Next Order, Pause Subscription, Unpause Subscription and Set Next Billing Date, and those pages carry an updated date of 16 September 2026.
Recharge gets one short paragraph here because it has its own page on what an agent can do in Recharge. The facts that matter for the matrix: skip lives on the charge (POST /charges/{id}/skip), not the subscription; cancel needs a cancellation_reason; and there's no pause. Recharge's customer portal can pause, and its webhook list includes subscription/paused, which "will trigger when a customer pauses a subscription from within the customer portal". An agent can't make that call, so the nearest API move is set_next_charge_date to push the next charge out, which is a policy decision you'd write into the agent's instructions, not something to improvise.
The skip, pause and cancel job page covers how to run that workflow across help desks; this page is the app-by-app matrix behind it.
Which apps allow only reads, or nothing at all?
None of the 16 is read-only in the way some review apps are. The gaps are auth and missing endpoints:
- Joy Subscription has a Storefront API, but every business call needs two layers: app keys (
X-Joy-App-Id,X-Joy-Secret-Key) and a customer session from "Shopify's Customer Account API OAuth (PKCE) flow". The session belongs to the shopper who logged in. A support agent acting for the merchant can't produce it, so Joy is out for now. - Kaching Subscriptions (21,066 stores, up 1,850.6% year over year on StoreLeads after launching in 2025): we read every article in its subscriptions help center collection and found none about an API, and we found no developer docs. An agent can answer policy questions and hand off.
- Shopify Subscriptions, the API: it doesn't publish a separate API. Its contracts live in Shopify's Admin API behind the
write_own_subscription_contractsscope, which Shopify's access scopes reference marks "Shopify approval required". Macha's Shopify connector has no subscription tools either. - Shopify Subscriptions, custom apps: Shopify's changelog of 30 October 2025 says "Starting January 1, 2026, you can no longer create new custom apps in the Shopify admin"; new ones get built in Shopify's Dev Dashboard. Reaching these contracts means building a Shopify app and getting that scope approved, which is a different job from pasting a static key into a custom tool.
- Shopify Subscriptions, the human route: Shopify's help page says merchants can "Modify, skip, pause, and cancel subscription plans and contracts" in the admin, and the App Store listing promises to "Allow your customers to cancel, skip, or pause subscriptions". Self-service doesn't always work. A review on the listing from Hypnara (United Kingdom), dated 30 July 2026, says "My customers have been having trouble skipping, pausing and cancelling their subscriptions". An AI agent can walk the shopper through the account page and route the rest to a teammate who does it in the admin.
- Recurpay documents skip and cancel, but its access token comes from exchanging a client key and secret, and the docs don't say how long the token lasts. If it expires, a fixed-header tool breaks. Confirm with Recurpay before building on it.
- Ordergroove and Recharge document skip and cancel but not pause.
Which apps are plan-gated?
Three of the ten full-coverage apps charge for API access, and one enterprise app restricts what a key can list:
| App | Gate | What the docs say |
|---|---|---|
| Loop Subscriptions | PRO plan | "Tokens can be accessed and created by users who have access to Loop's PRO plan" |
| Subi | $49 a month add-on, included in Subi Plus | "API, webhook & MCP access, listed at $49 per month. The Subi Plus plan includes it" |
| Appstle Subscriptions | Paid API plan for merchant keys | "Scoped partner tokens bypass the paid API plan requirement" |
| Ordergroove | Bulk Operations permission on the key | "Listing more than one customer requires Application API Scope with the Bulk Operations permission" |
Ordergroove's gate is narrower than it looks. A lookup by one email returns one customer, so a support agent doesn't need Bulk Operations; a report across customers does.
PayWhirl's quirk is auth, not price: it needs two headers, api-key and api-secret, on every call, and its reference sets a rate limit of 360 requests a minute, answering 429 above that.
Skio isn't plan-gated, but its header isn't standard. Skio's API reference says to put the token in a header named authorization, which it calls case sensitive, with the value API followed by the token instead of Bearer. Its GraphQL endpoint allows 2,000 requests per minute per token, four nesting levels and 100 nodes per query. Skio's Shopify App Store listing now reads "Skio, a Recharge Company", but the API, the token and the Gorgias Action are still Skio's own, separate from Recharge's.
What does the help desk's own integration already do?
If you run Gorgias with Recharge, Skio or Loop Subscriptions, start with Gorgias AI Agent's ready-made Actions. They're documented and supported by Gorgias:
- Recharge: cancel subscription and skip next shipment. It works with the Recharge connection Gorgias already has.
- Skio: cancel and skip, using an API key you generate in Skio under Account > API.
- Loop Subscriptions: skip, cancel, pause and resume, using a Loop token with read and write scopes.
All three share one limit. Gorgias's Recharge article puts it as "AI Agent is only able to skip or cancel a subscription in Recharge if the shopper has a single subscription. If the shopper has multiple subscriptions with your store, AI Agent hands over the ticket for your team to resolve." The Skio and Loop articles say the same. A skip also only works before the order is created; after that, Gorgias points to canceling the Shopify order instead. Gorgias lets you build your own Actions against other apps' APIs as well, which is the route for Seal, Appstle and the rest on a Gorgias account. The Gorgias subscription automation guide and the Recharge and Gorgias setup guide cover that side.
The single-subscription rule is a sensible default for a vendor whose AI Agent is billed per automated interaction: an Action that cancels the wrong one of two subscriptions costs Gorgias a support escalation and the merchant a customer, so the Action hands off rather than asks. The subscription apps have their own incentive. Retention tools like cancel flows and pause offers run in the app's customer portal, and the app earns more while a subscriber stays, which is one reason a portal can pause before an API can. Together they explain why a cancel through the API is plainer than a cancel in the portal. No save offer runs unless your agent's instructions make one.
Outside Gorgias, none of the 16 apps publishes an AI action for Zendesk, Freshdesk, Front, Intercom or HubSpot that we found in their docs.
What should stay with a human?
- Refunds on a charge that already processed. Cancel stops future charges; it doesn't return the last one. On Shopify that refund is a separate step, and Macha's Shopify connector asks for confirmation before its Create Refund runs.
- Choosing between several subscriptions when the ticket doesn't say which. Gorgias hands these off; a Macha agent should ask the shopper, and hand off if the answer is still ambiguous.
- Cancellations that break a minimum commitment. If your subscription plans require a minimum number of orders, ending early can mean a charge the shopper didn't expect. Check the app's own rule before an agent cancels one. Merchants ask for this rule: a 1 July 2026 review of Shopify Subscriptions from Casey Florist Co (Australia) says "Customers must not be able to cancel until a minimum of 2 successful subscriptions."
- Disputes and chargebacks, and anything where the shopper says they never signed up. That's a fraud or consent question, not a subscription edit.
- Save offers with a discount. Several APIs can apply a discount code, but the size of the offer is a commercial decision you set, not one the agent should invent.
Where Macha fits
No subscription app on this list has a built-in Macha connector. Each one with a static key connects through a custom API tool that Macha's team sets up during onboarding, using the app's own header: X-Loop-Token for Loop, X-Seal-Token for Seal, two fixed headers for PayWhirl, and an authorization header carrying API <token> for Skio (per Skio's docs; not yet tested in Macha). Custom tools are included on every plan, from $299/month for 750 tickets. Each tool is marked Read or Write. In our 28 September tests a custom Write tool ran in dashboard chat without a confirmation card, and on a triggered run Write tools execute directly when the instructions say to, so the safety lives in the agent's instructions: when to write, and when to hand off. We built two of these tools for Loop, a lookup and a skip, and gave them to an agent on a made-up test ticket; the next section shows what happened. The custom API tools guide shows how one is defined.
Two built-in connectors sit alongside. Macha's Shopify connector finds the customer and their orders, which gives the Shopify customer ID Awtomic and Smartrr need. Macha's Stripe connector reads customers and payments and can refund, but it has no subscription-cancel tool, so Stripe Billing cancellations also go through a custom tool.
Macha fits teams on Zendesk, Freshdesk, Gorgias, Front, HubSpot or Intercom running one of the ten full-coverage apps, or Recharge, that want the agent working inside the existing ticket queue and don't want to build and host the API calls themselves.
Here's an agent instruction for Loop, written for acting:
When a subscriber asks to skip, pause or cancel, search Loop by the requester's email with Get subscriptions by email. If there are no subscriptions, reply that you can't find one under that email and ask for the order number. If there's more than one ACTIVE subscription, list them by product and next billing date and ask which one; don't guess. For a skip, call Skip next order and reply with the new next billing date from Get subscription. For a pause, ask how long if they didn't say (one, two or three months), call Pause, and confirm the resume date. For a cancel, ask for the reason once, call Cancel with it, and confirm no further charges will be taken. Never refund a charge that already went through; hand those tickets to the billing queue with an internal note.
After the test below, we added one line to the end of it:
If a Loop tool returns an error, don't tell the customer about the error or the system. Say a teammate will pick up the request, add an internal note with the tool name and what it returned, and stop.
What happened when we ran the Loop instruction on a test ticket?
On 28 September 2026 we built a Macha agent from the instruction above, word for word, plus one line telling it to post its answer as a public reply and write an internal note listing each Loop tool it called and what the tool returned. It had two custom tools: "Loop: Find subscriptions by email" (GET https://api.loopsubscriptions.com/admin/2026-04/customer/{email}/subscription with an X-Loop-Token header) and "Loop: Skip next order" (POST .../subscription/{id}/skipNext, marked Write). The token was a placeholder, because we don't have a store on Loop's PRO plan. We ran it with Macha's test feature, which creates a real ticket in our d3v-macha sandbox Zendesk and dispatches the agent the way a ticket-created trigger would. The requester, Maya Chen, is made up.
Run Test on the tool gave the same answer before any ticket was involved: Loop's own error body, {"success": false, "message": "Invalid token", "code": "UNAUTHORIZED"}.
Ticket #1116 asked: "I am travelling in October, can you skip my next coffee subscription box?" The agent's run, from the ticket's own history:
- It called Find subscriptions by email twice. Both calls reached Loop's live API, and Loop refused both with HTTP 401 UNAUTHORIZED, "Invalid token".
- It never called Skip next order, and it didn't tell the customer the box was skipped. No subscription was touched.
- It posted a public reply 9 seconds after the ticket was created, saying it was "unable to access our subscription system right now to process the skip" and that "We'll need to review this manually".
- Its internal note listed both 401s and ended "no skip action was taken".
- It added no tag, because the instruction didn't ask for one.
The customer's message shows an orange Internal badge because the test feature posts the requester's text as an internal comment; the agent's reply is public.
The request reached Loop's live API and was refused at the auth check, so the host and the X-Loop-Token header name are in place; whether the path and the email fill in correctly can only be seen with a real PRO-plan token. The failure was honest but worded badly for a customer, because "unable to access our subscription system" tells a subscriber your tooling is broken. That's why the instruction now ends with the error line above. We haven't tested a skip against a real Loop subscription, so the success path (the skip call and the new billing date in the reply) is still documented, not observed.
Every ticket and customer on this page is made up. For how the same jobs look by subscription vertical, see AI customer service for subscription brands, and for address edits before a renewal, subscription address changes. The Shopify app map covers the other app categories, and per-app pages for Loop Subscriptions and Skio go a level deeper.
Frequently asked questions
What is the best Shopify subscription app for AI support automation? By documented API coverage, Seal, Appstle, Bold, Loop, Skio, Stay AI, Awtomic and Smartrr expose skip, pause, cancel, next date, swap and address. By installs, Recharge leads at 53,290 stores but has no pause endpoint.
Can an AI agent pause a Recharge subscription? Not through the API. Recharge's 2021-11 reference has no pause endpoint and lists subscription statuses as "active", "cancelled" and "expired". The customer portal can pause; an agent can move the next charge date instead if your policy allows it.
Does Gorgias AI Agent cancel Recharge, Skio and Loop subscriptions? Yes, through ready-made Actions: cancel and skip for Recharge and Skio, plus pause and resume for Loop. It acts only when the shopper has a single subscription and hands off otherwise.
Which Shopify subscription apps can't a support agent reach? We found no developer docs for Kaching Subscriptions, Joy's Storefront API needs the shopper's own login session, and Shopify Subscriptions needs an approval-gated Admin API scope on a Shopify app built in the Dev Dashboard, not a static key.
What's a good Recharge alternative if you want an AI agent to pause subscriptions? Loop, Skio, Seal, Appstle, Bold and Stay AI, among others, document a pause endpoint. Loop's API needs its PRO plan; Skio uses a non-standard authorization: API <token> header on GraphQL.
Does Macha have a built-in Recharge or Loop connector? No. Each subscription app connects through a custom API tool that Macha's team sets up during onboarding, with the app's own API key.
How we researched this
On 28 September 2026 we opened the API reference for each of the 16 apps and recorded the auth header, the lookup chain and the documented endpoint for each of six jobs; the URLs are linked in the first table. Bold's reference sits behind a bot check, so we read it in a headless browser. Where a job cell says "No", the vendor's reference index lists nothing for that job; "Not found" and "Not confirmed" mean we couldn't settle it from the docs. The only live calls were the two Loop lookups on test ticket #1116, which Loop refused at auth because the token was a placeholder; every write here is documented, not tested. The roundups that rank for this keyword (ecomm.design, F22 Labs and the Shopify App Store category) compare plan prices, portals and retention features. We list a price only where it gates the API or anchors a pick; prices in the picks section come from the pricing block on each vendor's Shopify App Store listing, read 28 September 2026, billed through Shopify, and may differ from the vendor's own site. Store counts are StoreLeads app reports, each marked "Updated Sep 25 2026" and read the same day; ratings are Shopify App Store listings read the same day. Gorgias AI Agent capabilities come from Gorgias's own help center articles. Arithmetic: the 10 full-coverage apps are the rows with Yes in Skip, Pause and Cancel and a static key; the 16 install counts sum to 193,013, and 53,290 divided by 193,013 is 27.6%. Examples and the agent instruction are synthetic; no customer data was used.
To try an agent on your own help desk, start a trial with $50 of free usage (about 125 tickets), no credit card, no time limit, or compare tiers on the pricing page.
Resolve tickets automatically with AI agents
Macha's AI agents work on top of the help desk you already use — no code.
Intercom
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

