MCP tools: remote-outreach-sequences
remote-outreach-sequences
Registered when: the two outreach flags + outreach.sequences (on by default); template and sequence writing and start/pause reach only an assistant turn acting for a person (never a key); the person confirms each write.
outreach_enrol
Enrol ONE CRM contact in a sequence (call once per contact; one by one, never a bulk list). senderId is the owner's own connected mailbox that sends it: use pipeline.mailbox from outreach_sequence_readiness, or ask the person which of their connected mailboxes. The route refuses (denied: true, with a reason) a suppressed or do-not-contact contact, one without a recorded published-contact basis (record it with outreach_record_contact_basis, only with a real source), or a status that blocks it; report the reason, do not work around it. Enrolling schedules nothing that sends: each step still needs the permit gate and the owner's approval. Safe to repeat (an existing enrolment is returned).
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
sequenceId | string | yes | Sequence id (uuid). |
contactId | string | yes | |
senderId | string | yes | The owner's connected mailbox address this sequence sends from. |
companyId | string | no | |
dealId | string | no | |
maxFollowUps | integer | no |
Example call:
{"name":"outreach_enrol","arguments":{"orgId":"<orgId>","sequenceId":"<sequenceId>","contactId":"<contactId>","senderId":"<senderId>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis.
outreach_enrolment_cancel
Cancel ONE contact's enrolment for good, with a short reason (queued follow-ups for them are cancelled too).
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
enrolmentId | string | yes | |
reason | string | yes |
Example call:
{"name":"outreach_enrolment_cancel","arguments":{"orgId":"<orgId>","enrolmentId":"<enrolmentId>","reason":"<reason>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis.
outreach_enrolment_pause
Pause ONE contact's enrolment (nothing more goes to them until a person resumes it in GoodQA). Making things safer is always allowed.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
enrolmentId | string | yes | |
reason | string | no |
Example call:
{"name":"outreach_enrolment_pause","arguments":{"orgId":"<orgId>","enrolmentId":"<enrolmentId>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis.
outreach_get_sequence
Read one sequence and its steps. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
sequenceId | string | yes | Sequence id (uuid). |
Example call:
{"name":"outreach_get_sequence","arguments":{"orgId":"<orgId>","sequenceId":"<sequenceId>"}}
Related: outreach_list_sequences, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis, outreach_enrol.
outreach_list_sequences
List this org's outreach sequences with their steps (template, wait, branches). Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
Example call:
{"name":"outreach_list_sequences","arguments":{"orgId":"<orgId>"}}
Related: outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis, outreach_enrol.
outreach_pause
PAUSE a sequence's pipeline: nothing further is released for any contact in it until it is started again. Owner only.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
sequenceId | string | yes | Sequence id (uuid). |
Example call:
{"name":"outreach_pause","arguments":{"orgId":"<orgId>","sequenceId":"<sequenceId>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis.
outreach_record_contact_basis
Record WHY a contact may be emailed, which enrolment requires: they published their business contact details themselves (contactBasis published_business_contact), the https page where they did (publishedSourceUrl), and why their published role fits this message (roleRelevance, 10-300 characters). Only record a source you actually saw; never guess, never for a scraped or bought list. If you have no real source, say so and do not enrol.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
contactId | string | yes | |
contactBasis | string | yes | |
publishedSourceUrl | string | yes | |
roleRelevance | string | yes |
Example call:
{"name":"outreach_record_contact_basis","arguments":{"orgId":"<orgId>","contactId":"<contactId>","contactBasis":"<contactBasis>","publishedSourceUrl":"<publishedSourceUrl>","roleRelevance":"<roleRelevance>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_enrol.
outreach_sequence_create
Create a follow-up SEQUENCE: an ordered list of steps, each an APPROVED template version (templateId@version) and how long to wait. It sends nothing by itself: contacts must be enrolled, the owner must create a pipeline for it with their own connected mailbox and start it, and every message still needs the owner's approval. Typical: 3 steps, waits of 0, 3 and 7 days. The organization follow-up limit (default 1 follow-up after the first email; an admin can raise it to 3 in Outreach settings) is applied when steps are released, and outreach_sequence_readiness warns when a sequence is longer than the limit. Tiered mode asks the person to confirm before saving; owner-enabled Bypass mode records the write without a confirmation card.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
name | string | yes | |
channel | string | no | email (default). |
steps | object[] | yes |
Example call:
{"name":"outreach_sequence_create","arguments":{"orgId":"<orgId>","name":"<name>","steps":[]}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_record_contact_basis, outreach_enrol.
outreach_sequence_enrolments
Who is enrolled in a sequence and how far each has got (status, and per step: pending / queued / sent, when due). Names and ids only, no address or message text. Filter by status (active, paused, completed, cancelled). Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
sequenceId | string | yes | Sequence id (uuid). |
status | "active" \ | "paused" \ | "completed" \ |
limit | integer | no |
Example call:
{"name":"outreach_sequence_enrolments","arguments":{"orgId":"<orgId>","sequenceId":"<sequenceId>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis, outreach_enrol.
outreach_sequence_readiness
Can this sequence start? Answers its state (no_pipeline, paused, running), the pipeline and the mailbox it sends from, and EVERY blocker at once (no pipeline yet, mailbox not connected, owner's responsibility checkbox not ticked, a template not approved) each with what to do about it, plus warnings (nobody enrolled, email switched off or in dry-run). Call it before you promise that anything will send. Read-only.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
sequenceId | string | yes | Sequence id (uuid). |
Example call:
{"name":"outreach_sequence_readiness","arguments":{"orgId":"<orgId>","sequenceId":"<sequenceId>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis, outreach_enrol.
outreach_start
START a sequence: turn its pipeline on so due steps can go through the permit gate and the owner's approvals. Only the organization OWNER can start, from their own connected mailbox: the owner's responsibility checkbox (Settings > Email connections) must be ticked and the pipeline's mailbox connected and accepted. If anything is missing the answer is outreach_start_blocked with EVERY blocker and the fix for each: tell the person exactly that, do not try another way. Check outreach_sequence_readiness first; starting only makes sense with at least one contact enrolled. Tiered mode asks the person to confirm before starting; owner-enabled Bypass mode records the start without a confirmation card. Mailbox, risk acceptance and per-message approval gates still apply in both modes.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
sequenceId | string | yes | Sequence id (uuid). |
Example call:
{"name":"outreach_start","arguments":{"orgId":"<orgId>","sequenceId":"<sequenceId>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis.
outreach_template_create
Write a DRAFT outreach template: name, channel (default email), subject, body, and the slots its {{placeholders}} use (every placeholder must be a declared slot: letter first, then letters, digits or _; e.g. firstName, company). A draft sends nothing and can not be used in a sequence until an organization admin approves that version in GoodQA (Settings > Templates). Tell the person that. Tiered mode asks the person to confirm before saving; owner-enabled Bypass mode records the write without a confirmation card. Write it as one person writing to one person: published business contacts only, never a bulk blast.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
name | string | yes | |
channel | string | no | email (default), linkedin, ... |
subject | string | no | One line, no line break. Required for email before it can be sent. |
body | string | yes | |
slots | string[] | no | Names of the placeholders the body and subject use, e.g. ["firstName","company"]. |
folder | string | no |
Example call:
{"name":"outreach_template_create","arguments":{"orgId":"<orgId>","name":"<name>","body":"<body>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_new_version, outreach_sequence_create, outreach_record_contact_basis, outreach_enrol.
outreach_template_new_version
Write a NEW draft version of an existing template (an approved version is frozen and can not be edited). The new version needs an admin to approve it before a sequence can use it. Tiered mode asks the person to confirm first; owner-enabled Bypass mode records the write without a confirmation card.
| Parameter | Type | Required | Description |
|---|---|---|---|
orgId | string | yes | Organization id (uuid); every result echoes it. |
templateId | string | yes | The template id (the part of the ref before @). |
body | string | yes | |
subject | string | no | |
slots | string[] | no | |
name | string | no |
Example call:
{"name":"outreach_template_new_version","arguments":{"orgId":"<orgId>","templateId":"<templateId>","body":"<body>"}}
Related: outreach_list_sequences, outreach_get_sequence, outreach_sequence_enrolments, outreach_sequence_readiness, outreach_template_create, outreach_sequence_create, outreach_record_contact_basis, outreach_enrol.