Helpdesk & Ticketing

The recording lands as an internal note on the ticket your agent already has open - not as a new case nobody asked for.

1. The question this feature had to answer first

Which ticket?

Creating a ticket for every identified session would be spam: your support team would find cases nobody opened. Adding a note to every ticket that person ever wrote would be spam too, only slower.

So: an internal note on the sender's most recent OPEN ticket. If there is no open ticket, nothing happens at all. That way we never create a case your customer did not start, and the agent finds the recording exactly where they are already looking.

Internal, never public. The link leads into MousePlayer. Your customer should not see it, and could not follow it anyway.

2. Zendesk Support and Freshdesk

Both are supported, and they solve the same job differently. You do not need to care about that - but it explains why the form asks for slightly different things.

Zendesk SupportFreshdesk
Subdomainacme from acme.zendesk.comacme from acme.freshdesk.com
Agent emailneeded - Zendesk signs in as email/tokennot needed, leave empty
API tokenAdmin Center → Apps and integrations → APIsYour profile settings
The note becomesan internal comment on the ticketa private note on the ticket

Paste the whole URL into the subdomain field if that is easier - we cut it down to the part we need, so https://acme.zendesk.com/agent/tickets/1 becomes acme.

3. When it fires

At the moment a session is identified - when your site calls MousePlayer.setUserId(), when our analytics bridge reads a distinct ID back, or when your server calls the identify endpoint.

Only with an email address

A ticket belongs to a sender, and the helpdesk knows that sender by their email. A contract number leads nowhere there, so nothing is sent.

Only for open tickets

Solved and closed tickets are skipped. A note on a case nobody looks at any more helps nobody, and it would push a closed ticket back into your agents' field of view for no reason.

If the sender has no open ticket, this counts as done, not as failed - it is the normal case, and retrying would change nothing.

4. What the agent sees

One internal note: MousePlayer: session recording from <email> followed by the link. One click and they are watching what that person actually did, right next to what they wrote about it.

Where this earns its keep

  • "It doesn't work" tickets. The recording usually shows in twenty seconds what three rounds of email would not.
  • Reproduction steps nobody can reproduce. You do not need them any more - you have the session.
  • Rage clicks and dead clicks that the customer never mentions, because they assume that is how the product works.

The token never leaves our server

Stored AES-256-GCM encrypted, never shown again after saving, and deliberately kept out of the internal queue that carries the task.

5. Help Scout, Front and Gorgias

Three more helpdesks. All three land an internal note on an open conversation, and all three get there differently.

You provideSubdomain
Help Scoutclient ID and client secret of an internal appnot needed
FrontAPI token and a teammate IDnot needed
Gorgiasagent email and API keyneeded

Help Scout trades before it talks

It does not accept the client secret directly. The bridge exchanges it for a short-lived access token first - the client credentials flow, meant for an integration acting for itself rather than for a user. The token lives in memory for its lifetime; the secret stays in the database.

Front comments need an author

A comment in Front appears in the name of a teammate, and the API requires one. That is what the field labelled for the agent holds here - not a login, just the ID whose name the note carries.

Gorgias needs two questions instead of one

Its ticket list filters by customer_id and by nothing else - there is no email filter. So the bridge looks up the customer first and asks for their tickets second. It also cannot filter by status, so the open ticket is picked on our side, exactly as it already is for Freshdesk.

All trademarks named here belong to their respective owners. MousePlayer has no business relationship with these providers.