Skip to content

feat(settings): show copyable organization ID in org settings - #71013

Merged
sortafreel merged 6 commits into
masterfrom
posthog-code/show-org-id-in-org-settings
Jul 15, 2026
Merged

feat(settings): show copyable organization ID in org settings#71013
sortafreel merged 6 commits into
masterfrom
posthog-code/show-org-id-in-org-settings

Conversation

@sortafreel

Copy link
Copy Markdown
Contributor

Problem

The organization ID is needed when working with the PostHog API (org-scoped endpoints) or when referencing an organization in support requests, but it isn't visible anywhere in the UI. Project settings already show a copyable "Project ID", while organization settings show nothing equivalent.

Changes

Adds a read-only "Organization ID" section to Organization → General settings, right below "Name & logo". It reuses the same LemonLabel + CodeSnippet card pattern as the "Project ID" display in project settings, so the ID comes with a built-in copy-to-clipboard button and is visible to all organization members (view only, nothing editable).

I couldn't run the app or capture a screenshot in this environment, but the card is visually identical to the existing "Project ID" card on the project settings page.

How did you test this code?

  • pnpm --filter=@posthog/frontend format passes.
  • Full tsgo --noEmit typecheck reports no errors in the changed files.
  • No new tests: this is a static settings-map registration plus a presentational component composed entirely of existing components (CodeSnippet handles the copy behavior), so there's no new logic a test would guard.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Docs update

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Authored by Claude (PostHog Code cloud task) from a request to make the organization ID visible and copyable in organization settings. The main decision was placement and shape: rather than inventing new UI, I mirrored the established "Project ID" card from TeamVariables in project settings (LemonLabel + CodeSnippet compact), registered as its own setting entry (organization-id) so it's searchable in settings. No repo skills applied to this change (no DRF, migrations, or tests involved).


Created with PostHog Code

Adds a read-only "Organization ID" card to the Organization > General settings page, mirroring the existing "Project ID" display in project settings. The ID is shown in a CodeSnippet with a built-in copy button.

Generated-By: PostHog Code
Task-Id: 18051cd2-45e3-46e9-bf81-0684ff7b397b
@sortafreel sortafreel self-assigned this Jul 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Hey @sortafreel! 👋

It looks like your git author email on this PR isn't your @posthog.com address (woutut@gmail.com). Since you're on the PostHog team, it's worth pointing your local git author email at your @posthog.com address. Why it matters:

  • Consistent work identity in git history — internal tooling that attributes commits to team members keys off your @posthog.com address.
  • Keeps team contributions easy to tell apart from external community ones when scanning history.

You can fix it for this repo with:

git config user.email "you@posthog.com"

Or set it globally with git config --global user.email "you@posthog.com". No need to redo this PR — just a nudge for next time. 🙂

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

🤖 CI report

Bundle size — no change

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 64.80 MiB · no change

No file changed by more than 1000 B.

Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report

Eager graph — within budget

How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.

Root Eager (shipped) Δ vs base Budget
entry (logged-out pages, app bootstrap)
src/index.tsx
1.22 MiB · 22 files no change ███░░░░░░░ 28.4% of 4.29 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.15 MiB · 2,979 files no change █████████░ 88.1% of 9.25 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx

Largest files eagerly shipped from src/index.tsx
Size File
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
24.6 KiB ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js
6.3 KiB ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
4.5 KiB ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js
3.9 KiB ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js
1.4 KiB ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1.3 KiB src/RootErrorBoundary.tsx
912 B ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js
789 B src/scenes/ChunkLoadErrorBoundary.tsx
762 B src/index.tsx
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
Size File
281.1 KiB ../node_modules/.pnpm/posthog-js@1.401.0/node_modules/posthog-js/dist/rrweb.js
267.7 KiB ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js
235.5 KiB src/taxonomy/core-filter-definitions-by-group.json
222.7 KiB ../node_modules/.pnpm/posthog-js@1.401.0/node_modules/posthog-js/dist/module.js
164.0 KiB src/queries/validators.js
154.3 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
126.8 KiB ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js
106.1 KiB src/lib/api.ts
93.3 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
92.7 KiB ../packages/quill/packages/quill/dist/index.js

Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479

Dist folder size — 🔺 +5.6 KiB (+0.0%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 1308.72 MiB · 🔺 +5.6 KiB (+0.0%)

Playwright — all passed

All tests passed.

View test results →

@sortafreel
sortafreel marked this pull request as ready for review July 15, 2026 10:28
Copilot AI review requested due to automatic review settings July 15, 2026 10:28
@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

🦔 Hogbox preview · ✅ ready

▶ Open the preview

🔑 Login test@posthog.com / 12345678 (demo data)
🧩 Running this PR's backend and frontend, on the PostHog :master base
🔗 Link stable across rebuilds — a re-push swaps the box underneath, the URL stays
🔒 Access tailnet only (PostHog VPN)
🛠️ Admin inspect & debug state in hogland
💤 Idle sleeps after ~30 min idle (snapshot to S3, zero node cost) and wakes on your next visit in ~30s, behind a brief "waking up" screen

commit 8e6c270 · box box-bb3785c18bce · ready in 764s (push → usable) · build log · rebuilds on every push, torn down on close

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested review from a team, MattBro, fercgomes and rafaeelaudibert and removed request for a team July 15, 2026 10:28
@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "feat(settings): show copyable organizati..." | Re-trigger Greptile

Comment thread frontend/src/scenes/settings/organization/OrgVariables.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new read-only setting entry in Organization → General that displays the current organization’s ID in a copyable CodeSnippet, mirroring the existing “Project ID” pattern in environment (project) settings.

Changes:

  • Adds a new settings-map entry (organization-id) under organization general settings.
  • Extends the SettingId union to include organization-id for type safety.
  • Introduces a new OrganizationVariables presentational component that renders a copyable Organization ID and a link to the API docs.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
frontend/src/scenes/settings/types.ts Adds organization-id to the SettingId union.
frontend/src/scenes/settings/SettingsMap.tsx Registers the new “Organization ID” setting and wires it to the new component.
frontend/src/scenes/settings/organization/OrgVariables.tsx Implements the UI card showing a copyable organization ID.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/scenes/settings/organization/OrgVariables.tsx Outdated
@sortafreel
sortafreel enabled auto-merge (squash) July 15, 2026 10:32
Show a skeleton instead of a copyable empty string while the organization is loading, and drop the inner label that duplicated the section heading rendered by the settings scene.

Generated-By: PostHog Code
Task-Id: 18051cd2-45e3-46e9-bf81-0684ff7b397b
@trunk-io

trunk-io Bot commented Jul 15, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

@posthog

posthog Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

👋 Visual changes detected for this PR.

Review and approve in PostHog Visual Review

If these changes are unexpected, they may be caused by a flaky test or a broken snapshot on master. Don't approve — rerun the job or wait for a fix.

2 updated
Run: 1937f6f7-d8ce-4d4f-bef3-d91ec402f5bb

Co-authored-by: sortafreel <354488+sortafreel@users.noreply.github.com>
@github-actions
github-actions Bot requested a deployment to preview-pr-71013 July 15, 2026 12:07 In progress
@sortafreel
sortafreel merged commit c4c6038 into master Jul 15, 2026
195 checks passed
@sortafreel
sortafreel deleted the posthog-code/show-org-id-in-org-settings branch July 15, 2026 14:31
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 15, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-15 15:04 UTC Run
prod-us ✅ Deployed 2026-07-15 15:30 UTC Run
prod-eu ✅ Deployed 2026-07-15 15:30 UTC Run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants