Skip to main content
Glama

pipeline_review

Analyze CRM pipeline health in one call: totals, expected revenue, stalled deals, win rate, and a verdict on track, at risk, or off track.

Instructions

Report the health of the CRM pipeline, in one call.

Composes open crm.lead opportunities into totals (count, expected and probability-weighted revenue), stalled deals (no stage change in stalled_days), close-date buckets, per-stage / per-salesperson breakdowns, the recent win rate, and a rule-based verdict.

Args: salesperson: Optional filter on user_id.name (ilike). team: Optional filter on team_id.name (ilike). stalled_days: Days without a stage change before a deal counts as stalled (default 14). lookahead_days: Days ahead that count as "closing soon" (default 30). win_rate_days: Look-back window for the won/lost ratio (default 90). top_n: Max stalled deals listed in the breakdown (default 5). timezone_offset: UTC offset for "today" (default 7 = Asia/Ho_Chi_Minh). company: Optional company name (ilike) or id; scopes every count and total to that company. stalled_pct_at_risk: Stalled share (%) at which the verdict drops to at_risk (default 25). stalled_pct_off_track: Stalled share (%) at which the verdict drops to off_track (default 50).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamNo
top_nNo
companyNo
salespersonNo
stalled_daysNo
win_rate_daysNo
lookahead_daysNo
timezone_offsetNo
stalled_pct_at_riskNo
stalled_pct_off_trackNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does this well by detailing what the tool computes: open opportunities are composed into totals, stalled deals are defined by 'no stage change in stalled_days', and a rule-based verdict is generated with configurable thresholds. It stops short of explicitly stating read-only behavior or error handling, but the term 'Report' and the output-oriented language make the non-mutating nature clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-sentence summary, followed by a compact list of computed metrics and then the Args list. Every sentence contributes necessary information, with no fluff or repetition. The structured layout makes it easy to scan while remaining concise given the large number of parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, all computed metrics, parameter meanings, and the logic behind the verdict thresholds. An output schema exists, so return-value details are not needed. The only gap is the absence of explicit usage scenarios or alternative tool comparisons, but overall this is a complete and self-contained description for a complex reporting tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only names and defaults, but the description includes an Args section with plain-language explanations for all 10 parameters. For example, 'stalled_days: Days without a stage change before a deal counts as stalled' and 'timezone_offset: UTC offset for today' add meaning far beyond the schema. This fully compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear and specific statement: 'Report the health of the CRM pipeline, in one call.' It then enumerates the exact metrics and breakdowns computed (totals, stalled deals, close-date buckets, per-stage/per-salesperson breakdowns, win rate, verdict), making the tool's scope unmistakable. This distinguishes it from sibling tools that focus on raw record access or single-aspect reports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'in one call' implies the tool is intended for a consolidated health snapshot, and the detailed metric list suggests when to use it. However, it does not explicitly contrast with sibling tools (e.g., sales_snapshot, team_workload) or state when not to use it. Thus, usage guidance is implied but not made explicit with alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/minhhq-a1/odoo-pulse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server