Skip to main content
Glama

get_survey_results

Read-only

Read what customers ANSWERED in this workspace's surveys. A survey is any flow marked isSurvey: its choice questions record which option each contact tapped, and its free-text questions store the reply the contact typed. Called with NO flowId it lists every survey flow with how many people it reached, how many answered, the response rate and how many wrote a free-text answer. Called with a flowId it returns that survey per question: every option with its share of the people who answered it, and the written answers in the customers' own words. These are stated reasons, not inferred ones — the strongest evidence available for what to change, and far stronger than a dropoff rate, which only shows where people stopped and never why. Counts are DISTINCT contacts. Read-only, computed on demand over the last 30 days unless you pass days.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoHow many days back to count answers, between 1 and 90. Defaults to 30.
flowIdNoSurvey flow id, from the listing this tool returns without arguments. Omit to list every survey of the workspace. An id that is not a survey flow of this workspace fails with MCP_SURVEY_FLOW_NOT_FOUND.
splitGoalKeyNoOptional goal key: each choice option is additionally split into the contacts that ever reached this goal and those that never did, which shows whether an answer predicts conversion.
applicationIdNoApplication (workspace) id. Optional: an application-scoped key (app_...) defaults to its own application, but a personal key (usr_...) has no default and omitting it fails with MCP_APPLICATION_REQUIRED. Call list_applications to get the id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark readOnlyHint=true; the description adds meaningful behavioral details beyond that: 'computed on demand over the last 30 days', 'Counts are DISTINCT contacts', and the explicit 'Read-only' statement. It also notes failure conditions indirectly via schema parameter descriptions, though not repeated in the description. This is richer than minimal and earns a 4.

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 lengthy but every sentence contributes: it states purpose, explains the survey concept, describes both invocation modes, and justifies the tool's advantage over dropoff analytics. The structure is front-loaded with a clear purpose, though the 'stronger than dropoff' sentence could be trimmed without losing essential guidance.

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?

There is no output schema, so the description must cover return expectations. It does so for both modes (summary counts for listing, per-question shares and text answers for detail) and notes the time-window default. The splitGoalKey parameter is only documented in the schema, not the description, but that's covered well enough by the schema. Overall, the description is adequate for correct invocation without being exhaustive.

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

Parameters4/5

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

Input schema coverage is 100% with good parameter descriptions. The tool description adds extra semantic value by explaining the two calling modes for flowId (listing vs. detail) and the default time window for days, which is not fully captured in the schema alone. This exceeds the baseline of 3.

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 specific verb and resource ('Read what customers ANSWERED in this workspace's surveys') and clearly distinguishes two modes: listing all surveys vs. retrieving per-question results for one flow. It also contrasts itself with dropoff analytics, stating this tool provides stronger, stated reasons, which differentiates it from analytics siblings.

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 explicitly explains when to call without flowId (to list surveys) and when to pass flowId (to get per-question results), and it argues why this tool is preferable to dropoff rates. It stops short of naming a specific sibling tool or listing exclusions, so it's not a full 5, but it provides clear contextual guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.