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.
Scope
crm:read
Permission
View the module
MCP tool
crm_assignment_rules_listOn the full surface; on the compact one, mb_execute_operation with id: "crm.assignment_rules.list".
Declared cost: up to 200 reads and 0 writes per call (they count against the daily quota).
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.
Scope
crm:read
Permission
View the module
MCP tool
crm_assignment_rules_getOn the full surface; on the compact one, mb_execute_operation with id: "crm.assignment_rules.get".
Declared cost: up to 2 reads and 0 writes per call (they count against the daily quota).
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).
Scope
crm:write
Permission
Edit in the module · CRM action: manage_assignment
MCP tool
crm_assignment_rules_createOn the full surface; on the compact one, mb_execute_operation with id: "crm.assignment_rules.create".
Declared cost: up to 320 reads and 1 writes per call (they count against the daily quota).
Parameters
namestringbodyrequired
The rule's name.
methodenumbodyrequired
How the owner is chosen: round_robin, weighted_round_robin, capacity, territory (territory_ids), source, value or manual.
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.
Scope
crm:write
Permission
Edit in the module · CRM action: manage_assignment
MCP tool
crm_assignment_rules_updateOn the full surface; on the compact one, mb_execute_operation with id: "crm.assignment_rules.update".
Declared cost: up to 320 reads and 1 writes per call (they count against the daily quota).
Parameters
rule_idstringpathrequired
The rule's id, from crm.assignment_rules.list.
updatesobjectbodyrequired
The fields to change; what is not sent is kept.
confirm_globalbooleanbodyoptional
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.
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.
Needs confirmation: first dry_run: true (preview and confirm_token, valid 10 minutes and for one run), then the same body with confirm_token. In a few operations only with certain data: the description says when. Why and how: Dry run and confirm_token.
Scope
crm:writeand “Allow deletions” (crm:delete in OAuth)
Permission
Edit in the module · CRM action: manage_assignment
MCP tool
crm_assignment_rules_deleteOn the full surface; on the compact one, mb_execute_operation with id: "crm.assignment_rules.delete".
Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota).