← monday CRMCONTENT HISTORY

Update to monday CRM

Snapshot Nov 11, 2026 · 13:33 UTC · version 0.4.5-draft

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save monday CRM and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Structural audit of a monday CRM board — missing-data patterns, stalled groups, abandoned columns, automation gaps, and data-quality scores — published as a prioritized diagnosis doc for CSM / admin action. Use when someone says \"audit my CRM\", \"what's wrong with my board\", \"CSM kickoff doc\", \"diagnose the pipeline\", or \"board health check\".",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 178
    },
    {
      "relative_path": "assets/icon.png",
      "size_in_bytes": 22022
    },
    {
      "relative_path": "examples/01-csm-audit.md",
      "size_in_bytes": 6290
    }
  ],
  "name": "board-diagnosis",
  "skill_md_contents": "---\nname: board-diagnosis\ndescription: Structural audit of a monday CRM board — missing-data patterns, stalled groups, abandoned columns, automation gaps, and data-quality scores — published as a prioritized diagnosis doc for CSM / admin action. Use when someone says \"audit my CRM\", \"what's wrong with my board\", \"CSM kickoff doc\", \"diagnose the pipeline\", or \"board health check\".\n---\n\n# Board Diagnosis\n\n> **Platform notes (ChatGPT and Codex).** Before any write, show the concrete action or batch and obtain explicit approval. Use only tools exposed in this session; if a named tool is missing, say so and stop that step. Use visible plain-text `monday-crm-skill-id: <skill>` markers; monday Docs can strip HTML comments. Read back newly created artifacts to verify their marker. Before creating, search within the relevant workspace and read candidate content; match title, skill marker, board or item, and date or period. Treat surviving legacy `<!-- monday-crm-skill-id: … -->` and `<!-- claude-skill-id: … -->` markers as matches. If a candidate has the right title and generated-by footer but lacks a marker, or matching is ambiguous or incomplete, do not create or update automatically: show the candidate and ask the user. If search or read-back is unavailable, stop the write. For meeting recaps also include and verify a visible `meeting-id: <id>` marker; if either marker is missing, do not infer a match or create a duplicate automatically.\n\nStructural audit of a CRM board — shaped as a CSM / admin deliverable. Surfaces missing-data patterns, stalled groups, column drift, automation gaps, and data-quality scores. Publishes a prioritized diagnosis doc in the user's workspace.\n\nFlow: **Trigger → Gather → Synthesize → Show draft → offer publication (α, opt-in) → Share (β, opt-in) → Proactive extension (opt-in, fix tasks)**.\n\n## Input\n- Optional: board name / ID from the user's request.\n- Optional: pre-declared mode (Default / Silent / Proactive).\n\n## Output\n- **α (default):** A `create_doc` diagnosis report in the user's workspace, title `Board Diagnosis — <board name> — <Mon DD>`. Body carries `Generated by monday CRM plugin · <ISO timestamp>` + `monday-crm-skill-id: board-diagnosis` for idempotency + auditability.\n- **β (Share):** Share doc permission + `create_notification` to CSM.\n- **Proactive extension:** `create_item` (fix-task) per issue, written into a `Fix Tasks` group with `Source = AI assistant` populated on a status column (auto-create the column with user confirm if missing); normalize trivial column data (phone, country code, email casing) via `change_item_column_values`; can also batch-edit owner / source / last-touch columns when the user confirms a plan. Never edits amount columns, never deletes.\n\n## Knowledge\n- Diagnosis strands (§ Step 5).\n- Shared artifact conventions (see Shared patterns section below).\n\n## Tools (MCP)\n- `get_user_context`, `list_workspaces`, `search` — board resolution.\n- `get_board_info`, `get_column_type_info` — schema + column types.\n- `get_board_items_page` — sampled pull (up to 2K most-recent).\n- `board_insights` — aggregate diagnostics.\n- `get_activity_logs` — stalled-group + last-activity detection.\n- `list_automations` — read the board's automations and workflows (read-only).\n- `create_doc` — α publish.\n- `create_item` — proactive fix-task creation.\n- `change_item_column_values` — only for trivial normalization (phone, country code).\n- `create_notification`, `list_users_and_teams` — β share.\n\n## Cross-skill handoffs\n- **From morning-briefing:** If briefing flags >30% unowned deals or structural hygiene issues, route here.\n- **From forecast-dashboard:** If >25% of deals lack forecast-critical fields, route here before building the dashboard.\n- **To morning-briefing / forecast-dashboard:** Once the user fixes the flagged issues, they can re-run those skills.\n\n\n## Draft first, then offer publication\n\nUse available read-only tools to prepare the complete requested deliverable before asking to publish. Present it as a readable, editable artifact in the host when available; otherwise show the full draft in chat. A native monday dashboard or board cannot be created outside monday: present a concrete preview or blueprint, not a claim that it exists. State meaningful missing data or assumptions. Then ask once whether to publish the displayed draft to the specified monday destination; allow edits or decline. On decline, retain the draft and stop without monday writes. On approval, publish only the shown content and concrete actions the user approved. Separately describe and obtain approval for record edits, notifications, contacts, automations, or other actions not included in that publication. Do not ask to choose a mode before producing the draft; use read-only default behavior. Ask only for information essential to prepare a useful, accurate draft, and state reasonable defaults. This draft-first rule takes precedence over earlier or later mode and publish-first instructions.\n\n---\n\n\n\n## Offer a useful next step\n\nAt the end of a completed response, offer one specific, relevant next thing ChatGPT can do based on what is actually available: offer to draft a prioritized cleanup plan based on the diagnosis. Ask whether the user wants that help; do not begin it before they respond. Do not repeat an existing unanswered question or make the offer when the task cannot continue because of a connection or permission failure. Do not promise capabilities, events, or results that have not been verified. Approval to explore or draft is not approval to publish, send, or change CRM data.\n\n## Step 0: Connector check\n\n**Goal:** Same as morning-briefing Step 0. Fail fast on missing monday connector.\n\n---\n\n## Step 1: Detect mode\n\nUse read-only default behavior while preparing the diagnosis. Do not ask for a mode. Offer fix tasks or normalization only after the diagnosis and obtain approval for their concrete scope.\n\n\n---\n\n## Step 2: Resolve the board (Gather)\n\n**Goal:** Same resolution path as morning-briefing Step 2. `get_user_context` → `list_workspaces` → `search(\"deal\")`. Allow \"all\" for multi-board audits (produces one doc per board).\n\n---\n\n## Step 3: Read board schema (Gather)\n\n**Goal:** Full column inventory + type classification for every column (not just CRM-critical ones — the audit looks at ALL columns to find drift).\n\n1. `get_board_info(boardId)` → full column list.\n2. `get_column_type_info` for any column where fill rate will be calculated.\n\n---\n\n## Step 4: Pull data (Gather)\n\n**Goal:** Enough data to compute fill-rate, staleness, and activity patterns. Paginate up to 2K most-recent items. Also pull:\n- `board_insights` for aggregate stats.\n- `get_activity_logs` with this board's `board_ids` and a time window of at most 90 days. Follow its cursor with the same filters when further history is needed. Empty or partial visible logs do not prove inactivity; state coverage and missing evidence.\n- `list_automations(boardId)` to read automation rules.\n\nSame rate-limit + error-handling as morning-briefing Step 5. On partial failures, continue — note which strand failed in the diagnosis doc.\n\n---\n\n## Step 5: Synthesize — five diagnosis strands (Synthesize)\n\n**Goal:** Produce a prioritized fix list across these strands:\n\n1. **Missing data patterns** — required fields (stage, owner, value, close_date) blank on >25% of items. Compute fill-rate per column.\n2. **Stalled groups** — assess visible item activity with `get_activity_logs` and the current group membership. Flag groups only when at least 30 days of sufficient history support the finding; for new boards or incomplete logs, report insufficient history rather than inactivity.\n3. **Column drift** — report current fill rates below 5% as candidates for review. Suggest archiving only when usage history and the column's purpose support it; current emptiness alone does not prove abandonment.\n4. **Automation gaps** — stage-based automations absent on deal boards (from `list_automations`).\n5. **Data-quality score** — % of items with complete core fields.\n\nRank findings by impact × fix-effort. P0 = data blocking forecast / reporting; P1 = hygiene; P2 = structural.\n\nScore = 100 × records with nonblank stage, owner, value and expected close date / records inspected. State the denominator, sampling and core-field definitions. Empty boards have no meaningful score. Report active and closed populations separately when that changes interpretation. This is a completeness score, not an invented weighted index. Rank actual forecast-blocking gaps P0, workflow/data-hygiene issues P1, and optional structural cleanup P2; describe a concrete action and supporting evidence for each.\n\n---\n\n## Step 6: Publish α — diagnosis doc (Publish)\n\n**Goal:** Present the full diagnosis with evidence, score and prioritized actions, then ask whether to publish that report as a monday doc.\n\nShow the concrete report and obtain approval before writing it. Core content sections:\n- **Score:** overall data-quality score (0-100) + 5-strand breakdown.\n- **P0 fixes** — concrete, actionable.\n- **P1 / P2 fixes** — batched.\n- **Automation recommendations** — per stage-based pattern missing.\n- **Column cleanup** — archive list.\n\nIdempotency: follow the platform notes and verify the matching board, date and marker before updating an existing doc; stop on ambiguity.\n\nNon-admin fallback isn't applicable (docs don't require admin). But if Proactive mode is on AND user isn't admin, skip `create_item` fix-tasks with a note (\"admin-only\").\n\n---\n\n## Step 7: Share β — route to CSM (opt-in)\n\n**Goal:** Notify the CSM with the doc link. Don't change doc permissions.\n\n1. `list_users_and_teams` → user picks the CSM.\n2. Confirm, then `create_notification` to the CSM with the doc link.\n3. Tell the user: *\"If <name> can't open the doc, share it from the doc's Share button in monday.\"* No dedicated tool exists for doc permissions, so the plugin leaves sharing to the user.\n\n---\n\n## Step 8: Proactive extension — create fix-tasks + normalize (opt-in)\n\n**Goal:** Turn the diagnosis into action, but stay inside the safety rail.\n\nFor each P0 / P1 fix:\n- `create_item` in a `Fix Tasks` group with title `Fix: <issue>`, assigned to board owner (or CSM if admin). Populate `Source = AI assistant` on the board's source/status column (auto-create the column with user confirm if missing).\n- For **trivial** normalization (phone-number reformatting, country-code standardization, email lowercase): `change_item_column_values`. Never write to amount columns. Stage/owner/source/last-touch edits OK inside a batched-confirm plan, but call `bulk-data-hygiene` for board-wide passes — this skill stays focused on diagnosis-driven point fixes.\n- If >20 fix-tasks: batch into one `Fix Tasks — <date>` doc list (with `monday-crm-skill-id: board-diagnosis` in body) rather than creating 20 items.\n- Never deletes columns, never archives groups, never removes automations.\n\nFor a requested normalization, use the bulk-data-hygiene skill's conservative rules: retain known country context, propose E.164 phone and ISO country values only when unambiguous, and show the exact approved batch. Never infer a country or overwrite an ambiguous value.\n\n---\n\n## Step 9: Close the loop\n\n**Goal:** Summary line + doc URL.\n\nAfter publication succeeds, report the verified doc URL. If declined or failed, say the diagnosis remains a draft; report fix tasks only if actually created.\n\n---\n\n## Shared patterns\n\n- **No title prefix.** Artifact discoverability is via the `Generated by monday CRM plugin · <ISO timestamp>` footer and the embedded `monday-crm-skill-id: board-diagnosis` visible plain-text marker in doc bodies. For items the plugin creates, use `Source = AI assistant` on a status column (auto-create the column with user confirm if missing).\n- **Idempotency before create.** Always search for same-day artifact (by title + skill-id marker) first. Update, don't duplicate.\n- **Safety rail.** No deletes, no amount-column writes, no cross-workspace moves. Stage/owner/last-touch/source edits OK in a batched-confirm plan.\n- **Ask once per session**, not per item, when entering Proactive mode.\n- **Type-based column resolution**, not name-based — global teams have non-English columns.\n\n## Error handling reference\n\n| Failure | Behavior |\n|---|---|\n| Connector not installed | Step 0 stops; print install link. |\n| No CRM board | Step 2 stops; offer path to the `workspace-builder` skill. |\n| Board >10K items | Cap at 2K most-recent, flag sampling. |\n| MCP tool error (retryable) | Exponential backoff 3x; on third fail, skip that strand, surface partial report. |\n| Same-day artifact exists | Update in place via doc ID. |\n| 429 rate limit | Backoff 3x, then stop with retry note. |\n| Non-admin publish perms | Degrade to print-only. |\n| Non-English column names | Resolve by type via `get_column_type_info`. |\n\nAdditional:\n- **`board_insights` 9% baseline error** → on retry failure, skip that strand; diagnosis still produced with hygiene-line noting the missing strand.\n- **Automation probe fails** (`list_automations` permission error) → skip strand 4 with note \"couldn't inspect automations — ask admin to re-run\".\n\n---\n\n## Completion criteria\n\n- [ ] Step 0 (connector check) passed.\n- [ ] Exactly one α diagnosis doc created or updated per board (verified via skill-id marker).\n- [ ] Doc body carries `Generated by monday CRM plugin · <ISO timestamp>` + `monday-crm-skill-id: board-diagnosis`.\n- [ ] All five diagnosis strands ran or are explicitly skipped with reason.\n- [ ] Items the skill created carry `Source = AI assistant` on a status column.\n- [ ] Safety rail held: no deletes, no amount-column writes, no cross-workspace moves.\n- [ ] Proactive record edits ran inside a batched-confirm plan (no per-item ad-hoc writes).\n"
}

SHA-256 of public snapshot: b141cf48fbeabec523491e1ff5bdc2ce3c2f0ffd9cefa7b8c70cbaeaf7b22cfd