Search Companies

作者 carta6ab81016389c無授權條款14 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫今天更新

Searches for and retrieves company records from the Carta CRM. Use this skill when the user says things like "find a company", "search companies", "look up a company", "show me company details for [name]", "full details on [name]", "tell me about [name]", "get company by ID", "get company by domain", "list companies", "what companies do we have", or "/search-companies". Returns company details including ID, name, and custom fields. The company ID returned can be used with the update-company skill.

僅含說明Business & Finance
AI 產生的概覽

依名稱、網域或篩選條件在 Carta CRM 中查找公司記錄,回傳卡片、表格或文字摘要。

功能
在 Carta CRM 中搜尋公司記錄,並取得 ID、名稱與自訂欄位等詳細資料。它會區分單一公司的詳細要求與清單要求:先透過呼叫工具解析名稱,再呈現卡片;若是集合則呈現表格。當 CRM 檢視無法使用時,它會改以文字輸出,並突顯公司 ID,以便搭配 update-company 技能使用。
適用情境
當使用者想要尋找公司、依名稱或網域查詢公司、列出符合篩選條件的公司,或取得某家公司的完整詳細資料時使用。它也是取得 update-company 技能所需公司 ID 的進入點。
執行需求
需要 Carta CRM 的 MCP 工具 crm_view_tool 與 crm_call_tool,以及對 Carta CRM 組織的存取權。它不附帶指令碼,僅為指示。
<!-- carta:plugin-version -->

<carta-plugin>carta-crm:1.14.2</carta-plugin>

Overview

Look up companies in the Carta CRM. A request about one named company renders that company's card; a request for a set renders a table. Route on that distinction first — it decides every call below.

Step 1 — Determine intent: one company, or a set?

  • Detail — the user named one company and wants the record: "full details on Preqin", "tell me about Acme", "more on Stripe", "who is Preqin". → Step 2.
  • List — the user wants a set, or filtered or plural results: "companies I'm tracking", "companies in fintech", "what companies do we have". → Step 3.
  • By domain — the user gave a website domain (e.g. "stripe.com") → Step 2, skipping the resolve; fetch_company_by_domain already identifies one record.

A named single company 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.

Step 2 — Detail: resolve the name, then render the card

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_companies",  "arguments": { query: "<company name>", limit: 10 }})

Then branch on how many candidates came back:

  • Exactly one match → render its card and stop:
    crm_view_tool({ "name": "crm:fetch_company_by_id", "arguments": { id: "<id>" } })
  • Several matches → do NOT guess. Render the candidates as a view and ask which one:
    crm_view_tool({  "name": "crm:search_companies",  "arguments": { query: "<company name>", limit: 10 }})
    Then ask: "Several companies match — which one did you mean?" When they pick, call fetch_company_by_id for it. Opening the top hit unasked shows the wrong record with full confidence.
  • No match → say so; do not render an empty view.

By domain, there is nothing to resolve — one call, one card:

crm_view_tool({ "name": "crm:fetch_company_by_domain", "arguments": { domain: "<domain>" } })

Render at most one card per request. If the user named several companies, ask which to open rather than stacking views.

Step 3 — List: search and render the table

When the user's filters map to specific fields, discover the valid field_ids first. This is a schema lookup, so it goes through crm_call_tool:

crm_call_tool({ "name": "crm:get_company_fields", "arguments": {} })

Map the user's intent to the most specific matching fields and pass them as filters ({ field_id, operator, value }). Fall back to the free-text query only when no field matches. Never guess a field_id — they vary per organisation.

crm_view_tool({  "name": "crm:search_companies",  "arguments": {    query: "<search term>",    limit: 20  }})

Increase limit if the user asks to see more results. Use offset to paginate.

If the view is unavailable

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_companies' 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.

Step 4 — Present results

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. "Found 14 companies — the ID is in the first column, for /update-company.").

When you fell back to crm_call_tool, display all non-empty fields in a readable summary and show the ID prominently — the user will need it to run /update-company.

If no companies are found:

"No companies found matching your search. Try a different name, keyword, or domain."

來源與署名

來源:carta/plugins位於plugins/carta-crm/skills/search-companies提交6ab8101

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架

更多來自 carta/plugins 的技能

Carta Fund Admin Requests

carta

Send work to your Carta Fund Admin team and track it. Opens a request the team reads, acts on, and replies to — the off-ramp for anything no other Carta skill or command can do. TRIGGER: "ask Carta to", "have Carta do", "send this to my fund admin", "ask my fund admin team", "can Carta do this for me", "check on my request", "did Carta reply", "what requests do I have open", "reply to Carta", "follow up on my request", plus ANY action request (create/change/send/restate/reconcile/split/fix) that no other skill or Carta command covers. NOT FOR: reporting a bug or feature request about this plugin (call fa:create:feedback directly); questions answerable from Carta data (use carta-explore-data); capital call reminders to LPs (that is a Carta command, not a Fund Admin request).

待分類14今天更新

Carta Explore Data

carta

透過查詢 Carta 資料倉儲並格式化結果,回答 Carta Web / Fund Admin 投資人資料問題。

Data & Analytics14今天更新

Carta Download Tearsheet

carta

透過 Carta MCP 伺服器下載投資組合公司與基金的 Carta 撕頁(tear sheet)。

Documents & Office14今天更新

Update Note

carta

Searches for notes in the Carta CRM and helps the user update deal comments. Use this skill when the user says things like "update a note", "edit note", "update note content", "change a note", or "/update-note". Note: standalone note editing is not available via MCP — notes/comments are attached to deals and updated via the update-deal skill.

待分類14今天更新

Update Investor

carta

依 ID 或名稱部分更新 Carta CRM 中既有的投資人紀錄。

Business & Finance14今天更新

Update Fundraising

carta

Updates an existing fundraising record in the Carta CRM. Use this skill when the user says things like "update a fundraising", "edit fundraising", "update fundraising details", "change fundraising stage", "update fundraising fields", or "/update-fundraising". Accepts a fundraising ID or name (will search if no ID provided). Only the fields explicitly provided are changed — all other fields are left untouched.

待分類14今天更新