Recovering an answer
If your connection drops, use Retry answer to recover the same request for up to 24 hours after completion, without another AI call or credit charge. A new question is a new request.
The updated widget preserves the request in this browser tab, including after a reload. For a direct integration, create a random request ID and private recovery secret once per question, and reuse both with exactly the same messages for a retry. Keep the secret private. A new question needs new values. Calls without a request ID use the legacy path and do not have saved-answer recovery. Expired or interrupted requests are never automatically regenerated.
Install guide
Install in sixty seconds.
One script tag in the <head> of your store is the whole install. On Shopify that means editing theme.liquid from the Theme Editor; everywhere else it is wherever your CMS lets you paste raw HTML. No SDK to npm-install, no build step to wire up.
Step I
Grab your token.
Go to Dashboard → Install, enter your store's web address and select "Generate install token". Each token is restricted to its allowed origins. Default limits are 30 requests a minute and 1,000 new requests a day, with a shared business limit of 1,000 AI requests per UTC day across widgets and dashboard. Saved-answer recovery does not use the daily AI allowance, though token and minute checks still apply.
Step II
Paste the script tag.
Drop the tag anywhere your CMS lets you edit raw HTML. The storefront head works best. We have tested it on Shopify and WordPress, plus Webflow and a handful of hand-rolled HTML sites without anything breaking.
Step III
Send a test query.
Open the widget on your site, ask anything. The first 25 queries are on us, no card needed. Usage shows up in Dashboard within seconds.
The snippet · Copy · Paste · Ship
One tag. That's the install.
<script src="https://supportpilots.com/widget/v2/widget.js" data-token="sp_live_YOUR_TOKEN_HERE" data-title="Ask our support team" data-position="right" async ></script>
Replace the token; everything else is optional. The widget will not inherit your page styles or read cookies set on your origin. It uses tab session storage to preserve unresolved requests for recovery.
Data attributes
Widget parameters
- data-token string, required
- Your per-store install token from Dashboard.
- data-position string, optional
- right (default) or left, at the bottom of the page
- data-title string, optional
- Text shown in the chat header
- data-greeting string, optional
- Opening message shown before the first question
Direct endpoint
Server-to-server
POST https://tsqnalsiggfblykumnui.supabase.co/functions/v1/widget-ask
Content-Type: application/json
X-SupportPilots-Widget-Token: sp_live_YOUR_TOKEN
Origin: https://YOUR_ALLOWED_WEBSITE
{
"request_id": "NEW_RANDOM_UUID_V4",
"recovery_secret": "NEW_64_CHARACTER_RANDOM_HEX_SECRET",
"messages": [{"role": "user", "content": "Where is my order?"}]
}Rate limit 40 req/min per token, bumpable. 1 credit = 1 query. See the full price list. Resilience handling is managed automatically by SupportPilots.
Get started
25 free queries. No card on file.
Verify your email and the install token is waiting for you in the dashboard. Paste it into your store, open the widget, and the first 25 queries are already on the house, with no card on file. They stay valid for 60 days after you verify.