Carta CRM から資金調達の記録を検索して取得します。 **次のような場合に使用:** ユーザーが「資金調達を検索して」「資金調達ラウンドを調べて」「〇〇の資金調達詳細を見せて」「ID で資金調達を取得して」「資金調達一覧を表示して」「うちにはどんな資金調達がある?」などと言った場合、または「/search-fundraisings」コマンドが実行された場合 **返される情報:** ID、名前、段階、カスタム項目など、資金調達の詳細情報を返します。取得した資金調達 ID は、資金調達更新スキル(update-fundraising skill)で使用できます。
Searches for and retrieves fundraising records from the Carta CRM. Use this skill when the user says things like "find a fundraising", "search fundraisings", "look up a fundraising round", "show fundraising details for [name]", "full details on [name]", "get fundraising by ID", "list fundraisings", "what fundraisings do we have", or "/search-fundraisings". Returns fundraising details including ID, name, stage, and custom fields. The fundraising ID returned can be used with the update-fundraising skill.
<!-- carta:plugin-version --> <carta-plugin>carta-crm:1.14.2</carta-plugin>
Carta CRMで資金調達ラウンド(企業が投資家から資金を募る各段階)の情報を検索できます。 特定のラウンド1つについての質問なら、そのラウンドのカード表示になります。複数ラウンドや条件に合ったセットを求めなら、表形式で表示されます。 この区別を最初に判断してください — 以下のすべての処理はこれで決まります。
ユーザーが「検索」「探す」と言っても、実は特定ラウンド1つを指したなら、それは詳細表示です。 本当に不明瞭なら、一覧として扱い「何に絞りたいのか教えてください」と聞いてください。
必ず crm_call_tool を使い、crm_view_tool は使いません。 このステップはあなた用で、ユーザー用ではありません。ビュー呼び出しは応答内の配列をすべて数値に圧縮するため、個々の行データと必要なIDがあなたに届かず、ユーザーは求めていなかった一覧を見ることになります。
crm_call_tool({
"name": "crm:search_fundraising",
"arguments": { query: "<ラウンド名>", limit: 10 }
})
返ってきた候補の件数で分岐します:
crm_view_tool({ "name": "crm:get_fundraising", "arguments": { id: "<id>" } })
crm_view_tool({
"name": "crm:search_fundraising",
"arguments": { query: "<ラウンド名>", limit: 10 }
})
そして「複数のラウンドがマッチしました — どれを意図していましたか?」と聞く。ユーザーが選んだら、そのIDで get_fundraising を呼び出します。1つの会社が複数ラウンドを持つことはよくあるので、確認なしにトップの候補を開くと、間違ったラウンドを完全な情報として見せてしまいます。ユーザーがIDを直接示した場合は、解決すべきものはありません — 1回の呼び出しで1つのカードになります。
1回のリクエストにつき、最大1つのカードを表示してください。ユーザーが複数ラウンドを名前で指したなら、複数のビューを重ねるのでなく「どれを開きますか」と聞いてください。
crm_view_tool({
"name": "crm:search_fundraising",
"arguments": {
query: "<検索語>",
limit: 20
}
})
ユーザーがラウンドステージ(資金調達の進捗段階)で条件を絞った場合は、ステージ名をステージIDに解決してから stages: ["<stage id>"] に渡します。このルックアップには専用のビューがないため、crm_call_tool を通します:
crm_call_tool({ "name": "crm:get_fundraising_stages", "arguments": {} })
ユーザーがより多くの結果を見たいと言ったら、limit を増やします。ページング(複数ページの切り替え)には offset を使用します。
CRMビューは組織ごとに有効化でき、単一レコードのビューはさらにその上の第2のフラグで制御されます。上記の crm_view_tool 呼び出しは次の応答を返すかもしれません:
CRM tool 'search_fundraising' has no view — call it with crm_call_tool instead. (CRMツール「search_fundraising」にはビューがありません — 代わりに crm_call_tool で呼び出してください。)
これは失敗ではなく通常の応答です — この組織ではそのビューが有効になっていません。その1回の呼び出しを crm_call_tool で全く同じ形で再実行し、ステップ4に従って結果をテキストで提示してください。crm_view_tool を再実行せず、このメッセージをユーザーに報告しません。
詳細表示リクエストでカードのビューが無い場合も、同じように解決します:ステップ2の crm_call_tool による解決を保持し、選ばれたレコードをテキストで提示してください。
カードが表示された場合、ユーザーはレコード全体を見ています。フィールドを繰り返し説明せず、ユーザーが聞いたことに答えるか、1行で応答してください。
表が表示された場合、ユーザーはすべての行を既に見ています。テキストで再列挙・再整形・要約しないでください — 表の重複になります。実際にユーザーが聞いている質問に答えるか、1行で応答してください。例:「6つのラウンドがマッチしました — IDは最初の列にあり、/update-fundraising 用です。」
crm_call_tool にフォールバックした場合、空でないフィールドをすべて読みやすい概要として表示し、IDは目立たせて表示してください — ユーザーが /update-fundraising を実行するのに必要です。
ラウンドが見つからない場合:
「検索に合ったラウンドが見つかりません。別の名前やキーワードを試してください。」
<!-- carta:plugin-version --> <carta-plugin>carta-crm:1.14.5</carta-plugin>
Look up fundraisings in the Carta CRM. A request about one named round renders that round's card; a request for a set renders a table. Route on that distinction first — it decides every call below.
A named single round is a detail request even when the user says "search" or "find". If it's genuinely unclear, treat it as a list and ask what they want to narrow to.
Resolve through crm_call_tool, never crm_view_tool. This step is for you, not the
user: a view call collapses every array in the response to a count, so the rows — and the
id you need — never reach you, and the user gets a list they did not ask for.
crm_call_tool({
"name": "crm:search_fundraising",
"arguments": { query: "<round name>", limit: 10 }
})
Then branch on how many candidates came back:
crm_view_tool({ "name": "crm:get_fundraising", "arguments": { id: "<id>" } })
crm_view_tool({
"name": "crm:search_fundraising",
"arguments": { query: "<round name>", limit: 10 }
})
Then ask: "Several fundraisings match — which one did you mean?" When they pick, call
get_fundraising for it. One company often has several rounds, so opening the top hit
unasked shows the wrong round with full confidence.When the user gives an ID outright, there is nothing to resolve — one call, one card.
Render at most one card per request. If the user named several rounds, ask which to open rather than stacking views.
crm_view_tool({
"name": "crm:search_fundraising",
"arguments": {
query: "<search term>",
limit: 20
}
})
If the user filtered by stage name, resolve the name to a stage ID first, then pass
stages: ["<stage id>"]. This lookup has no view of its own, so it goes through
crm_call_tool:
crm_call_tool({ "name": "crm:get_fundraising_stages", "arguments": {} })
Increase limit if the user asks to see more results. Use offset to paginate.
CRM views are enabled per organisation, and single-record views behind a second flag on
top of that. So any crm_view_tool call above may answer with:
CRM tool 'search_fundraising' has no view — call it with crm_call_tool instead.
That is a normal response, not a failure — this organisation does not have that view
enabled. Retry that one call verbatim through crm_call_tool and present the result as
text per Step 4. Do not retry crm_view_tool, and do not report the message to the
user.
A detail request whose card has no view still resolves the same way: keep the
crm_call_tool resolve from Step 2 and present the chosen record as text.
When a card rendered, the user sees the whole record. Do not restate its fields. Answer what they asked, or acknowledge in one line.
When a table rendered, the user already sees every row. Do NOT re-list, re-format, or
summarise them as text — that duplicates the table. Answer the question they actually
asked, or acknowledge in one line (e.g. "6 fundraisings match — the ID is in the first
column, for /update-fundraising.").
When you fell back to crm_call_tool, display all non-empty fields in a readable
summary and show the ID prominently — the user needs it to run /update-fundraising.
If no fundraisings are found:
"No fundraisings found matching your search. Try a different name or keyword."
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。