The Scenario
A new head of analytics joined three weeks ago with a mandate to run a security access review on everything data-related. PostHog is on the list. She needs a Google Sheet listing all 30 dashboards in the project — name, ID, restriction level, and who has explicit collaborator access — before the review meeting next Tuesday. She asked her predecessor for this. The predecessor said "I think there's a way to export that, let me check" and then left the company.
The bad version:
- Click through each of 30 PostHog dashboards, open the sharing settings panel for each one, manually note the restriction level and each collaborator's name and access level into a spreadsheet row
- Reach dashboard 14 and realize PostHog's sharing panel shows display names but the security policy requires user IDs, so you need to cross-reference against the member list for each person
- Complete the spreadsheet, send it to the security team, and get a reply that three dashboards you marked as "restricted" are actually set to "organization-can-edit" — you misread the restriction level labels in the UI
A 30-dashboard access audit done dashboard-by-dashboard through a UI is a morning of work. And a morning of work still produces errors.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet. It calls the PostHog dashboards API and, for each dashboard, fetches the collaborator list — writing everything into a single sheet in one operation.
List all PostHog project dashboards and write dashboard name, ID, restriction level, and creation date into columns A through D.
What You Get
- Every dashboard appears as a row — name, ID, restriction level, and creation date from the PostHog API
- No manual clicking through sharing panels, no transcription errors
- A clean table ready to annotate or sort by restriction level for the security review
What If the Data Is Not Quite Ready
You need collaborator details too
For each dashboard ID in column A of the 'Dashboard Audit' sheet, fetch its collaborator list from PostHog and write the collaborator user IDs and access levels into columns B and C.
You want to flag dashboards with overly broad access
List all PostHog dashboards and write name, ID, and restriction level into columns A through C. In column D, write "Needs Review" for any dashboard where restriction level is 'everyone' and the dashboard name contains 'Revenue', 'Finance', or 'Salary'.
You want a combined dashboard + collaborator sheet in one pass
List all PostHog dashboards. For each dashboard, fetch its collaborator list. Write dashboard name, ID, restriction level, and a comma-separated list of collaborator emails into columns A through D of the 'Access Audit' sheet. Write "No explicit collaborators" in column D for dashboards with no named collaborators.
Full security audit with access anomaly flags
List all PostHog dashboards and for each one fetch collaborators. Write dashboard name, ID, restriction level, creation date, and collaborator count into columns A through E. In column F write: "Overly broad" if restriction level is 'everyone' and collaborator count is more than 5; "Unowned" if collaborator count is zero and creation date is more than 180 days ago; "Check access" if restriction level is 'everyone' and the name contains a sensitive keyword like 'revenue', 'payroll', or 'churn'. Write a summary of flagged dashboards below the table.
One prompt, complete audit with exception detection.
Try It
Get the 7-day free trial of SheetXAI and open a Google Sheet before your next security review, ask it to pull all PostHog dashboard access data, and hand it to the security team the same day. Related: Export All PostHog Saved Insights Into a Google Sheet and the PostHog hub.
