Skip to main content
Glama

bx24_crm_documents

Generate and manage Bitrix24 CRM documents: create templates, produce invoices and contracts, control numbering and bindings.

Instructions

Bitrix24 CRM document generator (генератор документов): templates, documents, numerators, bindings, providers. Methods crm.documentgenerator.* (REST 1.0 + 3.0). RU/EN: документ, шаблон документа, счёт, договор, нумератор / document, document template, invoice, contract, numerator.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoDocument/workflow template ID
orderNoOrder object (e.g. { 'ID': 'DESC' })
startNoPagination offset (number of records to skip)
tokenNoDocument access token (for document_get/delete)
actionYesOperation to perform: - "template_list": List document templates - "template_get": Get a template by ID - "template_add": Add a document template - "template_update": Update a document template - "template_delete": Delete a document template (destructive) - "template_fields": Describe template fields - "document_add": Generate a document from a template (templateId + entityId + entityType) - "document_get": Get a document by ID (requires token) - "document_list": List generated documents - "document_delete": Delete a document (destructive, requires token) - "document_fields": Describe document fields - "document_enable": Enable a public document link - "document_disable": Disable a public document link - "binding_add": Bind a template to an entity type - "binding_list": List template bindings - "binding_get": Get a binding - "binding_delete": Delete a binding (destructive) - "binding_fields": Describe binding fields - "numerator_add": Add a document numerator (numbering template) - "numerator_get": Get a numerator - "numerator_list": List numerators - "numerator_update": Update a numerator - "numerator_delete": Delete a numerator (destructive) - "region_list": List document regions (locale) - "provider_list": List document providers (data sources)
fieldsNoTemplate/document/numerator fields (per Bitrix24 docs for the method)
filterNoFilter object (e.g. { '>OPPORTUNITY': 10000, 'STAGE_ID': 'WON' })
selectNoArray of field names to return (projection)
confirmNoSet to true to confirm destructive actions when BX24_CONFIRM_DESTRUCTIVE is enabled.
entityIdNoEntity ID for document generation
documentIdNoDocument generator document ID
entityTypeNoEntity type for binding (e.g. crm_deal, crm_lead)
templateIdNoDocument/workflow template ID
numeratorIdNoDocument numerator ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions REST versions and the general domain but does not disclose destructive behavior, authentication/token requirements, rate limits, or side effects. Some destructive actions are labeled in the schema's action enum, but the description itself adds little behavioral transparency.

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?

The description is short and front-loaded with the core purpose. The bilingual RU/EN note is useful for matching Russian user language and does not add excessive length. Some repetition of 'document' occurs, but the overall structure is compact and scannable.

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

Completeness2/5

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

This is a large, multi-action tool with 14 parameters and no output schema, yet the description provides only a high-level summary. It lacks guidance on how parameters combine, which actions require tokens, expected return shapes, or common workflows. The schema's action descriptions help, but the description itself is not complete enough for such a complex tool.

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%, so the baseline is 3. The description does not add parameter-level meaning beyond the schema, but it does provide a high-level vocabulary that maps to parameter groups (templates, documents, numerators, bindings, providers). The schema already documents each parameter, including the detailed action enum.

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?

The description clearly identifies the tool as a Bitrix24 CRM document generator and enumerates its main object groups: templates, documents, numerators, bindings, providers. It also ties it to the crm.documentgenerator.* method namespace. However, it does not explicitly distinguish itself from sibling tools like bx24_crm_invoices or bx24_crm_workflows.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as bx24_crm_invoices or bx24_disk. The description implies the domain (document generation) but provides no conditions, prerequisites, or exclusions. The action enum in the schema contains operation details, but the description itself offers no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.