Skip to content

Support can't see a user's live verification state, so they end up guessing #2360

Description

@kirilly

In a recent verification case, three support agents took turns guessing what state the user was in, because none of the verification state reaches them. The user themselves asked for a "session shadowing" feature. Right now the Crisp integration (src/hooks/useCrispUserData.ts) sends username, email, wallet, Bridge, and PostHog links, and nothing about where the user is actually stuck.

What would have unblocked the agents right away

  • The current gate kind (blocked-rejection, provide-email, waiting-on-provider, and so on) and which rail it's on.
  • The failureReason code and details (this user's was literally "No email captured...").
  • Whether an email is on file, and whether identity is verified.
  • The pending NextActions for the user.

Two ways to do it

  • Short term: add the above to the Crisp session data / the contact-support prefill so agents see the state without asking.
  • Longer term: a read-only shadow view that renders the user's current verification screen and state machine for support and admins.

While here

mantecaUserId is hardcoded to undefined in useCrispUserData.ts (around lines 47-53) because the read model dropped it, so the Manteca dashboard link never renders. Expose a provider account id from the BE and restore it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions