← Onboarding WinsCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Onboarding Wins
Snapshot Sep 30, 2026 · 23:14 UTC · version 0.1.1
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Build a complete, evidence-backed Zendesk onboarding journey import from Gmail plus the user's local Chrome session for Gong, Salesforce and View 360. Use when a coworker asks to import, refresh, reimport or investigate an onboarding account for the Onboarding Wins app.",
"included_files": [],
"name": "onboarding-wins",
"skill_md_contents": "---\nname: onboarding-wins\ndescription: Build a complete, evidence-backed Zendesk onboarding journey import from Gmail plus the user's local Chrome session for Gong, Salesforce and View 360. Use when a coworker asks to import, refresh, reimport or investigate an onboarding account for the Onboarding Wins app.\n---\n\n# Onboarding Wins import workflow\n\nUse this skill to produce one canonical JSON object for the Onboarding Wins Google Apps Script app. The app is the system of record for the dashboard; this workflow is the research and normalization layer.\n\n## Required operating context\n\n- Run in ChatGPT Work with `Local` computer access when browser work is needed.\n- Use the Gmail connector for the coworker's connected mailbox.\n- Use the local Chrome/browser session for Gong, Salesforce and View 360, because those systems may only be reachable through the coworker's logged-in browser session.\n- Do not claim that a source was reviewed if the connector or browser session could not access it.\n- Ask only for missing scope: exact account name, onboarding CSM, CSM email, customer contacts/domain, and the journey start/end month. If an account-specific Gong, Salesforce or View 360 link is provided, use it as the entry point.\n\n## Scope and evidence rules\n\n1. Interpret the journey window as the first day of the start month through the last day of the end month, inclusive.\n2. Gmail is used to find and count relevant individual messages between the CSM and the customer's contacts/domain. Count messages, not threads. Record the query used and exclude internal messages without direct onboarding evidence.\n3. Gong is used to find and count relevant calls in the window. Review every result that loads. If results are unavailable, distinguish `found`, `reviewed`, and `notLoaded` in `sourceStatus` and notes.\n4. Salesforce is the primary source for ARR, subscription, agents, products, add-ons, account status and opportunities. View 360 is a secondary verification source. Count the admin in agents when the source defines agents that way.\n5. If Salesforce and View 360 disagree, do not guess. Use the value that is explicitly current only when the source says so; otherwise set the field to null and record the discrepancy.\n6. Never estimate ARR, agents, subscription or add-ons. Missing values are acceptable and should be represented as `null` plus a source explanation.\n7. Keep source links in `client.links.gong` and `client.links.gmail` only when useful for the app. Do not include private Salesforce/View 360 links in the output unless the app's configured schema explicitly requests them.\n\n## Win and CSQL classification\n\nAllowed win types are `Retention`, `Implementation`, `Adoption` and `Expansion`.\n\n- Retention: a real cancellation, churn or ARR-loss risk existed and the customer continued.\n- Implementation: Zendesk was configured or technically ready to operate.\n- Adoption: the customer used, expanded or operationalized Zendesk in a measurable way.\n- Expansion: seats, products or add-ons were explicitly purchased, contracted or otherwise confirmed.\n\nOnly mark `csql: true` when the evidence shows an explicit commercial signal such as a request for additional seats/add-ons, a sales handoff, proposal, DocuSign or confirmed purchase. A demo, trial, discussion or recommendation alone is not a CSQL. When the process is not confirmed closed, record `state: \"Pending validation\"` and do not represent it as booked revenue.\n\n## ARR normalization\n\nReturn ARR as a JSON number in USD, never as a currency string. Normalize values such as `$46,632 USD`, `ARR: $46,632`, `46.6K` and `46.6k` to `46632`, `46632`, `46600` and `46600`. If the source is blank, says not found, or cannot be reconciled, return `null` and explain it in `arrSource` and `notes`.\n\nAgents must be an integer or `null`. Subscription must be a concise string or `\"No encontrado en Salesforce o View 360\"`. Do not convert unknown values into zero.\n\n## Output contract\n\nReturn only one JSON object in a fenced block only if the user explicitly asks for a fence; otherwise return only the raw JSON object with no introduction, markdown, or trailing explanation. It must follow this shape:\n\n```json\n{\n \"client\": {\n \"clientId\": \"stable-slug-or-existing-client-id\",\n \"accountName\": \"Exact account name\",\n \"owner\": \"Adrián Trejo\",\n \"status\": \"En progreso\",\n \"startDate\": \"Febrero 2026\",\n \"endDate\": \"Julio 2026\",\n \"quarters\": [\"Q1 2026\", \"Q2 2026\"],\n \"arr\": 46632,\n \"arrSource\": \"Salesforce\",\n \"subscription\": \"Suite Professional\",\n \"agents\": 5,\n \"agentsSource\": \"Salesforce / View 360\",\n \"goal\": \"What the onboarding was intended to achieve\",\n \"calls\": 7,\n \"emails\": 66,\n \"impact\": \"Business impact in one sentence\",\n \"winType\": [\"Implementation\", \"Adoption\"],\n \"winImpact\": \"Why the completed journey mattered\",\n \"winEvidence\": \"Specific evidence from calls and emails\",\n \"win\": \"Final win statement\",\n \"summary\": \"Long executive summary of the full journey\",\n \"brief\": \"Longer brief combining calls, email evidence and the final win\",\n \"links\": {\"gong\": \"https://...\", \"gmail\": \"https://...\"},\n \"gmailQuery\": \"query used\",\n \"expansion\": {\n \"additionalAgents\": 0,\n \"addons\": [],\n \"summary\": \"\",\n \"evidence\": \"\"\n },\n \"notes\": \"Source availability, limitations and pending validations\"\n },\n \"sessions\": [],\n \"milestones\": [],\n \"steps\": [],\n \"timeline\": []\n}\n```\n\nEach session row should contain `dateEs`, `titleEs`, `descriptionEs`, `source`, `dateEn`, `titleEn`, `descriptionEn`. Each milestone/timeline row should contain the same fields. Use month-level start/end dates in the client, while evidence rows may contain exact dates.\n\n## Final quality check\n\nBefore returning the object:\n\n- Verify `accountName`, `owner`, date range, calls and emails are present.\n- Verify ARR is a number or null, never `$`, comma-delimited text or `\"No encontrado\"` in the ARR field.\n- Verify agents is an integer or null, never zero merely because it was unavailable.\n- Verify all four arrays exist, even when empty.\n- Verify every win has evidence and that CSQL is false unless a commercial signal is explicit.\n- Preserve limitations in `notes`, including source access, unloaded Gong results, unresolved Salesforce/View 360 discrepancies and unconfirmed expansion.\n- If the app is performing a reimport, preserve the selected client's `clientId` and account name.\n\nIf the app rejects the JSON, run the bundled validator on the exact object and repair only the reported schema or normalization issues. Do not add prose around the JSON.\n\n"
}SHA-256 of public snapshot: 0116004e0c481d36b193dd4869572a9ba8d8a112e3d0e74f76e26a6f99e09d74