Skip to main content
Glama

Create Template

create_template

Create a reusable template from a PDF already uploaded with upload_file. A template stores a document together with its signature fields, so a later create_document only has to supply the recipients. A template's signeeDetails describes ROLES, not people: fullName is normally a label such as 'Buyer', and contact details are optional — leave them out unless the same person signs every time. Nothing inside signeeDetails is required. Requires the templates capability; check get_account_capabilities first.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "fileId": "<fileId>",
      "signeeDetails": "<signeeDetails>"
    },
    "name": "create_template"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoName of the template. Internal — signees never see it.
fileIdYesFile ID from upload_file
signeeDetailsYesThe signature fields to store on the template. At least one is required.
sharingSettingNoprivate (default) keeps the template to you; shared makes it usable by the whole account and requires the accessLevels capability.
enableSigningOrderNoStore a sequential signing order on the template (requires the signingOrder capability).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / signeeDetails / items / properties / idScanBox / description
      Previous value: -"Required when signatureType is 'digital_ink_id_scan'. The ID document itself is captured and read on Formify's signing page; only the placeholder's position is configured here, and no image or document data passes through this API."New value: +"Required when signatureType is 'digital_ink_id_scan'. The ID document itself is captured and read on Formify's signing page; only the placeholder's position is configured here, and no image or document data passes through this API. The scanned front side is then placed in the signed document at this position, so the sender needs a legal basis for keeping a copy of the identity document there (see signatureType)."
    • changedInput schema / properties / signeeDetails / items / properties / signatureType / description
      Previous value: -"Signature method to store on the field. Defaults to digital_ink. Non-default methods require account capabilities. Identity verification for bankid_identification, digital_ink_id_scan and face_liveness is performed by Formify's signing page in the signer's browser, after the invitation is sent. This parameter only selects the method: no identity document, biometric data or national identity number is sent to, returned by or stored through this API."New value: +"Signature method to store on the field. Defaults to digital_ink. Non-default methods require account capabilities. Identity verification for bankid_identification, digital_ink_id_scan and face_liveness is performed by Formify's signing page in the signer's browser, after the invitation is sent. This parameter only selects the method: no identity document, biometric data or national identity number is sent to, returned by or stored through this API. digital_ink_id_scan additionally places an image of the signer's identity document (front side) in the signed document, at the idScanBox position. Reproducing a copy of an identity document requires the sender's own legal basis: before selecting this method, tell the user that a copy of the ID document will be embedded in the signed document and get an explicit yes. Suggest another signing method if they do not need a copy of the identity document in the document."
  2. Changed2 schema fields changed
    • changedInput schema / properties / signeeDetails / items / properties / idScanBox / description
      Previous value: -"Required when signatureType is 'digital_ink_id_scan'."New value: +"Required when signatureType is 'digital_ink_id_scan'. The ID document itself is captured and read on Formify's signing page; only the placeholder's position is configured here, and no image or document data passes through this API."
    • changedInput schema / properties / signeeDetails / items / properties / signatureType / description
      Previous value: -"Signature method to store on the field. Defaults to digital_ink. Non-default methods require account capabilities."New value: +"Signature method to store on the field. Defaults to digital_ink. Non-default methods require account capabilities. Identity verification for bankid_identification, digital_ink_id_scan and face_liveness is performed by Formify's signing page in the signer's browser, after the invitation is sent. This parameter only selects the method: no identity document, biometric data or national identity number is sent to, returned by or stored through this API."
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (which only say non-readonly, non-idempotent, non-destructive) by disclosing the capability gating and the critical domain trait that signeeDetails describes ROLES rather than people, that contact details are optional and should generally be omitted, and that nothing inside signeeDetails is required.

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?

Four sentences, front-loaded with the create action and prerequisite, then the role semantics, then the capability check. Efficient, though the role explanation partially duplicates the fullName schema description.

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?

Complete for a non-destructive create with no output schema: prerequisite, capability gate and field semantics are all covered. The only gap is that it never says what the call returns (e.g. a template id) or how that id is later referenced by create_document.

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 already 100%, so the baseline is 3. The description still adds meaning: it clarifies that the nested signeeDetails entries carry no required members (the schema only lists top-level requireds) and explains the role-vs-person semantics that drive how fullName, emailAddress and phoneNumber should be filled.

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?

States a specific verb and resource ('Create a reusable template from a PDF') and immediately scopes it to a file produced by upload_file. It also distinguishes the outcome from create_document by explaining that a template stores the document plus fields so document creation only supplies recipients.

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?

Explicitly gives prerequisites: the PDF must already be uploaded via upload_file, and the templates capability must be checked with get_account_capabilities first. It contrasts with create_document and create_document's lighter payload, but never says when a draft or link would be the better alternative among the many siblings.

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