The Scenario
The platform migration is scheduled for next month. Before your engineering manager will sign off on moving to a new PostHog organization, she needs a complete record of all 40 existing feature flags — key, name, rollout percentage, active status, and filter conditions — in a single spreadsheet. Someone tried pulling this manually last week using PostHog's UI export. The export didn't include filter conditions, and it only showed 25 of the 40 flags because pagination stopped at the default limit.
The bad version:
- Navigate PostHog's feature flag list, click into each flag individually, and manually transcribe key, rollout percentage, and filter JSON into a spreadsheet row
- Reach flag 18 and realize you've been copying the wrong rollout field — PostHog shows both a global rollout and a group-level rollout — so you go back and re-check the first 17
- Finish the spreadsheet, share it with the engineering manager, and get a reply that flag 34 is missing and three entries have different key names than what's in the codebase
An audit is only useful if it's complete. Manual transcription from a paginated UI is not a complete audit.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It calls PostHog's feature flags list endpoint — handling pagination automatically — and writes every flag's details into your sheet in one operation.
List all feature flags in our PostHog project and write flag key, name, type, rollout percentage, and active status into columns A through E.
What You Get
- Every flag in the project appears as a row — no pagination cutoff
- Columns A through E contain key, name, type, rollout percentage, and active status exactly as PostHog stores them
- No manual transcription, no missing records from page 2 of the UI
What If the Data Is Not Quite Ready
You also need to flag suspicious configurations
Fetch all PostHog feature flags and write flag key, name, active status, and rollout percentage into columns A through D. In column E, write "Needs Review" for any flag where rollout is 0% but active status is true, and "Needs Review" for any flag where active status is false but rollout is above 0%.
You want filter conditions included
List all PostHog feature flags and write flag key, name, rollout percentage, active status, and the full filter group JSON into columns A through E of the "Flag Audit" sheet.
You want to compare against what the codebase references
Fetch all PostHog feature flag keys and write them into column A. In the "Codebase Keys" sheet I have a list of flag keys referenced in code in column A. Identify any PostHog flag keys missing from the codebase list and mark them "Orphaned" in column B. Mark any codebase keys not found in PostHog as "Undefined" in column C.
Full audit including all fields and anomaly tagging in one pass
Fetch all PostHog feature flags. Write flag key, name, type, active status, rollout percentage, created date, and filter conditions into columns A through G of the "Flag Audit" sheet. In column H, write "Needs Review" for: active but 0% rollout, inactive but non-zero rollout, or filter conditions that include a property named 'beta_only' with value false. Write a summary of all Needs Review flags below the data.
Every field, every flag, every anomaly — one prompt.
Try It
Get the 7-day free trial of SheetXAI and open a Google Sheet, ask it to pull all your PostHog feature flags, and you have your audit baseline in under a minute. Related: Bulk Create PostHog Feature Flags From a Google Sheet Definition and the PostHog hub.
