# Weekly influencer creator leaderboard in Google Sheets

> Every Monday morning your creator roster rebuilds itself in Google Sheets with the last 30 days of posts, engagement, and reach, ranked best first.

- Workflow type: code
- Services: Later, Google Sheets
- Categories: Marketing, Operations
- Published: 2026-08-07

## What it does

- Every Monday at 6am, pulls performance for every creator in your Later influence program covering the trailing 30 days
- Rebuilds a dedicated leaderboard tab in Google Sheets with creator name, primary handle, platform, posts published, engagement, and impressions, sorted by engagement highest first
- Replaces the tab contents on each run instead of stacking a second copy underneath, so the tab is always the current roster
- Adds one dated summary row to a separate history tab each week, giving you a week over week record of program totals
- Runs start to finish without anyone logging into Later or re-keying a number by hand

## What you'll need

- A Later Influence account with reporting access turned on. This is not self serve, so ask your Later account manager to enable it and issue your credentials
- A Google account with edit access to the spreadsheet you want to update
- A Google Sheets file with two tabs, one for the leaderboard and one for the weekly history log
- The names of those two tabs so the workflow writes to the right place

## Prompt

Every Monday at 6am, refresh a creator leaderboard tab in Google Sheets from Later so the team always has a current roster view without anyone logging into Later. This is a straight deterministic refresh with no judgement or summarization involved, so build it as a code workflow on a cron trigger. Later's reporting API is read only and emits no webhooks, so cron is the only viable trigger.

Step one, pull the data from Later using Get Creator Performance, which returns per creator performance metrics along with profile and social handles. Set the date range to the trailing 30 days, using today minus 30 days as startDate and today as endDate, both formatted YYYY-MM-DD in UTC. The metrics parameter is required and only the metrics you explicitly request come back, so request the ones backing the output columns: posts published, engagement, and impressions.

Step two, walk the pagination completely. Every Later list response is wrapped as data plus nextCursor. Pass nextCursor back as a query param and keep requesting until it comes back null, accumulating every page into a single in memory list. The critical detail: a cursor is bound to the exact query that produced it, so hold every other parameter constant across the walk, including limit, and never recompute the date range mid walk. Set limit to 100, its maximum, to minimize round trips; it accepts 1 to 100 and defaults to 50 if unset. Later allows 120 requests per minute per IP and returns 429 when exceeded, so back off exponentially and retry if that happens.

Step three, sort the accumulated result locally by engagement descending, after all pages are collected rather than during the walk. Do not rely on a server side sort parameter here, because sorting server side would interact with the cursor and risks an unsupported sortProperty error. Shape each row into six columns in this order: creator name, primary handle, platform, posts published, engagement, impressions.

Step four, write the full sorted result to a dedicated leaderboard tab using Google Sheets Update Values, which overwrites existing data in a single range. This replaces the tab rather than duplicating it. Write a header row followed by every creator row, and use valueInputOption USER_ENTERED so numbers land as numbers instead of text. Important edge case: Update Values only overwrites the cells it actually writes, so if the roster shrank since last week, rows from the previous run would survive below the new data and silently inflate the leaderboard. Guard against this by padding the written range with blank rows out to the row count of the previous run, or by writing to a range sized generously beyond the current row count so the leftover rows get cleared.

Step five, append exactly one dated summary row to a separate history tab using Google Sheets Append Values, which adds rows after the last row of the detected table. This tab accumulates rather than being replaced, giving a week over week record of program totals. The row should carry the run date plus the program level totals computed from the full result set: number of creators, total posts published, total engagement, and total impressions. Append one row per run and never rewrite earlier rows.

Make the tab names and the spreadsheet id configurable inputs rather than hardcoding them. If the Later call fails partway through pagination, fail the run without writing anything to Sheets, so a partial roster never overwrites a complete one from the prior week.

## How to customize

- Change the timing. Monday at 6am is a starting point, and any weekly or daily schedule works just as well
- Change the reporting window. The trailing 30 days can become the last 7, 90, or any period your team reviews on
- Sort by a different column, such as impressions or posts published, if engagement is not the metric your program is judged on
- Add or drop columns in the leaderboard, and change which totals get logged to the history tab

## FAQ

### Do I need a Later Influence plan with API access?

Yes. Reporting access is not self serve at Later, so you will need to ask your account manager or customer success contact to enable it and send you credentials. Plan for a short wait after you ask.

### Will this overwrite my existing spreadsheet?

It only touches the two tabs you point it at. The leaderboard tab is replaced on every run so it always reflects the current roster, and the history tab only ever gains one new row per week. Other tabs are left alone.

### What happens if a creator leaves the program?

They simply stop appearing in the leaderboard on the next refresh. The tab is rebuilt from scratch each week rather than edited in place, so departed creators do not linger as stale rows.

### How many creators can it handle?

It pages through your full creator list rather than grabbing just the first screen, so large rosters come through complete. This is the main thing that breaks when teams maintain these lists by hand.

### Can the team still edit the spreadsheet?

Yes, though anything typed directly into the leaderboard tab will be replaced on the next Monday refresh. If you want notes to survive, keep them on a separate tab or in extra columns to the right of the data.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-influencer-creator-leaderboard-in-google-sheets