Two related paths. The Impersonate action asks for a reason, writes an impersonation record, then returns the URL to open the account. The Open As split-button opens the account neutrally on click, or lists every user in it under the chevron so support can land as that person's role, which is how a 'my estimator can't see the schedule' report gets reproduced.
Also called: support login as · impersonate · see what my user sees · view as · remote support
- 1Impersonate opens a branded reason dialog — 'Opens a new tab acting as this tenant. Audit-logged with your reason.'
- 2The route re-checks the impersonation capability, writes the impersonation log row, and only then returns a URL.
- 3The URL carries the account id and resolves to the account's own subdomain.
- 4Open As fetches the member list lazily on first use, so no extra traffic unless somebody opens the picker.
- 5Picking a member carries view-as parameters across hosts, because session storage is host-scoped and the panel lives on a different host from the tenant.
Support cannot reproduce a permissions bug from the outside — the report is always 'my worker can't see X', and the only way to confirm the fix is to be that worker. Making it possible without making it invisible is the whole design: the button is literally labelled 'Impersonate (audit logged)', the reason is captured before entry, and every screen viewed afterwards is recorded by the page-view beacon.
- Role-specific bugs were undiagnosable from an admin view.
- Entering a customer account left no reason or record.
- Cross-host impersonation state could not be handed from the panel to the tenant app.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →