Weekly Clerk signup report to Slack and a spreadsheet
Every Monday, automatically round up everyone who signed up for your app last week, post the list to Slack, and log each new user to a spreadsheet.
Integrations
Clerk
Google Sheets
Slack Bot
Type
Categories
- Marketing
- Operations
Every Monday at 8:00am, run a weekly signup report for my Clerk app. This is a deterministic, fixed-step job, so build it as a code workflow on a cron trigger (every Monday at 8am).
First, compute the week's date range once at the start of the run. The window end is the current run time and the window start is seven days earlier. Keep the window start as a Unix epoch milliseconds value for filtering, and also format the range as a human-readable label (for example, the week of Jul 10 to Jul 17, 2026). Reuse that exact same label in both the Slack message header and every spreadsheet row so past weeks stay directly comparable.
Pull signups with Clerk's "List all users" operation, passing order_by set to -created_at so the newest users come back first. Page through the results if there are more than one page. Clerk's created_at timestamps are Unix epoch milliseconds, not seconds, so filter in milliseconds: keep only users whose created_at is greater than or equal to (run time minus seven days) expressed in epoch milliseconds. Drop everyone who signed up before that window.
For each qualifying new user, append one row to my Google Sheets tracking tab using the "Append Values" operation. Each row should contain, in order: the week's date range label, the user's full name (first and last name joined, falling back to their primary email if no name is set), their primary email address, and their signup date formatted as a readable date. Append the rows newest first.
Then post a summary to my growth Slack channel using Slack's "Send a Message" operation (the Slack Bot integration). The message header should include the week's date range, followed by the total count of new signups and a bulleted list of the new users' names. If there were zero new signups this week, still post the summary showing a count of zero so I know the job ran.
What it does
- Every Monday, pulls everyone who signed up for your app in the past seven days.
- Logs each new person (name, email, and signup date) as a row in your Google Sheet, tagged with the week's date range.
- Posts a summary to your growth Slack channel with the total count and the list of new names.
- Stamps every report with its week's dates so you can compare one week to the next over time.
What you’ll need
- A Clerk app you can read your user list from.
- A Google Sheets spreadsheet with a tab set aside for tracking signups.
- A Slack workspace and the channel where you want the weekly summary posted.
How to customize it
- Change the schedule or run time (for example daily, or every other Monday).
- Point it at a different Slack channel or a different spreadsheet tab.
- Adjust what lands in each row, such as adding a signup source or plan.
Use cases
- Daily Digests
- Notifications & Alerts
- Data Sync