Lists the labels (id, name, color, order) the org defined for one entity: deal, person, company, prospect, conversation or sequence. Each entity has its own pool: a person label cannot be put on a deal. Use the ids in label_ids when creating or updating records.
Alcance
crm:read
Permiso
Ver el módulo
Tool del MCP
crm_labels_listEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.labels.list".
Costo declarado: hasta 100 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).
Parámetros
entityenumqueryrequerido
Whose labels: each kind of record has its own pool.
Creates a label in the pool of one entity (deal, person, company, prospect, conversation or sequence) with a name (up to 60 characters) and a color (a hex such as #22c55e). It goes last in the order and its creator is recorded: a seller can later rename or delete only the labels they created; Managers and admins, all of them. Requires manage_labels, which every member except viewers has.
Alcance
crm:write
Permiso
Editar en el módulo · Acción del CRM: manage_labels
Tool del MCP
crm_labels_createEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.labels.create".
Costo declarado: hasta 1 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).
Parámetros
entityenumcuerporequerido
The kind of record whose labels these are: each one has its own pool.
Updates the name, color (a hex such as #22c55e) or order of a label of one entity (deal, person, company, prospect, conversation or sequence); send at least one of them, at the top level or inside updates (not both: updates_conflict). The records that carry the label keep it. Returns the label as saved and changed: false when it already was that way (nothing written). A seller can only edit the labels they created (or old ones without an author); Managers and admins, any. Use crm.labels.reorder to set the whole order at once. Requires manage_labels.
Alcance
crm:write
Permiso
Editar en el módulo
Tool del MCP
crm_labels_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.labels.update".
Costo declarado: hasta 1 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).
Parámetros
label_idstringrutarequerido
The label, by id (crm.labels.list).
entityenumcuerporequerido
The kind of record whose labels these are: each one has its own pool.
Sets the display order of the labels of one entity (deal, person, company, prospect, conversation or sequence): each id in ordered_ids (up to 200) gets its position as order. Every id must be a label of that entity, otherwise nothing is reordered (label_not_found, with the ids that are not in details.unknown_ids). It does not create, rename or delete labels. Requires manage_labels.
Alcance
crm:write
Permiso
Editar en el módulo · Acción del CRM: manage_labels
Tool del MCP
crm_labels_reorderEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.labels.reorder".
Costo declarado: hasta 200 lecturas y 200 escrituras por llamada (cuentan en el cupo diario).
Parámetros
entityenumcuerporequerido
The kind of record whose labels these are: each one has its own pool.
Deletes a label of one entity (deal, person, company, prospect, conversation or sequence) and removes it from every record that carried it. The label goes to the 30-day trash with the ids of the records that had it, and restoring it puts it back on them (the trash keeps up to 5,000 ids: with more, the trash item says linked_truncated and the dry run warns); the records themselves are not touched otherwise and no webhook event is sent for them. A seller can only delete the labels they created (or old ones without an author); Managers and admins, any. Requires manage_labels. Outside the screen it requires a dry run and a confirm_token.
Con una API key, este DELETE se ejecuta directo: el registro queda 30 días en la papelera y la respuesta trae su trash_item_id. Con un token OAuth, y por el MCP, pide dry_run → confirm_token.
Alcance
crm:writey «Permitir eliminar» (crm:delete en OAuth)
Permiso
Editar en el módulo
Tool del MCP
crm_labels_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.labels.delete".
Costo declarado: hasta 5001 lecturas y 5001 escrituras por llamada (cuentan en el cupo diario).
Parámetros
label_idstringrutarequerido
The label, by id (crm.labels.list).
entityenumcuerporequerido
The kind of record whose labels these are: each one has its own pool.
EscrituraMasiva · hasta 500IdempotenteDesde 2026-11-01
Labels up to 500 inbox conversations at once (entity: conversation, which can be left out; label ids from crm.labels.list with entity conversation). Send label_ids to replace the whole set, or to_add / to_remove to add or remove labels while keeping the rest. A label that is not a conversation label of the organization is label_not_found (with details.unknown_ids), in the dry run too. Only the conversations the caller can see in crm.conversations.list are labeled (not those on another module's line and, for a seller with restricted scope, only theirs or those on lines they work): the rest, and ids that do not exist, come back in not_found and are left untouched; updated counts the labeled ones. Deals, persons, companies and prospects are labeled with their own update or bulk.update_labels operations instead. Requires full access to the CRM. Bulk: outside the screen it requires a dry run and a confirm_token.
Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.
Alcance
crm:write
Permiso
Editar en el módulo
Tool del MCP
crm_labels_assignEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.labels.assign".
Costo declarado: hasta 653 lecturas y 1000 escrituras por llamada (cuentan en el cupo diario).
Parámetros
conversation_idsarray<string>cuerporequerido
The inbox conversations to label (crm.conversations.list).
entityenumcuerpoopcional
Always conversation (the only kind labeled here); it can be left out.
Valores: conversation · Por defecto: "conversation"
label_idsarray<string>cuerpoopcional
The whole set of labels each conversation ends up with (replaces what they had).