Search Deals

by carta6ab81016389cNo license14 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

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

Instructions onlyBusiness & Finance
AI-generated overview

Searches and retrieves deal records from the Carta CRM by ID, company, stage, or filters.

What it does
This skill guides an agent through querying the Carta CRM for deal records. It first looks up deal field definitions, then fetches a deal by ID or searches deals using filters, stages, or free-text queries. Results are returned as an interactive table when a CRM view is available, or as a text summary otherwise, including deal ID, company, stage, pipeline, tags, and custom fields.
When to use it
Use it when a user wants to find, look up, list, or search deals in the Carta CRM, including by company name, pipeline stage, or deal ID. It is also used to obtain a deal ID for later updates through the update-deal skill.
Requirements
Requires access to the Carta CRM MCP tools crm_view_tool and crm_call_tool, with the crm:get_deal_fields, crm:fetch_deal_by_deal_id, and crm:search_deals operations. No scripts are included; it is instructions only.
<!-- carta:plugin-version -->

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

Overview

Search for deals in the Carta CRM. If the user provided an ID, fetch that deal directly. Otherwise use search_deals with filters. Always surface the deal ID so the user can reference it for updates.

Important: Call get_deal_fields before every search_deals call to discover valid field IDs for filters. Do not skip this step.

Step 1 — Fetch deal fields

Always call this before searching. It is a schema lookup with no view of its own, so it goes through crm_call_tool:

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

Read the field IDs, types, and descriptions carefully. Map the user's intent to the most specific matching field(s) and use those in the filters parameter.

Step 2 — Determine search mode

  • By ID — user provided a deal ID → call fetch_deal_by_deal_id
  • By filters / keyword — user provided a company name, stage, or criteria → call search_deals

Step 3 — Execute the search

Use crm_view_tool so the result renders as an interactive table the user can sort and click through. It takes exactly the same name and arguments as crm_call_tool.

By ID:

crm_view_tool({ "name": "crm:fetch_deal_by_deal_id", "arguments": { id: "<deal id>" } })

By filters:

crm_view_tool({  "name": "crm:search_deals",  "arguments": {    query: "<free-text search — last resort only>",    stages: ["<stage id>"],    filters: [      { field_id: "<field id>", operator: "eq", value: "<value>" }    ],    limit: 50  }})

Prefer filters over query whenever a specific field matches the user's intent. Available operators: eq, neq, gt, gte, lt, lte, contains, in, between. Use stages to filter by pipeline stage (funnel, tracking, due-diligence, execution, dead, completed).

Increase limit or use offset to paginate if remainingCount > 0.

If the view is unavailable

CRM views are enabled per organisation, so either call above may answer with:

CRM tool 'search_deals' 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.

Step 4 — Present results

When the view rendered, the user already sees every deal on screen. Do NOT re-list, re-format, or summarise the rows as text — that duplicates the table. Answer the question they actually asked, or acknowledge in one line (e.g. "8 deals in due diligence — the ID is in the first column, for /update-deal.").

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

fetch_deal_by_deal_id returns full detail including all notes and linked people. The view renders those, so only call them out in text if the user asked about them.

If no deals are found:

"No deals found matching your search. Try a different company name or adjust the filters."

Note the total count and offer to paginate if remainingCount > 0.

Source and attribution

Source:carta/pluginsinplugins/carta-crm/skills/search-dealsat commit6ab8101

License: No license

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

Report or request removal

More from 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).

Awaiting classification14updated today

Carta Explore Data

carta

Answers Carta Web / Fund Admin investor data questions by querying the Carta data warehouse and formatting results.

Data & Analytics14updated today

Carta Download Tearsheet

carta

Downloads Carta tear sheets for portfolio companies and funds via the Carta MCP server.

Documents & Office14updated today

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.

Awaiting classification14updated today

Update Investor

carta

Partially updates an existing investor record in the Carta CRM by ID or name.

Business & Finance14updated today

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.

Awaiting classification14updated today