Clients
Each client has its own Kala at their own address.
| Client | Plan | Status | Agent minutes | Gemini cost | Server | Backup |
|---|
Plans & prices
Limits are pushed to every client on the plan when you save. Empty means unlimited.
| Code | Name | Websites | Seats | Agent minutes / month | Price / month (USD) | Hidden | Dodo |
|---|
Models
Which AI answers what, and the keys it uses. Keys are stored encrypted, shown only by their last 4 characters, and pushed to every client's server with their plan.
Voice & live chat Gemini only
Visitors talk to the agent over Google's Gemini Live, a realtime audio connection that Claude and OpenRouter don't offer. This uses the Gemini key below, whatever order the text features use.
Empty uses this server's own setting (shown in grey). A client's own choice, set on their page, wins.
Text features
Providers are tried top to bottom. When one is rate limited, down or has a bad key, the next one answers; a provider cooling down after a rate limit moves to the end for a minute. A provider without a key is skipped.
- Ask (the team's assistant, with tools)
- Customer personas
- Conversation insights
- Learning a website's voice
- Reading contact details from chats
- Answers in the website playground
Waitlist
People who asked for early access on kala.host.
| Company | From | Signed up | Status |
|---|
Tries
Websites people pasted into kala.host/try.
| Website | From | When | Read | Tries | Talked |
|---|
Billing
Clients pay through Dodo Payments. You send a payment link; paying turns the client Active.
DODO_API_KEY, DODO_WEBHOOK_SECRET and DODO_MODE in the server's .env and restart.Webhook
In Dodo's dashboard, add this URL as a webhook endpoint and copy its signing secret into DODO_WEBHOOK_SECRET.
subscription.*(all subscription events)payment.succeededpayment.failed
Recent webhooks
| Received | Event | Client | Result |
|---|
Finance
What you keep: payments from Dodo, less tax and Dodo's fees, less Gemini and your own costs. All in USD.
Reads the last year of payments from Dodo, for refunds or a webhook that never arrived. This also runs daily.
Where the money goes
| Cost | Kind | Amount |
|---|
Per client
| Client | Paid (net) | Gemini | Share of fixed | Contribution | Margin |
|---|
Last 12 months
| Month | Net revenue | Operating costs | Clean profit | Margin |
|---|
Your costs
| Name | Category | Amount | When | Notes |
|---|
Settings
What this server uses to talk to your clients.
System email
Invitations, password resets and payment links, sent through Resend from your domain.
- In Resend, verify
kala.hostand create an API key. - Add
RESEND_API_KEY(and optionallySYSTEM_EMAIL_FROM,SYSTEM_EMAIL_REPLY_TO) to/opt/customer-agent/.envand to/etc/kala/shared.env. - Restart this server and each client's instance.