Chapter 01
Introduction
Onelinebot is an AI chatbot platform that lets you deploy intelligent, knowledge-aware assistants on your website with a single line of embed code. This guide walks through every feature from first signup to production CRM sync.
AI Chatbots
Build conversational AI bots with custom prompts, tone, and branding in minutes.
Knowledge Base
Train bots on documents, websites, Notion pages, and structured uploads — plus optional prompt chips and KB gap workflows when enabled on your plan.
Lead Capture & CRM
Verify leads with email OTP and sync them to HubSpot CRM automatically.
What is Onelinebot?
Onelinebot is a SaaS platform for deploying AI-powered chatbots trained on your own business content. Each chatbot is a standalone assistant that answers visitor questions, captures qualified leads, and hands them off to your CRM — all without writing custom backend code. You configure it once, paste the embed snippet on your site, and the chatbot goes live.
Key concepts
| Concept | What it means |
|---|---|
| Workspace | Your organization-level account that owns all chatbots, leads, and integrations. |
| Chatbot | A single assistant with its own prompt, appearance, knowledge sources, and embed ID. |
| Knowledge Source | A document, scraped page, or imported file the chatbot uses to answer questions. |
| Lead | A site visitor who submitted their contact details through the chatbot form. |
| Integration | A third-party tool (e.g., Notion for knowledge import or HubSpot for CRM sync) connected to your workspace. |
| Entitlement | A feature or limit granted to your plan (e.g., max chatbots, allowed file types, CRM access). |
How it works
Your documents and scraped content are chunked, embedded, and stored in a vector database. When a visitor chats with your bot, the system retrieves the most relevant chunks, passes them to the language model along with your system prompt, and returns a context-aware answer. Missed intents may surface as knowledge-gap signals for optional auto-healing review when enabled on your plan. Lead forms capture contact data, optionally verify the email via OTP, and push verified contacts to your CRM in real time or on demand.
Chapter 02
Getting Started
Create your account, verify your email, and launch your first chatbot in under five minutes. The flow below is the fastest path to a working bot on your website.
Create your account
Go to the Register page and sign up with your work email. Choose a strong password (minimum 6 characters). You'll be placed on the default signup plan automatically — no credit card required.
Verify your email
We send a 6-digit verification code to your inbox. Enter it on the verification screen, or click the magic link inside the email. Without verification, some features (like publishing chatbots) remain locked.
Didn't receive the email?
noreply@onelinebot.com to your safe senders list.Take the quick tour
On first login you land on the Dashboard. From the left sidebar you can access Chatbots, Leads, Knowledge Base, Integrations, Pricing, and Settings. Spend two minutes hovering over each menu to understand the layout before creating your first bot.
You're ready
Chapter 03
Create & Configure Chatbots
A chatbot is the core unit in Onelinebot. Each bot has its own identity, training data, appearance, and embed ID. This section covers every configuration option in detail.
Create a new bot
Open the Chatbots page
Name and purpose
Save the draft
System prompt
The system prompt is the most important setting on your chatbot. It tells the AI how to behave, what it is, what it can and cannot do, and how it should respond when unsure. A good system prompt dramatically improves answer quality.
Recommended prompt structure
- Identity: "You are Acme's AI support assistant."
- Scope: "You help visitors with product questions, pricing, and onboarding."
- Rules: "Answer only from provided knowledge. If unsure, offer to collect their email."
- Tone: "Be friendly, concise, and professional."
Tone & personality
Choose from presets like Professional, Friendly, Concise, or Playful. The tone modifies sentence structure and vocabulary while preserving your system prompt's rules. For enterprise B2B sites, Professional is the safest default. For consumer brands, Friendly or Playful works well.
Appearance
Customize how the widget looks on your site so it matches your brand.
| Setting | What it controls |
|---|---|
| Theme color | Primary brand color for header, buttons, and user message bubbles. |
| Avatar | Upload a logo or character image shown on the bot's messages. |
| Launcher text | The small teaser text next to the bubble before opening. |
| Position | Bottom-right (default) or bottom-left of the viewport. |
| Custom branding | Replace "Powered by Onelinebot" with your own text (higher plans only). |
Welcome message
The first message a visitor sees when they open the widget. Keep it short, warm, and action-oriented.
Example welcome messages
- "Hi! I'm Acme's AI assistant. Ask me anything about our product, pricing, or onboarding."
- "Welcome! Looking for something specific? I can help with docs, pricing, and demos."
- "Hey there 👋 — I'm here 24/7. What can I help you find today?"
Chapter 04
Embed Code Integration
Install your chatbot on any website with a single script tag. Onelinebot supports every major stack — plain HTML, React, Next.js, WordPress, Shopify, Webflow, and more.
Copy the snippet
Open your chatbot's Embed tab to copy the script. Each bot has a uniquedata-chatbot-id. Keep this ID private — anyone with it can render your bot on their site.
Install on plain HTML
Paste the snippet just before the closing </body> tag of every page where the chatbot should appear. For site-wide installs, add it to your global template or layout.
<!-- Paste this before the closing </body> tag -->
<script
src="https://onelinebot.com/embed-new.js"
data-chatbot-id="your-chatbot-id"
async
></script>Install on React / Next.js
For Next.js apps, use the next/script component with afterInteractive strategy to avoid blocking initial render.
// app/layout.tsx (Next.js App Router)
import Script from "next/script";
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
{children}
<Script
src="https://onelinebot.com/embed-new.js"
data-chatbot-id="your-chatbot-id"
strategy="afterInteractive"
/>
</body>
</html>
);
}Install on WordPress
In WordPress, add the snippet via your child theme's functions.php using the wp_footer hook. This keeps the install intact when the parent theme updates.
// functions.php (child theme recommended)
function onelinebot_embed_footer() {
?>
<script
src="https://onelinebot.com/embed-new.js"
data-chatbot-id="your-chatbot-id"
async
></script>
<?php
}
add_action('wp_footer', 'onelinebot_embed_footer');Content Security Policy (CSP)
onelinebot.com toscript-src andconnect-src directives, otherwise the widget will fail to load silently.Verify installation
Open your live site
Test the welcome message
Send a test question
Submit a test lead
Chapter 05
Knowledge Base & Training
The chatbot's answer quality depends entirely on what you upload here. This section covers every ingestion method, from drag-and-drop to website scraping.
Upload documents
Open Add Knowledge
Select files within your plan's format list
Wait for processing
Verify status
Scrape a website
To train your bot on existing web content, add a website URL or sitemap. Onelinebot crawls within the same domain up to your plan's page limit, respecting robots.txt.
Add URL
Configure depth and filters
Start crawl
Manage sources
The Knowledge Base dashboard lists every source with filters for type, status, and last update. You can refresh a source (re-fetch content), edit chunks manually, rename, or delete. Deleting a source removes its embeddings from the vector store immediately.
Storage & limits
Storage usage is shown as a progress bar at the top of the Knowledge Base dashboard. When you approach the cap, the bar turns red and uploads are blocked. Deleting sources frees storage instantly.
Plan-level storage
Chapter 06
Suggestions & KB health
Optional plan features that improve the visitor experience with starter prompts and help you close knowledge gaps surfaced from real conversations.
Prompt suggestions
Prompt suggestions are configurable chips shown inside the chat widget — either when the conversation starts, after each assistant reply, or both. You can define custom suggestions per chatbot or generate AI-assisted suggestions grounded in your uploaded documents (subject to limits on your plan).
Confirm your plan includes Prompt Suggestions
Open the suggestions workspace
Choose display mode
Add, reorder, and toggle suggestions
Publish
Where suggestions appear
Auto-healing (KB gaps)
When the model struggles to answer confidently from indexed knowledge, Onelinebot can record that interaction as a knowledge gap. Auto-healing is the workflow where your team reviews those gaps and optionally promotes suggested answers into real knowledge articles, which are chunked and indexed like any other source.
Confirm Auto-healing on your plan
Open the gap review queue
Triage items
Approve or edit
Verify in Documents
Human review matters
Chapter 07
Lead Capture & Verification
Turn chatbot conversations into verified leads with configurable forms and optional email OTP verification.
Configure the lead form
In your chatbot settings, open Lead Generation. Enable lead capture and choose which fields to collect: Name Email Phone. Toggles update the live chatbot form in real time — uncheck phone and the phone field disappears immediately. Required fields are configurable per bot.
Email OTP verification
When email collection is enabled, you can optionally require verification. The visitor receives a 6-digit code, enters it into the widget, and only then does the lead become verified. Unverified leads are never pushed to your CRM automatically.
Visitor submits form
System sends OTP
Visitor enters code
Lead appears in dashboard
Lead lifecycle
| Status | Meaning | CRM eligibility |
|---|---|---|
| Pending | Captured but not verified. | No |
| Verified | Email confirmed via OTP. | Yes |
| Synced | Pushed to CRM successfully. | — |
| Failed | CRM sync error. Retry available. | — |
Chapter 08
Integrations
Connect external tools to import knowledge and sync leads. Every integration is plan-gated and secured with OAuth or private tokens.
Notion Integration
Import pages and databases as chatbot knowledge.
Create a Notion internal integration
Copy the internal integration token
Share Notion pages with the integration
Connect in Onelinebot
Select pages to import
Re-sync on updates
Database page content
HubSpot CRM Integration
Push verified leads directly to HubSpot contacts.
Plan-gated feature
Open HubSpot Private Apps
Name your app
Enable required scopes
-
crm.objects.contacts.read -
crm.objects.contacts.write
Create app and copy token
pat-.Connect in Onelinebot
Choose sync mode
Use the right scope family
crm.schemas.contacts.* — those are metadata-only scopes and will return 403 errors on actual sync.Chapter 09
Lead Sync to CRM
Push verified leads to HubSpot with full visibility into sync status and error handling.
Auto-push flow
When Auto-push verified leads is enabled, every time a lead successfully verifies their email via OTP, Onelinebot immediately creates or updates their contact record in HubSpot. No manual action required.
| Field from lead | Mapped to HubSpot property |
|---|---|
email | |
| Full name → first | firstname |
| Full name → last | lastname |
| Phone | phone |
Manual sync
Go to Leads
Select contacts
Click Sync Selected Contacts
Review results
Sync status badges
| Badge | Meaning |
|---|---|
| Synced | Contact successfully pushed to HubSpot. |
| Failed | Push failed. Hover for reason; most fixes involve token or scopes. |
| Pending | Queued or in progress. |
| Unverified | Lead hasn't verified email yet — not eligible. |
| N/A | CRM not configured for this workspace. |
Chapter 10
Billing, Plans & Limits
Understand how limits are enforced, what happens when you hit a cap, and how to upgrade.
Plan limits
Every plan defines quotas and feature toggles for your workspace. Admins configure these per plan; users see them live on the pricing and dashboard pages.
| Limit | What it controls | Enforcement |
|---|---|---|
| Chatbots | Max active chatbots in your workspace. | Blocks creation when reached. |
| Messages / month | Total chat messages across all bots per billing cycle. | Blocks responses when exceeded. |
| Scraped pages / month | Pages crawled from websites/sitemaps. | Blocks new scrape jobs. |
| Storage (MB) | Total knowledge base storage. | Blocks uploads when full. |
| Allowed formats | Which file types can be uploaded. | Blocks disallowed uploads with upgrade prompt. |
| Prompt suggestions | Custom & AI-assisted starter/reply chips in the widget. | Shows upgrade prompt when not included on plan. |
| Auto-healing | Review knowledge gaps and approve drafted KB articles. | Auto-healing dashboard locked with upgrade prompt when disabled. |
| CRM access | Whether HubSpot CRM sync is available. | Shows upgrade card if disabled. |
Upgrades & billing
Open Dashboard → Pricing to compare plans and upgrade. Upgrades take effect immediately — new limits apply within seconds. Downgrades take effect at the end of the current billing cycle to avoid data loss.
Upgrade is instant
Chapter 11
Data export, trash & permanent deletion
Control your workspace data: download a copy, move chatbots to trash, restore or erase them forever, deactivate your account, and understand retention before data is purged from application systems.
Where to start in the product
Download your data (JSON export)
Verified accounts can download a machine-readable bundle that includes your profile fields, chatbots you own, recent conversations and messages (subject to server limits), subscription snapshot, and usage history — scoped strictly to your login. This is useful for backups and portability.
Open export
From Dashboard → Data & deletion, use Download my data, or go to Dashboard → Settings → Security and run the export from there.
Save the file
.json file. Store it securely; it may contain conversation and lead-related text from your bots.Not a full forensic archive
Chatbots: trash, restore, and permanent delete
Deleting a chatbot from the main Chatbots page performs a soft delete: the bot moves to Trash, is hidden from normal use, but data may remain in the database until you restore it, permanently delete it, or the retention window expires.
Move to trash
Restore or delete forever
What permanent chatbot deletion removes
Account: deactivation, recovery, and permanent erase
You can deactivate your entire account from Settings → Security. That queues the account for deletion similar to trash: most dashboard features lock, and you use Account recovery to either restore your account or proceed to permanent deletion.
Deactivate
Restore or hard-delete account
Billing and third parties
Retention windows & automation
Soft-deleted chatbots and soft-deleted accounts stay recoverable for a limited time (commonly ~30 days per entity type). Operators can adjust windows via environment configuration. After that, scheduled jobs may permanently purge eligible rows without another click from you.
| Topic | Details |
|---|---|
| Chatbot trash retention | Default 30 days unless `SOFT_DELETE_CHATBOT_RETENTION_DAYS` is set (clamped 1–365 in product logic). |
| Account deletion queue | Default 30 days unless `SOFT_DELETE_USER_RETENTION_DAYS` is set (same clamp). |
| Hard-delete queue | When `REDIS_URL` is set, destructive work may run through a background worker; otherwise inline processing may apply — see repository docs for operators. |
| Cron purge | Server-side cron can call the purge endpoint protected by `CRON_SECRET` to enforce retention — production teams should configure this explicitly. |
Privacy, Terms, and operator documentation
End-user legal copy is published at Privacy Policy and Terms and Conditions (including retention, export, and deletion summaries). Technical and deployment-oriented detail for your engineering team lives in the repo file docs/data-and-deletion.md.
Chapter 12
Troubleshooting
Most common issues, their root causes, and fast fixes.
Upload blocked: "format not allowed"
Your plan's allowed formats list doesn't include this file type. Check the pricing page to see which plans include the format you need, or ask your admin to enable it.
HubSpot sync failed (401 or 403)
401: Token is invalid or expired. Regenerate the Access Token in HubSpot Private Apps and paste it again.
403: Missing scopes. Enable both crm.objects.contacts.read andcrm.objects.contacts.write, then regenerate the token.
CRM sync button says "Upgrade to Sync"
Your plan doesn't include HubSpot CRM. Clicking the button takes you to Integrations where you'll see the upgrade card with links to the pricing page.
No leads are syncing at all
CRM sync only applies to verified leads with valid emails. Check the Leads page filter — if all leads are showing as Pending or Unverified, review your lead form settings and confirm OTP emails are being delivered.
Prompt suggestions or Auto-healing show an upgrade prompt
Both features are plan-gated. Open Dashboard → Pricing to compare tiers, or ask your workspace admin to enable them on your subscription plan.
Widget doesn't appear on website
Open browser devtools → Console. If you see a CSP error, add onelinebot.com to your allowed script sources. If there's no error, confirm the data-chatbot-id matches your bot exactly and that the chatbot is marked active in the dashboard.
Still stuck?
Our team is available 24 hours a day on business plans and next-business-day on free plans. Include your workspace ID, the chatbot name, and any error message you're seeing for the fastest resolution.
Contact Support