Configuration

Configuration is split in two places, deliberately: the script tag only says which widget instance and which widget type to load. Everything about how it looks and behaves is set in your dashboard and fetched at page load — so changing your brand color or AI provider never means editing embed code on your site again.

Script tag attributes

These are the only two attributes the widget reads.

AttributeDefaultDescription
data-widget-idrequiredThe specific widget's identifier, shown in your dashboard. Which widget type loads (lead-qualifier, support-bot, document-processor, or voice-agent) is resolved from this ID server-side — there's no separate attribute for it.

Dashboard settings

Set once in your dashboard under a widget's Settings tab — applies immediately, no redeploy needed. Grouped below the same way the Settings tab is: Basics, Appearance, Notifications, Integrations, and Advanced.

Basics

Which widget this is and which AI answers for it.

SettingDefaultApplies toDescription
nameAll widgetsThe internal label for this widget in your dashboard — visitors never see it. Useful once you have more than one widget, e.g. "Homepage bot" vs "Pricing page bot".
ai_providergeminiAll widgetsWhich AI provider handles requests: gemini, openai, or anthropic.
api_keyAll widgetsYour provider API key. Encrypted at rest with AES-256-GCM before it's stored — write-only from the dashboard, never returned or shown again.

Appearance

How the widget looks and where/when it shows up.

SettingDefaultApplies toDescription
brand_color#0F766EAll widgetsHex color used for the widget button and accents.
widget_themeclassicAll widgetsChrome preset for the chat panel: "classic", "minimal", or "dark". Your brand color, font, and corner radius still apply on top. Included on Growth, Agency, and White-Label plans.
button_textChat with usAll widgetsLabel shown on the launcher button and chat header.
font_familyInterAll widgetsFont family applied inside the widget panel.
border_radius12All widgetsCorner radius in pixels for the widget panel and button.
icon_urlAll widgets — Growth/Agency/White-Label plansCustom launcher icon (PNG/JPG/GIF/WEBP, under 1MB) replacing the default chat bubble, so the button reads as yours at a glance.
widget_positionbottom-rightAll widgetsbottom-right, bottom-left, or inline.
proactive_delay_seconds— (off)All widgets, floating placements onlyAuto-opens the widget after a visitor has been on the page this many seconds, instead of waiting for a click. Opens once per visitor per page-view; leave blank to keep it click-only.

Notifications

Getting alerted the moment something happens — Lead Qualifier only.

SettingDefaultApplies toDescription
notification_emailLead Qualifier onlyEmail address notified on every new lead.
crm_webhook_urlLead Qualifier onlyEvery qualified lead is POSTed here as JSON the moment it's scored — typically a Zapier "Webhooks by Zapier" catch-hook URL, letting you route leads into any CRM Zapier connects to (HubSpot, Salesforce, Google Sheets, etc.) or your own endpoint. Has a dashboard "Send test" button.
slack_webhook_urlLead Qualifier onlySlack Incoming Webhook URL that gets an instant message whenever a lead scores Hot. Has a dashboard "Send test" button and inline instructions for generating the URL in Slack.

Integrations

Connecting the widget to other systems you already run.

SettingDefaultApplies toDescription
woocommerce_site_urlSupport Bot only — Growth/Agency/White-Label plansYour store's URL, paired with woocommerce_consumer_key and woocommerce_consumer_secret (generated under WooCommerce → Settings → Advanced → REST API with Read permissions). Lets the bot answer real order-status and stock questions from live data. Order lookups only return after the order number is matched to the visitor's email.
voice_enabled / voice_provideroff / vapiLead Qualifier & Support Bot — Growth/Agency/White-Label plansLets visitors talk to the widget out loud on a phone or browser call, using the same AI key and knowledge base as text chat. voice_provider picks which platform (Vapi or Retell AI) handles the call itself. Currently early access — turned on per widget after a manual check.

Advanced

Prompt behavior, access control, and (Lead Qualifier) custom form fields.

SettingDefaultApplies toDescription
system_promptAll widgetsExtra instructions sent to the AI on every request — your business context, tone, or extraction rules.
widget_languageautoAll widgets"auto" detects and mirrors each visitor's own language; a specific code (e.g. "es") pins every AI reply to that language instead.
allowed_domainAll widgetsRestrict which domain the widget will load on.
custom_fields[]Lead Qualifier onlyExtra questions added to the lead capture form beyond the standard name/email/business questions (up to 10), each with a type of text, textarea, or select. Answers feed into the AI's scoring and appear on each captured lead.
knowledge_baseSupport Bot onlyText, URL, and file sources the bot answers from, managed on the widget's Knowledge Base tab (not the Settings tab) — not used by the other two widgets.

No per-page overrides yet

Settings apply account-wide, not per-page or per-domain (aside from allowed_domain). If you need different branding on different sites, create separate widgets — each has its own settings.