Trillet AI logo

Website widget and demo pages

Design the website widget and branded demo links.

Design the website widget and branded demo links. 6 tools.

trillet_get_website_widget

Get website widget design

Read a call flow's website widget design (the <trillet-widget> embed: voice, chat or type-or-talk) plus the embed snippet to paste on a site. saved: false means defaults are in use. Visitors can only start conversations when publicAccess is on.

Flags: read-only

Parameters

NameTypeRequiredDescription
flow_idstringyes
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_set_website_widget

Design the website widget

Create or update a call flow's website widget design: voice/chat/type-or-talk mode, colours, logo, copy, suggested prompts, terms, feedback. Only the fields you pass change (the stored design is read and merged; null clears a field). Applies to live embeds immediately (not staged in a draft; existing embeds pick it up within about a minute). Attributes written on a site's <trillet-widget> tag override the saved design. Returns the embed snippet. Set public_access true unless the flow already allows public calls, or visitors get 403.

Flags: writes idempotent open-world

Parameters

NameTypeRequiredDescription
flow_idstringyes
mode"voice" | "text" | "both"no"voice" = call button (default), "text" = chat, "both" = type-or-talk (one session the visitor can type or speak in)
placement"bottom-right" | "bottom-left" | "top-right" | "top-left"no
variant"compact" | "expanded"no
theme"light" | "dark"no
avatarStyle"orb" | "image" | "initials"no"image" uses avatar
brandColorstringnoMain button colour
orbColor1anynoOrb gradient start (avatarStyle orb)
orbColor2anynoOrb gradient end
backgroundColoranynoCard/panel background; null follows the theme
textColoranyno
buttonTextColoranyno
brandNamestringno
brandLogostringnohttps image URL (rendered on the customer's site, so it must be public)
avataranynohttps image URL for avatarStyle image
titlestringnoHeader title (defaults to the agent name)
launcherTextstringnoText on the collapsed launcher
greetingstringnoLine shown above the input before a conversation
chatWelcomestringnoFirst agent message in chats (text/both). Replaces the flow's phone greeting for chats only
inputPlaceholderstringno
startCallTextstringno
messageTextstringno
suggestedPromptsstring[]noUp to 4 quick-start chips
termsTextstringnoMarkdown the visitor must accept before their first conversation
feedback"none" | "end"no"end" asks for thumbs up/down after a conversation
resetbooleannoStart from defaults instead of the stored design Default: false.
public_accessbooleannoAlso set settings.security.publicAccess (required for website visitors)
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

List demo links

List a call flow's shareable demo links (max 5 per flow) with their URL, limits, and custom page design. URLs use app.trillet.ai. A whitelabel (agency) workspace shares the same path on its custom domain: https://<customDomain>/call-flows/demo/<hash>. GOTCHA: while the flow has an active draft, this read shows the draft's copy of the links, which can be stale; has_active_draft flags it.

Flags: read-only

Parameters

NameTypeRequiredDescription
flow_idstringyes
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

Create demo link

Create a shareable demo link for a call flow (anyone with the URL can talk to the agent in the browser). Saved to production immediately and turns publicAccess on. Max 5 links per flow. Optional usage caps protect the wallet: per_visitor_minutes and total_minutes. Style the page afterwards with trillet_set_demo_page_design and trillet_upload_demo_page_logo. URLs use app.trillet.ai. A whitelabel (agency) workspace shares the same path on its custom domain: https://<customDomain>/call-flows/demo/<hash>.

Flags: writes open-world

Parameters

NameTypeRequiredDescription
flow_idstringyes
namestringnoInternal label, shown in the dashboard Default: "New Demo Link".
expires_in_daysintegerno
per_visitor_minutesintegernoCap per visitor (by IP); omit for no cap
total_minutesintegernoCap across all visitors; omit for no cap
show_countdown_timerbooleannoShow the remaining-minutes countdown on the page Default: false.
dynamic_variablesobject[]no{{variables}} the flow uses, filled per link
draft_idstringnoPin the link to a draft so it tests unpublished changes
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_set_demo_page_design

Design a demo link's page

Brand one demo link's page: template custom, colours, font, corner radius, copy, CTA button, which features show (live transcript, timer, post-call summary and chosen post-call answers, call again, mute, Powered by), and which sites may iframe it and receive results. Only the fields you pass change (the stored design is read and merged). Live immediately. Set template "custom" or nothing shows. Upload the logo or tab icon with trillet_upload_demo_page_logo. Returns the page URL and an iframe snippet (?embed=1 = transparent background + trillet-demo:* postMessage events).

Flags: writes idempotent open-world

Parameters

NameTypeRequiredDescription
flow_idstringyes
link_idstringyeslink_id from trillet_list_demo_links / trillet_create_demo_link
template"classic" | "custom"no"custom" turns on the branded page; "classic" (default) is the original page and ignores every design field
brandobjectnoLogo and tab icon are NOT set here: use trillet_upload_demo_page_logo
contentobjectno
featuresobjectno
embedobjectno
clear_logobooleanno
clear_faviconbooleanno
resetbooleannoStart from defaults instead of the stored design (keeps the uploaded logo unless clear_logo) Default: false.
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

Upload demo page logo or tab icon

Upload the logo (or, with kind favicon, the browser-tab icon) for one demo link's custom page. PNG, JPG or WebP under 2MB; SVG is rejected. Pass a local file_path or an https image_url (downloaded here, then uploaded). Live immediately. The returned logo url is a public https image, so it can also be reused as the website widget's brandLogo.

Flags: writes idempotent open-world

Parameters

NameTypeRequiredDescription
flow_idstringyes
link_idstringyes
file_pathstringnoAbsolute path to a local PNG/JPG/WebP
image_urlstringnohttps URL of the image, e.g. from the client's website
kind"logo" | "favicon"noDefault: "logo".
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).