Menu

Referência da API · CRM

Regras de atribuição

crm · assignment_rules · 5 operações

GET/v1/crm/assignment-rules

List lead assignment rules

crm.assignment_rules.list

LeituraIdempotenteDesde 2026-11-01

Lists the lead assignment rules, newest first (up to 200): each one's scope (one lead source, one pipeline, or global; a global rule can be limited to prospects or deals with entity_type), method (round_robin, weighted_round_robin, capacity, territory, source, value or manual), participants with their name, weight, capacity and out-of-office flag, territory_ids, special rules, fallback and who gets notified.

Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_assignment_rules_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.assignment_rules.list".

Custo declarado: até 200 leituras e 0 escritas por chamada (contam na cota diária).

Parâmetros

Sem parâmetros.

Resposta

dataarray<object>

Erros

Exemplo

curl "https://api.mb-suite.com/v1/crm/assignment-rules" \
  -H "Authorization: Bearer $MB_API_KEY"

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.

curl "https://api.mb-suite.com/v1/crm/assignment-rules" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/crm/assignment-rules/{rule_id}

Get one lead assignment rule

crm.assignment_rules.get

LeituraIdempotenteDesde 2026-11-01

Returns one assignment rule with its scope, method, participants, territories, special rules, fallback and notification settings. Use crm.assignment_rules.list when you do not know the id.

Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_assignment_rules_getNa superfície completa; na compacta, mb_execute_operation com id: "crm.assignment_rules.get".

Custo declarado: até 2 leituras e 0 escritas por chamada (contam na cota diária).

Parâmetros

rule_idstringrotaobrigatório

The rule's id, from crm.assignment_rules.list.

Resposta

idstring
org_idstring
namestring
methodenum

Valores: round_robin, weighted_round_robin, capacity, territory, source, value, manual

participantsarray<object>
special_rulesarray<object>
fallbackenum

Valores: unassigned, round_robin, notify_admin, specific_user

last_assigned_indexnumber
created_atnumber
updated_atnumber
created_by_idstring
pipeline_idstring | null
source_idstring | null
entity_typeenum | null

Valores: prospect, deal

territory_idsarray<string> | null
fallback_user_idstring | null
notify_ownerboolean
notify_extra_user_idsarray<string> | null

Erros

Exemplo

curl "https://api.mb-suite.com/v1/crm/assignment-rules/{rule_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.

curl "https://api.mb-suite.com/v1/crm/assignment-rules/{rule_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/crm/assignment-rules

Create a lead assignment rule

crm.assignment_rules.create

EscritaDesde 2026-11-01

Creates a lead assignment rule: a name; its scope (source_id for one lead source, pipeline_id for one pipeline, or neither for a global rule, which can be limited to prospect or deal with entity_type); the method; participants (user_id from crm.team.list: people with access to the organization or AI agents of the CRM team; the name is filled in by the server; optional weight or max_capacity, is_out_of_office); territory_ids for the territory method (from crm.territories.list); optional special rules, evaluated first by priority; the fallback (unassigned, round_robin, notify_admin, or specific_user with fallback_user_id); and whether to notify the assigned owner (default true) and extra users. Every reference is checked: participant_not_found, fallback_user_required, recipient_without_access, territory_not_found, lead_source_not_found, pipeline_not_found. Requires manage_assignment (owners, admins and CRM admins).

Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_assignment
Tool do MCP
crm_assignment_rules_createNa superfície completa; na compacta, mb_execute_operation com id: "crm.assignment_rules.create".

Custo declarado: até 320 leituras e 1 escritas por chamada (contam na cota diária).

Parâmetros

namestringcorpoobrigatório

The rule's name.

methodenumcorpoobrigatório

How the owner is chosen: round_robin, weighted_round_robin, capacity, territory (territory_ids), source, value or manual.

Valores: round_robin, weighted_round_robin, capacity, territory, source, value, manual

participantsarray<object>corpoobrigatório

Who receives the leads, up to 100.

fallbackenumcorpoobrigatório

When nobody fits: unassigned, round_robin, notify_admin or specific_user (with fallback_user_id).

Valores: unassigned, round_robin, notify_admin, specific_user

pipeline_idstringcorpoopcional

Scope: only the leads of this pipeline (crm.pipelines.list).

source_idstringcorpoopcional

Scope: only the leads of this lead source (crm.lead_sources.list); more specific than a pipeline.

entity_typeenumcorpoopcional

Only for a global rule (no source nor pipeline): limit it to prospects or deals.

Valores: prospect, deal

territory_idsarray<string>corpoopcional

Territories for the territory method, in order (crm.territories.list).

special_rulesarray<object>corpoopcional

Conditions evaluated first, by priority; the first that matches assigns its user or method.

Padrão: []

fallback_user_idstringcorpoopcional

The owner when fallback is specific_user: a person with access or an AI agent of the CRM team.

notify_ownerbooleancorpoopcional

Notify the assigned owner (default true).

notify_extra_user_idsarray<string>corpoopcional

Other people notified of each assigned lead, up to 50 (people with access to the organization).

Resposta

idstring

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/crm/assignment-rules" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME",
  "method": "round_robin",
  "participants": [],
  "fallback": "unassigned"
}'

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.

curl -X POST "https://api.mb-suite.com/v1/crm/assignment-rules" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME",
  "method": "round_robin",
  "participants": [],
  "fallback": "unassigned"
}'
PATCH/v1/crm/assignment-rules/{rule_id}

Update a lead assignment rule

crm.assignment_rules.update

EscritaIdempotenteDesde 2026-11-01

Updates any field of an assignment rule through updates: a field left out does not change, and null clears an optional one (pipeline_id, source_id, entity_type, territory_ids, fallback_user_id, notify_extra_user_ids). Participants and special rules are replaced as a whole; the references sent are checked like at creation. Turning a source or pipeline rule into a global one (no source nor pipeline left) needs confirm_global: true outside the app (rule_scope_widening otherwise): every lead without a more specific rule would follow it. Requires manage_assignment.

Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_assignment
Tool do MCP
crm_assignment_rules_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.assignment_rules.update".

Custo declarado: até 320 leituras e 1 escritas por chamada (contam na cota diária).

Parâmetros

rule_idstringrotaobrigatório

The rule's id, from crm.assignment_rules.list.

updatesobjectcorpoobrigatório

The fields to change; what is not sent is kept.

confirm_globalbooleancorpoopcional

Send true when the change makes the rule global (no source nor pipeline left): outside the app it is refused otherwise, because every lead without a more specific rule would follow it.

Resposta

oktrue

Erros

Exemplo

curl -X PATCH "https://api.mb-suite.com/v1/crm/assignment-rules/{rule_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.

curl -X PATCH "https://api.mb-suite.com/v1/crm/assignment-rules/{rule_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'
POST/v1/crm/assignment-rules/{rule_id}/delete

Delete a lead assignment rule

crm.assignment_rules.delete

IrreversívelIdempotenteDesde 2026-11-01

Deletes an assignment rule for good: rules do not go to the trash, and leads stop being routed through it; the dry run names it and its scope. assignment_rule_not_found when the id does not exist (also in the dry run). Requires manage_assignment.

Pede confirmação: primeiro dry_run: true (prévia e confirm_token, válido por 10 minutos e por uma única execução), depois o mesmo corpo com confirm_token. Em algumas poucas, só com certos dados: a descrição diz quando. Por que e como: Prévia e confirmação.

Escopo
crm:write e «Permitir exclusões» (crm:delete no OAuth)
Permissão
Editar no módulo · Ação do CRM: manage_assignment
Tool do MCP
crm_assignment_rules_deleteNa superfície completa; na compacta, mb_execute_operation com id: "crm.assignment_rules.delete".

Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).

Parâmetros

rule_idstringrotaobrigatório

The rule's id, from crm.assignment_rules.list.

Resposta

oktrue

Erros

Exemplo

curl -X POST "https://api.mb-suite.com/v1/crm/assignment-rules/{rule_id}/delete" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true
}'

Testar com a sua API key de teste

Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.

curl -X POST "https://api.mb-suite.com/v1/crm/assignment-rules/{rule_id}/delete" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true
}'