Skip to content
Documentation
Browse docs
reference

Release, domain, and widget tools

Configure releases, promote a processed deploy, inspect custom-domain DNS and HTTPS, and update hosted widget settings with replacement semantics.

Reviewed

These tools change release routing, custom domains, or the platform-generated widget. Include the selected organization_id when required. Inspect the current site before changing configuration and verify the resulting public hostname afterward.

Release workflow#

Tool Required arguments Optional arguments Returns
configure_release_workflow site_slug string, enabled boolean — Updated site view with release_workflow.
promote_deploy site_slug string deploy_id integer or to_sequence integer site, environment: production, deploy_id, sequence, live_url.

Enabling independent releases makes automated uploads default to staging. Explicit MCP deploys can select staging, production, or both when valid. A pricing-managed standalone site needs the eligible Pro feature. Companions cannot enable this workflow.

Promotion requires an active workflow, an active production custom domain, and a processed live deploy. If no identifier is supplied, it uses the current staging deploy. Prefer one explicit identifier for the release you reviewed. Promotion materializes generated discovery resources for the current production origin without rebuilding the source artifact.

{ "site_slug": "example-site", "deploy_id": 123 }

Send this to promote_deploy only for the reviewed target. Inspect live_url and check the actual content. release_workflow_disabled, production_domain_required, and deploy_not_ready require configuration or processing changes before another attempt.

Domain tools#

Tool Required arguments Optional arguments Returns
set_custom_domain site_slug, domain string include_apex boolean, default false Domain status view and check_queued: true.
check_domain site_slug string domain string, refresh boolean Domain status view and check_queued.

domain is a hostname such as www.example.com or ai.example.com. include_apex additionally configures the root-domain redirect and must be an intentional choice. Use the exact returned records; do not copy another site's infrastructure target.

A domain view contains id, hostname, url, status, headline, cert_status, cloudfront_status, apex_redirect_enabled, apex_status, last_checked_at, error, and next. checks contains ownership_verified, dns_target_valid, ssl_active, http_reachable, and apex_http_reachable. Each dns_records item has type, name, value, and purpose.

refresh: true queues a new check; it does not wait for propagation or certificate issuance. The site's Domains screen can show ownership-verification TXT details that are not included in the MCP dns_records array. Consult that screen when ownership remains pending.

The custom-domain mutation does not manage companion-kind sites; use the companion's organization integration flow with support when needed. See domain setup and companion domains.

Widget configuration#

configure_widget requires site_slug string and enabled boolean. Optional config is an object with only these supported fields:

Field Type and constraints
css_path Absolute HTTPS URL to deployed widget-scoped CSS.
chat.button_text String, at most 80 characters.
chat.intro_text String, at most 300 characters.
chat.button_text_color Hex color: #RGB, #RGBA, #RRGGBB, or #RRGGBBAA.
{
  "site_slug": "example-site",
  "enabled": true,
  "config": {
    "css_path": "https://example-site.answer.cloud/assets/answercloud-chat.css",
    "chat": { "button_text": "Ask a question", "intro_text": "How can we help?" }
  }
}

Omitting config preserves stored customization while toggling enabled. Supplying config replaces the stored object; include all intended existing settings. {} explicitly clears customization while preserving the supplied enabled flag. This restricted hosted tool contract differs from the broader external window.aeoSettings object.

Returns include site_slug, enabled, config, and pages_refreshed, with next when a redeploy is needed. widget_invalid_config means fix the supplied values. widget_refresh_failed means settings were saved but live refresh failed; do not assume the save was rolled back. Verify the theme asset, launcher, and iframe, then use the advised refresh/redeploy path.

See widget appearance and embed settings.

Have a question about this guide?

Send feedback

Type to find a guide.