Chat with your visitors. Let an AI take the first reply.
One script tag and your own DeepSeek key. Answers come only from your knowledge and your live APIs, with a person one click away.
This is the real widget, running on this page. Ask it anything about zingxo.
Installed in one line
Paste the tag before the closing body tag of any site. Works with plain HTML, WordPress, Shopify, Next.js, whatever you run.
<script src="https://zingxo.com/widget.js" data-site="zx_your_site_key" async></script>- 1
Create a site
Name it, get a public key. Nothing secret lives in the tag.
- 2
Write what the assistant knows
Products, policies, hours, tone. That text is the only thing it may speak from.
- 3
Connect your APIs
Order status, stock, bookings. Each endpoint becomes a tool the assistant can call for fresh answers.
The assistant stays in its lane
Most AI chat bolt-ons will happily write a poem for your customers. Ours will not. The rules below are fixed in the platform and sit above every prompt you write.
Scope is locked
The assistant only talks about your business. Homework, code, politics and other companies get a polite decline and a handoff offer.
Facts come from your data
No guessing prices, delivery times or policies. If it is not in your knowledge or a live API result, the assistant says so.
Instructions in messages are ignored
Platform rules sit above your prompt, and visitor text sits below both. Prompt injection attempts are flagged, logged and not followed.
A person is one step away
Refunds, complaints, anything unclear: the assistant hands off. Your team takes over in the inbox and can hand back later.
Fresh answers from your own APIs
Register an endpoint, describe it in a sentence, list its parameters. The assistant calls it when a visitor asks, every time, and never answers from stale memory. Keys are encrypted at rest and never reach the model.
- GET or POST with templated URL and body
- Response path to keep payloads small
- Per-endpoint cache TTL in Redis
- Test button before the assistant ever sees it
{
"name": "order_status",
"description": "Look up an order by its number and return status, ETA and carrier.",
"method": "GET",
"url": "https://api.yourshop.com/orders/{{order_number}}",
"headers": { "Authorization": "Bearer ••••••" },
"paramsSchema": {
"type": "object",
"properties": { "order_number": { "type": "string" } },
"required": ["order_number"]
},
"cacheTtl": 30
}Your team keeps the wheel
Every conversation lands in a shared inbox with the visitor's page, history and the exact tools the assistant called. Take over with one click, hand back when you are done.
Take over
Switch a thread to human mode. The assistant stops immediately.
See the trace
Each AI reply shows which endpoints it called and what came back.
Hand back
Return the thread to the assistant when the tricky part is done.