Log Activity

by mondaycom8fdc0b4af07aNo licenseListed Oct 8, 2026Updated Oct 8, 2026

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".

AI-generated overview

Logs calls, meetings and notes to monday CRM item timelines, and reads or updates existing activity entries.

What it does
This skill records structured activities such as calls and meetings, or free-text notes, onto the timeline of a resolved CRM item (deal, contact, lead or account). It also reads an item's activity history over a time window and updates existing timeline entries. Every write or update is presented for human confirmation before it is executed, and structured activity creation falls back to a plain timeline note if it fails.
When to use it
Use it when someone wants to log a call, meeting or note against a CRM record, review what activities happened on an item, or correct an entry already logged. It is intended for item-level activity history rather than team-wide aggregated statistics.
Requirements
Requires the monday CRM MCP connector with tools for user context, search, board info, custom activities, timeline items and timeline notes, plus network access to that service. No scripts are shipped; it is instructions only. If activity types cannot be loaded it degrades to free-text notes.

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:

IntentTrigger 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 types: "What type of activity? (call / meeting / note / <custom types from account>)"

If activities_available: false:

  • Default to free-text note via create_timeline_note.

3b: Gather details

Based on type, collect (ask only what's missing from the argument):

Call:

  • Date/time (default: now)
  • Duration (optional)
  • Attendees/contacts (optional)
  • Outcome/summary (required — at least one line)
  • Follow-up action (optional)

Meeting:

  • Date/time (default: now)
  • Duration (optional)
  • Attendees (optional)
  • Summary/key points (required)
  • Next steps (optional)

Note:

  • Content (required)
  • That's it — notes are lightweight.

Parsing heuristic: extract as much as possible from the original argument before asking.

3c: Confirm and write

HITL GATE: Present the structured activity: "Log this to <item name>?"

Type: CallDate: 2026-06-23 10:00Summary: They want to renew but need pricing by FridayFollow-up: Send pricing by Friday

(yes / edit / cancel)

On "yes":

  • For structured activities: mcp__monday__create-timeline-item({ itemId, activityType, date, content: { summary, attendees, followUp } }).
  • For notes: mcp__monday__create-timeline-note({ itemId, content: "<note text>" }).

Report: "Logged <type> on <item name>. Timeline updated."

If the tool call fails, fall back to create_timeline_note with the same content formatted as text. Inform: "Couldn't log as a structured <type> — added as a timeline note instead."


Step 4: Execute — Read

  1. mcp__monday__get-timeline-items({ itemId }).
  2. Parse time filter from argument (this week / last 7 days / today / default last 10).
  3. Format output as a table with Date, Type, Summary columns.
  4. If zero activities: "No activities on <item name> in <window>. Want to log one now?"
  5. For team-wide aggregated stats (totals by rep or type), use the activity-insights skill instead.

Step 5: Execute — Update

  1. Retrieve timeline: mcp__monday__get-timeline-items({ itemId }).
  2. Present recent entries; resolve which to update from context or by asking.
  3. Collect the edit.

HITL GATE: "Update this entry on <item name>?"

Before: "Demo scheduled for next week"After: "Demo scheduled for next week. Decision moved to July."

(yes / edit / cancel)

  1. mcp__monday__update-timeline-item({ timelineItemId, content: <updated content> }).
  2. If tool fails: surface error and suggest editing directly in monday CRM.

Shared patterns

  • HITL gates on all writes and updates.
  • Parse-first, ask-second.
  • Graceful type degradation — if structured activity creation fails, fall back to create-timeline-note.
  • No deletes — timeline entries cannot be removed via MCP.
  • Attribution — entries carry the user's identity from get_user_context.

Error handling reference

FailureBehavior
Connector missingStep 0 stops; print install link.
Activity types unavailableDegrade to notes; inform user.
CRM item not foundBroaden search; ask user.
Create fails (invalid type)Fall back to create-timeline-note; inform user.
Update failsSurface error; suggest editing in monday CRM UI.
Timeline empty on readOffer to log a new activity.
Tool unavailable (Gateway)"Activity logging tools aren't available on the connector yet — use the monday CRM UI for now."

Completion criteria

  • Step 0 connector check passed; activity types cached or degraded gracefully.
  • Intent correctly classified (log / read / update).
  • CRM item resolved before any write.
  • Every write/update went through HITL confirmation.
  • Structured activities used when available; notes as fallback.
  • No timeline entries deleted (hard rail).
  • Errors surfaced with actionable guidance.

Source and attribution

Source:mondaycom/mcpinplugins/monday-crm/skills/log-activityat commit8fdc0b4

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal