Recurly automation

Cancel Recurly subscriptions at the end of the term

A batch of customers asked to leave, and support has a list of account codes. Each cancellation is a few clicks, and the wrong timing option ends access earlier or later than promised.

Cotlet does it in your own Recurly account with list_subscriptions and cancel_subscription, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can Recurly do this on its own?

Recurly's API cancels a subscription so it stays active and expires at the end of the current bill cycle (checked 14 Oct 2026). The Admin Console also lets you pick the end of the term and has a separate Terminate Subscription that ends access now. The API has no timing option on cancel, and it does not read your list of accounts for you.

How you do it in Recurly today

  1. In the Admin Console, open the customer account.
  2. Click the subscription name to open the Subscription Details page.
  3. From the Subscription Actions dropdown, choose Cancel Subscription.
  4. Select the timing: immediately, at the next billing cycle, or at the end of the term.
  5. Repeat for every account on the list, and note the end date each time.

How to cancel Recurly subscriptions at the end of the term

Prompt

Cancel the subscriptions of acme-co and bright-lab at the end of their current term, and tell me the date each one ends.
  1. 01

    Match each account to a live subscription

    The agent calls list_subscriptions with state live for each account on your list, so it sees every subscription that is not expired. An account with two subscriptions is shown to you before anything is cancelled.

  2. 02

    Skip what is already ending

    Subscriptions that are canceled or expired are listed as already handled and are not cancelled again.

  3. 03

    Cancel with the timing you named

    cancel_subscription runs with the timing from your prompt. If you named none, the agent uses the end of the current bill cycle, which is the API behavior, and says so.

  4. 04

    Report the end dates

    Each result includes the date the subscription stops renewing, so the customer reply has a real date in it.

What you get back

Example data

Cancelled 2 of 3 subscriptions
- acme-co, Team plan: access ends 14 Nov 2026
- bright-lab, Starter plan: access ends 2 Nov 2026
Skipped: north-yard, already canceled on 28 Sep

Other ways to ask

  • Cancel at the end of the term every subscription of accounts in this CSV, and list the end dates.
  • Show me which of these accounts have two subscriptions before you cancel anything.
  • Cancel the subscription of acme-co at the next billing cycle, not at the end of the term.
  • Undo the cancellation of bright-lab before it expires.

What Recurly allows, and what to know first

  • A canceled Recurly subscription stays active until the selected end date, and the customer keeps access until then.
  • You can reactivate a canceled subscription from Subscription Actions with Reactivate Subscription before it expires; after expiry you must create a new subscription.
  • Terminate Subscription moves a subscription straight to expired, and an expired subscription cannot be reversed.
  • If a subscription is cancelled outside dunning, its past-due invoices stay open and in dunning; mark them as failed manually to stop collection.
  • Recurly sends a cancellation webhook when a subscription is canceled and an expired webhook once it is no longer active.

cancel_subscription asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: Recurly Docs: Expire/cancel subscription · Recurly API reference: Cancel Subscription

Call cancel_subscription from a script

curl

curl -X POST https://cotlet.dev/api/v1/recurly/subscriptions/44f83d0cbf86d2b8a5b3d3e6c3e8b16f/cancel \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"timing":"end_of_term"}'

Example response

{
  "subscription_id": "44f83d0cbf86d2b8a5b3d3e6c3e8b16f",
  "account_code": "acme-co",
  "state": "canceled",
  "canceled_at": "2026-10-14T10:20:00Z",
  "expires_at": "2026-11-14T00:00:00Z"
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is recurly_write → cancel_subscription. Example data.

Schedule it in n8n, Make, Zapier or cron

Recurly tools this automation uses

Cotlet Recurly tools used to cancel Recurly subscriptions at the end of the term
Tool Parameters
list_subscriptions state, per_page, cursor
cancel_subscription subscription_id, timing
All 11 Recurly tools with descriptions

Frequently asked questions

Does the agent terminate subscriptions?

No. It cancels, which keeps access until the end date and can be reactivated before then. Terminating ends access at once and cannot be undone, so it stays a manual step in Recurly.

Is it safe to connect Recurly to Cotlet?

Yes. You sign in to Recurly yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Recurly once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to Recurly.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Recurly.