Log Call

作者 HubSpota0c59600fc1d无许可证4 个星标收录于 2026年10月8日更新于 2026年10月8日仓库2天前更新

Logs a call, meeting, or conversation against a HubSpot contact. Writes a note, updates deal stage, next step, close date, and priority, updates contact lead status and lifecycle stage, and creates a follow-up task. ALWAYS use this skill when the user reports on a completed interaction — "just got off the phone with X", "had a call with X", "just spoke to X", "log a call with X", "post-call notes for X", "I just finished a meeting with X", "debrief from my call with X", "I spoke to X", "update after my call with X". Trigger on any past-tense account of a conversation or meeting with a specific contact, or an explicit request to log an outcome.

AI 生成的概览

将已完成的通话或会议记录到 HubSpot:写入备注、更新交易和联系人字段,并创建后续任务。

功能
解析用户对一次对话的过去时描述,提取联系人、摘要、结果、下一步以及交易或联系人信号。它会查找匹配的 HubSpot 联系人和关联交易,先给出确认块,然后写入备注,更新交易字段(如阶段、下一步、成交日期、优先级和金额),更新联系人线索状态和生命周期阶段,并始终创建后续通话任务。最后给出确认摘要,并处理联系人缺失、匹配不唯一和部分失败等错误。
适用场景
当用户报告与特定联系人的已完成互动(如电话、会议或通话复盘),或明确要求记录通话结果时使用。适用于对话结束后在 HubSpot 中进行 CRM 记录。
运行要求
需要 HubSpot MCP 连接器,提供 get_organization_details、search_crm_objects、get_properties 和 manage_crm_objects 等工具,并需要访问相应 HubSpot 门户的权限。仅为说明文档,不附带脚本。

Log Call

Tool names below are expected names for the HubSpot MCP connector. If a named tool isn't available, check for updates to the skill and/or alternates in the HubSpot toolset as available tools may change

Phase 1 — Parse the message

Extract from user input:

  • Contact name or email
  • Summary — what was discussed
  • Outcome — any decision or result
  • Next step — any specific follow-up action mentioned
  • Deal signals — stage movement, timeline change, priority shift, deal size revision
  • Contact status signals — did you reach them? Are they engaged? Bad timing?

If contact name is missing, ask: "Who was the call with?"


Phase 2 — Find the contact and deal

Run simultaneously:

  • get_organization_details → store portalId, uiDomain
  • search_crm_objects contacts, query: name or email, properties: firstname, lastname, email, jobtitle, associatedcompanyid, hs_lead_status, lifecyclestage

If multiple contacts match, show disambiguation list (name, title, company) and wait for confirmation.

Then search deals filtered by associations.contact = contactId, properties: dealname, dealstage, pipeline, amount, closedate, hs_next_step, hs_priority. Store dealId, currentStage, dealPipeline, dealName, currentNextStep.


Phase 3 — Build the update plan

Based on what was said, propose updates across note, deal, and contact.

Stage resolution — if stage signals were detected, resolve before building the plan. This is fail-closed: if resolution fails at any step, omit the stage change entirely and ask the user.

  • If the deal has no pipeline value, omit the stage change and ask: "I couldn't determine the pipeline for this deal — which stage should I move it to?"
  • Call get_properties: objectType: deals, propertyNames: ["dealstage", "pipeline"]. If this call fails or returns no data, omit the stage change — do not proceed.
  • Filter dealstage options to only those belonging to dealPipeline. If no stages match, omit the stage change and ask the user.
  • Sort matching stages by displayOrder. Match the user's words against the actual stage labels.
  • If no stage label clearly fits, or more than one is plausible, omit the stage change and ask — never guess.
  • Only when a single unambiguous match is found: store proposedStageLabel (for the confirm block) and proposedStageValue (API value for Phase 5).

Show a single confirm block — do not write until confirmed.

Ready to log this call with [First Last]:
📝 Note: [2–3 sentence summary with outcome and next step]
Deal — "[Deal Name]":  Stage:     [current] → [proposedStageLabel]       (if mentioned)  Next step: "[what was agreed]"           (always if deal exists)  Close date: [current] → [revised date]  (if timeline discussed)  Priority:  [LOW / MEDIUM / HIGH]         (if urgency was clear)  Amount:    [current] → [revised]         (if deal size discussed)
Contact — [First Last]:  Lead status: [current] → [new status]    (e.g. CONNECTED, BAD_TIMING)  Lifecycle:   [current] → [new stage]     (if they're now an opportunity)
Task: "[Follow up with First — next step text]" due [date] · type: CALL · priority: [MEDIUM/HIGH]
Log it?

Omit lines that don't apply. If no deal exists, omit the Deal section. Always include the task line.


Phase 4 — Write the note

manage_crm_objects notes, createRequest:

  • hs_note_body: 📞 Call logged — [today's date]\n\n[Summary]\n\n[Outcome]\n[Next step]
  • hs_timestamp: current ISO 8601 timestamp
  • associations: contact → contactId, deal → dealId (if present)

Phase 5 — Update deal and contact fields

Run Phase 5 (deal) and Phase 6 (contact) simultaneously — they are independent writes.

If a deal exists, update via manage_crm_objects deals, updateRequest, objectId: dealId. Run all field changes in a single call.

Fields to update (only those that changed):

SignalFieldValue
Stage movementdealstageproposedStageValue resolved in Phase 3 — omit entirely if Phase 3 did not produce a resolved value
Next step agreedhs_next_stepFree text — always write if a next step was mentioned
Timeline revisedclosedateISO 8601 date
Priority signalhs_prioritylow · medium · high
Deal size discussedamountNumber

If stage mapping is ambiguous, ask before updating — never guess.


Phase 6 — Update contact fields

If contact status signals were present, update via manage_crm_objects contacts, updateRequest, objectId: contactId.

SignalFieldValue
Reached them, had a real conversationhs_lead_statusCONNECTED
Actively progressinghs_lead_statusIN_PROGRESS
Voicemail / no answerhs_lead_statusATTEMPTED_TO_CONTACT
They said call back laterhs_lead_statusBAD_TIMING
Not a fiths_lead_statusUNQUALIFIED
Now has an open dealhs_lead_statusOPEN_DEAL
Qualifies as a sales opportunitylifecyclestageopportunity
Decision to buy likelylifecyclestagesalesqualifiedlead

Only update if the signal is clear. Skip if ambiguous.


Phase 7 — Create follow-up task

Always create a task. Pre-fill from the next step if mentioned; default to "Follow up with [firstName]" in 7 days.

manage_crm_objects tasks, createRequest:

  • hs_task_subject: "Follow up with [firstName] — [next step if mentioned]"
  • hs_task_type: CALL
  • hs_task_status: NOT_STARTED
  • hs_task_priority: MEDIUM (or HIGH if deal is closing soon / urgent)
  • hs_timestamp: [due date ISO]
  • hs_task_body: [brief context from call]
  • associations: contact → contactId, deal → dealId (if present)

Phase 8 — Confirm

Logged.  ✓ Note saved on [First Last]  ✓ Deal "[Name]" — [list of updated fields]  ✓ Contact status → [new status if updated]  ✓ Task created — due [date]
View contact: https://[uiDomain]/contacts/[portalId]/contact/[contactId]

Error handling

  • Contact not found: Ask to clarify. Do not write anything until confirmed.
  • Multiple matches: Show disambiguation list, wait.
  • No deal found: Log the note and create the task. Skip deal update phases.
  • Stage mapping unclear: Ask before updating — never guess.
  • Note save fails: Show the composed note in chat so nothing is lost.
  • Partial failure: Report which updates succeeded and which failed. Offer to retry failed ones.

来源与署名

来源:HubSpot/hubspot-mcp-plugins位于HubSpot-Sales/skills/log-call提交a0c5960

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架

更多来自 HubSpot/hubspot-mcp-plugins 的技能

Pipeline Pulse

HubSpot

按阶段汇总 HubSpot 未成交商机,标记停滞或逾期商机,并建议后续跟进任务。

Business & Finance42天前更新

Onboarding

HubSpot

引导 HubSpot 新用户完成门户设置、目标采集和定制化的后续步骤。

Productivity & Workflow42天前更新

Import Contacts

HubSpot

Imports contacts into HubSpot from any source — a CSV file, a pasted list, or data from connected apps like Gmail. Handles field mapping, duplicate detection, batch import, and company association. ALWAYS use this skill when the user wants to bring contacts into HubSpot — "import contacts", "upload a CSV", "add these people to HubSpot", "import my list", "bring in contacts from [source]", "I have a spreadsheet of contacts", "add contacts from my email", "migrate contacts", "sync contacts from [app]", "load my network". Trigger whenever the user wants to bulk-add people to the CRM, regardless of source.

待分类42天前更新

Hubspot

HubSpot

HubSpot CRM 助手,负责查询、统计和快速更新,并转接至专用 CRM 技能。

Productivity & Workflow42天前更新

Follow Up

HubSpot

Drafts a personalised follow-up or outreach email for a named contact, grounded in HubSpot deal context, recent notes, and email history. Opens HubSpot with the email pre-populated so the rep can review and send with full tracking. If deal-related, updates the next step or deal stage as applicable. ALWAYS use this skill when the user wants to write or send outbound communication to a specific contact — "follow up with X", "draft an email to X", "send something to X", "check in with X", "reach out to X", "ping X", "touch base with X", "I need to reply to X", "draft a follow-up for [deal]", "write to X". Trigger on any request to compose outbound communication tied to a contact or deal.

待分类42天前更新

Daily Brief

HubSpot

根据 HubSpot 数据及已连接应用生成优先级每日简报,并建议 GTM 任务但不自动创建。

Productivity & Workflow42天前更新