Skip to main content
Glama

bx24_crm_deals

Create, retrieve, update, and delete Bitrix24 CRM deals, move deals through pipeline stages, and manage product rows, contact bindings, and recurring deal templates.

Instructions

Bitrix24 CRM deals: CRUD, funnels/categories, product rows, contact bindings, timeline. Methods crm.deal., crm.dealcategory., crm.deal.productrows., crm.deal.contact. (REST 1.0 + 3.0). RU/EN: сделка, создать сделку, найди сделки, передвинуть по воронке, закрыть сделку, товарные позиции / deal, create deal, find deals, move stage, close deal, product rows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoEntity ID
rowNoSingle product row
rowsNoProduct row array: {PRODUCT_ID, PRICE, QUANTITY, ...}
orderNoOrder object (e.g. { 'ID': 'DESC' })
startNoPagination offset (number of records to skip)
actionYesOperation to perform: - "add": Create a deal (TITLE required) - "get": Get a deal by ID - "list": List/filter deals - "update": Update deal fields by ID (set STAGE_ID to move/close) - "delete": Delete a deal (destructive) - "fields": Describe all deal fields - "category_list": List deal pipelines/categories (воронки) - "category_add": Create a pipeline/category - "category_update": Update a pipeline/category - "category_delete": Delete a pipeline/category (destructive) - "getProductRows": Get product rows of a deal - "setProductRows": Overwrite product rows (destructive — full rewrite) - "addProductRow": Add a product row to a deal - "getContactBindings": List contacts bound to a deal - "setContactBindings": Set contact bindings - "contact_add": Bind a contact to a deal - "contact_delete": Unbind a contact (destructive) - "contact_items_delete": Clear all contacts from a deal (destructive) - "getByCategory": List deals by category (filter by CATEGORY_ID) - "moveToCategory": Move a deal to another category (set CATEGORY_ID) - "count": Count deals matching filter (returns total) - "recurring_add": Add a recurring deal template - "recurring_get": Get a recurring deal template - "recurring_list": List recurring deal templates - "recurring_update": Update a recurring deal template - "recurring_delete": Delete a recurring deal template (destructive) - "recurring_expose": Expose a deal from a recurring template - "recurring_fields": Describe recurring deal fields - "details_get": Get deal card configuration (layout) - "details_set": Set deal card configuration - "details_reset": Reset deal card configuration to default - "userfield_get": Get a custom deal field - "userfield_add": Create a custom deal field - "userfield_update": Update a custom deal field - "userfield_delete": Delete a custom deal field (destructive)
fieldsNoDeal fields: TITLE (required), STAGE_ID, CATEGORY_ID, OPPORTUNITY, CURRENCY_ID, COMPANY_ID, CONTACT_ID, ASSIGNED_BY_ID.
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.
contactIdNoContact ID
userfieldNoUser field definition
categoryIdNoPipeline/category ID
contactIdsNoContact IDs to bind
userfieldIdNoCRM userfield ID (e.g. UF_CRM_123)
configFieldsNoDeal card configuration (details.configuration.*) fields
categoryFieldsNoCategory fields: NAME
recurringFieldsNoRecurring deal template fields

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only labels operations as 'CRUD' and lists feature areas; it does not disclose that many bundled actions (delete, setProductRows, contact_items_delete, category_delete, etc.) are destructive or that some actions overwrite data. The agent cannot predict side effects or confirmation requirements from the description alone.

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?

Two dense sentences with the resource front-loaded and the capability list kept compact. The RU/EN trigger list is useful for matching user intent rather than filler, though the long comma-separated lists make it slightly less scannable than it could be.

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

Completeness3/5

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

For a 35-action, 18-parameter tool with no annotations and no output schema, this is a minimal-but-adequate orientation: it names the domain, method families, and sample intents while leaving action semantics to the detailed schema. Gaps remain around destructive behavior, output shape, and the relationship between categories and stages, but the rich schema compensates substantially.

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?

All 18 parameters have schema descriptions (100% coverage), so the description is not required to repeat them. It adds high-level domain context (product rows, contact bindings) and multilingual task vocabulary, but no parameter-level detail beyond what the schema already provides.

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 names the specific resource ('Bitrix24 CRM deals') and enumerates capability areas: CRUD, funnels/categories, product rows, contact bindings, timeline. The method-family list and multilingual task phrases make it easy to distinguish from siblings like bx24_crm_contacts or bx24_crm_products.

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

Usage Guidelines3/5

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

The trigger phrases ('create deal, find deals, move stage, close deal, product rows') imply common use cases, but there is no explicit when-to-use vs alternatives or when-not-to-use guidance. An agent must infer deal-related usage from the name and domain list rather than being told when this tool beats a sibling.

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