FAQ
Questions answered verbatim by the app's own copy or controller responses.
Every answer on this page is a literal quote (or paraphrase of an enum value) from a source file. Citations are inline.
Billing FAQ
The four items below are rendered verbatim by components in assets/js/pages/App/Billing/Plan/Index.jsx.
What happens if I hit my message limit?
Your chatbot keeps running but will reply with a friendly 'please try later' message to new visitors until the next billing period — or until you upgrade.
What counts as a 'training character'?
Every character of the content you feed your chatbot — URLs crawled, files uploaded, Q&As, and text sources. We measure the raw text, not images or HTML.
Can I switch plans later?
Yes. Upgrade instantly (prorated) or downgrade at the end of the cycle. No hidden fees, no contracts.
Do you offer a free tier?
Yes — Free forever, 1 chatbot, 50 messages/month, 400K training chars. Great for testing. Production customers typically start on Starter.
What happens when I try to upload a file that exceeds my plan?
Verified from lib/chatbotgen_web/controllers/app/knowledge/file_controller.ex:
-
If your current document count already meets or exceeds the plan cap, the server responds HTTP 422 with:
File limit reached ({N} on your plan). Upgrade to add more.
-
If the file's size would push total chars past
max_chars_trained, the server responds HTTP 422 with:This file would exceed your plan's training limit. Upgrade to add more content.
-
If the upload record can't be persisted for any other reason, the server responds HTTP 422 with:
Failed to save file record
The client also blocks files over 10 MB before upload (see assets/js/pages/App/Knowledge/Index.jsx), flashing:
File too large. Maximum size is 10MB.
What's the deletion flash when I delete a file?
Verified from the same controller:
File deleted
What happens when I click Retrain and I'm over the char limit?
Verified from lib/chatbotgen_web/controllers/app/chatbot/retrain_controller.ex:
-
On success, the controller flashes:
Training started. Your chatbot will be ready shortly.
-
If your total training chars exceed the plan's
max_chars_trained, the controller flashes (with real numbers filled in):Training content ({N} chars) exceeds your plan limit ({M} chars). Remove some sources or upgrade your plan.
What do the Training-tab action-bar messages mean?
Verified from TrainingStatusMessage in assets/js/pages/App/Knowledge/Index.jsx, the banner's text is one of:
- "Discovering pages — URLs will appear below as we find them…" (crawling)
- "Training in progress…" (training)
- "Over plan limit — reduce training content to retrain." (over-limit)
- "Preparing N source(s) — retrain unlocks once they're ready." (sources still ingesting)
-
"You have unsaved changes — click Retrain agent to apply." (
needs_retrainis true) - "Agent is up to date" (nothing pending)
What are the three conversation filter tabs?
Verified from STATUS_TABS in assets/js/pages/App/Conversation/Index.jsx:
-
All → status filter
"" -
Needs Reply → status
"handed_off" -
Closed → status
"closed"
What flash appears when I cancel an invitation?
Verified from lib/chatbotgen_web/controllers/app/member_controller.ex: the delete route is the same for both members and invitations, and the flash message is always:
Member removed.
(This applies whether you clicked Remove on a member row or Cancel on an invitation row.)
What happens when an invitation email doesn't match my account's email?
Verified from lib/chatbotgen_web/controllers/app/invitation_controller.ex: the index lists invitations by calling Accounts.list_pending_invitations_for_email(user.email). Invitations sent to an address that doesn't match your current user's email won't appear.
Related
- Plans & pricing — the FAQ above comes from this page's copy
- Plan limits — every numeric limit in the codebase