Who can use it
The row action that starts impersonation renders only when all four of the following are true:menuName.loginaccessviauser does not appear anywhere in the access-control permission matrix — there is no checkbox for it on the Access control screen. It is not something you grant or revoke yourself; it is provisioned server-side, which in practice means Super Admins. If you expect the action and cannot see it, that is a support question, not a settings change.Start a session
1
Find the employee in the employee list
The action lives in the per-row action menu on the employee list. It is available from the main employee table and from the not-yet-invited list.
2
Confirm in the dialog
A confirmation dialog names the employee you are about to impersonate and asks you to continue or cancel.There is no reason field and no scope selector on this dialog — it takes the target employee and nothing else.
3
You land in their account
Confirming calls
auth.mutation.login_as with the target’s user ID and reloads you into the platform home as that employee. If the call fails you stay where you are and see an error.While you are in the session
A coloured banner is pinned across the top of every page for the whole session. Its text is hardcoded in the application rather than translated, so it reads the same in every language:Back to your account— the exit control, on the left.Logged in as <name> (<email>). All actions will be logged.— in the centre. A scope description is appended when the session carries one.Session expires in MM:SS— a live countdown on the right.
If the banner shows a scope description, read it as information, not as enforcement. The application’s only client-side check for a read-only scope — a guard that would have blocked every mutation for a read-only session — is commented out in
src/globals.js. Do not assume a scoped session is prevented from writing. Assume it can do whatever the employee can do, minus the redemption blocks below.What the session cannot do
Empuls deliberately blocks spending someone else’s money while you are in their account. Throughout the reward store, the cart, perks and gift-card storefronts, physical gift claims, and milestone reward claims, the presence of a proxy session:- Disables redemption. The redeem action is not merely hidden — the eligibility check returns false outright.
- Hides the employee’s available points balance and replaces it with a not-allowed message.
- Disables claiming a physical gift and claiming a milestone reward.
How to get back out
ClickBack to your account in the banner. That calls auth.mutation.cancel_login_as and returns you to your own session — by default back to the employee list you started from, since the flow stores the return destination in a cookie when the session begins.
If the countdown reaches zero first, a modal takes over with the hardcoded text SESSION EXPIRED and an explanation that you must go back and re-initiate the process to continue in that account. Its only control returns you to your own account. There is no extend or renew — start a fresh session if you still need one.
Where the action is logged
Every impersonation is recorded and exportable. In the Raw data report, choose the Proxy login category. The log is filterable by date range and downloadable as CSV, and each row carries:
The impersonated employee is not asked and, as far as the web application does, is not notified: the flow submits no notification flag and no reason. Do not tell people they will be alerted when this happens.
How this differs from delegation
Both mechanisms put you inside another person’s account, and they share the same underlyingauth.mutation.login_as call — which is exactly why they are easy to confuse. They are not the same thing, and the differences are the ones that matter for governance.
The practical rule: delegation is the answer when someone needs to work in another account — cover approvals during leave, keep recognition moving while a manager is away. Impersonation is the answer when an admin needs to look at what an employee sees, once, to diagnose something. Reaching for impersonation to do a delegation’s job removes the consent, the standing record, and the reason, and leaves you with a bare who-whom-when line in an export.
Limits and gotchas
- Sessions cannot be nested. Exit the current one before starting another.
- You cannot impersonate yourself, a disabled or archived employee, or someone who has not yet been invited.
- Exiting through the banner is the only clean way out; sign-out is suppressed during the session.
- The session expiry is server-issued and cannot be extended from the interface.
- A scope description in the banner is descriptive text, not an enforced restriction.
- The action is logged without a reason. Track intent yourself if you need it.
Related
User delegation
Consented, listed, revocable access to another account.
Manage employees
The employee list this action starts from.
Access control
What the admin permission matrix does and does not cover.
Raw data report
Export the Proxy login log.