Lists the org's lead sources (Meta, Google, TikTok, LinkedIn, WhatsApp, generic webhooks, forms, bookings, DMs, manual, the API source), newest first, with their destination, routing defaults, field mapping, AI scoring, health, stats and the account or line each one is bound to; filters by type and active_only; paginated by cursor (limit up to 200, default 50). The webhook URL comes only for generic sources. The secret never comes in the list: crm.lead_sources.get brings it, only for who can manage sources and never through the MCP. With Google Ads, LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted, and their records or fields are left out of the response (the permissions guide lists what each platform allows).
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_lead_sources_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.list".
Custo declarado: até 1001 leituras e 0 escritas por chamada (contam na cota diária).
Returns a lead source with its destination (prospect or deal), default pipeline, stage and labels, currency, field mapping, dedup strategy, AI scoring, health, stats and the account or line it is bound to. The webhook URL comes only for a generic source; the secret only for who can manage sources and never through the MCP. Not found for deleted sources. With Google Ads, LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted, and their fields are left out of the response (the permissions guide lists what each platform allows).
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_lead_sources_getNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.get".
Custo declarado: até 2 leituras e 0 escritas por chamada (contam na cota diária).
Creates a lead source of type generic (an inbound webhook: Make, Zapier, ManyChat, a site form or any system POSTs JSON to its webhook_url, signed with its secret) or manual (a bucket for leads loaded by hand or with crm.leads.ingest and its source_id). Sets where leads go (prospect inbox or a pipeline deal), the field mapping from each incoming JSON field to a CRM field (person.email, person.phone, person.firstName, person.lastName, company.website, deal.title, deal.value, cf:<custom field slug>, custom:<key>), the default pipeline, stage, labels and currency, the dedup strategy and AI scoring. A generic source must map at least one field to person.email or person.phone. The pipeline, stage, labels and mapped fields must exist (a deal source needs its pipeline; without a stage, its first one). AI scoring of each lead consumes AI credits and stays off unless ai_qualification.enabled is sent true. Sources on a WhatsApp line, on Social Inbox accounts (DMs) or on a booking page are created with crm.lead_sources.create_whatsapp, create_social_dm and create_booking; the source of an MB Suite web form with web_forms.forms.link_crm and create_source (it creates it and links the form); Meta, Google, TikTok and LinkedIn sources by their own integration in the app. Returns the webhook URL and the secret of a generic source (the secret only outside the MCP: through the MCP it comes back empty and the person reads or regenerates it in the app, CRM → Settings → Lead sources); a manual source has neither. Requires manage_sources.
Instruções para agentes
Give the person the webhook_url and the webhook_secret now: the sending system must POST the lead as JSON to webhook_url with the header X-Webhook-Signature set to the hex HMAC-SHA256 of the raw body, keyed with the secret. If webhook_secret comes back empty you are on the MCP: tell the person to copy the secret from the source's page in the app (it is never sent through a chat). A manual source has no webhook: its leads come with crm.leads.ingest and its source_id.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_createNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.create".
Custo declarado: até 0 leituras e 2 escritas por chamada (contam na cota diária).
Parâmetros
namestringcorpoobrigatório
The source's name, up to 200 characters.
destinationenumcorpoobrigatório
Where each lead goes: prospect (the prospects inbox) or deal (a deal in default_pipeline_id).
Valores: deal, prospect
typeenumcorpoobrigatório
generic (a webhook: the sending system POSTs leads to webhook_url, signed with webhook_secret) or manual (leads you load with crm.leads.ingest or the app). WhatsApp, social DM and booking sources have their own create operations; an MB Suite web form gets its source with web_forms.forms.link_crm and create_source; ad platforms are connected in the app.
Valores: generic, manual
is_activebooleancorpoopcional
Whether it receives leads from now on (default true).
Padrão: true
field_mappingarray<object>corpoopcional
How each incoming field maps to a CRM field, up to 50; a generic source maps at least one to person.email or person.phone.
Padrão: []
default_pipeline_idstringcorpoopcional
Pipeline where the source's deals are created (crm.pipelines.list); required when destination is deal.
default_stage_idstringcorpoopcional
Stage of that pipeline for new deals (crm.pipelines.get); default: its first stage.
default_label_idsarray<string>corpoopcional
Labels put on each new deal or prospect, up to 20: ids from crm.labels.list with the entity of the destination (deal or prospect).
Padrão: []
default_currencystringcorpoopcional
Currency of the deals when the lead brings none (ISO 4217; default USD).
deduplicationenumcorpoopcional
What happens when the person already exists: merge (update them and add the lead), create_activity (only log it), notify (log it and notify the owner) or skip (discard it).
Updates a lead source's name, active flag, destination (prospect or deal), field mapping, default pipeline and stage, default labels, currency, dedup strategy (merge, create_activity, notify, skip) or AI scoring flag, inside updates; what is not sent is kept. The routing that results is validated like at creation (pipeline, stage of that pipeline, labels of the destination, mapped fields). The system sources (Manual, API) only accept the routing defaults and AI scoring. A generic source must keep a field mapped to person.email or person.phone. It does not change which page, ad account, forms or booking a source is bound to: that is done from its integration in the app; a DM source is edited whole with crm.lead_sources.update_social_dm. Requires manage_sources. With Google Ads or LinkedIn, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.update".
Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).
Deletes a lead source: it stops receiving leads at once, and the prospects, deals and conversations that came through it keep naming it. If it is the last source bound to a Meta page (in any organization) or to a TikTok advertiser, that page or advertiser is also unsubscribed from the platform's lead webhook. Deleting a WhatsApp source frees its line for a new source; the line itself keeps working (Messages, the Setter and the other modules that use it). The source goes to the 30-day trash. The system sources (Manual, API) cannot be deleted. Requires manage_sources. With TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).
Com uma API key, este DELETE roda direto: o registro fica 30 dias na lixeira e a resposta traz o seu trash_item_id. Com um token OAuth, e pelo MCP, pede dry_run → confirm_token.
Escopo
crm:writee «Permitir exclusões» (crm:delete no OAuth)
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_deleteNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.delete".
Custo declarado: até 60 leituras e 2 escritas por chamada (contam na cota diária).
Parâmetros
source_idstringrotaobrigatório
The lead source's id, from crm.lead_sources.list.
Resposta
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.
Pauses a lead source: new leads stop entering (platform webhooks keep arriving and are discarded; the connection is not touched, so reactivating needs no reconnection). Pausing a source the system paused because its integration was disconnected turns it into a manual pause. The system sources (Manual, API) cannot be paused. Idempotent. Requires manage_sources.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_pauseNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.pause".
Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).
curl-X POST "https://api.mb-suite.com/v1/crm/lead-sources/{source_id}/pause" \
-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-X POST "https://api.mb-suite.com/v1/crm/lead-sources/{source_id}/pause" \
-H"Authorization: Bearer $MB_TEST_KEY"
POST/v1/crm/lead-sources/{source_id}/reactivate
Reactivate a paused lead source
crm.lead_sources.reactivate
EscritaIdempotenteDesde 2026-11-01
Reactivates a paused lead source so new leads enter again. If the system had paused it because its integration was disconnected, reactivating also recovers in the background the Meta or TikTok leads that arrived during the pause (Google and LinkedIn catch up on their next poll); those recovered leads enter like any other. A WhatsApp line has one active source: reactivating a WhatsApp source whose line got another active source meanwhile fails with 409 lead_source_exists. Idempotent. Requires manage_sources. With Google Ads, LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_reactivateNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.reactivate".
Set who is notified of unassigned leads from a source
crm.lead_sources.update_no_rule_recipients
EscritaIdempotenteDesde 2026-11-01
Chooses who gets the 'Lead received' notice (bell and email) for leads of this source that no assignment rule gives an owner: up to 10 people with access to the organization, never AI agents. An empty list goes back to the default, the account owner. Works on every source, including the system Manual source. Idempotent. Requires manage_sources.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_update_no_rule_recipientsNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.update_no_rule_recipients".
Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
source_idstringrotaobrigatório
The lead source's id, from crm.lead_sources.list.
user_idsarray<string>corpoobrigatório
Up to 10 people with access to the organization (user ids from members.members.list or crm.team.list, never AI agents); empty goes back to the account owner.
Set whether a returning contact opens new business
crm.lead_sources.update_returning_contact
EscritaIdempotenteDesde 2026-11-01
Turns on or off 'every returning contact is new business' for a source: when on, a contact with closed history (a won or lost deal, an archived prospect) who comes back through this source opens a new prospect instead of returning to the closed record; open records are reused as always. Off is the default behavior. Works on every source, including the system Manual source. Idempotent. Requires manage_sources.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_update_returning_contactNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.update_returning_contact".
Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
source_idstringrotaobrigatório
The lead source's id, from crm.lead_sources.list.
enabledbooleancorpoobrigatório
true: a returning contact with closed history opens a new prospect.
Turn AI scoring on or off for several lead sources
crm.lead_sources.bulk.update_ai_qualification
EscritaEm massa · até 100IdempotenteDesde 2026-11-01
Turns automatic AI scoring on or off for up to 100 lead sources at once: with it off, the AI qualification of new and re-scored leads skips those sources (the manual Recalculate button still works). Works on system sources too. Ids that are not sources of the organization are skipped and returned in not_found_ids. Outside the app it runs as a dry run first and needs the confirm_token. Requires manage_sources.
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
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_bulk_update_ai_qualificationNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.bulk.update_ai_qualification".
Custo declarado: até 100 leituras e 100 escritas por chamada (contam na cota diária).
Parâmetros
source_idsarray<string>corpoobrigatório
Up to 100 source ids from crm.lead_sources.list.
enabledbooleancorpoobrigatório
true turns AI scoring on (it consumes AI credits per lead), false off.
Creates the lead source of a WhatsApp line that is already connected (from crm.whatsapp.lines.available): every new chat on that number enters the CRM as a lead with the source's destination (prospect inbox or a pipeline deal), default pipeline, stage and labels, dedup strategy (merge, create_activity, notify, skip) and AI scoring. The pipeline, stage and labels must exist (a deal source needs its pipeline; without a stage, its first one). AI scoring of each lead consumes AI credits and stays off unless ai_qualification.enabled is sent true. It does not touch Meta: the line already brings its WhatsApp Business account and its webhook. Only CRM lines (409 whatsapp_line_not_crm), subscribed ones (409 whatsapp_line_not_subscribed) and one active source per line (409 lead_source_exists, details.lead_source_id). 404 external_account_not_linked when the line does not exist here. Delete it with crm.lead_sources.delete (the line keeps working for Messages, the Setter and the other modules that use it). Requires manage_sources.
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_create_whatsappNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.create_whatsapp".
Custo declarado: até 2 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
namestringcorpoobrigatório
The source's name, up to 200 characters.
whatsapp_line_idstringcorpoobrigatório
The WhatsApp line (its phone number id), from crm.whatsapp.lines.available: it must be a CRM line already connected and without another active source.
destinationenumcorpoobrigatório
Where each lead goes: prospect (the prospects inbox) or deal (a deal in default_pipeline_id).
Valores: deal, prospect
deduplicationenumcorpoopcional
What happens when the person already exists: merge (update them and add the lead), create_activity (only log it), notify (log it and notify the owner) or skip (discard it).
Creates a lead source fed by direct messages of Social Inbox accounts of one platform (instagram, facebook for Messenger, tiktok): with dm_ingest_mode all, every new DM conversation from now on enters the CRM as a lead; with rules_only, only the ones the Social Inbox rules send. The lead follows the source's destination (prospect inbox or a pipeline deal), default pipeline and stage, dedup strategy and AI scoring (it consumes AI credits per lead). The pipeline, stage and labels must exist (a deal source needs its pipeline; without a stage, its first one). account_ids are the Social Inbox accounts of that platform (404 external_account_not_linked, details.platform, when one is not connected there). Requires manage_sources and edit access to the Social Inbox (and, with a key or an app, the social_inbox:write scope too).
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_create_social_dmNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.create_social_dm".
Custo declarado: até 6 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
namestringcorpoobrigatório
The source's name (only spaces: the default name of the platform's DM source).
account_idsarray<string>corpoobrigatório
The Social Inbox accounts of that platform whose DMs feed the source (connected in the Social Inbox).
dm_ingest_modeenumcorpoobrigatório
all: every new DM conversation enters as a lead (from the moment it is turned on); rules_only: only the ones the Social Inbox rules send.
Valores: all, rules_only
destinationenumcorpoobrigatório
Where each lead goes: prospect (the prospects inbox) or deal (a deal in default_pipeline_id).
Valores: deal, prospect
deduplicationenumcorpoobrigatório
What happens when the person already exists: merge (update them and add the lead), create_activity (only log it), notify (log it and notify the owner) or skip (discard it).
Valores: merge, create_activity, notify, skip
ai_qualificationobjectcorpoobrigatório
AI scoring of the source's leads.
platformenumcorpoobrigatório
instagram, facebook (Messenger) or tiktok.
Valores: instagram, facebook, tiktok
default_pipeline_idstringcorpoopcional
Pipeline where the source's deals are created (crm.pipelines.list); required when destination is deal.
default_stage_idstringcorpoopcional
Stage of that pipeline for new deals (crm.pipelines.get); default: its first stage.
Resposta
idstring
source_idstring
The same id (every creation of a source returns both).
Updates a DM lead source: its Social Inbox accounts, ingest mode, destination, default pipeline and stage, dedup strategy and AI scoring (send them all, as the source's dialog does). The pipeline, stage and labels must exist (a deal source needs its pipeline; without a stage, its first one). The platform does not change. Switching to dm_ingest_mode all for the first time sets the point from which conversations enter; later changes never re-import older ones. The system DM sources keep their name. 404 lead_source_not_found for a source that is not a DM source of this organization. Requires manage_sources and edit access to the Social Inbox (and, with a key or an app, the social_inbox:write scope too).
Escopo
crm:write
Permissão
Editar no módulo · Ação do CRM: manage_sources
Tool do MCP
crm_lead_sources_update_social_dmNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.update_social_dm".
Custo declarado: até 7 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
source_idstringrotaobrigatório
The DM lead source's id, from crm.lead_sources.list (types instagram_dm, facebook_dm, tiktok_dm).
namestringcorpoobrigatório
The source's name (only spaces: the default name of the platform's DM source).
account_idsarray<string>corpoobrigatório
The Social Inbox accounts of that platform whose DMs feed the source (connected in the Social Inbox).
dm_ingest_modeenumcorpoobrigatório
all: every new DM conversation enters as a lead (from the moment it is turned on); rules_only: only the ones the Social Inbox rules send.
Valores: all, rules_only
destinationenumcorpoobrigatório
Where each lead goes: prospect (the prospects inbox) or deal (a deal in default_pipeline_id).
Valores: deal, prospect
deduplicationenumcorpoobrigatório
What happens when the person already exists: merge (update them and add the lead), create_activity (only log it), notify (log it and notify the owner) or skip (discard it).
Valores: merge, create_activity, notify, skip
ai_qualificationobjectcorpoobrigatório
AI scoring of the source's leads.
default_pipeline_idstringcorpoopcional
Pipeline where the source's deals are created (crm.pipelines.list); required when destination is deal.
default_stage_idstringcorpoopcional
Stage of that pipeline for new deals (crm.pipelines.get); default: its first stage.
Creates the lead source of a person's public booking page: each confirmed booking of that person (of one event type, event_type_id, or of all of them with all_event_types, also the ones published later) enters the CRM as a lead with the source's destination, default pipeline, stage and labels, field mapping of the booking form, dedup strategy and AI scoring; with use_assignment_rules the assignment rules choose the owner, otherwise it goes to that person. The pipeline, stage and labels must exist (a deal source needs its pipeline; without a stage, its first one). AI scoring of each lead consumes AI credits and stays off unless ai_qualification.enabled is sent true. Returns the id as source_id and id. One active source per event type and one all-event-types source per person (409 lead_source_exists). Errors: 400 event_type_required, 404 vendor_not_found (vendor_user_id is not a person of this organization), 404 event_type_not_found, 400 event_type_not_of_vendor. Requires full access to the CRM (manage_sources is not needed: a seller sets up the source of their own booking page).
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_lead_sources_create_bookingNa superfície completa; na compacta, mb_execute_operation com id: "crm.lead_sources.create_booking".
Custo declarado: até 52 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
namestringcorpoobrigatório
The source's name, up to 200 characters.
vendor_user_idstringcorpoobrigatório
The person whose booking page this source binds (a member of the organization: crm.booking.settings.list).
destinationenumcorpoobrigatório
Where each lead goes: prospect (the prospects inbox) or deal (a deal in default_pipeline_id).
Valores: deal, prospect
event_type_idstringcorpoopcional
One of that person's event types (crm.booking.event_types.list); omit it and send all_event_types true to cover all of them, also future ones.
all_event_typesbooleancorpoopcional
true: every event type of the person, also the ones published later (then omit event_type_id).
Padrão: false
use_assignment_rulesbooleancorpoopcional
true: the lead is assigned by the assignment rules; false: to the person whose booking it is.
Padrão: false
deduplicationenumcorpoopcional
What happens when the person already exists: merge (update them and add the lead), create_activity (only log it), notify (log it and notify the owner) or skip (discard it).