Setup guide
Everything you need to put Sathi to work for your shop — from first sign-up to answering real customers on your website, Messenger, WhatsApp, and Telegram. No coding background needed; every step is copy-paste.
1. Quick start
- 1Create a free account with your email and business name — the name is what customers see in chat.
- 2Your account starts empty — every tenant has their own isolated catalog, knowledge base, orders, and conversations, and the AI answers only from what you add. Want to explore first? Press Load sample data on the dashboard to get 4 demo products and 5 FAQs you can edit or delete.
- 3You get 200 free AI replies. 1 reply = 1 AI message sent to a customer, across all channels.
2. Add your products
Go to Dashboard → Products. For each product add the English name, Bangla name (recommended — customers search in both), price, stock, and a short description. Sathi uses this catalog to quote prices, check stock, describe products, and take orders. When stock hits zero, Sathi tells customers the item is unavailable instead of taking the order.
3. Knowledge base
Go to Dashboard → Knowledge Base. Two things live here:
- 1Business info — structured fields for delivery charges (inside/outside Dhaka), delivery time, payment methods, shop address, and hours. Sathi answers these common questions directly from the fields, in Bangla or English.
- 2Q&A entries — anything else customers ask, organized by category (product, delivery, payment, returns, general). Write the question the way a customer would ask it; Sathi matches similar phrasings.
With a Gemini API key configured, Sathi also answers free-form questions using this data — and only this data, so it never invents prices or policies.
4. Test your agent
Open Dashboard → Chat Playground and play the customer. Try a price question ("জামদানি শাড়ির দাম কত?"), a full order ("order the leather wallet" → quantity → name → phone → address → yes), an FAQ, and the 📷 button to upload a real photo (identified by AI vision). Orders you place here appear on the Orders page exactly like real ones — this is the fastest way to check your catalog and knowledge base before going live.
5. Website chatbot
Already enabled on new accounts. Go to Dashboard → Integrations → Website chatbot, copy the embed snippet, and paste it into your site's HTML just before </body>:
<script src="https://your-sathi-domain.com/widget.js" data-key="pk_XXXX" async></script>The data-key is your public key — it identifies your shop and is safe to expose. Customers get a green chat bubble; conversations persist per visitor and show up in your Chat Playground list. Preview it any time at the widget demo page.
6. Facebook Messenger
⚡ Fastest — one click: go to Dashboard → Integrations, press ⚡ Connect next to Messenger, and approve the consent dialog. Sathi stores the credentials and registers the webhook automatically — nothing else to do. The steps below are the manual route for using your own Meta developer app.
Manual setup needs a Facebook Page and a (free) Meta developer app. Your callback URL and verify token are under Manual setup (advanced) on the Messenger card.
- 1Go to developers.facebook.com → Create App → type Business.
- 2In the app dashboard, add the Messenger product and connect your Facebook Page.
- 3Generate a Page access token, paste it into the Messenger card on your Integrations page, and press Save settings & connect.
- 4In Meta's Messenger settings → Webhooks, paste your callback URL and verify token from the Integrations page, then click Verify and save. (Meta requires the URL to be public HTTPS — see Going live.)
- 5Subscribe the webhook to the
messagesfield. Done — DM your page and Sathi answers.
7. WhatsApp Business
⚡ Fastest — one click: Dashboard → Integrations → ⚡ Connect next to WhatsApp, approve the dialog, done. Manual route below.
- 1In the same Meta developer app, add the WhatsApp product. Meta gives you a test business number, a phone number ID, and an access token.
- 2Paste both into the WhatsApp card on Dashboard → Integrations and connect.
- 3In WhatsApp → Configuration → Webhook, paste your callback URL and verify token from the Integrations page, verify, and subscribe to the
messagesfield. - 4Message the business number from any WhatsApp account — Sathi replies through the Cloud API.
8. Telegram
⚡ Fastest — one click: Dashboard → Integrations → ⚡ Connect next to Telegram. Same for Instagram DM. Manual route below.
- 1In Telegram, message @BotFather →
/newbot→ pick a name. BotFather gives you a bot token. - 2Paste the token into the Telegram card on Dashboard → Integrations and connect.
- 3Register the webhook by opening the setWebhook URL shown on the card (with your bot token filled in) once in a browser.
- 4Message your bot — Sathi answers.
9. Demo tokens — test without real credentials
Any token starting with demo (e.g. demo_token) runs the entire pipeline — inbound webhook, AI reply, order processing — but skips the real platform API call. Every reply is recorded in the Delivery log at the bottom of the Integrations page with status simulated. Swap in a real token later and the same replies go out for real (status sent or failed with the error).
10. Plans & billing
Dashboard → Billing shows your usage meter and invoices. Free = 200 replies + 1 channel; Starter ৳299 = 600 replies + 2 channels; Pro ৳599 = 1,550+ replies + all channels; Business ৳4,999 = 20,000 replies. When the meter runs out, Sathi stops replying (customers see nothing broken — you get an upgrade prompt).
Real payments: set STRIPE_SECRET_KEYand the Buy button opens genuine Stripe Checkout — the plan activates only after Stripe confirms the charge (verified server-side, charged in USD since Stripe doesn't settle BDT), and the invoice records gateway stripe. Without the key, checkout runs in clearly labeled test mode.
11. Super admin
The platform owner signs in at /signin with the admin account and lands on /admin with full control: platform stats, tenant drill-downs (catalog, knowledge base, orders, chats, payments per tenant), plan changes, usage resets, suspension, permanent deletion, and impersonation — sign in as any tenant with a one-click return banner. A live plan editor changes prices, quotas, and platform limits instantly across the whole platform; Chats/Orders/Delivery monitors show everything happening across tenants; Announce broadcasts to every tenant; and the Audit page records every admin action automatically.
The default bootstrap credentials are admin@sathi.app / admin123456 — they exist so the panel works out of the box. Set ADMIN_EMAIL and ADMIN_PASSWORD before any real deployment.
12. Going live — checklist
- 1Deploy on a public HTTPS domain (Meta and Telegram both require HTTPS webhooks).
- 2Set environment variables in
.env.local(or your host's env settings):
SESSION_SECRET=a-long-random-string # required — signs login cookies
ADMIN_EMAIL=you@yourcompany.com # required in production — super admin login
ADMIN_PASSWORD=a-strong-password # required in production
GEMINI_API_KEY=your-gemini-key # enables real AI answers
GEMINI_MODEL=gemini-2.5-flash # optional
STRIPE_SECRET_KEY=sk_live_... # optional — real Stripe checkout for plans
META_APP_ID=your-meta-app-id # optional — makes ⚡ Connect use the real
META_APP_SECRET=your-meta-app-secret # Facebook OAuth dialog (Messenger/WhatsApp/Instagram)
TELEGRAM_BOT_TOKEN=123456:ABC... # optional — ⚡ Connect registers this bot's webhook- 3Replace
demotokens with real page/access/bot tokens on the Integrations page. - 4Re-verify each webhook from the platform's dashboard against your production URL.
- 5Place one real test order per channel and confirm it lands in Dashboard → Orders with a notification.
Keep tokens secret. Page access tokens, WhatsApp tokens, and bot tokens let anyone send messages as your business. Only your public key (pk_…) is safe to put in website HTML.