Search Reports

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

Runs a saved report in the Carta CRM and renders its rows as a table, using the columns the report saved. Use this skill when the user says things like "run my report", "run the [name] report", "show me the [name] report", "open the [name] report", "what reports do we have", "list reports", or "/search-reports".

Instructions only
<!-- carta:plugin-version -->

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

Overview

A saved report is a stored filter plus a stored column set over one entity: deals, contacts, companies, investors, fundraisings or fees. Running one renders its rows as a table, using the columns the report saved.

Reports are not searched by keyword. They are listed, chosen, then run — so Step 1 always precedes Step 2.

For an aggregated breakdown of deal flow by sector, source or owner rather than the rows themselves, use the deal-flow-analytics skill instead.

Step 1 — Find the report

Read the list through crm_call_tool, never crm_view_tool. list_reports has no view of its own, and this step is for you rather than the user: you need each report's id and entityType to run it.

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

Pass entityType to narrow the list when the user named one — "deal", "contact", "company", "investor", "fundraising" or "fees":

crm_call_tool({ "name": "crm:list_reports", "arguments": { entityType: "deal" } })

Then branch on what came back:

  • One clear match on name → Step 2.
  • Several plausible matches → do NOT guess. Name them and ask which one. Running the wrong report answers a question nobody asked, and looks authoritative doing it.
  • No match → say so, and say what the reports are actually called. Never invent a report or a report id.
  • The user only asked what reports exist → answer from this list and stop. There is nothing to render.

Step 2 — Run the report

Use the id and the entityType from the entry you matched in Step 1. Both are on that entry; never guess either.

crm_view_tool({  "name": "crm:get_report_data",  "arguments": {    reportId: "<id from list_reports>",    entityType: "<entityType from the same entry>",    limit: 50  }})

The report's own saved columns drive the table. Do not pass a column list, and do not ask the user which columns they want — the report already answers that.

Use offset to paginate, and raise limit when the user asks to see more rows.

If the view is unavailable

CRM views are enabled per organisation. So the crm_view_tool call above may answer with:

CRM tool 'get_report_data' has no view — call it with crm_call_tool instead.

That is a normal response, not a failure — this organisation does not have the view enabled. Retry that one call verbatim through crm_call_tool and present the rows as text per Step 3. Do not retry crm_view_tool, and do not report the message to the user.

Step 3 — Present results

When the table rendered, the user already sees every row. Do NOT re-list, re-format, or summarise the rows as text — that duplicates the answer beside the table. Say what they asked, or acknowledge in one line, e.g. "Ran Stage A deals: 18 rows match."

count is the total the report matches, which can be larger than the rows on this page. When it is, say so in that one line rather than implying the page is the whole report.

When you fell back to crm_call_tool, present the rows as a readable text table and keep the report's column order.

If the report matched nothing:

"That report matched no records. Its filters may be narrower than you expect."

Source and attribution

Source:carta/pluginsinplugins/carta-crm/skills/search-reportsat 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