Monthly Auth0 MAU and login ledger in Google Sheets

On the 3rd of each month we log your Auth0 active user count, total logins, and total signups into a Google Sheet for headroom and cost tracking.

Deterministic Code
Auth0Google SheetsOperationsFinanceData SyncResearch & Monitoring
PromptCreate

On the 3rd of every month at 8:07am in the user's configured time zone, log one row of Auth0 usage numbers to a Google Sheets tracker. The 3rd is intentional — it gives the previous month's stats a few days to settle before we snapshot them.

Configuration the user should be able to set: which Auth0 tenant credential to use, which Google Sheets credential to use, the target spreadsheet id, the target sheet/tab name, and the time zone (IANA name, for example America/Los_Angeles) used to define what counts as the previous calendar month.

Step 1. Compute the previous calendar month in the configured time zone. Produce a start date (first day of last month) and an end date (last day of last month) as YYYY-MM-DD strings, plus a display label in YYYY-MM. Also compute the number of days in that month for the average calculation.

Step 2. Call Auth0 Get Active Users Count to fetch the current tenant MAU. This returns a single number — the Auth0 rolling 30-day active user count that maps to the tenant's billed MAU.

Step 3. Call Auth0 Get Daily Stats with from = the previous month's start date and to = the previous month's end date. Auth0 returns one entry per day, each with a login count and a signup count. If a day is missing from the response, treat that day as zero logins and zero signups rather than failing.

Step 4. Sum the daily login counts into total_logins and the daily signup counts into total_signups. Compute average_daily_logins as total_logins divided by the number of days in the previous month, rounded to two decimal places.

Step 5. Capture the run timestamp as an ISO 8601 string in the configured time zone.

Step 6. Call Google Sheets Append Values on the configured spreadsheet id and sheet name with a single row of six values, in this exact column order: month label (YYYY-MM), MAU at month end, total logins, total signups, average daily logins, run timestamp. Use USER_ENTERED as the value input option so numbers stay numeric and the timestamp parses as a date. Append to the sheet's detected table — a range of the form `<sheetName>!A:F` is a good default.

Ground rules: no formatting, no chart building, no written summary. This is a rolling raw-numbers ledger, one appended row per month. Do not write or overwrite a header row — assume the user has already set one up. Do not fetch anything else from Auth0 or from the sheet on top of what is listed above.

Reference context for MAU semantics: https://auth0.com/blog/auth0-monthly-active-user-mau-explained/ and https://support.auth0.com/center/s/article/Report-of-Monthly-Active-Users-MAU.

What does this prompt do?

  • Runs automatically on the 3rd of every month once the previous month has fully closed out.
  • Pulls your Auth0 tenant's current active user count, plus daily logins and signups for last month.
  • Sums the month's logins and signups and appends a single row to a Google Sheets tracker.
  • Gives ops and finance a rolling ledger for plan headroom and MAU cost forecasting.

What do I need to use this?

  • An Auth0 tenant you can read stats and active user counts for
  • A Google account with edit access to your tracker spreadsheet
  • The spreadsheet id, the tab name to append to, and the time zone you want the calendar month calculated in

How can I customize it?

  • Change the day of the month or time of day the workflow runs
  • Point it at a different spreadsheet or a different tab
  • Adjust the time zone used to decide what counts as last month

FAQs

Does the active user count include social sign-ins like Google or Facebook?
Yes. Auth0's monthly active user number counts any user who authenticated at least once in the last 30 days, no matter which login method they used. That is the same number you see on your Auth0 billing page.
Will this work on a free or trial Auth0 tenant?
Yes, as long as the machine-to-machine application you connect has the read stats permission granted. Free tenants have lower request limits, but this workflow only makes a couple of calls a month so it stays well inside them.
Do I need to add a header row to the spreadsheet first?
It helps but is not required. The workflow appends a new row underneath the last row it finds, so if you add labels like month, MAU, logins, signups, average logins, and run time as your first row, every appended row will line up with them.
What happens if I already have rows in the sheet from a previous tool?
They stay put. The workflow only appends new rows at the bottom, so any history you have from a manual tracker or another automation is preserved.
Can I re-run it manually for a specific past month?
You can trigger the workflow by hand at any time. Each run always looks at the calendar month before it runs, so run it in early February to capture January and so on.

Related templates

Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Flag VIP client emails in Zoho Mail and alert your team

Keep a spreadsheet of your most important senders, and every email from one gets labeled, posted to your team channel, and logged automatically.

Zoho Mail
Google Sheets
Slack Bot
Deterministic Code
Send Yotpo review requests when Shopify orders ship

The moment an order is fulfilled, we register it with Yotpo so the review request is timed off real delivery, and we log every sync so failures never go unnoticed.

Shopify
Yotpo
Google Sheets
Deterministic Code
Reconcile Shopify sales against Zoho Books every night

Every night at 11pm we compare the day's Shopify orders with your Zoho Books invoices and payments, and flag only what does not match.

Zoho Books
Shopify
Google Sheets
+1
Agentic Task

Stop tallying Auth0 usage by hand every month.

Let this workflow grab the numbers and grow your MAU history sheet on its own.