Lists the enrollments of a sequence (one per contact and pass through it), newest first, paginated by cursor (limit up to 200); filter by status (pending, active, paused, waiting_task, completed, exited, failed: one, or a list of them). Each item has the person id, the linked deal (deal_id, deal_title, deal_pipeline_id), the status, the current step, when the next step runs (next_action_at), why it is paused (pause_reason, pause_cause, pause_step_id) or how it ended (exit_reason), the email and WhatsApp counters, history_count and last_history (the last step the engine ran: step_id, executed_at, result and error_message when it failed; null if nothing ran yet). With include_step_results=true each item also has step_results, one row per step and result over the whole stored history ({step_id, result, count}); with include_person=true, person ({id, full_name, email}, or null if the person no longer exists), one read per person of the page. The full step history comes with crm.sequences.enrollments.get. A seller with restricted scope only sees the enrollments of persons they can see, so a page can bring fewer items than limit while has_more is true. Not found (sequence_not_found) if the sequence does not exist. Requires view access to the CRM.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_sequences_enrollments_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.list".
Custo declarado: até 403 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
sequence_idstringrotaobrigatório
The sequence: an id from crm.sequences.list.
limitintegerqueryopcional
How many items this page brings at most (see the maximum and the default in the schema).
Padrão: 25
cursorstringqueryopcional
The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.
statusenum | array<enum>queryopcional
Only the enrollments in this status, or in any of several: pending (waiting for the sequence to be activated), active, paused, waiting_task, completed, exited or failed.
Returns one sequence enrollment with its last 100 history entries (each step the engine ran: when, and the result such as sent, task_created, condition_evaluated, whatsapp_replied or error with error_message), besides its status, current step, pause reason and cause, exit reason, counters, last_history and person ({id, full_name, email}, or null if the person no longer exists). Use it to explain why a contact is paused or failed before resuming or retrying it. Not found (sequence_enrollment_not_found) if the id does not exist or, for a seller with restricted scope, the person is not one they can see. Requires view access to the CRM.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_sequences_enrollments_getNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.get".
Custo declarado: até 3 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
enrollment_idstringrotaobrigatório
The enrollment: an id from crm.sequences.enrollments.list (or crm.persons.enrollments.list).
Enroll contacts in a sequence (they may start receiving messages)
crm.sequences.enrollments.create
EscritaEm massa · até 200Desde 2026-11-01
Enrolls contacts in a sequence: send person_ids (up to 200 person ids) or list_id (every member of a CRM list, processed in batches of 200), not both. The bulk limit of 200 applies to person_ids: with list_id every current member of the list is enrolled, however many there are (the dry run says how many; members who join the list between the dry run and the confirmation are enrolled too); deal_id goes only with person_ids, links that deal (with its title and pipeline) to every enrollment and must be a deal of those persons. Persons already in progress in the sequence are skipped, and so are, for a seller with restricted scope, the persons they cannot see or whose deal they do not work. If the sequence is ACTIVE the engine sends them step 1 within minutes (honoring its wait, the schedule and the sending rules) and what is sent cannot be recalled; if it is inactive they wait as pending until crm.sequences.activate. start_at (optional, ISO 8601 with its time zone, e.g. 2026-10-12T10:37:00-03:00): a future one is the earliest time step 1 can go out (the engine picks the enrollments up then, and step 1's wait, the schedule and the sending rules apply from that time); a past one, up to 30 days back, counts step 1's wait from that time, so if the wait is already over step 1 goes out on the engine's next run, within the schedule. More than 30 days ahead or back is invalid_input (param start_at, with details.max_start_at or details.min_start_at), and on an inactive sequence any start_at is sequence_inactive (its contacts would all start together when it is activated and the time would be lost). To enroll ONE person, crm.sequences.enrollments.add does it in a single call. Sequences that link deals attach each person's most recent open deal. Outside the app it always runs in two steps: dry_run=true returns how many are enrolled and skipped, the first names and a confirm_token (10 minutes); then call again with the same input and that confirm_token. No webhook event is sent for enrollments yet. The declared cost is the worst case (a whole list); a call is charged what it really reads and writes. Errors: sequence_not_found, sequence_without_steps, list_not_found, deal_not_found, deal_not_of_person, invalid_input, sequence_inactive, crm_action_denied (enroll_in_sequence: a deal outside the seller's scope). Returns enrolled, skipped, deal_linked, total and, with start_at, start_at (ms). Requires enroll_in_sequence (every member except viewers).
Instruções para agentes
Run the dry run first and tell the person how many contacts will be enrolled and whether the sequence is active (then they start receiving messages); enroll them only after they confirm.
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: enroll_in_sequence
Tool do MCP
crm_sequences_enrollments_createNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.create".
Custo declarado: até 30001 leituras e 5001 escritas por chamada (contam na cota diária).
Parâmetros
sequence_idstringrotaobrigatório
The sequence: an id from crm.sequences.list.
person_idsarray<string>corpoopcional
The people to enroll (up to 200): ids from crm.persons.list. Send person_ids or list_id, not both.
list_idstringcorpoopcional
A CRM list whose members are enrolled, all of them: an id from crm.lists.list. Send person_ids or list_id, not both.
deal_idstring | ""corpoopcional
The deal the enrollment works on: an id from crm.deals.list of one of the person's deals. Without it, sequences that link deals take the person's most recent open deal. Only with person_ids.
start_atstring (date-time)corpoopcional
When the first step may go out, ISO 8601 with its time zone (2026-10-12T10:37:00-03:00 or …Z), up to 30 days ahead or back: a future time holds the first step until then; a past one counts the first step's wait from that time. Without it, now.
Takes one contact out of a sequence (exit_reason manual): they get no more steps; a CRM task the sequence already created stays for the seller. Only an enrollment in progress (pending, active, paused or waiting for a task) can exit: otherwise sequence_enrollment_status_conflict. No webhook event is sent for it yet. Allowed to the sequence's author, the person's owner, Managers and admins (crm_action_denied manage_sequences otherwise). Requires full access to the CRM.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_sequences_enrollments_exitNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.exit".
Custo declarado: até 3 leituras e 2 escritas por chamada (contam na cota diária).
Parâmetros
enrollment_idstringrotaobrigatório
The enrollment: an id from crm.sequences.enrollments.list (or crm.persons.enrollments.list).
reasonenumcorpoopcional
Why the contact leaves: manual (the only value; it is recorded as exit_reason).
EscritaEm massa · até 200IdempotenteDesde 2026-11-01
Takes up to 200 contacts out of one sequence at once (exit_reason manual). Ids that are not enrollments in progress of THAT sequence (another sequence, finished, or not found) are skipped without touching them. Allowed to the sequence's author, Managers and admins. Bulk: outside the screen it requires a dry run (how many exit and how many are skipped) and a confirm_token. Returns exited. Requires full access to the CRM.
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
Tool do MCP
crm_sequences_enrollments_bulk_exitNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.bulk.exit".
Custo declarado: até 201 leituras e 201 escritas por chamada (contam na cota diária).
Parâmetros
sequence_idstringrotaobrigatório
The sequence: an id from crm.sequences.list.
enrollment_idsarray<string>corpoobrigatório
The enrollments of that sequence that leave (up to 200): ids from crm.sequences.enrollments.list.
Pauses one active contact in a sequence: the engine skips them until they are resumed with crm.sequences.enrollments.resume (activating the sequence does not resume a pause made by hand). Only an active enrollment can be paused: otherwise sequence_enrollment_status_conflict. Allowed to the sequence's author, the person's owner, Managers and admins (crm_action_denied manage_sequences otherwise). Requires full access to the CRM.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_sequences_enrollments_pauseNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.pause".
Custo declarado: até 3 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
enrollment_idstringrotaobrigatório
The enrollment: an id from crm.sequences.enrollments.list (or crm.persons.enrollments.list).
Resume one paused contact (their next step may send right away)
crm.sequences.enrollments.resume
EscritaDesde 2026-11-01
Resumes one paused contact (paused by hand, by the engine or by a configuration problem) and clears the pause reason: the engine runs their pending step within minutes (if step 1 has not run yet, its wait keeps counting from when they were enrolled or from their start_at, not from the resume), so an email or WhatsApp message may go out right away. Only a paused enrollment can be resumed: otherwise sequence_enrollment_status_conflict. Outside the app it needs a dry run and its confirm_token. Allowed to the sequence's author, the person's owner, Managers and admins (crm_action_denied manage_sequences otherwise). Requires full access to the CRM.
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
Tool do MCP
crm_sequences_enrollments_resumeNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.resume".
Custo declarado: até 3 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
enrollment_idstringrotaobrigatório
The enrollment: an id from crm.sequences.enrollments.list (or crm.persons.enrollments.list).
Retries a failed enrollment: it goes back to active in the same step that failed and the engine tries that step again within minutes, with a fresh error streak. Use it after fixing the cause (the WhatsApp line, the template, the sender). Only a failed enrollment can be retried (sequence_enrollment_status_conflict), and only in an active sequence (sequence_inactive). Outside the app it needs a dry run and its confirm_token. Allowed to the sequence's author, the person's owner, Managers and admins (crm_action_denied manage_sequences otherwise). Requires full access to the CRM.
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
Tool do MCP
crm_sequences_enrollments_retryNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.retry".
Custo declarado: até 3 leituras e 2 escritas por chamada (contam na cota diária).
Parâmetros
enrollment_idstringrotaobrigatório
The enrollment: an id from crm.sequences.enrollments.list (or crm.persons.enrollments.list).
Resume every contact paused by a configuration problem
crm.sequences.enrollments.resume_paused
EscritaEm massa · até 1IdempotenteDesde 2026-11-01
Resumes at once every contact the engine paused in a sequence because of a configuration problem (pause_reason config_error; only the ones paused at step_id, if sent) and closes the health warnings of those steps: they get their pending step within minutes. If the configuration is still broken they pause again on the next run and the warning comes back. Contacts paused by hand are not touched. Only for an active sequence (sequence_inactive). Outside the app it runs in two steps, like a bulk operation: dry_run=true returns how many resume and a confirm_token. Returns resumed. Allowed to the sequence's author, Managers and admins. Requires full access to the CRM.
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
Tool do MCP
crm_sequences_enrollments_resume_pausedNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.resume_paused".
Custo declarado: até 2001 leituras e 2001 escritas por chamada (contam na cota diária).
Parâmetros
sequence_idstringrotaobrigatório
The sequence: an id from crm.sequences.list.
step_idstringcorpoopcional
Only the contacts paused at this step: a step id from crm.sequences.get (or the step_id of a crm.sequences.health.list issue). Without it, all the paused ones.
Enroll one person in a sequence (optional start time)
crm.sequences.enrollments.add
EscritaDesde 2026-11-01
Enrolls ONE person in a sequence: person_id, optionally deal_id (a deal of that person, saved with its title and pipeline; for a seller with restricted scope, one they work) and start_at. If the sequence is ACTIVE the engine sends their step 1 from now, or from start_at (ISO 8601 with its time zone, e.g. 2026-10-12T10:37:00-03:00): a future one is the earliest time step 1 can go out (step 1's wait, the schedule and the sending rules apply from that time); a past one, up to 30 days back, counts step 1's wait from that time, so if the wait is already over step 1 goes out on the engine's next run, within the schedule. What is sent cannot be recalled; if the sequence is inactive they wait as pending until crm.sequences.activate. More than 30 days ahead or back is invalid_input (param start_at, with details.max_start_at or details.min_start_at); any start_at on an inactive sequence is sequence_inactive. Sequences that link deals attach their most recent open deal when no deal_id is sent. If they are already in progress in the sequence nothing is written and it returns enrolled false with reason already_enrolled and that enrollment (enrollment_id, status, next_action_at); for a seller with restricted scope, a linked deal they do not work returns enrolled false with reason out_of_scope. Otherwise it returns enrolled true, enrollment_id, status (active or pending), next_action_at (ms; null while pending; with a past start_at it can be a past time: the engine takes them on its next run) and deal_id. No webhook event is sent for enrollments yet. Errors: sequence_not_found, person_not_found (also a person a seller with restricted scope cannot see), sequence_without_steps, deal_not_found, deal_not_of_person, invalid_input, sequence_inactive, crm_action_denied (enroll_in_sequence). Requires enroll_in_sequence (every member except viewers). To enroll many people at once use crm.sequences.enrollments.create. add is the path for one lead at a time, with a small declared cost; since it leaves the sequence writing to that person, outside the app it runs in two steps like create: dry_run=true checks the sequence, the person and the deal and returns a confirm_token (10 minutes), then call again with the same input and that confirm_token. With an active sequence it starts sending, so ask the person first when they did not ask for it.
Instruções para agentes
Tell the person which sequence and whether it is active (then they start receiving its messages from now or from start_at); enroll only after they agree.
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: enroll_in_sequence
Tool do MCP
crm_sequences_enrollments_addNa superfície completa; na compacta, mb_execute_operation com id: "crm.sequences.enrollments.add".
Custo declarado: até 25 leituras e 2 escritas por chamada (contam na cota diária).
Parâmetros
sequence_idstringrotaobrigatório
The sequence: an id from crm.sequences.list.
person_idstringcorpoobrigatório
The person to enroll: an id from crm.persons.list.
deal_idstring | ""corpoopcional
The deal the enrollment works on: an id from crm.deals.list of one of the person's deals. Without it, sequences that link deals take the person's most recent open deal.
start_atstring (date-time)corpoopcional
When the first step may go out, ISO 8601 with its time zone (2026-10-12T10:37:00-03:00 or …Z), up to 30 days ahead or back: a future time holds the first step until then; a past one counts the first step's wait from that time. Without it, now.