Skip to main content
Glama
rooquiz

RooQuiz

list_leads

Read-only

List CRM leads, one per respondent across forms, showing follow-up status, assignee, tags, submissions, and next booking. Filter by status, assignee, tags, date, keyword, or upcoming booking.

Instructions

List the leads (CRM records) of the current team — one lead per respondent across all forms, carrying follow-up status, assignee, colour tags, submission count and the next upcoming booking. Newest activity first by default. Filter by status / assignee / tags / created-at range / keyword / whether they have an upcoming booking. Status codes and tag codes are team-defined — call list_lead_settings first to get the valid ones, never guess. Reference a lead by its leadId and a respondent by examineeId, never by a masked email.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based), default 1
sortNoSort order, default -lastRecordAt (most recent submission first)
limitNoItems per page, default 20, max 100
statusNoFilter by follow-up status code (see list_lead_settings), optional
keywordNoFuzzy match on the respondent's name or email. Matching runs server-side against the real values, so you can search by a full or partial email even though results come back masked.
tagCodesNoFilter by colour tag codes; a lead matches if it has ANY of them (OR). Optional.
createdToNoOnly leads created strictly before this ISO datetime (half-open), optional
assigneeIdNoFilter by the assigned member userId (see list_lead_settings.assignableMembers). Pass "me" for the current token's own user. Optional.
createdFromNoOnly leads created on/after this ISO datetime, optional
hasUpcomingBookingNotrue = only leads with an active upcoming booking, false = only those without. Omit to not filter. Note: this filters within the page, so counts stay on the unfiltered basis.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page returned
itemsNoThe page of leads, PII masked
totalDocsNoTotal leads matching the filter
totalPagesNoTotal pages available
hasNextPageNoWhether another page follows

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, and the description does not contradict this. It adds valuable behavioral context: 'Newest activity first by default', 'Filter by status / assignee / tags / created-at range / keyword / whether they have an upcoming booking', and critical notes about server-side matching with masked emails and the half-open pagination/filtering behavior for hasUpcomingBooking. These details go beyond the schema and annotations, ensuring the agent knows exactly how filtering and data masking behave.

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

Conciseness4/5

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

The description is well-structured: it opens with the primary function, then describes typical return contents and default sorting, followed by filtering options and important usage caveats. It is moderately concise, with every sentence adding value (e.g., the note about never guessing codes and the leadId/examineeId distinction). Some redundancy exists (filter list partially repeats schema), but overall it is efficient and front-loaded.

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?

Given the tool has 10 parameters and an output schema exists, the description does not need to explain return values. It covers the key operational aspects: scope, default sort, filtering options, and essential preconditions (calling list_lead_settings). It also discloses the hasUpcomingBooking filtering nuance. Minor gaps include no mention of pagination behavior beyond the schema (though page/limit are self-explanatory in the schema) and no explicit note on performance/limits, but these are adequately addressed by the schema and annotations.

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

Parameters3/5

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

The schema description coverage is 100%, so the baseline is 3. While the description reinforces some param semantics (e.g., the need to use codes from list_lead_settings for status and tagCodes, and that keyword matches the real email server-side despite masking), it does not add significant meaning beyond what the schema already provides. The schema descriptions themselves are detailed, and the tool description offers only marginal additional parameter insight.

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 clearly states the tool lists CRM leads for the current team, describes the fields returned (follow-up status, assignee, colour tags, submission count, next booking), and specifies default ordering. This differentiates it from siblings like list_records and get_lead, which have different purposes. The verb 'list' is specific and the resource is defined without ambiguity.

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

Usage Guidelines4/5

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

The description provides actionable guidance: call list_lead_settings to obtain valid status/tag codes and never guess, reference leads by leadId and respondents by examineeId. It also clarifies the scope ('of the current team' and 'across all forms'). While it does not explicitly mention alternative tools or when not to use this tool, the context is clear enough for an agent to decide when to invoke it.

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

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/rooquiz/rooquiz-mcp'

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