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 workspaces choose a plan right after signup. Personal starts with a 1-month free trial (150 starter credits) and Business with a 14-day free trial (1,500 starter credits), no credit card required, one free trial per person. To get the full monthly credits right away, choose Pay now instead, without the trial. Prices are the same number in CHF, EUR, and USD; paying yearly is about 17% cheaper. Enterprise is custom and arranged with sales. The legacy Free and Lite plans are no longer offered to new customers; existing Lite organizations keep their plan.
| Personal | Business | Business Pro | Enterprise | |
|---|---|---|---|---|
| Price / month | 19 | 169 | 699 | Custom |
| Credits / month | 1,200 | 10,000 | 30,000 | Custom |
| Members | 1 | 3 | 8 | Unlimited |
| Agents (active) | 1 | 2 | 5 | Unlimited |
| Deployments (active) | 1 (internal chat) | 4 | 8 | Unlimited |
| Phone numbers | None | 1 | 2 | Custom |
| Knowledge-base pages | 800 | 4,000 | 12,000 | Unlimited |
| Upload storage (MB) | 200 | 1,000 | 2,500 | Unlimited |
The Personal plan includes the internal AI chat workspace only. Deployments to external channels (website widget, phone) require Business or higher.
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). Input the provider serves from its cache is billed at the model's separate, usually lower Cached rate and appears as AI Cached in Recent Activity on the Usage page. |
| Images in chat | Billed as input text at the model's rate: roughly 1,000 to 2,000 tokens per screenshot, on every turn where the image is still shown to the model (images on your last three messages, or when the agent looks at an older one again). |
| Voice (phone, website widget) | Billed separately and higher than text: per minute of voice on GPT Live 1, plus the tokens of the text model that runs the agent's tools. Recording a new greeting clip after a welcome-message change is billed like a short call. |
| Speech-to-text | Per minute of audio: dictating a message by microphone, and the after-call transcript of a recorded phone call. |
| Website crawling | 1 credit per page (a "page" ≈ 2,000 characters of extracted text). |
| Embedding (indexing) | 0.01 credits per 1,000 tokens. |
| Web search | 0.10 credits per search. |
| Web page read | 1 credit each time the agent opens a page in full. |
| Code execution (spreadsheets, charts) | 0.5 credits each time the assistant runs code on your data, up to 10 runs per message. Dashboard Chat and scheduled tasks only. |
| Memory | A small text-model charge when facts and a summary are extracted after a conversation (customer memory, and your own chat memory when it is on). |
| Scheduled task run | The same as running that conversation by hand. |
| Agent test run | The agent's reply plus its assessment, each at the model's text rate. Suggestions and predictions also call a model. See Testing. |
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.
To estimate a monthly bill, the cost calculator takes chat, voice or both, a setup (with or without a knowledge base and tools), a model and your volume, and shows the estimated credits per month and a suggested plan. It is a rough estimate. The models page lists each text model's rates under Show details: Input, Output and Cached, in credits per ~1,000 words.
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.
Chat attachments accept a wider set and a smaller size, because they are one-off documents rather than permanent agent knowledge:
| Knowledge base source | Chat attachment | Chat image | |
|---|---|---|---|
| Types | .pdf .doc .docx .txt .md | .pdf .docx .txt .md .html .json .csv .xlsx | .png .jpg .webp .gif |
| Max size | 100 MB | 25 MB (20 MB for .csv, .xlsx, .json) | 10 MB, 10 per message, 25 per conversation |
| Retention | Until you delete it | Organization-wide setting, 1 week to forever | Same as chat attachments |
All three count towards the same Upload storage (MB) limit. Images are stored downscaled (long edge 1568 px) with camera metadata removed. See Attaching documents and Attaching images.
- 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) for the team | Live |
| Coming soon | |
| Telegram | Coming soon |
| Coming soon |
Full details in Deployments.
Data-residency tiers
Set per organization under Organization → General → Server Location (owner/admin). The tier filters which AI models you can select. Switzerland counts as European but is not part of the EU; a UK company does not count as a European company.
| Tier | Models allowed |
|---|---|
| Swiss server by Swiss company | Swiss-hosted models from Swiss companies |
| Swiss server, any company | Swiss-hosted models, any provider |
| European server by European company | European-hosted models from European companies |
| European server, any company | 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). Web search, when an agent has it on, sends queries to Staan.ai in France. Appointment booking sends the booker's name, email and chosen time to Cal.com's US-hosted service (a self-hosted Cal.com keeps it in Switzerland). Voice, on the phone and in the website widget, runs on GPT Live 1, a Microsoft Azure OpenAI resource in Sweden Central deployed as a global deployment: audio may be processed in Azure regions worldwide; transcripts are stored in Switzerland. Widget voice is off unless the widget enables it. GPT Live 1 counts as a European server run by a US company, so voice (phone deployments, widget voice and the dashboard voice test) is only available under European server, any company and Global. The stricter tiers refuse it; a phone deployment created earlier keeps running but is flagged. 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://api.botts.ai/widget/chat-widget.js?key=YOUR_API_KEY"></script>
- The
keyis the deployment's API key, prefixedbts_. Your real key is shown in the widget editor's Install section; copy the snippet from there. - The key is public by design and only works for this deployment's widget. The dashboard can't replace it; a new website deployment gets a new key.
- Works on WordPress, Shopify, Squarespace, Wix, or plain HTML. See Deployments.
- The closed widget is a Bubble (default), a Bubble with message, or a Card with buttons (Chat, and Talk when AI voice is on; visitors can minimise it). Set under Launcher in the widget editor.
- AI voice (optional, set under AI voice): a voice session ends after 10 minutes or 90 seconds of silence; the spoken welcome message is up to 300 characters. See Deployments.
Connections and secrets
Connections let an agent call external systems. Configured under Integrations (Admin/Owner).
| Connection type | Where its tools come from |
|---|---|
| MCP server | Discovered from the remote server, imported by you |
| HTTP API | Endpoints you define under one base URL, or import from an OpenAPI spec URL (JSON or YAML) |
| Field | Values |
|---|---|
| Method | GET, POST, PUT, DELETE, PATCH |
| Authentication | None, Bearer, Basic, Custom Header, or Login Token |
| Auth scope | Organization-wide, or per user |
| Parameter types | string, number, integer, boolean |
| Parameter options | Required, fixed value, restricted to allowed values |
| Live timeout | 30 seconds |
| Pipeline steps | unwrap, project, search, filter, sort, top, gaps, render |
- Reference a stored secret anywhere in the URL, 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 percent-encoded and substituted.- A
2xxresponse body is passed to the model, capped at both ends if very large;4xx/5xxbodies are hidden (the model is told the status plus a hint not to invent data). Return200with a JSON body for "not found"-style answers. - Private, localhost, link-local, and cloud-metadata addresses are blocked, for MCP server URLs too.
- MCP tools are registered as
servername__toolname. A server that changes its tool list needs re-approval before the change takes effect.
Scheduled tasks
Personal recurring agent runs, under Scheduled in the sidebar. See Scheduled Tasks.
| Ownership | The account that created it. Not visible to other members, including Admins. |
| Who can create | Any role that can use chat, including Member |
| Runs | A deployed agent you can chat with, or a general-purpose model |
| Frequency | Daily, weekly (pick weekdays), or monthly (pick days 1–31), at a time in your timezone |
| Start and end | Optional Start on and Stop after dates. Set both to the same day to run a task once on that date. |
| Delivery | Email, or in botts.ai marked unread. Saved to a conversation either way. |
| Failures | Each failed run emails you. After 3 consecutive failures the task pauses (with an email). |
| Missed runs | A run missed during platform downtime runs late within 24 hours, otherwise it is recorded as missed and you get an email. Misses never pause a task. |
| No credits | The run is skipped, not queued or retried |
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. Knowledge-base sources are website crawl and file upload only. There is no Google Drive, Notion, Dropbox, SharePoint, or S3 sync. (An MCP server can let an agent query such a system live, which is a different thing from indexing it.)
- 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 on public channels. - No self-service booking setup yet. Appointment booking in a Cal.com calendar exists, but botts.ai attaches the tool on request. The Booking Request form collects a requested date; it does not check availability or book anything. For another scheduling system, use a connection to call its API.
- No setting that pins the reply language. Agents reply in the language the user writes or speaks. A phone deployment's Language only sets the greeting and first turns, and a widget's Language only sets the widget's own labels. To pin a language, state it in the system prompt.
- No OAuth for connections yet. Connections authenticate with keys, headers, basic auth, or a login endpoint. Catalogue entries whose only login is OAuth are listed but disabled.
- No interactive voice failover. Phone deployments have no backup model.
- WhatsApp, Telegram, and Email channels are not available yet (Coming soon).
- No SAML or organization-wide single sign-on, and no audit logs at this time. (Individual accounts can sign in with Continue with Google or a passkey.)
- No automatic prompt optimization. Testing grades an agent's replies against your expectations; it does not rewrite the prompt, pick a model, or change the agent in any way.
Need one of these? It's often achievable today with a connection, or worth raising with support.
Things this list used to say
Removed because they now exist, in case you remember them as limits:
| Former limit | Now |
|---|---|
| No web browsing | Agents can search the web and read pages, optionally restricted to chosen domains |
| No conversation export | Export in JSON, CSV, or Excel, per message or per conversation |
| No document uploads in chat | Attach documents to a conversation and ask about them |
| No scheduled or unattended runs | Scheduled tasks run an agent on a timer |
| No calendar or booking automation | Appointment booking finds free slots and books them in a Cal.com calendar, in chat and on voice |
| Tools are hand-written HTTP endpoints only | MCP servers and OpenAPI import |
Last updated on October 7, 2026