Skip to main content
Glama

Import Form

clipform_import_form

Copies the questions from a public Google Form, Typeform, or Tally form into a new Clipform draft. The source form and its responses stay where they are. Supported URLs: Google Forms (docs.google.com or forms.gle - must be shared as "Anyone with the link"), Typeform (form.typeform.com/to/...), and Tally (tally.so - must be public). The source form must be publicly accessible; a private form's questions cannot be read. The new Clipform is created as a DRAFT - review it, then republish with clipform_update_form (is_live: true) once it's ready. Some question types don't map cleanly to a Clipform node and are skipped rather than guessed at; the result always reports exactly what was imported vs skipped, and why.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic URL of the Google Form, Typeform, or Tally form to import
contextYesDescribe the user's underlying goal in one sentence - not the tool you're calling.
workspace_idNoWorkspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.

Output Schema

NameRequiredDescriptionDefault
form_idYesNew form's UUID - pass to follow-up tools. Null when no importable questions were found (nothing was created).
viewer_urlYesThe address this form WILL be live at once published (clipform_update_form with is_live: true) - it is a draft and is NOT viewable by anyone yet; opening it now shows a maintenance screen, not the form. Null when no importable questions were found.
import_summaryYes
workspace_nameNoName of the workspace the form was created in

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / workspace_id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • addedOutput schema / properties / form_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / form_id / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / import_summary / properties / skipped_details / items / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / viewer_url / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / viewer_url / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
  2. Changed2 schema fields changed
    • addedInput schema / properties / workspace_id
      Added value: +{
      +  "description": "Workspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedOutput schema / properties / workspace_name
      Added value: +{
      +  "description": "Name of the workspace the form was created in",
      +  "type": "string"
      +}
  3. Changed3 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Describe the user's underlying goal in one sentence - not the tool you're calling.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "url"
      -]New value: +[
      +  "url",
      +  "context"
      +]
  4. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only flag the call as non-read-only, non-destructive, open-world and non-idempotent; the description adds what actually happens: source form and responses stay untouched, private forms cannot be read, output is an unpublished draft, and unmappable question types are skipped rather than guessed with a per-item import/skip report. That is substantive behavioral context beyond structured fields.

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?

Action is front-loaded in sentence one, then preconditions, then the required next step, then edge-case behavior. Every sentence carries either a constraint or a workflow instruction; nothing is redundant with the title.

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, open-world import tool with an output schema, the description covers sourcing, visibility requirements, draft state, follow-up publishing, and partial-import semantics. An agent has everything needed to call it correctly and to know what to do with the result.

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 baseline is 3; the description adds real value on the url parameter by enumerating accepted hosts and the sharing requirement (docs.google.com/forms.gle 'Anyone with the link', form.typeform.com/to/..., public tally.so). It says nothing extra about workspace_id or the context parameter, which the schema already documents.

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 first sentence gives a specific verb+resource (copies questions) plus an exact source set (Google Form, Typeform, Tally) and destination (new Clipform draft). This clearly separates it from clipform_create_form (build from scratch) and clipform_get_form (read an existing form).

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?

States the key precondition (source must be publicly accessible) and the post-call workflow: the result is a DRAFT, review it, then republish via clipform_update_form with is_live: true — explicitly naming the sibling to chain to. It doesn't explicitly contrast with clipform_create_form for the from-scratch case, so not a full 5.

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.