Lists the sales pipelines of the organization, in order, each with its stages (id, name, probability, won stage), lost reasons, seller access (always present: mode all when every seller sees it) and who created it. Use it first whenever you need a pipeline_id or a stage_id for another operation; stage ids are per pipeline. Does not include deal counts (see crm.pipelines.stage_counts).
Alcance
crm:read
Permiso
Ver el módulo
Tool del MCP
crm_pipelines_listEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.list".
Costo declarado: hasta 20 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).
Returns how many deals sit in each stage of a pipeline (stage id → count), using aggregation counts, without reading the deals. It counts every deal that points at the stage whatever its state (open, won, lost, archived, merged away): it is the check the stage editor runs before deleting a stage, not a funnel picture. For live deals use crm.analytics.summary or crm.deals.list.
Alcance
crm:read
Permiso
Ver el módulo
Tool del MCP
crm_pipelines_stage_countsEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.stage_counts".
Costo declarado: hasta 31 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).
Creates a sales pipeline with at least two stages (each with id, name, order, color, probability and rotting days; at most one won stage), optional lost reasons, default currency and seller access. Setting is_default moves the default flag from the other pipelines. Requires the manage_pipelines permission (CRM admins).
Alcance
crm:write
Permiso
Editar en el módulo · Acción del CRM: manage_pipelines
Tool del MCP
crm_pipelines_createEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.create".
Costo declarado: hasta 20 lecturas y 21 escrituras por llamada (cuentan en el cupo diario).
Parámetros
namestringcuerporequerido
The pipeline's name.
currencystringcuerporequerido
ISO 4217 code of the pipeline's deals by default (USD, ARS…).
stagesarray<object>cuerporequerido
Its stages, 2 to 30, in order.
descriptionstringcuerpoopcional
A line about what the pipeline is for.
lost_reasonsarray<object>cuerpoopcional
Its lost reasons.
is_defaultbooleancuerpoopcional
true makes it the default pipeline (the others lose the flag); the first pipeline is the default anyway.
Updates a pipeline's name, description, currency, stages, lost reasons, default flag, archived flag or seller access; send the fields at the top level or inside updates (as in crm.deals.update), not both. When the new stage set removes a stage that still has deals, pass stage_reassignments (from → to, never into the won stage); a removed stage must otherwise be empty. The open deals that move take the probability of their new stage unless it was set by hand (the deal's probability_overridden); changing a stage's probability does not change the deals already in it (the forecast weighs them with their stage's). Fields equal to the current ones are not a change: if nothing changes, nothing is written or audited and changed comes back false. Returns the pipeline as saved. Requires manage_pipelines.
Alcance
crm:write
Permiso
Editar en el módulo · Acción del CRM: manage_pipelines
Tool del MCP
crm_pipelines_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.update".
Costo declarado: hasta 52 lecturas y 500 escrituras por llamada (cuentan en el cupo diario).
Parámetros
pipeline_idstringrutarequerido
The pipeline, by id (crm.pipelines.list).
namestringcuerpoopcional
The pipeline's name.
descriptionstringcuerpoopcional
A line about what the pipeline is for.
currencystringcuerpoopcional
ISO 4217 code of the pipeline's deals by default (USD, ARS…).
stagesarray<object>cuerpoopcional
The whole list of stages (2 to 30): it replaces the current one.
lost_reasonsarray<object>cuerpoopcional
The whole list of lost reasons: it replaces the current one.
stage_reassignmentsarray<object>cuerpoopcional
Where the deals of each removed stage go (needed when a removed stage still has deals).
is_defaultbooleancuerpoopcional
true makes it the default pipeline (the others lose the flag).
is_archivedbooleancuerpoopcional
true archives the pipeline (it leaves the pickers; its deals keep it).
accessobjectcuerpoopcional
Which sellers see the pipeline.
updatesobjectcuerpoopcional
The same fields, grouped as in the other CRM edits (crm.deals.update…): send them here or at the top level, not both.
Respuesta
oktrue
pipelineobject
changedboolean
false when nothing changed: nothing was written and nothing was audited.
Deletes a pipeline that has no deals (otherwise it fails with pipeline_not_empty: move or delete the deals first). The pipeline goes to the 30-day trash and can be restored. Irreversible outside the trash window; requires manage_pipelines.
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 · Acción del CRM: manage_pipelines
Tool del MCP
crm_pipelines_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "crm.pipelines.delete".
Costo declarado: hasta 2 lecturas y 2 escrituras por llamada (cuentan en el cupo diario).
Parámetros
pipeline_idstringrutarequerido
The pipeline, by id (crm.pipelines.list): it must have no deals (pipeline_not_empty).
Respuesta
oktrue
trash_item_idstring
The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.
trash_item_idsarray<string>
Only when the deletion left more than one copy: all of them, the first being trash_item_id.
trash_expires_atnumber
When the copy leaves the trash for good (epoch ms): 30 days after the deletion.