One script tag on your site.Chat, help and bug reports.
The widget is the part of Starko your customers see. Visitors chat with Starko AI and your team, read your help center and report a problem. With recording on, it also captures the session around anything that goes wrong, so the factory can see what happened.
Chat widget in short.
- Install
- One script tag, or a small Next.js component. The snippet carries your client key.
- Screens
- Home, Messages and Tickets, on your accent colour with your workspace logo.
- Built in languages
- English, German, French, Spanish, Italian and Montenegrin. Your own texts translate to any language.
- Chat attachments
- Images, up to 6 per message, 25 MB each.
- Report a Problem
- Title, description and attachments up to 10 MB. Each report becomes a ticket.
- Identity
- An HMAC-SHA256
userHashsigned by your server, checked against your identity secret. - Recording
- Off by default. Uploads only after an error, a rage click or a conversation.
- Price
- Free, like the rest of the support side.
Paste one snippet, or let Starko AI add it.
Widget.initreturns an instance withsetOpen,isOpen,identify,logout,setLanguage,setActionsanddestroy.- Set a custom launcher icon with
imgSrc, and the bubble's offset from the bottom right corner withposition. - Pass
releasewith your app version so error tickets say which build raised them. - If you let Starko install the widget during setup, it opens that change as a pull request, and it merges only once your repository's checks pass.
Installation basic script
Copy and paste the following code into your website.
<!-- Include the Starko Chat widget script -->
<script src="https://chat.starko.one/widget.js"></script>
<script>
window.Widget && window.Widget.init({
props: { clientKey: '3f9a2c71-0b4e' }
});
</script>User identity
Pass your logged-in user’s details to the widget so conversations attach to a real customer profile. Verify identities with an HMAC so visitors can’t impersonate each other.
Identity secret
Used by your backend to sign the identifier.
Require identity verification
Reject identify() calls without a valid userHash.
Three tabs: Home, Messages and Tickets.
- Replies stream in as they are written, with formatting, links and cards. Sending a new message interrupts a reply that is still being written.
- Visitors can attach images in chat: up to 6 per message, 25 MB each.
- The accent colour sets the launcher and the widget background, and the icon inside is your workspace logo. The default is a deep blue, #1E1E71.
- The greeting and the Home, navigation and ticket page texts are yours to edit in AI assistant settings.
- Every chat lands in Conversations, in the same inbox as your other channels.
Tie every chat to a real customer.
identify with the signed in user's id, email and name, plus any custom attributes, and the conversation attaches to their customer profile. Your server signs the id with the workspace's identity secret and passes the result as userHash, so a visitor cannot pose as someone else.- Custom attributes, such as plan or account id, show on the customer card next to every conversation, so Starko AI and your team see them.
- Require identity verification rejects identify calls without a valid userHash. Leave it off while you integrate.
- Only owners can rotate the identity secret. Rotating it invalidates hashes made with the old one.
- Call logout when the user signs out, or the next person at that browser sees their chats.
- Visitors you have not identified still chat, as anonymous visitors.
Let the assistant act on the page.
setActions: a name, a description and JSON Schema parameters for each, plus one execute callback. When Starko AI decides to act, the action runs right in your page, such as adding to a cart, opening a record or switching a view, and the result goes back to the AI so it can confirm or react.- Each reply shows a chip for every page action it ran: Done on this page, or Could not do this on the page.
- Results are capped at 32 KB and read as data, never as instructions. Return summaries, not whole datasets.
- Keep actions quick: the assistant waits only a few seconds for a result.
- Page actions exist only in the web chat, never on WhatsApp, Instagram or email.
It records the moment something goes wrong, and nothing else.
- Every input is masked before anything leaves the page.
- Add
starko-maskto mask an element's text, orstarko-no-captureto leave it out of recordings entirely. - Pass
sessionReplay: falseto keep a page, like checkout, from recording at all. - Report page errors as tickets, also off by default, turns uncaught errors into one bug ticket per distinct error. See error tracking.
- Workspaces with recording off never load the recorder script.
A chat bubble, an inline assistant, or a contact form.
- In ticket-only mode, anonymous visitors get one extra field for their email, so someone can reply. With recording on, the minutes before Send become the ticket's recording.
- Open the ticket-only dialog from your own button with
data-starko-openor atriggerselector. - Set
langto a language code, or"auto"to follow the browser.setLanguageswitches it live when your site's language changes. - Starko AI always replies in the language the customer writes in, whatever the widget language.
FAQAbout Chat widget.
Connect a channel and a repository. Turn the support queue into a build queue.
Feedback starts flowing in minutes. The first recommendation shows up as soon as a pattern repeats, and the first pull request as soon as you accept one.