Skip to main content
Glama

AI SENSE Free Public Tools

Request human approval

create_human_approval

Put a decision in front of one to twenty people. Use one respondent for a normal approval, or several when every invited person should answer through a separate bearer form link. Group results contain counts, a tally and anonymous numbered responses. Optional notify_url receives one small signal after the final answer. It does not contain the answers. Forms expire after 24 hours. No API key, account or login is required.

Input Schema

NameRequiredDescriptionDefault
titleYesRequired. The question shown to the person, in their language. Make it answerable on its own, since they see no conversation history.
optionsNoOptional. The buttons offered, 2 to 10 of them. Defaults to Approve and Reject. Use your own labels when the choice is not a yes or no, for example Ship today, Ship Monday, Cancel.
allow_noteNoOptional. Whether the person may add a free text comment alongside their choice. Defaults to true.
notify_urlNoOptional public HTTP or HTTPS callback with a host name, not an IP address, after the final answer.
descriptionNoOptional supporting detail below the question: what changes, what it costs, what happens if they decline.
respondentsNoNumber of separate form links. Each link can answer once.

Output Schema

NameRequiredDescriptionDefault
okYes
tallyNo
statusYes
answeredNo
form_urlNo
wait_urlYes
action_idYes
form_urlsNo
responsesNo
result_urlYes
respondentsNo
expire_datetimeYes
expire_timestampYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / notify_url / description
      Previous value: -"Optional public HTTP or HTTPS callback after the final answer."New value: +"Optional public HTTP or HTTPS callback with a host name, not an IP address, after the final answer."
  2. Changed12 schema fields changed
    • addedInput schema / properties / notify_url
      Added value: +{
      +  "description": "Optional public HTTP or HTTPS callback after the final answer.",
      +  "format": "uri",
      +  "maxLength": 2048,
      +  "type": "string"
      +}
    • addedInput schema / properties / respondents
      Added value: +{
      +  "default": 1,
      +  "description": "Number of separate form links. Each link can answer once.",
      +  "maximum": 20,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedOutput schema / additionalProperties
      Added value: +false
    • addedOutput schema / properties / answered
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / form_urls
      Added value: +{
      +  "items": {
      +    "format": "uri",
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "minItems": 2,
      +  "type": "array"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / respondents
      Added value: +{
      +  "maximum": 20,
      +  "minimum": 2,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / responses
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / status
      Added value: +{
      +  "const": "pending",
      +  "type": "string"
      +}
    • addedOutput schema / properties / tally
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / wait_url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "action_id",
      -  "form_url",
      -  "result_url",
      -  "expire_timestamp",
      -  "expire_datetime"
      -]New value: +[
      +  "ok",
      +  "action_id",
      +  "status",
      +  "result_url",
      +  "wait_url",
      +  "expire_timestamp",
      +  "expire_datetime"
      +]
  3. Changed4 schema fields changed
    • addedInput schema / properties / allow_note / description
      Added value: +"Optional. Whether the person may add a free text comment alongside their choice. Defaults to true."
    • addedInput schema / properties / description / description
      Added value: +"Optional supporting detail below the question: what changes, what it costs, what happens if they decline."
    • addedInput schema / properties / options / description
      Added value: +"Optional. The buttons offered, 2 to 10 of them. Defaults to Approve and Reject. Use your own labels when the choice is not a yes or no, for example Ship today, Ship Monday, Cancel."
    • addedInput schema / properties / title / description
      Added value: +"Required. The question shown to the person, in their language. Make it answerable on its own, since they see no conversation history."
  4. First observed

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the annotations: 24-hour form expiry, no API key/account/login needed, notify_url delivers only a small signal and never the answers, and group results contain counts, a tally and anonymous numbered responses. These are exactly the operational facts an agent needs and none are in the annotations.

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?

Six tight sentences with no filler, and the core action plus respondent-count guidance are front-loaded. The opening is slightly indirect ("Put a decision in front of...") where a direct create verb would be sharper.

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?

An output schema exists, so return shape needn't be spelled out, yet the description still characterizes group results. The one material omission is how the answers get back to the agent — there is no pointer to read_human_approval or mention of what the creation response returns.

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?

Schema coverage is 100%, so the baseline is 3; the description still adds real meaning by explaining that respondents maps to separate single-use bearer links and that notify_url fires one content-free signal after the final answer, details the schema descriptions only partially convey.

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

Purpose4/5

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

States a concrete action and resource in plain terms: putting a decision in front of 1-20 people via bearer form links. An agent can tell this creates approval requests, but the description never names the closely related sibling read_human_approval, so it does not fully disambiguate create-vs-retrieve in this family.

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?

"Use one respondent for a normal approval, or several when every invited person should answer through a separate bearer form link" gives clear guidance for parameter selection, but there is no guidance on when to choose this tool over alternatives (e.g. create_one_time_secret or decide) or how results are subsequently fetched.

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.