An AI chat widget for your website that knows who it is talking to.
One script tag puts Splice AI on your site, themed to match, answering from your documentation. Sign your logged-in users and it can answer account questions from your own APIs too.
One script tag, no dependencies, nothing loaded until it opens
Themed to your site, down to your own CSS
Signed identity so a logged-in user can be trusted, not just claimed
Website chatSigned-in visitorPreview
Does the Pro plan include the API?
Your agent
Yes, Pro includes full API access with a 10,000 request daily limit. Growth raises that to 100,000.
Answered from your docs, streamed live
What's my current usage this month?
Your agent
You are at 6,340 requests this month, about 63% of your daily average allowance.
Fetched from your API with a signed identity token
Illustrative conversation · Your knowledge, your voice
1
Script tag to install, with zero third-party dependencies
0
Bytes of chat interface loaded until a visitor actually opens it
3
Layout styles, from a classic bubble to a card-based home panel
24h
Session tokens, signed and origin-bound, so a key alone is not enough
More than a reply
What a website chat widget should get right
Load light, look like your site, and be trustworthy enough to answer a logged-in customer's real questions.
01 / CAPABILITY
One script tag, and it stays light
A single dependency-free script paints the launcher. The chat interface itself lives in an iframe that is not created until a visitor actually clicks, so a page nobody chats on pays almost nothing for having it there.
02 / CAPABILITY
Themed properly, not just recoloured
Accent, background, text and both bubble colours, corner radius, button radius, font family, launcher icon and size, avatar, header title and subtitle, welcome text and placeholder. If that is still not enough, add your own CSS.
03 / CAPABILITY
Three layouts, not one
A classic chat panel, a peeking preview that invites the first message, or a card-based home screen with starter questions. Pick what suits the page rather than accepting whatever the vendor shipped.
04 / CAPABILITY
Identity you can actually trust
For logged-in users, your server signs the user id with your secret key and the widget passes the signature along. Without it, an identity claim is just a string anyone could type. With it, the agent knows who it is talking to.
05 / CAPABILITY
It can call your own APIs
Connect your endpoints as tools and the agent can answer account-specific questions, not just documentation ones. Requests are HMAC signed, and a short-lived signed token tells your backend which verified user is asking.
06 / CAPABILITY
Captures leads without the interrogation
Ask for an email after a couple of messages rather than before the first one, and optionally verify it with a one-time code. Visitors turn into leads in your CRM with the whole conversation attached.
Security
How it stays safe on a public page
Anything embedded in a public website is attackable by definition. These are the controls that matter, rather than pretending the key is a secret.
The allow-list is the real lock
A public key in your page source is public by definition. Security comes from the origin allow-list, so the widget only answers on the domains you name, and live mode refuses localhost.
Signed, expiring sessions
Each session carries a signed token bound to the visitor and the embedding origin, valid for 24 hours, rather than trusting whatever the browser sends.
Rate limited per visitor and per IP
Message and session endpoints are capped on both axes, so one script cannot burn your credits from a single machine.
Visitor IPs are never stored raw
IPs are hashed before they are written, and only the hostname of the embedding page is kept, not the full URL a visitor was on.
Keys rotate on demand
Rotate the public key, the secret key, or both from the dashboard. Rotation takes effect immediately, so plan the swap on your side at the same time.
It fails open, on purpose
A network blip or a slow response leaves the launcher visible rather than hiding it. Only a widget you have actually deleted disappears from your site.
Made for your business
Sites where the visitor is already interested
Someone reading your pricing page has a question right now. That is the cheapest conversion you will ever get.
SaaS product support
Documentation questions answered inline, and account questions answered from your own API.
Ecommerce storefronts
Sizing, shipping and returns answered on the product page, before the tab gets closed.
B2B websites
Qualify enquiries at the point of interest and capture the email while the intent is still live.
Education
Course, fee and eligibility questions answered on the programme page around the clock.
Developer tools
API and integration questions answered from your docs, with the reply streaming as it is written.
Service businesses
Pricing and availability questions handled, and the qualified ones routed to your team.
See the difference
Against a flow-builder chat widget
Most website chat is either a heavy bundle running a keyword flow, or a contact form with extra steps.
What matters
Splice AI
Flow-builder widget
A contact form
Page weight
One dependency-free script, chat loaded on first click
A heavy bundle on every page load
A contact form
Where answers come from
Your documents, plus your own APIs as tools
A keyword flow builder
An email reply, tomorrow
Logged-in users
Cryptographically signed identity your backend can trust
An unverified claim in a JavaScript call
They tell you who they are
Branding
Full theming plus custom CSS, badge removable
Accent colour, and their logo stays
Your own form
When it is unsure
Hands the conversation to your team as a draft
Loops the menu
Already a human
The rest of your channels
Same agent and inbox as WhatsApp, email and calls
Website only
A separate inbox
What you pay for
Credits as the agent works, no seats
Per seat, per month
Slow replies
Page weight
Splice AI
One dependency-free script, chat loaded on first click
Flow-builder widget
A heavy bundle on every page load
A contact form
A contact form
Where answers come from
Splice AI
Your documents, plus your own APIs as tools
Flow-builder widget
A keyword flow builder
A contact form
An email reply, tomorrow
Logged-in users
Splice AI
Cryptographically signed identity your backend can trust
Flow-builder widget
An unverified claim in a JavaScript call
A contact form
They tell you who they are
Branding
Splice AI
Full theming plus custom CSS, badge removable
Flow-builder widget
Accent colour, and their logo stays
A contact form
Your own form
When it is unsure
Splice AI
Hands the conversation to your team as a draft
Flow-builder widget
Loops the menu
A contact form
Already a human
The rest of your channels
Splice AI
Same agent and inbox as WhatsApp, email and calls
Flow-builder widget
Website only
A contact form
A separate inbox
What you pay for
Splice AI
Credits as the agent works, no seats
Flow-builder widget
Per seat, per month
A contact form
Slow replies
Make it yours
From your knowledge. To your customers.
01
Paste one script tag
Drop it before the closing body tag with your public key, and add your domains to the allow-list. That is the install.
02
Theme it and point it at your docs
Match your colours, fonts and corners, pick a layout, and give the agent the material it should answer from.
03
Decide what it can do for logged-in users
Optionally sign identities from your server and connect your own APIs, so it answers account questions too.
One script tag with your public key, placed before the closing body tag. There are no dependencies to add and no build step. Next.js and React snippets are in the docs if you prefer to mount it that way.
Will it slow my site down?
The loader is a single small dependency-free script that runs asynchronously, and the chat interface itself is an iframe that is not created until someone clicks the launcher. A visitor who never opens the chat never downloads it. We do not publish a kilobyte figure because we have not benchmarked one, and a made-up number would not help you.
Can I make it match my brand?
Yes, thoroughly. Accent, background, text and both bubble colours, corner and button radius, font family, launcher icon and size, avatar, header title and subtitle, welcome message and input placeholder are all configurable, along with three different layout styles. You can also supply your own CSS, and the powered-by badge can be turned off.
My public key is visible in the page source. Is that a problem?
No, and any widget that tells you otherwise is misleading you, because a key in client-side HTML is public by definition. The actual control is the origin allow-list: the widget only responds on the domains you name, and live mode refuses private and localhost origins. Sessions are additionally signed, origin-bound and expiring.
Can it answer questions about the logged-in user's own account?
Yes, if you want it to. Your server signs the user's id with your secret key, the widget passes that signature, and the agent then knows the identity is genuine rather than merely claimed. You can connect your own API endpoints as tools, and each call carries a short-lived signed token identifying the verified user, so your backend can safely return their real data.
How does it capture leads?
You choose how many messages in it asks for an email, so visitors are helped before they are interrogated. You can optionally require a one-time code to verify the address. Either way a lead is created in your CRM with the full conversation attached.
Does it support proactive messages that pop up on their own?
Not today. There is no time-on-page, scroll or exit-intent trigger, and we would rather tell you that than let you discover it after buying. The widget shows a welcome message and optional starter questions once a visitor opens it.
Can visitors upload files?
Not currently. Visitors can type, and the agent replies in text with responses streaming as they are written. If a customer needs to send a file, WhatsApp and email both handle attachments and route into the same inbox.
Can I collect satisfaction ratings?
Yes, a thumbs up or down under agent replies, with a prompt you write. It is off by default. Low ratings feed the knowledge-gap list, so a bad answer becomes a suggested fix for you to approve rather than just a number on a chart.
Does the widget share history with my other channels?
Yes. Website conversations land in the same inbox and against the same lead as WhatsApp, Instagram, email and phone, behind one knowledge base, so an answer you correct once is corrected everywhere.
Your next conversation starts here
See it running on your site.
Bring your documents and the questions your customers ask. We’ll walk through it together.