Skip to main content
Glama

bx24_crm_contacts

Manage Bitrix24 CRM contacts: create, read, update, delete, bind companies, manage custom fields, and configure contact card layouts.

Instructions

Bitrix24 CRM contacts: CRUD, company bindings, user fields. Methods crm.contact., crm.contact.company., crm.contact.userfield.* (REST 1.0 + 3.0). RU/EN: контакт, найти контакт, создать контакт / contact, find contact, create contact.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoEntity ID
orderNoOrder object (e.g. { 'ID': 'DESC' })
startNoPagination offset (number of records to skip)
actionYesOperation to perform: - "add": Create a contact - "get": Get a contact by ID - "list": List/filter contacts (by PHONE/EMAIL/NAME) - "update": Update contact fields - "delete": Delete a contact (destructive) - "fields": Describe contact fields - "company_add": Bind a company - "company_delete": Unbind a company (destructive) - "company_list": List companies bound to a contact - "company_items_set": Set the full set of companies on a contact - "company_items_delete": Clear all companies from a contact (destructive) - "userfield_get": Get a custom contact field - "userfield_add": Create a custom contact field - "userfield_update": Update a custom contact field - "userfield_delete": Delete a custom contact field (destructive) - "details_get": Get contact card configuration (layout) - "details_set": Set contact card configuration - "details_reset": Reset contact card configuration to default
fieldsNoContact fields: NAME, LAST_NAME, PHONE[], EMAIL[], COMPANY_ID, POST, 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.
companyIdNoCompany ID
userfieldNoUser field definition
companyIdsNoCompany IDs to set
userfieldIdNoCRM userfield ID (e.g. UF_CRM_123)
configFieldsNoContact card configuration (details.configuration.*) 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?

With no annotations, the description carries the full behavioral burden, but it only offers the broad labels 'CRUD' and 'company bindings'. It does not disclose that delete/unbind/clear actions are irreversible, that destructive actions may require a confirm flag, or what side effects or response shapes to expect. The destructive labels in the input schema help, but the description itself stays silent on these traits.

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 front-loads the resource and core capabilities in one compact sentence, then adds method-group and locale hints. The RU/EN keyword fragment adds modest value for multilingual queries but is slightly tangential; overall the text is efficient and appropriately sized.

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?

The 13-parameter/18-action surface is complex, and the high-level description alone would not be enough. The rich input schema compensates for most gaps, but with no output schema and no return-value description, an agent must infer response shapes from action names and the fields object. That leaves a noticeable but not critical gap.

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?

Input schema coverage is 100%, so the baseline of 3 applies; the description contributes no parameter-level detail. The schema's action enum and field descriptions carry the semantics, which is adequate.

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 exact Bitrix24 resource ('CRM contacts') and lists the operation families it covers: CRUD, company bindings, and user fields. This distinguishes it from siblings like bx24_crm_deals and bx24_crm_companies and maps directly to the crm.contact.* REST method groups.

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?

Usage is implied by the resource name and operation families: it is the tool for contact-related actions. However, it never explicitly states when to use it versus sibling tools or which sibling covers adjacent entities (e.g., bx24_crm_companies for company-only operations), so the guidance is implicit rather than prescriptive.

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