If you want your subscriptions in a spreadsheet you can filter and sort, and want it to stay current without exporting a new CSV each time, you can use our Google Sheet template. You copy it into your own Google account, paste your Subi API key once and turn on the hourly refresh, and it then reads your subscriptions and customers from Subi every hour.
The sheet only reads from Subi. It never changes a subscription, and it stops whenever you turn it off.
What you need
A Google account, free or Google Workspace.
An API key from Subi. Open Settings > API keys in Subi, click Generate API key and give the key a name. The key is shown only once, so copy it or click Save to download it. If a key is already listed there, another tool such as Zapier may be using it: use that key if you have it, because Rotate makes a new one and stops the old one working everywhere.
The Subi API comes with every current paid Subi plan. On the Free plan the API keys page shows a lock instead; see What your store needs in the Subi API guide. If your store moves to a plan without the API, Subi turns the key off and the sheet stops updating.
Keep the key to yourself. The sheet stores it in your own Google account, where other people with access to the sheet cannot see it, but anyone who can edit the sheet can change its script. So share your copy as Viewer only.
How to set it up
Open the Subi subscriptions template and click Make a copy. Google says the attached Apps Script will be copied too; that script is what reads from Subi.
In your copy, open the Subi menu at the top (it can take a few seconds to appear) and choose Set API key. The first time, Google asks you to allow the script. It asks for this one spreadsheet, for calling an outside service (Subi's API) and for running while you are away (the hourly refresh). If Google says it has not verified the app, click Advanced, then Go to Subi sync (unsafe): Google can show this for a script it has not reviewed, and this one is your own copy.
Paste your key and click OK. If the key box does not come back after you allow the script, choose Set API key again.
The sheet fills in. Then choose Subi > Refresh every hour to keep it current.
What the sheet shows
Subscriptions has one row per subscription: the customer's email and name, the subscription's status (for example ACTIVE, PAUSED or CANCELLED), the next billing date, whether the last payment succeeded, the total price and currency, how often it bills and ships, how many product lines it has, whether it is prepaid, and when it was created and last updated. Apart from customer_email and customer_name, the column names are the ones Subi's API uses, such as next_billing_date.
Customers has one row per subscriber: name, email, language and their Shopify account state.
Status says when the sheet last updated and how many rows it read, or what went wrong. If a refresh fails, the rows from the last good refresh stay where they are.
Each refresh rewrites the Subscriptions and Customers tabs, so keep your own formulas, notes and charts on a separate tab that looks them up. The sheet does not show the date a subscription was cancelled or its earlier statuses; the updated_at column, the last time the subscription changed, is the closest to it.
Stopping it or changing the key
Choose Subi > Stop refreshing to stop the hourly refresh, then delete your copy if you no longer need it. Refresh now updates it at once. To use a different key, choose Set API key again. If you rotate your key in Subi, the sheet stops updating until you paste the new one.
Google gives each run of the script six minutes. A store with many thousands of subscriptions may not fit in one run; the Status tab then says so and keeps the last rows. On a free Google account, Google also allows the hourly refresh about 90 minutes of running a day, so a large store may skip some hours. The time on the Status tab shows when it last updated. If subscriptions change while a refresh is reading them, the Status tab says a few may be missing, and the next refresh normally fills them in. If that happens, or if you want columns the sheet does not have, write to us in the chat and we will look at it with you.
Want more than a sheet?
The same API key also works with Subi's app on Zapier, and Everything Subi connects to lists the other ways to connect Subi to the tools you use.
