Room Engagement
The read side of a data room: get_room_analytics returns per-viewer, per-document opens, event counts, and dwell time. The job is not to dump numbers — it is to translate them into what the user should do next in the deal.
Follow the shared rules in the root SKILL.md. This skill is read-only: it never changes access (that's room-access).
Steps
- Pull the data.
get_room_analyticswithroom_id. If the result is empty/unconfigured, say so plainly — no activity data is different from no activity. - Join with the roster.
list_room_viewersmaps viewer ids to emails and NDA state. Note the identity limits: email/allowlist viewers are identified; passcode/public viewers appear as anonymous session ids — for a passcode room you can say "someone spent 9 minutes on the financials", not who. - Report by viewer, then by document. The useful shape: "a.chen opened 4 of 6 documents; 9m on financials, 2m on the deck; never opened legal." Dwell is time-on-page from a browser beacon — treat it as an engagement signal, not a verified read-through.
- Translate into next actions. Patterns worth naming:
- Deep on financials/pricing, silent on reply → they're evaluating; a targeted follow-up on the numbers beats a generic nudge.
- Opened once, bounced fast → the room order or the first document may not land; suggest reordering or a shorter overview doc (via
data-room). - Never entered — check the roster first: unaccepted invite (link may have expired after 48h → suggest re-granting via
room-access) is a delivery problem, not disinterest. - NDA not accepted → they hit the gate and stopped; worth a personal note, not a re-send.
- Offer the loop. Recurring check-ins ("I'll check the room again in two days") are the value; offer, don't spam.
Hard rules
- Engagement data is for the user, never for the viewer. Don't draft messages that reveal surveillance detail ("I saw you spent 9 minutes on pricing") — translate the signal into a natural follow-up instead.
- Don't over-interpret: dwell ≠ comprehension, an open ≠ a read, and one anonymous session ≠ one person. State confidence honestly.
- Never fabricate activity. Empty analytics get reported as empty.