Developer docs

Sales widget

Separate room. Crawl the catalog, ingest FAQs, write a playbook that forbids invented prices. The widget is how shoppers knock. Host the connector yourself if you need transcripts on your metal.

Install

html Storefront — Shadow DOM, does not restyle your theme
<script
  src="https://your-executen-host/widget.js"
  data-agent-id="ag_…"
  async
></script>

The script reads data-agent-id, fetches /api/widget/config, and paints a launcher. Position and color come from config. Without an agent id, it no-ops.

Before shoppers see it

  1. Crawl the public site. Ingest documents, products, FAQs.
  2. Write the playbook: goals, tone, never-do list (invented prices, legal advice, custom quotes).
  3. Test in Playground. Publish the agent when you are ready.
  4. Complaints, custom prices, injection — the inbox takes over.

Customer-hosted connector

If config.connectorUrl is set, leads and messages POST to your server instead of ours. Cloud still returns the next sales decision. Heartbeat and turn API. Privacy-sensitive shops asked. We built the door.

js Shape the widget already sends to a connector
// POST {connectorUrl}/leads
{ "externalId": "ws_…", "name": "Ada", "email": "ada@shop.example" }

// POST {connectorUrl}/messages
{ "sessionId": "ws_…", "body": "Do you ship the oak table to Lisbon?" }