What a connected assistant can do
Read your workspace
Run deterministic checks
Manage contacts and lists
Build campaigns, flows and coupons
Read and write access
Every connection carries a scope, and the scope decides which tools the client ever sees.Your workspace role still applies
Write scope is a ceiling, not a grant. On top of it, the assistant acts as you, with your role in the workspace you picked.- Viewer. No write tools at all, even on a connection that was granted write scope.
- Editor or designer. Content and audience write tools.
- Owner or admin. Everything, plus the four workspace-level tools: verify a sending domain, add a From address, add a From name, and update sending preferences.
Connect a client
Open the MCP settings
Copy the Server URL and client config
Add it to your MCP client
Sign in and pick a workspace
Ask it to do something
Client configuration
Most desktop clients use themcp-remote bridge, which handles the OAuth flow for you:
How authentication works
The server speaks JSON-RPC over HTTP POST at the Server URL, and implements the MCP authorization spec.Protocol versions
Protocol versions
2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05, so both older and
newer clients connect. A client that asks for anything else is answered with
2025-06-18, the default.Discovery
Discovery
401 and a
WWW-Authenticate header pointing at the resource metadata. Clients read
/.well-known/oauth-protected-resource and
/.well-known/oauth-authorization-server to find the authorization, token
and registration endpoints. Nothing needs to be configured by hand.Registration and PKCE
Registration and PKCE
S256 challenge method is required on every authorization request. A client
that does not send one is refused.Consent and workspace choice
Consent and workspace choice
Tokens and timing
Tokens and timing
Limits
Limits
Managing connections
Every connected client is listed under Connected assistants in Settings → MCP · AI access, with the workspace it is attached to and when it was last used. Press Revoke on any row and confirm. Access stops immediately, and that client has to go through the whole browser flow again to come back. Connecting and revoking are both written to your workspace Audit Log, along with a separate entry for every change an assistant makes, so you can always tell which actions came from an AI client rather than from someone using the app.Safety limits
What the server will not do, by design:- No tool returns a secret. API keys, integration credentials, DKIM signing material and raw webhook payloads are not readable through any tool.
- No tool can cross workspaces. The workspace is fixed at consent time and is never something the model supplies, so an assistant cannot be talked into reading a different one.
- No raw send tool. There is no way to blast a message to an arbitrary list. Sending happens only by scheduling a real campaign or publishing a real flow, both of which run the full pipeline.
- No file upload from chat. The assistant cannot read a spreadsheet you paste into your AI client. For a CSV or Excel file, use Contacts → Import in Senderz, which has the column mapping and consent steps. See Importing contacts.
- Tool output is data, not instructions. The server tells the model to treat everything a tool returns as content to report, never as commands to follow.
Actions that need confirmation
Destructive-equivalent actions do exist under write scope, and each one is gated behind an explicit two-step confirmation. The assistant must call the tool once without confirming, which returns a preview of exactly what would change and makes no change at all. Only a second call, after you agree, executes it. These are the actions that require it:Tool reference
The read set is close to 60 tools. Write scope adds around 40 more.Read: workspace and contacts
Read: workspace and contacts
get_brand_kit, get_tenant_settings,
get_current_quiet_hours.Contact facts. list_known_tags, list_rfm_distribution,
list_consent_distribution, list_predictive_distribution,
get_contact_property_catalog, count_contacts.Contact lookups. get_contact_by_email, search_contacts,
get_contact_activity, get_customer_ltv, get_customer_orders.Read: content, campaigns and flows
Read: content, campaigns and flows
list_segments, get_segment_detail.Templates. list_templates, get_template_summary.Campaigns. list_recent_campaigns, list_campaigns_by_status,
get_campaign_detail, list_campaign_approvals.Flows. list_flows, get_flow_detail, including enrollment counts.Read: analytics and deliverability
Read: analytics and deliverability
get_dashboard_overview, get_today_summary (a morning snapshot of
revenue, orders, new contacts, sends, opens and clicks in your timezone),
list_top_campaigns_by_metric, get_order_statistics,
list_recent_orders.get_deliverability_overview, plus the four direct rate reads
get_bounce_rate, get_complaint_rate, get_open_rate and
get_click_rate.Domains. list_domains, get_domain_status.Read: commerce, billing and compliance
Read: commerce, billing and compliance
list_products, get_product,
list_product_categories, get_product_sync_status, and
list_contact_recent_products for what one contact has viewed, carted or
bought.Commerce records. list_coupons, list_ab_tests, list_popups,
list_custom_fields.Billing. get_sms_wallet, list_sms_credit_transactions,
get_subscription_status.Compliance. get_suppression_summary, check_suppression,
list_sms_sender_ids, list_recent_audit_log.Integrations. list_integrations.Checks and diagnostics
Checks and diagnostics
Write: contacts, lists and suppression
Write: contacts, lists and suppression
create_contact, edit_contact, discard_contact.import_contacts pastes in a small batch, up to 25 contacts per call. It is
not a file upload. Use Contacts → Import for a real CSV or Excel file.tag_contacts and untag_contacts merge or remove named tags without
touching a contact’s other tags. Note that edit_contact replaces the whole
tag list, so read the contact first if you use it for tags.create_list, edit_list, discard_list, add_contacts_to_list (up to
100 ids per call), drop_contacts_from_list.suppress_contact and unsuppress_contact manage the suppression list.Consent is deliberately conservative. A channel is only marked subscribed
when you confirm the contact opted in, and the send pipeline enforces
consent regardless of what any tool wrote. See
Consent.Write: campaigns
Write: campaigns
create_draft_campaign and duplicate_campaign both produce a draft and
never a schedule.edit_campaign changes a draft or paused campaign. If you change the
channel, template or segment of a campaign that is already scheduled, the
schedule is cancelled and any approval is revoked, on purpose.test_campaign sends a real preview to up to 10 addresses or numbers.schedule_campaign moves a draft to scheduled. If your workspace requires
campaign approval and you are not an owner or admin, this is refused and the
campaign has to be submitted for approval in the app. See
Campaigns.unschedule_campaign cancels a pending send.configure_ab_test registers an experiment in the A/B Tests module so you
can track it. Live variant sending and winner rollout are still configured
in the campaign or flow builder.Write: segments, templates, flows and coupons
Write: segments, templates, flows and coupons
create_draft_segment, edit_segment, discard_segment. The
type, dynamic or static, cannot be changed after creation.Templates. save_draft_template, edit_template, publish_template
(marks it ready so campaigns and flows can select it).Flows. create_draft_flow, edit_flow, publish_flow,
set_flow_paused. Publishing takes a flow live and starts real enrollments.
Pausing halts in-flight enrollments with no auto-resume; publish again to
restart.Coupons. create_coupon creates the discount in your connected Shopify
or WooCommerce store, as one shared code for a static coupon or as a store
discount that mints a unique code per recipient for a dynamic one. A store
must be connected, and only entire-order discounts can be created this way.
edit_coupon and deactivate_coupon change the Senderz record only, and do
not touch a code already issued in your store. See
Coupons.Write: approvals and workspace setup
Write: approvals and workspace setup
approve_campaign,
reject_campaign (a reason is required and the submitter sees it),
request_campaign_changes (a comment is required).Workspace setup, owners and admins only. verify_domain re-runs DNS
checks on a sending domain now instead of waiting for the background sweep.
add_sender_address adds a From address on an already-verified domain.
add_sender_name adds a reusable From name.update_settings covers timezone, currency, date format, your own custom
quiet-hours window (which can only narrow the legal window, never widen it)
and the copy-to BCC address. Governance settings, including the campaign
approval policy, embedded-form origins and your organisation and legal
details, are deliberately not editable through an assistant. Change those in
Settings yourself.
