Channels

The website chat widget

One script tag; appearance, chat page, translations.

Two people in a yoga studio
Channels
  1. Settings → Channels → Installation. Copy the script tag and paste it before </body> on your site, or add the domain and use the hosted chat page link.
  2. Settings → Channels → Website chat for colors, position and the greeting.
  3. Send yourself a message from the site. The dashboard’s “Install the chat widget” step turns green when the first message arrives.

On a Shopify store that installed doTask from the App Store there is nothing to paste: the widget is an app embed. Settings → Channels → Installation → “Open theme editor” lands on the App embeds panel with doTask selected; switch it on and Save. No theme code is edited.

The widget only works on the domains you list; a message from anywhere else is refused.

Verified identity (Installation → Verified identity): when your site knows who is logged in, doTask.identify tells the widget — but a typed email is only a claim. Make a secret, sign the user’s email (lowercase) with it on your server (HMAC-SHA256) and pass the result as user_hash; a matching signature over that email makes it verified, and only then does the AI Agent treat it as proof for personal answers (“my bookings”, “where is my order”, your own Actions with {{customer.email}}). A signed id with an unsigned email verifies the id only. Unverified, it asks for the order number and email or the booking code and contact. Without Verified identity no typed email is ever proof. A wrong signature is refused.

Tracking on any site: doTask.track('product_viewed', {handle, name, price, url, image}) on a product page and doTask.track('added_to_cart', …) when something goes in the cart. For a visitor whose email is known they become store events — the browse and abandoned-cart automations start from them and the AI Agent knows what the person was looking at. Checkouts, orders and the catalog itself come from your server (Settings → Developers → dotaskAPI).