• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialproductivity

log-call

プラグイン
HubSpot Sales
ソース
GitHub で見る ↗
説明

HubSpot(営業管理プラットフォーム)の連絡先に対して、通話や会議、会話の内容を記録します。メモの作成、取引段階・次のステップ・完了予定日・優先度の更新、連絡先のリード(見込み客)ステータスとライフサイクルステージ(顧客の段階)の更新、フォローアップタスクの作成を行います。 **次のような場合に使用:** - ユーザーが完了した対話内容を報告する場合 - 「〇〇さんと電話を終えたところ」 - 「〇〇さんと通話した」 - 「〇〇さんと話した」 - 「〇〇さんとの通話を記録したい」 - 「〇〇さんとの通話後の報告」 - 「〇〇さんとの会議を終えた」 - 「〇〇さんとの通話についての振り返り」 特定の連絡先との会話や会議について過去形で述べられている場合、または対話の結果を明確に記録するよう求められた場合は、このスキルを必ず使用してください。

原文を表示

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.

ユースケース
  • 通話や会議の内容を記録するとき
  • 対話後にメモを作成するとき
  • 取引段階や次のステップを更新するとき
  • リードステータスやライフサイクルステージを変更するとき
  • フォローアップタスクを作成するとき
本文(日本語訳)

通話ログ記録

以下のツール名 はHubSpot MCP コネクターの標準的な名前です。利用可能なツールが変わる可能性があるため、ツールが見つからない場合はスキルの更新やHubSpot ツールセット内の代替案をご確認ください

フェーズ1 — メッセージの内容抽出

ユーザーの入力から以下を抽出します:

  • 相手の名前またはメールアドレス
  • 概要 — どのような内容を話したか
  • 結果 — 決定事項や成果
  • 次のアクション — 具体的なフォローアップ予定
  • 取引進捗のシグナル — ステージの変更、期限の変更、優先度の変更、取引金額の変更
  • 相手の状態シグナル — 実際に連絡が取れたか、相手は関心を示したか、タイミングは悪かったか

相手の名前が不明な場合は、「誰との通話でしたか?」と確認します。


フェーズ2 — 相手と取引案件を検索

以下を同時に実行します:

  • get_organization_details を実行 → portalId、uiDomain を保存
  • search_crm_objects で連絡先を検索、クエリは名前またはメール、取得項目は firstname、lastname、email、jobtitle、associatedcompanyid、hs_lead_status、lifecyclestage

複数の連絡先がマッチした場合は、絞込みリスト(名前、役職、企業名)を表示して確認待ち。

その後、associations.contact = contactId でフィルタリングした取引案件を検索、取得項目は dealname、dealstage、pipeline、amount、closedate、hs_next_step、hs_priority。dealId、currentStage、dealPipeline、dealName、currentNextStep を保存します。


フェーズ3 — 更新計画の作成

会話内容に基づいて、メモ・取引案件・連絡先にまたがる更新案を提示します。

ステージ判定 — 進捗シグナルが検出された場合、計画作成前に解決します。これは安全第一です。解決に失敗した場合はステージ変更を見送り、ユーザーに確認します。

  • 取引案件に pipeline 値がない場合、ステージ変更を見送り「このステージ変更に対応するパイプラインが特定できませんでした。どのステージに移しますか?」と確認します。
  • get_properties を呼び出す:objectType は deals、propertyNames は ["dealstage", "pipeline"]。呼び出しが失敗するか結果がない場合、ステージ変更を見送り先に進みません。
  • dealstage オプションを dealPipeline に属するものだけに絞ります。マッチするステージがない場合、ステージ変更を見送り確認します。
  • マッチするステージを displayOrder でソートし、ユーザーの言葉と実際のステージラベルを照合します。
  • ステージラベルが明確に合致しない、または複数の可能性がある場合は、ステージ変更を見送り確認します。推測は決してしません。
  • 唯一の一致が見つかった場合のみ、proposedStageLabel(確認画面用)と proposedStageValue(フェーズ5のAPI値)を保存します。

確認画面を1つだけ表示します。確認されるまで更新しません。

[名前] との通話をログ記録するご準備はいいですか:

📝 メモ: [2~3文の要約(結果と次のアクションを含む)]

取引案件「[取引名]」:
  ステージ: [現在] → [新しいステージ]      (話に出た場合)
  次ステップ: 「合意内容」                 (取引案件がある場合は常に)
  終了予定日: [現在] → [新しい日付]       (期限について話した場合)
  優先度:    [低 / 中 / 高]               (緊急性が明確な場合)
  取引金額:  [現在] → [新しい金額]        (金額について話した場合)

相手「[名前]」:
  リード状態: [現在] → [新しい状態]       (例:接触済み、タイミング悪し)
  ライフサイクル: [現在] → [新段階]       (営業案件化した場合)

タスク:「[名前] にフォローアップ — 次のアクション」期限 [日付] · 種類: 通話 · 優先度: [中/高]

ログに記録しますか?

該当しない項目は省略します。取引案件がない場合は取引案件セクションを省略します。タスク行は常に含めます。


フェーズ4 — メモの作成

manage_crm_objects notes、createRequest:

  • hs_note_body:📞 通話ログ記録 — [本日の日付]\n\n[要約]\n\n[結果]\n[次のアクション]
  • hs_timestamp:現在時刻(ISO 8601形式)
  • associations: contact → contactId、deal → dealId(存在する場合)

フェーズ5 — 取引案件と連絡先フィールドの更新

フェーズ5(取引案件)とフェーズ6(連絡先)を同時に実行します。これらは独立した書き込みです。

取引案件が存在する場合、manage_crm_objects deals、updateRequest、objectId: dealId で更新します。すべてのフィールド変更を1回の呼び出しで実行します。

更新対象フィールド(変更があったもののみ):

シグナル フィールド 値
ステージの移動 dealstage フェーズ3で解決した proposedStageValue — フェーズ3で解決値が得られなかった場合は完全に省略
次ステップの合意 hs_next_step 自由入力 — 次のアクションが話に出た場合は常に記入
期限の変更 closedate ISO 8601形式の日付
優先度シグナル hs_priority low · medium · high
取引金額の変更 amount 数値

ステージの判定が曖昧な場合は、更新前に確認してください。推測は決してしません。


フェーズ6 — 連絡先フィールドの更新

相手の状態シグナルがある場合、manage_crm_objects contacts、updateRequest、objectId: contactId で更新します。

シグナル フィールド 値
実際に連絡が取れて会話できた hs_lead_status CONNECTED
積極的に進行中 hs_lead_status IN_PROGRESS
留守番電話 / 応答なし hs_lead_status ATTEMPTED_TO_CONTACT
後でかけ直してほしいと言われた hs_lead_status BAD_TIMING
適さないと判断 hs_lead_status UNQUALIFIED
進行中の取引案件がある hs_lead_status OPEN_DEAL
営業案件としての資格がある lifecyclestage opportunity
購買の可能性が高い lifecyclestage salesqualifiedlead

シグナルが明確な場合のみ更新します。曖昧な場合はスキップします。


フェーズ7 — フォローアップタスクの作成

常にタスクを作成します。次のアクションが話に出た場合は先読み入力、デフォルトは「[名前] にフォローアップ」で7日後。

manage_crm_objects tasks、createRequest:

  • hs_task_subject:「[名前] にフォローアップ — [話に出た次のアクション]」
  • hs_task_type:CALL
  • hs_task_status:NOT_STARTED
  • hs_task_priority:MEDIUM(取引案件がまもなく終了予定、または緊急の場合は HIGH)
  • hs_timestamp:[期限 ISO形式]
  • hs_task_body:[通話の簡単な背景情報]
  • associations: contact → contactId、deal → dealId(存在する場合)

フェーズ8 — 確認

ログ記録完了。
  ✓ メモを [名前] に保存
  ✓ 取引案件「[名前]」— [更新したフィールドのリスト]
  ✓ 相手の状態 → [更新した新しい状態]
  ✓ タスク作成 — 期限 [日付]

相手を表示: https://[uiDomain]/contacts/[portalId]/contact/[contactId]

エラーハンドリング

  • 相手が見つからない: 確認を求めます。確認されるまで何も記録しません。
  • 複数マッチ: 絞込みリストを表示して待ちます。
  • 取引案件が見つからない: メモとタスクだけログ記録します。取引案件更新フェーズはスキップ。
  • ステージ判定が曖昧: 更新前に確認してください。推測は決してしません。
  • メモ保存が失敗: 作成したメモをチャットに表示して、情報が失われないようにします。
  • 部分的に失敗: 成功した更新と失敗した更新を報告します。失敗した項目の再試行を提案。
原文(English)を表示

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):

Signal Field Value
Stage movement dealstage proposedStageValue resolved in Phase 3 — omit entirely if Phase 3 did not produce a resolved value
Next step agreed hs_next_step Free text — always write if a next step was mentioned
Timeline revised closedate ISO 8601 date
Priority signal hs_priority low · medium · high
Deal size discussed amount Number

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.

Signal Field Value
Reached them, had a real conversation hs_lead_status CONNECTED
Actively progressing hs_lead_status IN_PROGRESS
Voicemail / no answer hs_lead_status ATTEMPTED_TO_CONTACT
They said call back later hs_lead_status BAD_TIMING
Not a fit hs_lead_status UNQUALIFIED
Now has an open deal hs_lead_status OPEN_DEAL
Qualifies as a sales opportunity lifecyclestage opportunity
Decision to buy likely lifecyclestage salesqualifiedlead

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.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。