Skip to main content
Glama

asksteps: store a PDF as a form template in the connected account

asksteps_import_pdf

Brings a PDF into the connected asksteps account and stores it as a form template, so the answers people give can later be written back into that exact document. Requires "pdf:write". Unlike asksteps_analyze_pdf this one KEEPS the file, counts against the account's PDF-form quota, and also handles scanned documents through text recognition. It does NOT create the form: which fields become questions is the user's decision. You get a link that resumes the import in the asksteps studio with this template — no second upload. Pass exactly one of pdf_url or pdf_base64.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pdf_urlNoPublic https URL of the PDF. Must be reachable from the internet.
pdf_base64NoThe PDF as base64, for a document that is not on the web.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoLink that resumes the import in the asksteps studio, using the template you just stored — no second upload, no second quota use. Give it to the user; turning a document into a form is their decision, not yours.
noteYesOne sentence for the user, saying what happened and what they do next.
sourceNoWhere the fields came from: "acroform" (the PDF already had form fields), "text" or "ocr" (they were recognised from a scan). Worth telling the user: a recognised scan usually needs more corrections than a real form.
statusYesOutcome. One of: "imported", "not_connected", "quota_exceeded", "no_fillable_fields", "unreadable", "blocked", "too_large", "invalid_request", "rate_limited", "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.
fileNameNoFile name the template was stored under.
pageCountNoNumber of pages in the document.
fieldCountNoNumber of fillable fields found.
templateIdNoThe stored template id. Keep it — the link below resumes the import from it.

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial context beyond the annotations: it requires 'pdf:write', counts against a quota, keeps the file, handles scanned documents via OCR, and returns a link that resumes in the studio without a second upload. These side effects and permissions are exactly the kind of behavior an agent needs to know.

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 main purpose is front-loaded, and every subsequent sentence adds a distinct operational fact: auth scope, sibling comparison, non-creation caveat, resume link, and parameter rule. There is no 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 mutating tool with two parameters and an output schema, this description covers the action, selection criteria, side effects, return behavior, and invocation constraint. The agent has enough information to call it correctly without opening the schema or exploring siblings.

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, but the description adds the critical constraint 'Pass exactly one of pdf_url or pdf_base64,' which the schema's default-null fields do not express. This turns two individually optional-looking parameters into a mutually exclusive choice.

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: 'Brings a PDF into the connected asksteps account and stores it as a form template.' It also explicitly contrasts itself with asksteps_analyze_pdf, so the agent can tell which import behavior is intended.

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 directly names the sibling alternative and the distinction: 'Unlike asksteps_analyze_pdf this one KEEPS the file, counts against the account's PDF-form quota.' It also states what the tool does NOT do ('does NOT create the form') and gives the param rule 'Pass exactly one of pdf_url or pdf_base64.'

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.

TDQS

A4.3/5.0
Disambiguation4/5

Tools are mostly distinct with clear ownership of each resource and action, and descriptions explicitly contrast sibling pairs (analyze_pdf vs import_pdf, create_form vs create_funnel, publish_form vs update_publication, change_plan vs start_checkout). However, an agent skimming names alone could misselect between the four creation tools or the two PDF tools without reading the descriptions carefully.

Naming Consistency5/5

Every tool follows the asksteps_<verb>_<noun> pattern perfectly, with uniform verbs like get_, list_, create_, and update_. The only slight deviation is create_from_template, but even that stays predictable and readable within the convention.

Tool Count3/5

At 24 tools, this sits at the heavy end of the 16-25 borderline range. The broad domain (form/funnel building, publishing, PDF import, billing, stats, leads) justifies most of them and there is no obvious redundancy, but the sheer volume makes navigation harder than a tighter set.

Completeness4/5

The core form and funnel lifecycle is well covered: multiple creation paths, read, full replacement update, delete with confirmation, publish/unpublish, stats, and leads export. Billing covers first purchase, plan changes, and quota checks. Minor gaps exist — no dedicated subdomain listing tool, no funnel-specific stats, and no programmatic PDF field mapping — but these are explicitly documented as human steps, so agents can work around them.

Resources