The Scenario
The analytics taxonomy cleanup project started six weeks ago. A data analyst has been assigned to produce a complete inventory of every saved insight in the PostHog project — name, type (trend, funnel, retention), tags, creator, and created date — so the team can identify duplicates, orphaned insights nobody uses, and gaps in coverage. PostHog has 55 saved insights. The UI shows them in a paginated list with no export option. The analyst tried screenshotting the list and typing it up. She got through 20 before stopping.
The bad version:
- Click through PostHog's insights list page by page, open each insight individually to find the creator and creation date (not visible in the list view), copy details into a spreadsheet row
- Reach insight 31 and realize the "type" field is not labeled consistently — some insights show "Trends" and some show "Trend" depending on when they were created — so your inventory column is already inconsistent
- Finish the inventory after three sessions across two days, share it with the team, and immediately receive a message that five insights you marked as "unused" are actually embedded in live dashboards
A 55-insight audit done manually is a two-day project. It should be a two-minute one.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet. It reads PostHog's insights endpoint — paginating through all results — and writes every insight's details into your sheet in one call.
List all saved insights in the PostHog project and write insight name, type, tags, creator, and created date into columns A through E.
What You Get
- Every saved insight appears as a row — no page limit, no clicking through the UI
- Insight type is written exactly as returned by the PostHog API, consistently across all rows
- Creator and creation date are included without needing to click into each insight individually
What If the Data Is Not Quite Ready
You want to flag insights with no tags
List all PostHog saved insights and write name, type, creator, and created date into columns A through D. In column E, write "No tags" for any insight where the tags field is empty.
You need to create insights from a definition sheet
Create a PostHog custom insight for each row in the 'Insights To Create' sheet — name in column A, insight query JSON in column B — and write returned insight ID and short_id into columns C and D.
You want to filter to only funnel insights
Fetch all PostHog saved insights where type is "FunnelsQuery" and write insight name, short_id, creator, and created date into columns A through D of the 'Funnel Inventory' sheet.
Full taxonomy audit with duplication detection in one pass
List all PostHog saved insights and write name, type, tags, creator, created date, and last modified date into columns A through F. In column G, mark any insight whose name is identical to another insight in the list as "Duplicate name - review." In column H, mark insights with no tags and no modification in the last 90 days as "Candidate for deletion." Write totals for each flag category at the bottom.
Complete inventory plus governance signals — one prompt.
Try It
Get the 7-day free trial of SheetXAI and open a Google Sheet, ask it to pull your full PostHog insights inventory, and hand it to your team the same morning. Also see: Export PostHog Dashboard Collaborators Into a Google Sheet for Access Audit and the PostHog hub.
