Sites
A site is the workspace for one storefront. Create one per store, each with its own agents, conversations, and connectors.
A site is the workspace for one storefront. Your organization can have several: one per store, market, or brand you run the assistant on. Everything you configure day to day (agents, conversations, connectors) belongs to a site, not to the organization directly.
Only account and organization settings (your profile and organization members) sit above the site level. There's no org-wide list of sites in the dashboard; you always reach a site through the switcher.
How sites work
- An organization has many sites. Each has a name, a URL, and a platform, from two groups: E-commerce platform (Shopify, PrestaShop, WooCommerce, Commercetools, BigCommerce, Wix Store, Adobe Commerce, Salesforce Commerce Cloud, SAP Commerce Cloud) and Website (HubSpot, Wix, WordPress), or Custom if none match. Creating a site fills all three in from the storefront address you give it; you can change any of them afterwards in Settings → General.
- The platform field is metadata for now: it records what the storefront runs on but doesn't change how the assistant behaves or which connector types are available. A new site is Shopify when onboarding confirmed it, Custom otherwise.
- Once you're working inside a site, the whole dashboard (its home page, Agents, Conversations, and Connectors) is scoped to that site. The URL always carries the site id:
/dashboard/sites/{siteId}/…. - A brand-new organization can't skip this: after you sign up, onboarding first creates your organization from the name you type, then asks for your storefront address and creates your first site from it. A site is mandatory before you reach the dashboard, since the whole workspace is site-scoped. For the same reason, an organization always keeps at least one site: the last one can't be deleted.
Create a site
Open the site switcher at the top of the sidebar (it shows your current site's
name) and choose Create site, or go directly to /dashboard/sites/new.
Enter the storefront's public address (that's the only field). A bare domain
is fine; it's prefixed with https:// for you.
Continue. The site is created from that address (name, platform, language, URL), along with an agent and (when the platform is confirmed) a catalog connector, then a background analysis you review before finishing. This is the same flow as first-run setup, minus the organization step: your existing organization is reused and never renamed.
The name, platform, and vertical you'd otherwise have typed are derived and shown for review; everything is editable afterwards from the site's settings below.
Switch between sites
The site switcher at the top of the sidebar lists every site in your organization, with the current one checked. Pick another one and you move to the same tab under the new site: from Agents on site A, switching takes you to Agents on site B, not back to the home page.
Click it to open a search box above the list. Type to filter by site name or site URL: matching either is enough, so two similarly-named sites are still easy to tell apart by their domain. The search is accent-insensitive: typing ete matches a site named "Boutique Été". The list scrolls once your organization has enough sites to need it.
The switcher is always there, even on account and organization-settings pages, where there's no "current" site in the strict sense. It shows the site you were last working in instead, so you're never more than a click away from getting back into a site's workspace.
The switcher never renders empty: an organization always has at least one site once it's past onboarding. Below the search list, a Web link (when the current site has a URL set) and Create site stay available whatever you've typed in the search box. There's no separate "manage sites" list to browse from the switcher.
The dashboard remembers which site you were last in, so opening Dashboard or coming back another day lands you right back there: no need to pick it from the switcher again. If that site no longer exists (someone deleted it) or there's nothing remembered yet (a new device, or your first visit since signing in), you land on your organization's oldest site instead. If your organization has no site at all, you land in onboarding instead of an empty dashboard.
Site settings
Open a site's workspace and use Settings in the sidebar to reach its sub-pages:
- General (
/dashboard/sites/{siteId}/settings/general): rename the site, change its platform, set its URL, describe what it sells, describe its tone of voice, and pick its vertical, or delete it. - Languages (
/dashboard/sites/{siteId}/settings/languages): see below. - Branding (
/dashboard/sites/{siteId}/settings/branding): see below. - Public access (
/dashboard/sites/{siteId}/settings/public): pick which agent the site's public link serves, turn it on or off, copy it, and rotate its key. The same page holds the Allowed origins card that controls which pages can embed the assistant, the Install the tag card for the embed snippet itself, and the Page signal card (Read the current page, on by default) that decides whether the tag reads the page a shopper is on. See What the assistant reads from the page for what that covers and how to switch it off page by page. - Performance (
/dashboard/sites/{siteId}/settings/performance): the live tag-performance measurement tools: launch control, causal lab delta, field data, and run history. See Tag performance. - Diagnostics (
/dashboard/sites/{siteId}/settings/diagnostics): see below.
The Settings entry always follows your current site: switch sites and it points at the new one's settings. Opening any of these pages is open to every member; changing anything on General, Languages, Branding, and Public access requires your role to grant the sites:edit permission. Without it, each page holds back its controls according to how it saves changes:
- General, Languages, and Branding stage your edits locally and only commit them when you click Save. Without
sites:editthe fields still show and can still be typed into (Languages' add-language picker included); there's just no Save button, so nothing you change is ever written. General's delete option doesn't appear at all either. - Public access has no Save step: the public-access toggle, default-agent pick, key rotation, the allowed-origins list, and the Page signal switch each persist the instant you use them. Without
sites:editthose controls are omitted rather than shown disabled: the current default agent and the public key still display as plain text (the key stays copyable), and the Page signal card still says whether the page is being read, but there's no toggle, no rotate button, no way to add or remove an origin, and no page-signal switch.
That same permission also controls whether Create site shows up in the site switcher and on /dashboard/sites/new. It's available as Edit sites when building a custom role, and the built-in Admin role grants it; the built-in Member role does not.
Web tool settings aren't here
The domain policy and JavaScript-rendering setting behind web search and page reading are also per-site, but they live on the site's own Tools page (Tools in the sidebar, under Assistant), not under Settings. See The Tools page. Unlike the Settings sub-pages above, those pages need the Agents permissions.
General settings
This page holds two cards.
Configure your site:
- Name and Platform: as before.
- URL: your storefront's public address. Required. Enter a bare domain (e.g.
mystore.com) and it's auto-prefixed withhttps://and stored as a full URL. Its origin is automatically added to this site's allowed origins (the list that controls which pages can embed the assistant) and marked non-removable there.
AI assistant context: the fields that ground the shopping assistant's answers:
- Vertical: a searchable list (Retail, Health & Beauty, Electronics, Food & Beverage, Home & Garden, Fashion & Apparel, Travel & Hospitality, or Other). Picking one gives every agent on this site vertical-specific guidance (e.g. a Health & Beauty site is told to stick to product features and never give medical advice). Other, or leaving it unset, adds no guidance. Optional.
- Information about your site: free text (up to 3000 characters) describing what you sell, your category, and your brand. Optional.
- Tone of voice: free text (up to 800 characters) describing how your brand sounds (warm and expert, playful, formal, and so on). Kept separate from Information about your site so the factual description and the style description can each be read, edited, or regenerated on their own. Optional.
Both text fields show a live character count under the field, and if you go over the limit the error names that field's maximum.
A single Save changes button, in the AI assistant context card's footer, saves both cards' fields together.
How this reaches the assistant
The vertical's guidance, your site information, and your tone of voice are woven into every agent's system prompt on this site, ahead of that agent version's own instructions (broadest context first, most specific last): engine persona, then vertical, then site information, then tone of voice, then the version's instructions. Any layer you leave empty is simply skipped.
Generate a draft with AI
In the AI assistant context card's header, a Generate button drafts all three fields (vertical, information about your site, and tone of voice) for you. It turns on once the URL field holds a value; you don't need to save it first.
Click it and the assistant researches your site: a web search for its brand reputation, product categories, and tone of voice, plus a fresh, focused read of the site's own domain. Progress shows on the button itself: its label swaps to "Searching the web…", then "Reading the site…", then "Writing the summary…" while each step runs. It then writes a short site description (about 150 words, always in English regardless of your dashboard language), a one-to-two-sentence tone-of-voice description (also always in English), and picks the closest matching vertical from the list above, or Other when nothing fits clearly.
Both generated text fields stay purely descriptive: the assistant is instructed to never include customer sentiment, reviews, complaints, or any negative or critical statement about the site or brand, even if its research turns up some. This grounds the shopping assistant's own voice, not a review summary.
Review before saving
Generating only fills in the three fields on this page, so nothing is saved until you click Save changes. Read the draft and edit it as needed, the same as if you'd typed it yourself.
Web button
Once a site has a URL set, a Web link (with an external-link icon) appears inside the site switcher, below the site list. Click it to open your storefront in a new tab. No URL, no link.
Languages
A site declares which languages its shoppers speak, from a fixed registry of six: Français, English, Deutsch, Italiano, Español, Nederlands. This is the set an agent's welcome messages and the site's starter questions can be written in, and the set the chat panel's own on-screen text (composer placeholder, status messages) is translated into. A new site starts with a single language enabled and set as default: the one detected on your storefront when it was created, or English when we couldn't tell.
Open Settings → Languages to manage it, in two cards, each with its own Save button:
- Languages: the enabled-languages list. Add one from the dropdown (only languages not already enabled are offered) or remove one with its trash icon. A language can't be removed if it's the site's only remaining one, or if it's the current default. Change the default first. Nothing is written until you click Save; if a language you're removing has a welcome message configured on any agent version on this site, text on any of the site's starter questions, a display name configured on any agent on this site, or an indicator message on any of the site's instruction blocks, saving asks you to confirm first, since that content is deleted along with the language.
- Default language: a select of the currently-enabled languages, used to resolve a visitor whose browser language doesn't match any of the site's enabled ones.
Removing a language deletes its content
Removing a language isn't a soft unlink. Saving a removal permanently deletes that language's welcome message from every agent version on the site (draft, candidate, champion, or archived), its label and message from every starter question in the site's library, plus that language's entry from every agent's display name and from every instruction block's indicator message on the site, not just the one you're currently editing. There's no undo; you'd need to re-enable the language and re-type the content.
A starter question left with no text in any language isn't deleted with it: it keeps its page scope and its place in the library, and the Questions page reports it as Needs setup so you can write a new label.
Not the dashboard's own language
This is separate from your personal dashboard language (see Languages and localization). This setting is per site and governs what shoppers see in the chat panel, its configured welcome message and the site's starter questions; your own dashboard language is per account and only affects the admin UI you read.
Branding
Give a site a favicon, logo, font, background color, brand color, and secondary color, so the assistant's look matches this storefront rather than a generic default.
- Favicon: upload a PNG, JPEG, WebP, SVG, or ICO image, up to 2 MB. Shown as the browser tab icon on the public agent page.
- Logo: upload a PNG, JPEG, or WebP image, up to 2 MB. Optional, and not currently shown anywhere in the chat itself: the pre-conversation screen and the header both show the served agent's own avatar and display name instead.
- Font: pick from a curated list of 20 Google Fonts (Roboto, Open Sans, Lato, Montserrat, Poppins, Inter, Source Sans 3, Oswald, Raleway, Merriweather, Nunito, Nunito Sans, Playfair Display, Ubuntu, PT Sans, Noto Sans, Work Sans, Rubik, Mulish, DM Sans). Leave it unset to keep the dashboard's default font.
- Brand color: pick a hex color; it's used for the assistant's header and buttons, including the product card's "Add to cart" and "View product" buttons. Button text/icon color is chosen automatically (black or white, whichever is more readable) so a light or dark brand color both stay legible.
- Secondary color: pick a hex color used for the shopper's own message bubble and the numbered badge on a clarifying question. Independent from the brand color, so you can keep the two visually distinct.
- Background color: pick a hex color for the assistant's page background; defaults to white when never set.
All fields are optional and independent: a site with none set keeps the assistant's default styling. Pick your values, then use Save changes to apply them.
Where branding shows up
Branding is applied on two surfaces: the playground, where only the chat
panel picks up the site's background, font, and brand color (the surrounding
dashboard sidebar/header keep your own light/dark theme); and the public
agent page (/s/{public - key}), where it applies to the whole page,
favicon included. The public page always renders in a fixed light theme,
regardless of a shopper's OS or browser dark-mode setting, since it's a
merchant-branded surface, not a themed dashboard page.
Where branding applies to the embed
Branding also carries into the embedded web tag: the assistant runs there in an iframe served by iAdvize, styled with the same per-site values. There's still no on-page launcher or engagement widget. You open the panel from your own trigger.
Diagnostics
The Diagnostics page (/dashboard/sites/{siteId}/settings/diagnostics) lists every impression and click recorded on this site's in-chat product cards: one row per event, not aggregated into any rate or rollup. It's developer output: telling apart real shopper activity from your own testing, and confirming that tracking is firing at all. For a rolled-up rate or trend from this same data, see the Insights report's impressions & clicks chart.
An impression is recorded once per product card the assistant renders live (in the product list, product detail, or comparison view), the first time that card actually scrolls into view, not the moment it's rendered; a click is recorded for opening a product's page, adding it to the cart, or picking a variant. Nothing is recorded when you're reviewing a past conversation in the dashboard, only while it's actually happening, live in the playground or on a public link.
Each row shows:
- Type: Impression or Click.
- Action: for a click, which one:
view_product,add_to_cart_intent, orvariant_select; blank for an impression. - Product: the id of the product the card was showing.
- Conversation: the title of the conversation the event happened in, trimmed to 40 characters (hover for the full title); "New conversation" when it has no title yet.
- Channel: Playground, Web, or Hosted, the fastest way to spot your own test traffic mixed in with real shopper activity.
- Device: the shopper's device, resolved from their browser:
desktop,mobile,tablet, orunknown. - Occurred at: when the event was recorded.
Above the table, a Filter by type dropdown narrows the list to Impression or Click, and a Filter by channel dropdown narrows it to Playground, Web, or Hosted. The two compose. There's no search box and no column sorting: the table is always sorted newest first, 20 events per page, with Previous / Next controls underneath when there's more than one page. Click any row to open that event's conversation.
Moved from Conversations
This table used to be the Events tab under Conversations. An old link to
/dashboard/sites/{siteId}/conversations/events still resolves: it redirects
here.
Attach agents and connectors to a site
Agents and connectors each belong to one site, set once, at creation:
- Create an agent from inside a site's workspace (Agents → New agent) and it's attached to that site. See Agents.
- Create a connector from inside a site's workspace (Connectors → New connector) and it's attached the same way. See Connectors.
There's currently no way in the dashboard to move an existing agent or connector to a different site.
Delete a site
Open the site's General settings page and use Delete site in the danger zone.
You can't delete an organization's last site. On the last one, Delete site is disabled and the page says "An organization keeps at least one site. Add another one before deleting this one." Add a site first, then delete the one you no longer want. The server refuses it too, so a stale tab or an API call gets the same answer: the dashboard shows that message, and DELETE /api/v1/sites/{siteId} returns a 409 with the code last_site. Nothing is changed.
Deleting a site detaches, it doesn't delete
Deleting a site does not delete its agents or connectors. They become unassigned (no site): their configuration, versions, and conversation history stay intact, they just no longer show up under any site's workspace. There's currently no dashboard flow to reassign an unassigned agent or connector to another site. Deleting a site itself can't be undone.
Managing sites over the API
Part of the General settings page above is also available on the public REST API (not everything). See Authentication to create a key, then List sites for the full reference. Every other resource (agents, versions, conversations) nests under a site's id, e.g. /api/v1/sites/{siteId}/agents.
- Available over the API: listing, creating, reading, updating, and deleting a site: its name, platform, and URL. Update a site also lets you set the same AI assistant context fields described under General settings above (vertical, site information, tone of voice). Note that updating always replaces name, platform, and URL together. There's no way to change just one of the three over the API.
- Dashboard-only: the site's Languages, Branding, and Public access settings (enabling/disabling the public link, rotating its key, and picking its default agent) have no API endpoint at all. Manage them from the dashboard.