15 MCP tools.
List the current organization's consent audit records (opt-in / opt-out history) for email/SMS. Filter by channel, consent state, or identifier. Read-only and org-isolated.
- category
marketing (Campaign Management)- permissions
marketing.manage_consent
Parameters
channel : string (optional)- email | sms
consent_given : boolean (optional)- Filter to opt-ins (true) or opt-outs (false).
search : string (optional)- Substring match on the subject identifier.
limit : integer (optional)- (no description) — default:
50
Create a marketing web-to-lead Form from a spec. The form ALWAYS lands in DRAFT status (a human must publish it). fields_schema is a list of {key,type,label,required,map_to} where type is one of text|email|phone|textarea|select|checkbox|radio|hidden|consent and map_to (optional) is one of first_name|last_name|email|phone|company_name|title|source|notes.
- category
marketing (Campaign Management)- permissions
marketing.form.manage
Parameters
name : string- Form name (unique slug derived per org).
fields_schema : array (optional)- List of field defs (see description for grammar).
lead_target : string (optional)- crm | marketing (default crm). — default:
"crm" default_source : string (optional)- (no description) — default:
"web_form" slug : string (optional)- Override the auto-derived slug.
Get one marketing Form by id, including its field schema, anti-spam config, automation wiring, and submission counts (total + by status).
- category
marketing (Campaign Management)- permissions
marketing.form.view
Parameters
form_id : string- UUID of the Form.
List marketing Forms (web-to-lead capture forms) for the current organization. Optionally filter by status (DRAFT|PUBLISHED|ARCHIVED).
- category
marketing (Campaign Management)- permissions
marketing.form.view
Parameters
status : string (optional)- Filter by status: DRAFT | PUBLISHED | ARCHIVED.
limit : integer (optional)- (no description) — default:
50
List recent submissions for a marketing Form (filter by status), plus an aggregate count by status. Returns the validated raw payload, resolved Lead id, spam score, and consent flag per submission.
- category
marketing (Campaign Management)- permissions
marketing.form_submission.view
Parameters
form_id : string- UUID of the Form.
status : string (optional)- Filter by ACCEPTED | REJECTED | DUPLICATE.
limit : integer (optional)- (no description) — default:
50
Publish a marketing Landing Page: render its block list through the server-side allow-list HTML sanitizer (no script/style/on* survive), store the sanitized rendered_html snapshot, and set status PUBLISHED. The public page only ever serves this pre-sanitized snapshot.
- category
marketing (Campaign Management)- permissions
marketing.landing_page.publish
Parameters
landing_page_id : string- UUID of the Landing Page to publish.
Get a marketing lead's current behaviour score, demographic grade score and overall letter grade (A/B/C/D), plus the org's active scoring rubric. Read-only and org-isolated: leads from other organizations are never returned.
- category
marketing (Campaign Management)- permissions
marketing.manage_scoring
Parameters
lead_id : string- UUID of the marketing lead to grade.
Create a marketing Segment (audience/list). segment_type is STATIC, DYNAMIC, or HYBRID; DYNAMIC/HYBRID require a criteria DSL which is validated against the per-entity field catalog before creation.
- category
marketing (Campaign Management)- permissions
marketing.segment.create
Parameters
name : string- Segment name (unique per org among active segments).
segment_type : string (optional)- STATIC | DYNAMIC | HYBRID — default:
"STATIC" entity_type : string (optional)- MARKETING_LEAD | CRM_LEAD | CRM_CONTACT — default:
"MARKETING_LEAD" criteria : object (optional)- Criteria DSL (required for DYNAMIC/HYBRID).
description : string (optional)- (no description)
exclude_suppressed : boolean (optional)- (no description) — default:
true auto_refresh : boolean (optional)- (no description) — default:
true refresh_interval_min : integer (optional)- (no description) — default:
60
Trigger (re)materialization of a DYNAMIC/HYBRID marketing Segment: recompute its membership from the criteria DSL and update the snapshot (member_count, eval_status, last_evaluated_at). Returns the resulting snapshot.
- category
marketing (Campaign Management)- permissions
marketing.segment.evaluate
Parameters
segment_id : string- UUID of the Segment to evaluate.
Get one marketing Segment by id, including its materialization snapshot stats (member_count, eval_status, last_evaluated_at) and a live count of active memberships.
- category
marketing (Campaign Management)- permissions
marketing.segment.view
Parameters
segment_id : string- UUID of the Segment.
List and filter marketing Segments (audiences/lists) for the current organization. Filter by segment_type, entity_type, eval_status, or archived state.
- category
marketing (Campaign Management)- permissions
marketing.segment.view
Parameters
segment_type : string (optional)- STATIC | DYNAMIC | HYBRID
entity_type : string (optional)- MARKETING_LEAD | CRM_LEAD | CRM_CONTACT
eval_status : string (optional)- NEVER | PENDING | RUNNING | READY | FAILED
is_archived : boolean (optional)- Filter by archived state.
limit : integer (optional)- (no description) — default:
50
List the members of a marketing Segment (paginated, hydrated). Returns lightweight entity summaries (id, name, email) for each active membership, resolved from the segment's entity_type.
- category
marketing (Campaign Management)- permissions
marketing.segment.view
Parameters
segment_id : string- UUID of the Segment.
source : string (optional)- Filter by membership source: STATIC | DYNAMIC.
limit : integer (optional)- (no description) — default:
50 offset : integer (optional)- (no description) — default:
0
Send one SMS to a recipient for the current organization. Checks the do-not-contact (suppression) list FIRST and refuses if suppressed. Dispatches through the org's configured provider; defaults to a SANDBOX no-op (records intent, does not actually send) unless a live provider is configured. Org-isolated.
- category
marketing (Campaign Management)- permissions
marketing.send_sms
Parameters
to : string- Recipient phone number (E.164 preferred, e.g. +15551234567).
body : string- Message text to send.
from_number : string (optional)- Sending number; defaults to the org's configured from-number.
Add (suppress) a recipient on the current organization's do-not-contact list for a channel. Idempotent: re-adding an existing identifier reactivates it. Org-isolated.
- category
marketing (Campaign Management)- permissions
marketing.manage_consent
Parameters
identifier : string- Email address or phone number to suppress.
channel : string (optional)- email | sms — default:
"email" reason : string (optional)- unsubscribe | bounce | complaint | manual | gdpr_erase — default:
"manual" note : string (optional)- (no description)
List the current organization's email/SMS suppression (do-not-contact) entries. Filter by channel or reason. Read-only and org-isolated.
- category
marketing (Campaign Management)- permissions
marketing.manage_consent
Parameters
channel : string (optional)- email | sms
reason : string (optional)- unsubscribe | bounce | complaint | manual | gdpr_erase
search : string (optional)- Substring match on the suppressed identifier.
limit : integer (optional)- (no description) — default:
50