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.

Additional information

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

Frequently asked questions

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.

Stop tallying Auth0 usage by hand every month.

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