Skip to content
MCP Servers
Skill

/log-activity

Log calls, meetings, notes, and other activities to CRM item timelines — structured records with attendees, outcomes, and follow-ups. Use when someone says "log my call with", "add a note to the deal", "what activities happened on", "record this meeting", "update my note on",

BOOST
From plugin
mcp
4309 skills1 command1 MCP
Install
$ npx -y skills add mondaycom/mcp --skill log-activity --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/log-activity

Context preview

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

Log calls, meetings, notes, and other activities to CRM item timelines — structured records with attendees, outcomes, and follow-ups. Use when someone says "log my call with", "add a note to the deal", "what activities happened on", "record this meeting", "update my note on",

SKILL.md

log-activity.SKILL.md
name: log-activity
description: Log calls, meetings, notes, and other activities to CRM item timelines — structured records with attendees, outcomes, and follow-ups. Use when someone says "log my call with", "add a note to the deal", "what activities happened on", "record this meeting", "update my note on", "track a call with", "log a meeting with", "what's the activity history for", "add meeting notes to", "I just spoke with", "note on the account", or "update the activity I logged".
argument-hint: "[activity description — 'call with Acme about renewal', 'note on Globex deal: demo next week', 'activities on TechCorp this week']"
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_board_items_page, mcp__monday__get-custom-activities, mcp__monday__get-timeline-items, mcp__monday__create-timeline-item, mcp__monday__update-timeline-item, mcp__monday__create-timeline-note, mcp__monday__all_monday_api]

Log Activity

Flow: **Trigger → Detect intent (log / read / update) → Resolve CRM item → Gather activity details → Execute → Confirm**.

Input

  • Optional: activity description via argument (e.g., "call with Acme about renewal").
  • Optional: CRM item name or identifier if mentioned.

Output

  • **Log (create):** structured activity record (call, meeting, note) on the target item's timeline, with confirmation.
  • **Read:** formatted activity history for the specified item and time range.
  • **Update:** edited timeline entry with confirmation of changes.

Knowledge

  • Timeline = the activity feed on any CRM item (deal, contact, lead, account).
  • Activity types: calls, meetings, notes, emails (read-only from timeline), custom types per account.
  • For aggregated stats (team totals, rep comparisons), use the **activity-insights** skill — `get-activity-insights` is more efficient than counting raw timeline items.
  • Timeline items are append-only in the UI; the API allows updates to existing entries.
  • `update-timeline-item` visibility on external connector is unconfirmed — degrade gracefully if it fails.

Tools (MCP)

  • `get-custom-activities` — list activity types configured on the account (call, meeting, note, custom).
  • `get-timeline-items` — read an item's timeline (activities, emails, notes).
  • `create-timeline-item` — log a structured activity (call, meeting) with type, date, attendees, notes.
  • `update-timeline-item` — edit an existing timeline activity's content.
  • `create-timeline-note` — add a free-text note to an item's timeline.
  • `get_user_context` — user identity for attribution.
  • `search` / `get_board_info` / `get_board_items_page` — resolve CRM items by name or company.

Cross-skill handoffs

  • **From meeting-to-opportunity:** after a meeting recap, suggest logging the meeting as a structured activity on the deal.
  • **From run-sequence:** when a sequence triggers a manual call step, suggest logging the call outcome.
  • **To morning-briefing:** logged activities feed the daily brief's "recent activity" section.
  • **From daily-briefing:** brief surfaces items with no activity in N days → suggest logging.
  • **To activity-insights:** when the user asks about team totals or rep comparisons rather than a specific item's history.

---

Step 0: Connector check + activity types

**Goal:** Confirm connector works and cache available activity types.

1. Try `mcp__monday__get_user_context`. On error → print install prompt, stop. 2. Try `mcp__monday__get-custom-activities`. 3. If successful → cache the list of activity types (id, name, icon) for use in Step 3. Set `activities_available: true`. 4. If permission error or tool unavailable → set `activities_available: false`. The skill can still operate with `create_timeline_note` (free-text notes don't require activity-type resolution), but structured activities (calls, meetings) will degrade to notes. Print: *"Activity types couldn't be loaded — I can still add notes to timelines. Structured call/meeting logging may be limited."*

---

Step 1: Detect intent

Parse the user's argument to classify:

| Intent | Trigger signals | |---|---| | **log** | "log", "record", "add", "note on", "track", "I just spoke with", default | | **read** | "what activities", "activity history", "what happened on", "show timeline" | | **update** | "update the note", "edit the activity", "change the meeting note", "correct" |

If ambiguous and no CRM item mentioned, ask: > *"Would you like to (a) log a new activity, (b) view activity history, or (c) update an existing entry?"*

---

Step 2: Resolve CRM item

**Goal:** Find the specific deal, contact, lead, or account the activity relates to.

1. Extract item identifier from the argument:

  • Company name ("Acme", "Globex", "TechCorp")
  • Contact name ("Johnson", "Sarah at Acme")
  • Deal name ("Q2 renewal", "enterprise upgrade")
  • Item ID (if explicitly given)

2. If name extracted → `mcp__monday__search({ query: "<name>", objectTypes: ["ITEM"] })`.

  • Single result → use it.
  • Multiple results → present top 5 with board context: *"Found multiple matches: (1) Acme Corp [Deals board] (2) Acme Inc [Leads board] (3) Acme - renewal [Deals board]. Which one?"*
  • Zero results → broaden: try partial name, try `get_board_items_page` on likely boards (Deals, Contacts, Leads). Still zero → ask user.

3. If no name in argument → ask: *"Which CRM item should I log this activity on? (company name, deal name, or contact name)"*

4. Once resolved, note the `itemId` and `boardId` for subsequent calls.

---

Step 3: Execute — Log (Create)

3a: Determine activity type

If `activities_available: true`: 1. Parse the user's description for type signals:

  • "call", "spoke with", "phoned", "rang" → call
  • "meeting", "met with", "demo", "presentation" → meeting
  • "note", "add a note", "reminder", "FYI" → note (free-text)

2. If unclear, present available type

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