Skip to main content
Glama

asksteps: replace the questions and branching of a funnel

asksteps_update_funnel
DestructiveIdempotent

Replaces the questions and the branching of an existing funnel. Requires "forms:write". READ IT FIRST with asksteps_get_funnel and send back everything you want to keep — every question you leave out is gone. Design, settings and the end pages are NOT touched unless you include them. Refused for funnels built from a PDF and for anything this format cannot describe; the answer says which.

Input Schema

NameRequiredDescriptionDefault
specYesThe complete new funnel. Everything not included is removed.
funnel_idYesThe funnel id, from asksteps_get_funnel.

Output Schema

NameRequiredDescriptionDefault
urlNoLink that opens the form in the asksteps studio. Give it to the user so they can look at the result. Absolute when this deployment knows its public base URL, otherwise a site-relative path; never invent the domain part.
noteYesOne sentence for the user. On rejection it says exactly what to fix.
formIdNoThe id of the form. Keep it — it is how you read or change the form later.
statusYesOutcome. One of: "created", "updated", "not_connected", "not_found", "invalid_spec" (the structure was rejected — the note says exactly what to fix), "not_editable" (this form cannot be written from a spec), "unavailable", "error". Authorisation can also refuse before the tool runs: "plan_required" (the account's plan does not include agent access), "not_enabled" (the account owner has not switched agent access on), "owner_required" (only the account owner may do this), "mandate_required" (the owner has not granted a mandate for this). The note then says what the user has to do.
stepCountNoNumber of steps the form ended up with.
fieldCountNoTotal number of fields across all steps.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / spec / properties / nodes / items / properties / answers / items / properties / display
      Added value: +{
      +  "description": "For \"checkbox-group\": \"list\" (options listed one below the other, the default) or \"dropdown\" (a dropdown showing the picked options as tags). Optional.",
      +  "type": "string"
      +}
    • addedInput schema / properties / spec / properties / nodes / items / properties / answers / items / properties / selection
      Added value: +{
      +  "description": "For \"checkbox-group\": \"single\" (exactly one option may be picked, e.g. yes/no, gender, a membership class) or \"multiple\" (any number, the default). Optional.",
      +  "type": "string"
      +}
    • changedInput schema / properties / spec / properties / nodes / items / properties / answers / items / properties / type / description
      Previous value: -"Field type. One of: \"text\" (single line), \"text-area\" (multi-line), \"number\", \"date\", \"time\", \"select\" (dropdown, needs options), \"checkbox-group\" (multiple choice, needs options), \"boolean\" (single yes/no checkbox), \"file\" (upload), \"signature\" (drawn signature), \"image-upload\" (the visitor uploads one photo, e.g. a passport photo), \"contact\" (the built-in contact block: name, email, phone — use this instead of building those three by hand), \"text-block\" (explanatory text, not an input), \"table\" (a grid to fill in), \"image-choice\" (a picture to pick), \"image\", \"video\"."New value: +"Field type. One of: \"text\" (single line), \"text-area\" (multi-line), \"number\", \"date\", \"time\", \"select\" (dropdown, needs options), \"checkbox-group\" (choice group, needs options; one or several answers, see Selection), \"boolean\" (single yes/no checkbox), \"file\" (upload), \"signature\" (drawn signature), \"image-upload\" (the visitor uploads one photo, e.g. a passport photo), \"contact\" (the built-in contact block: name, email, phone — use this instead of building those three by hand), \"text-block\" (explanatory text, not an input), \"table\" (a grid to fill in), \"image-choice\" (a picture to pick), \"image\", \"video\"."
  2. Changed1 schema field changed
    • changedInput schema / properties / spec / properties / nodes / items / properties / answers / items / properties / type / description
      Previous value: -"Field type. One of: \"text\" (single line), \"text-area\" (multi-line), \"number\", \"date\", \"time\", \"select\" (dropdown, needs options), \"checkbox-group\" (multiple choice, needs options), \"boolean\" (single yes/no checkbox), \"file\" (upload), \"signature\" (drawn signature), \"contact\" (the built-in contact block: name, email, phone — use this instead of building those three by hand), \"text-block\" (explanatory text, not an input), \"table\" (a grid to fill in), \"image-choice\" (a picture to pick), \"image\", \"video\"."New value: +"Field type. One of: \"text\" (single line), \"text-area\" (multi-line), \"number\", \"date\", \"time\", \"select\" (dropdown, needs options), \"checkbox-group\" (multiple choice, needs options), \"boolean\" (single yes/no checkbox), \"file\" (upload), \"signature\" (drawn signature), \"image-upload\" (the visitor uploads one photo, e.g. a passport photo), \"contact\" (the built-in contact block: name, email, phone — use this instead of building those three by hand), \"text-block\" (explanatory text, not an input), \"table\" (a grid to fill in), \"image-choice\" (a picture to pick), \"image\", \"video\"."
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, but the description goes well beyond them: it discloses the write permission needed ('forms:write'), the destructive replacement model ('every question you leave out is gone'), the untouched surface area, and the refusal conditions. This is exactly the extra context a full-replacement mutation needs.

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?

Four sentences, front-loaded: what it does, the permission, the required read-first procedure, the blast radius, then the failure modes. No sentence is redundant with another and none is filler.

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

Completeness5/5

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

For a destructive, deeply nested mutation the description covers purpose, auth, precondition, blast radius, and refusal handling, and it points to 'the answer says which' for refusals. With an output schema present, return-value detail is appropriately omitted.

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?

Schema description coverage is 100% and the spec tree is exhaustively documented, including 'Everything not included is removed', so the description is not required to carry parameter meaning. The description reinforces the spec replacement semantics ('send back everything you want to keep') but adds nothing the schema does not already state. Baseline 3 applies.

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 gives a precise verb and resource: 'Replaces the questions and the branching of an existing funnel', and immediately scopes it further by listing what is NOT replaced (design, settings, end pages). That scope statement is what separates it from asksteps_update_form and asksteps_create_funnel without the agent needing to open any schema.

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

Usage Guidelines5/5

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

It names the prerequisite tool and the exact procedure: 'READ IT FIRST with asksteps_get_funnel and send back everything you want to keep'. It also states the conditions under which the call is refused (PDF-built funnels, formats it cannot describe), so an agent knows when to route elsewhere or expect failure.

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.

Resources