Reference
A single-page lookup for botts.ai — plan limits, what costs credits, supported file types, channels, data-residency tiers, the widget embed, HTTP tools and secrets, form fields, and an explicit list of what the platform does not do (yet).
Quick-reference tables that pull the hard numbers and rules together in one place. For the "why" and "how," follow the links into the full guides.
Plans and limits
New organizations start on Free. Prices are the same number in CHF, EUR, and USD; paying yearly is about 17% cheaper. Ultra is custom and arranged with sales.
| Free | Lite | Standard | Pro | Ultra | |
|---|---|---|---|---|---|
| Price / month | — | 39 | 169 | 699 | Custom |
| Credits / month | 200 | 1,500 | 10,000 | 30,000 | Custom |
| Members | 1 | 1 | 3 | 8 | Unlimited |
| Agents (active) | 1 | 1 | 2 | 5 | Unlimited |
| Deployments (active) | 1 | 1 | 4 | 8 | Unlimited |
| Knowledge-base pages | 50 | 800 | 4,000 | 12,000 | Unlimited |
| Upload storage (MB) | 10 | 200 | 1,000 | 2,500 | Unlimited |
See Team & Billing for plan changes, credit blocks, and auto-recharge.
What costs credits
Everything an agent does is metered in credits. Plan credits are spent first, then purchased credits (earliest-expiring first).
| Activity | Cost |
|---|---|
| AI model usage (text) | Per ~1,000 words, in and out — the rate depends on the model (shown in the model picker). |
| Voice / phone | Billed separately and higher than text — per second of call plus audio tokens in/out. |
| Website crawling | 1 credit per page (a "page" ≈ 2,000 characters of extracted text). |
| Embedding (indexing) | 0.01 credits per 1,000 tokens. |
Note
A "page" is a unit of 2,000 characters of extracted text — used both for crawl billing and for your plan's knowledge-base page limit.
Supported file types and upload limits
| Type | Extensions |
|---|---|
.pdf | |
| Word | .doc, .docx |
| Text | .txt |
| Markdown | .md |
- Maximum 100 MB per file. Larger files are rejected before upload.
- Total upload storage is capped by your plan's Upload storage (MB) limit.
- A scanned or image-only PDF with no extractable text is accepted but shows as Skipped — it contributes no searchable content. Use a text-based PDF or paste the text as Markdown. See Knowledge Base.
Channels
| Channel | Status |
|---|---|
| Website chat widget | Live |
| Phone / voice agent | Live |
| Chat (Internal) — team | Live |
| Coming soon | |
| Telegram | Coming soon |
| Coming soon |
Full details in Deployments.
Data-residency tiers
Set per organization under My Organization → General → Server Location. The tier filters which AI models you can select. Switzerland counts as European but is not part of the EU.
| Tier | Models allowed |
|---|---|
| Swiss / Swiss | Swiss-hosted models from Swiss companies |
| Swiss / any | Swiss-hosted models, any provider |
| Europe / Europe | European-hosted models from European companies |
| Europe / any | European-hosted models, any provider |
| Global | No restriction (default) |
Platform infrastructure, knowledge-base storage, and chat history are in Switzerland (Infomaniak) regardless of tier. Voice telephony uses a US provider (Twilio). botts.ai does not train models on your data. See the FAQ and data-residency post.
Website widget embed
Each website deployment exposes a single script tag, pasted just before the closing </body> tag:
<script async src="https://YOUR-API-URL/widget/chat-widget.js?key=YOUR_API_KEY"></script>
- The
keyis the deployment's API key, prefixedbts_. The real URL and key are shown in the widget editor's Embed Code section — copy them from there. - Regenerating the key invalidates the old snippet everywhere it's embedded.
- Works on WordPress, Shopify, Squarespace, Wix, or plain HTML. See Deployments.
HTTP tools and secrets
Custom tools let an agent call your own HTTP API. Configured under Integrations (Admin/Owner).
| Field | Values |
|---|---|
| Method | GET, POST, PUT, DELETE, PATCH |
| Authentication | None, Bearer, Basic, or Custom Header |
| Parameter types | string, number, integer, boolean |
| Live timeout | 30 seconds (10 seconds when testing) |
- Reference a stored secret anywhere in the endpoint, headers, or auth with
$secret:key_name. GET/DELETEsend parameters as query string;POST/PUT/PATCHsend a JSON body. Path variables like{order_id}are substituted.- A
2xxresponse body is passed to the model;4xx/5xxbodies are hidden (the model is only told the status). Return200with a JSON body for "not found"-style answers. - Private, localhost, link-local, and cloud-metadata addresses are blocked.
Form fields
Built-in lead-capture templates (enable per agent under Form / Lead Capture):
| Template | Fields (* = required) |
|---|---|
| Contact | name*, email*, phone, message |
| Support Ticket | subject*, description*, email*, priority (low/medium/high) |
| Booking Request | name*, email*, date*, service |
Custom fields use the same parameter types as tools — string, number, integer, boolean. One submission is captured per conversation; name/email/phone also fill the contact's empty profile fields. Submissions are viewable and exportable to CSV under each agent's Forms tab. See Agents.
What botts.ai doesn't do (yet)
So you (and any agent trained on these docs) don't assume a capability that isn't there:
- No third-party knowledge-base connectors. Sources are website crawl and file upload only — there is no Google Drive, Notion, Dropbox, SharePoint, or S3 sync.
- No public/customer API. There are no personal API keys or a general REST API for sending messages programmatically. The only keys are the per-deployment widget keys (
bts_), which authenticate the embedded chat widget. - No calendar or booking automation. The Booking Request form collects a requested date; it does not check availability or book anything. Use an HTTP tool to call your own scheduling API.
- No conversation/transcript export. Only form submissions export (CSV). Conversations are viewable in the dashboard but can't be bulk-exported.
- No web browsing. Agents cannot search the web or open arbitrary URLs. External or live data must come through a custom HTTP tool.
- No per-agent language selector. Agents reply in the language the user writes in; to pin a language, state it in the system prompt.
- WhatsApp, Telegram, and Email channels are not available yet (Coming soon).
- No SSO/SAML or audit logs at this time.
Need one of these? It's often achievable today with a custom HTTP tool — or worth raising with support.
Last updated on June 16, 2026