nitro_add_contact_tags
ChatGPTAdd tags to the specified current-brand contacts.
nitro_add_list_contacts
ChatGPTAdd existing contacts to a list using contact_ids or emails, not both. Membership can trigger flows.
nitro_add_sending_domain
ChatGPTRegister a customer sending domain and return its required DNS records.
nitro_append_memory
ChatGPTAppend memory text. Live calls require a stable idempotency_key; reuse it for an exact retry.
nitro_check_domain_dns
ChatGPTRead DNS and HTTPS diagnostics for a sending domain.
nitro_compose_campaign
ChatGPTCompose and send an email or SMS to an audience. This is the default tool when users want to draft, write, or send an email. Creates a draft — use nitro_control_delivery to approve and send. Modes: create (new campaign), patch (update provided fields on an existing draft campaign), replace (replace draft campaign content/audience/schedule — requires confirm: true + campaign_id). Replace clears omitted audience and schedule instead of preserving stale targeting. Patch/replace cannot change the campaign channel; create a new campaign to switch between email and SMS. For manual sections without a composition_contract, read nitro://brand and nitro://schema; use nitro://email-marketing and nitro://email-design when deeper strategy or design context is needed. Email modes (channel auto-detected as "email" when sections or template_id provided): - Host-composed contract — composition_mode: "intent" returns a compact composition_contract. Fill next_call with subject/preheader/sections, optionally dry-run with composition_mode: "validate", then persist with composition_mode: "draft". - Inline — sections + subject (required) — compose email design directly - Clone — template_id — clone design from existing template, optionally override subject - Plain text — body + subject — simple text email without design SMS mode: channel: "sms" + body (required) Goal-driven email requests use the host-composed contract path by default; Nitrosend compiles the brief and validates/persists, while the agent host writes the draft. Contract-loop states return as normal tool results with composition_status and isError=false. Preserve explicit user constraints: exact copy requests, URLs, offers, product details, sender fields, audience, schedule, tone, and legal copy. Use $contract_ref for high-risk literals, e.g. {"$contract_ref":"hard_constraints.urls.primary_cta"}. SMS and nitro_send_message simple sends are exempt. Retry safety: pass the same idempotency_key on retry to avoid duplicate campaigns.
nitro_compose_flow
ChatGPTCreate or replace an automation flow from trigger + steps array. Creates a draft — use nitro_control_delivery to approve and activate. For goal or intent-driven email flows, use composition_mode="intent" first. Nitrosend returns a compact composition_contract; the agent host writes the steps, can validate without persistence, then calls this same tool with composition_mode="draft". Contract-loop states return as normal tool results with composition_status and isError=false. Modes: create (new flow), replace (rebuild existing — requires confirm: true + flow_id), patch (rename only — requires flow_id). Step types: email (subject + design or body), sms (body), wait (duration in seconds), split (filters + yes/no branches, no nesting), emit_event (fire event for contact to trigger other flows), webhook (url + optional method/headers/body), subscribe (opt-in contact to channel), unsubscribe (opt-out contact from channel). Retry safety: pass the same idempotency_key on retry to avoid duplicate flows.
nitro_configure_account
ChatGPTConfigure account sender defaults (from_name, from_email, reply_to) and test email recipients. Call with no fields to read current config. from_email must be authorized by a verified sending domain.
nitro_configure_providers
ChatGPTConfigure BYO email provider credentials or check provider status.
nitro_control_delivery
ChatGPTManage delivery lifecycle for flows and campaigns. State: draft -> approve -> live/schedule <> pause, cancel -> archive. Use archive for cleanup history, or delete confirmed never-sent drafts.
nitro_create_contact
ChatGPTCreate or resolve one contact by email or phone. Email or phone is required. May trigger existing contact-add flows.
nitro_create_contact_list
ChatGPTCreate a named list, optionally adding current-brand contact_ids or emails. Membership can trigger existing flows.
nitro_define_segment
ChatGPTDefine a contact segment with explicit filters and preview. Defaults to preview_only: true (dry preview without saving). Set preview_only: false and provide a name to persist.
nitro_delete_contact_list
ChatGPTDelete a list after confirmation; preview with dry_run first.
nitro_delete_contacts
ChatGPTPreview one contact_ids, list_id or segment_id selection. Execute with confirm and the returned selection_digest.
nitro_delete_segment
ChatGPTDelete a current-brand segment after confirmation; force may remove existing references.
nitro_get_billing_status
ChatGPTRead the account's current plan, enabled features and brand usage. Billing is managed in the Nitrosend app.
nitro_get_insights
ChatGPTGet email analytics with trends, benchmarks, and recommendations.
nitro_get_memory
ChatGPTRead brand memory.
nitro_get_provider_status
ChatGPTRead connected email provider status. Connect or change provider credentials in the Nitrosend app under Integrations.
nitro_get_status
ChatGPTGet current account health, onboarding status, and recommendations.
nitro_import_contact_records
ChatGPTImport up to 100 consented contact records. Existing subscription preferences are preserved unless opt_in is supplied. List additions may trigger flows.
nitro_import_contacts
ChatGPTImport contacts from inline records (< 100) or reference a pre-uploaded CSV import. Email contacts are auto-subscribed by default. For SMS-only contacts, set opt_in: true explicitly (TCPA compliance).
nitro_ingest
ChatGPTStore a brand image (PNG, JPEG, GIF, WebP; max 10 MB) from image_file (ChatGPT attachment), image_data, image_url or upload then signed_id. Returns a durable email URL, up to 1200px wide.
nitro_ingest_image
ChatGPTIngest a local or chat-attached image into Nitrosend and return a Nitro CDN URL you can place directly into email design fields like image.src, product.image_url, hero.background_url, or theme.logo_url. Use this only for local/chat images. If the user already has a public remote URL, use that URL directly in compose tools instead.
nitro_list_sending_domains
ChatGPTRead the current brand's sender selection, domains and allowances.
nitro_list_shared_subdomains
ChatGPTRead the subdomains this brand's verified domain owner has shared. Returns no mail or destination-brand directory.
nitro_manage_audience
ChatGPTCreate contacts, manage subscriptions, lists, events, segments, and tags.
nitro_manage_billing
ChatGPTManage subscription billing — check plan status, start checkout, poll payment, list plans. - status — no params. Returns current subscription, plan, and account tier. - checkout — params: {plan_id (required)}. Creates a Stripe Checkout Session URL for the operator to complete payment. The agent CANNOT pay directly — tell the operator to open the URL. - checkout_status — no params. Poll whether subscription is active after checkout. - plans — no params. Lists available paid plans with pricing.
nitro_manage_domains
ChatGPTManage sending domains — add, verify, check DNS, list, and remove. Add returns the core DNS records needed to finish setup plus any optional improvements such as tracking or inbound routing. check_dns validates customer-facing records, Nitro-owned delegate targets, and tracking HTTPS readiness. Managed SES uses Nitro-branded MX indirection, while BYO providers return their own receiving records.
nitro_manage_template
ChatGPTCreate, update, or clone a reusable email template. Brand theme applied automatically. For composing new emails to send, use nitro_compose_campaign instead. For goal or intent-driven template creation/redesign, use composition_mode="intent" first. Nitrosend returns a compact composition_contract; the agent host writes the sections, can validate without persistence, then calls this same tool with composition_mode="draft". Contract-loop states return as normal tool results with composition_status and isError=false. Modes (auto-detected): - Create — provide sections + subject (required). Sections define the email layout. - Update — provide template_id + any fields to change. Use if_version for optimistic concurrency. - Clone — provide based_on (source template_id). Optionally override sections/subject/name. Retry safety: pass the same idempotency_key on retry to avoid duplicate templates.
nitro_patch_memory_section
ChatGPTReplace one existing memory section identified by its heading.
nitro_prepare_brand_sender
ChatGPTReserve and prepare this brand's Nitrosend sender. Without subdomain, derive its name from the complete Brand Kit.
nitro_process_csv_import
ChatGPTProcess an existing pending import, or return its current progress if already running or terminal. dry_run only reads its state.
nitro_query
ChatGPTQuery any Nitrosend entity. Returns paginated results.
nitro_quote_email_validation
ChatGPTPreview the current validation quote for exactly one audience selection. No validation is started.
nitro_record_contact_event
ChatGPTRecord one event for contact_id or contact_email. It can trigger existing automation flows.
nitro_remove_contact_tags
ChatGPTRemove tags from the specified current-brand contacts.
nitro_remove_list_contacts
ChatGPTRemove contacts from a list using contact_ids or emails, not both.
nitro_remove_sending_domain
ChatGPTRemove a sending domain after confirmation. Show a paired identity's effect before setting unpair.
nitro_rename_brand_sender
ChatGPTRename the reserved sender after confirmation. Require its current expected_fqdn; old addresses keep receiving.
nitro_rename_contact_list
ChatGPTRename an existing current-brand list.
nitro_replace_contact_tags
ChatGPTReplace all tags on the specified current-brand contacts.
nitro_replace_memory
ChatGPTReplace the brand's complete AI memory document.
nitro_request_support
ChatGPTSubmit a support request to the Nitrosend team. Only call when the user explicitly asks to contact support or when you have exhausted other options and cannot resolve their issue. Never suggest or mention this tool proactively. Before calling, summarize the issue and attempt to resolve it with available tools first.
nitro_reserve_csv_upload
ChatGPTReserve a brand-scoped CSV upload. PUT the bytes to the returned URL, then start the CSV import with signed_id.
nitro_review_delivery
ChatGPTRead-only review of email/SMS content and delivery readiness for templates, flows, and campaigns. Returns validation, spam score for email, SMS segment info, preflight checks, and editor/preview URLs. This never approves delivery and never sends test messages.
nitro_revoke_shared_subdomain
ChatGPTAfter confirmation, stop the child subdomain from sending and receiving. Preserve its existing mail and other domains.
nitro_search_contacts
ChatGPTSearch contacts by email, name, or phone. Returns summary list or full profile.
nitro_search_docs
ChatGPTSearch Nitrosend guides and API/MCP/CLI/integration references. Ground unestablished product claims in returned excerpts; search again or state what remains unverified.
nitro_select_account
ChatGPTSwitch this OAuth MCP connection to an account listed by nitro_get_status; the next call uses it. Credential-authenticated connections are pinned and cannot switch.
nitro_select_brand
ChatGPTSelect the current brand for this OAuth MCP connection. Use this instead of passing brand_sid to other tools. Credential-authenticated connections are pinned to one brand and cannot switch.
nitro_select_brand_sender
ChatGPTSelect this brand's reserved Nitrosend sender for email delivery.
nitro_send_message
ChatGPTSend a transactional email or SMS to a single recipient immediately. No campaign, no audience, no approval required. Use for: receipts, password resets, OTPs, order confirmations, system notifications. NOT for marketing broadcasts to lists/segments — use nitro_compose_campaign. NOT for automated sequences triggered by events — use nitro_compose_flow. Retry safety: pass the same idempotency_key on retry to avoid duplicate sends.
nitro_send_test_message
ChatGPTSend a real test message for an existing template, campaign, or flow step. Supports email and SMS targets. This never sends to a campaign audience, never approves delivery, and never schedules or launches a campaign. For the common "send a test of the last campaign" workflow, pass latest_campaign: true. If a flow has multiple message steps, pass action_id or template_id from nitro_review_delivery review_steps. Retry safety: pass the same idempotency_key on retry to avoid duplicate test messages.
nitro_set_brand
ChatGPTSet up brand identity from website URL or direct fields. Provide url to auto-scrape brand colors/fonts, or fields to set values directly, or both (fields override scraped values). Sync mode (default) returns results immediately — best when you need brand data now for composing. Async mode (mode: 'async') runs scraping in the background — use when deferred completion is acceptable.
nitro_set_brand_kit
ChatGPTSet Brand Kit from a website, typed fields, document, or logo URL. Fields override scraping; async is URL-only.
nitro_set_contact_subscription
ChatGPTSet subscription preferences for one email or phone channel.
nitro_set_memory
ChatGPTRead or update the AI memory document. Operations: read (get current), update (replace entirely), patch (replace a section by heading), append (add text to end).
nitro_share_subdomain
ChatGPTAfter the domain owner confirms the exact subdomain and destination brand, reserve its own domain identities and return setup details. Existing client ownership and billing still apply.
nitro_start_csv_import
ChatGPTStart importing an uploaded CSV by signed_id, with its parser, column mapping and list options. Existing records may be updated and flows triggered.
nitro_suppress_contact_email
ChatGPTStop all email to this contact, including transactional email.
nitro_unsubscribe_contact
ChatGPTUnsubscribe this contact from marketing channels.
nitro_unsuppress_contact_email
ChatGPTRemove only the contact's manual email suppression. Bounce and complaint suppressions remain.
nitro_update_contact
ChatGPTUpdate contact attributes; provide exactly one of contact_id or contact_email.
nitro_validate_email_addresses
ChatGPTValidate one audience using existing account funding. Requires its current quote_digest and a stable idempotency_key.
nitro_verify_sending_domain
ChatGPTCheck the customer's domain verification and persist its current readiness.