> For the complete documentation index, see [llms.txt](https://docs.roadmap.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roadmap.so/subscriptions/managing-subscriptions/working-with-subscriptions-in-bulk.md).

# Working with subscriptions in bulk

The Actions ▾ menu on the Subscriptions list — exporting to CSV, emailing subscribers, importing, syncing, and bulk payment-method updates.

The Actions ▾ menu in the top-right of the Subscriptions list view lets you operate on many contracts at once. Every action runs against whatever's currently in your filtered list — the count next to each action tells you exactly how many contracts will be affected.

This article covers the five bulk actions: Export, Email subscribers, Update payment method, Import, and Sync.

#### How bulk actions select contracts

Apply your filters first. The Actions menu reads the filtered list and shows the count in each item ("Export 6 subscriptions", "Email 6 subscribers"). There's no row-by-row selection — you control scope through filters.

To narrow the set, apply more filters (status, payment method, products, country, etc.). To widen it, remove filters. The count updates each time.

#### Export N subscriptions

Generates a CSV of the filtered subscriptions, formatted for direct import into Klaviyo (or any other tool that accepts the standard subscription columns).

Use this for:

* Building Klaviyo segments from contract data
* Reporting on subscription cohorts (by status, plan, country, etc.)
* Auditing your Subscriptions data outside the Roadmap admin

The CSV contains one row per contract with columns for the subscription ID, customer email, status, plan, last payment status, next billing, products, and other contract-level fields. Open in Excel/Sheets, paste into Klaviyo's CSV importer, or feed into your reporting pipeline.

#### Email N subscribers

Sends an email to the customer associated with each contract in the filtered list.

Use this for:

* Communicating a planned price change to a specific cohort
* Notifying customers in a region of a delivery delay
* Following up on contracts in a particular status (e.g., emailing all Failed customers a recovery message)

The email composer lets you write subject and body, with Liquid variables for personalization (customer first name, subscription details). Send goes through Roadmap's email infrastructure.

For repeated communications, consider building the equivalent flow in Klaviyo — Email N subscribers is best for one-off broadcasts.

#### Update payment method for N subscriptions

Triggers the $1 checkout order link flow for every contract in the filtered set. Each customer receives the Roadmap-specific Payment Method Update email; completing the $1 checkout captures their new payment method, and Roadmap attaches it to the contract.

This is for situations like a card-issuer mass reissue or a recovery push after a billing-processor incident. Most stores use a status filter (e.g., Status: Failed or Last Payment Status: Failed) before running this so the email only goes to customers who genuinely need to update.

For the full per-contract walkthrough, see Updating a customer's payment method.

{% hint style="warning" %}
Each contract in the bulk run creates a $1 charge that's automatically refunded once the customer updates. If you bulk-trigger 100 contracts, that's 100 $1 charges. Verify the count in the Actions menu matches your expected impact before pressing the action.
{% endhint %}

#### Import Subscriptions

Imports subscription contracts from a CSV — typically used during a one-time migration from another subscriptions app to Roadmap. Click Import, follow the upload + column-mapping flow, and Roadmap creates the contracts.

This is rarely a routine operation; you'll usually use it once during onboarding and then leave it alone. If you're planning a migration, talk to Roadmap support before running an import — the column requirements and data validation rules are specific.

#### Sync Subscriptions

Forces a fresh sync between Shopify's subscription data and Roadmap's view of it. Use this if:

* You suspect a contract or order is missing from Roadmap that exists in Shopify
* You've made a change in Shopify (e.g., manually editing a customer's payment methods at the Shopify level) that Roadmap hasn't yet picked up
* You're troubleshooting a discrepancy between what the customer sees on the storefront and what you see in the Roadmap admin

Sync is non-destructive — it pulls fresh data from Shopify but doesn't overwrite anything you've changed in Roadmap.

#### Common scenarios

**"I want to email everyone whose subscription failed last week"**

Filter the list by Status: Failed (or by Last Payment Status: Failed for contracts still mid-dunning). Open Actions ▾ → Email N subscribers.

**"I want to export only contracts on the monthly plan"**

Filter by Products (the products on the monthly plan) and/or by another plan-identifying field. Verify the count, then Export N subscriptions.

**"I bulk-triggered Update payment method but a customer says they didn't get the email"**

Confirm the Enable auto Shop Pay update email toggle is on in Subscriptions → Dunning Settings. When this toggle is off, bulk-triggered Update payment method actions silently complete without sending the email — see [Failed payment retries](/subscriptions/pricing-and-billing/failed-payment-retries.md) for the full explanation of that toggle's behavior.

#### Related guides

* [Updating a customer's payment method](/subscriptions/managing-subscriptions/updating-a-customers-payment-method.md)
* [Failed payment retries](/subscriptions/pricing-and-billing/failed-payment-retries.md)
* [Filtering the Subscriptions list](/subscriptions/managing-subscriptions/filtering-the-subscriptions-list.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.roadmap.so/subscriptions/managing-subscriptions/working-with-subscriptions-in-bulk.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
