Skip to content
MCP Servers
Skill

/meeting-to-deal

Turn meeting transcripts into deal updates — key points, commitments, and next steps posted to matching CRM deals automatically. Auto-creates contacts for new attendees. Use when someone says "log my meetings to deals", "update CRM from calls", "what did I commit to in

BOOST
From plugin
mcp
4309 skills1 command1 MCP
Install
$ npx -y skills add mondaycom/mcp --skill meeting-to-deal --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/meeting-to-deal

Context preview

The summary Claude sees to decide when to auto-load this skill.

Turn meeting transcripts into deal updates — key points, commitments, and next steps posted to matching CRM deals automatically. Auto-creates contacts for new attendees. Use when someone says "log my meetings to deals", "update CRM from calls", "what did I commit to in

SKILL.md

meeting-to-deal.SKILL.md
name: meeting-to-deal
description: Turn meeting transcripts into deal updates — key points, commitments, and next steps posted to matching CRM deals automatically. Auto-creates contacts for new attendees. Use when someone says "log my meetings to deals", "update CRM from calls", "what did I commit to in meetings", "sync notetaker", "log this meeting", "I just had a call with [company]", "what did I promise in that meeting", "add notes from today's calls", or "update the deal after my call".
argument-hint: "[optional: time window — 'today', 'yesterday', 'last 7 days', or 'since 2026-05-20']"
user-invocable: true
allowed-tools: [Read, AskUserQuestion, mcp__monday__get_user_context, mcp__monday__list_workspaces, mcp__monday__search, mcp__monday__get_board_info, mcp__monday__get_column_type_info, mcp__monday__get_board_items_page, mcp__monday__get_notetaker_meetings, mcp__monday__create_update, mcp__monday__create_item, mcp__monday__change_item_column_values, mcp__monday__create_doc, mcp__monday__create_notification, mcp__monday__list_users_and_teams, mcp__monday__all_monday_api]

Meeting to Opportunity

Flow: **Trigger → Pull meetings → Match → Synthesize → Publish (α) → Auto-contact (β, opt-in) → Proactive next-step nudges (opt-in)**.

Input

  • Optional: time window via argument (default = last 24h).
  • Optional: pre-declared mode (Default / Silent / Proactive).

Output

  • **α (default):** One `Meeting recap` update per matched deal, summarizing key points + commitments + next steps. Body carries the `Generated by Claude · <ISO timestamp>` footer + `<!-- claude-skill-id: meeting-to-deal --><!-- meeting-id: <id> -->` comments. A `Meeting sync — <Mon DD>` doc lists what was matched, what wasn't, and unresolved attendees.
  • **β (Auto-contact, opt-in):** New items on the Contacts board for meeting attendees not already in CRM, linked back to the matched deal. Each new contact carries `Source = Claude` on a status column.
  • **Proactive extension:** `create_notification` to deal owner for commitments due this week. Stage column edits and last-touch updates are also OK in Proactive (or in Default with batched confirm) when a clear transition phrase is present in the transcript ("we agreed to move to procurement review", "they signed today"). Surfaced as a single batched plan: *"<N> stage transitions detected. Apply all / review each / skip stage edits?"*. Amount-column writes still forbidden.

Knowledge

  • Meeting → deal matching heuristic (§ Step 4).
  • Update body convention (§ Step 6).
  • Shared artifact conventions (§ Shared patterns).

Tools (MCP)

  • `get_user_context` — user identity + email domain for filtering meetings and extracting `internal_domain`.
  • `get_notetaker_meetings` — recent meetings + transcripts.
  • `search` / `list_workspaces` / `get_board_info` — locate Deals + Contacts boards.
  • `get_board_items_page` — fetch active deals to match against.
  • `get_column_type_info` — resolve email/company columns by type.
  • `create_update` — write the recap onto the matched deal.
  • `create_item` — β auto-contact on the Contacts board.
  • `change_item_column_values` — populate the new contact's email + company columns, write `Source = Claude` on contacts, and apply confirmed stage / last-touch edits on matched deals. **Never** for amount columns.
  • `create_notification` — proactive next-step nudges.
  • `create_doc` — sync summary doc.
  • `all_monday_api` — escape hatch for connect-board column writes (linking contact ↔ deal). Note: connect-board writes via `all_monday_api` may fail silently — see Error handling reference.

Cross-skill handoffs

  • **From workspace-builder / daily-briefing:** suggested as a way to keep deals fresh after a meeting-heavy day.
  • **To data-cleanup:** if >30% of attendees couldn't be matched, suggest running `data-cleanup` to clean contact data.
  • **To daily-briefing:** the synced updates feed tomorrow's brief.

---

Step 0: Connector check + NoteTaker availability

**Goal:** Confirm the monday connector works and detect whether NoteTaker is available. Also extract `internal_domain` for use in Steps 4–5.

1. Try `mcp__monday__get_user_context`. On error → standard install prompt, stop. 2. Extract `internal_domain` from the user's email (e.g. `"kevin@monday.com"` → `"monday.com"`). Store for Steps 4–5. If email is absent from the response, `internal_domain` = `"monday.com"` (safe default). 3. Try `mcp__monday__get_notetaker_meetings({ limit: 1 })`. 4. If NoteTaker returns results → set `notetaker_available: true`. Continue to Step 1. 5. If NoteTaker returns auth error, permission error, or empty-by-permission → set `notetaker_available: false`. **Do not stop.** The skill will collect meeting content from the user directly in Step 3.

> **PAUSE**: do not write any `create_*` call before Step 6.

---

Step 1: Detect mode

  • **Default** — bundle all writes (recaps + stage edits + last-touch updates + auto-contacts) into a single batched confirm before executing.
  • **Silent** — skip the batched confirm; β auto-contact still requires explicit opt-in.
  • **Proactive** — ask once: *"Proactive mode will: (a) write recaps to matched deals, (b) auto-create missing contacts, (c) apply stage/last-touch edits when transcripts are unambiguous, (d) notify deal owners on commitments due this week. Amount columns stay untouched. Approve all / review each batch / deny stage edits only?"*. Cache the choice.

If undeclared, **Default**.

Hard safety rail regardless of mode: **no deletes, no amount-column writes, no cross-workspace moves**. Stage transitions are bundled into a batched plan — never written one-off, never silently.

---

Step 2: Resolve time window

1. If argument carries a phrase, parse: "today" / "yesterday" / "last N days" / "since YYYY-MM-DD". 2. Default = last 24h. 3. If no argument was provided AND 0 meetings are found (or on the very first run with no prior session context), print: *"Using last 24h (no window specified). Add 'yesterday', 'las

Read more
Ships withmcp

Enable AI agents to operate reliably within real workflows. This MCP is monday.com's open framework for connecting agents into your work OS - giving them secure access to structured data, tools to take action, and the context needed to make smart decisions.

Get the whole plugin

Other skills on mcp.

automate-crm
Skill

automate-crm

Set up, view, and manage automations on monday CRM boards using natural language — no block IDs or technical knowledge required.…

@mondaycom@mondaycomInstall Skill
forecast
Skill

forecast

Build a forecast dashboard in monday — committed, best-case, and pipeline views by close month, rendered as real dashboard…

@mondaycom@mondaycomInstall Skill