Widget appearance and preview
Every visual setting for the widget now lives on the Preview page of the client portal. Controls sit on the left, the widget mock-up on the right: it redraws with every keystroke, before you even save. What you see is what your visitors will see.
The account avatar
Upload your company logo: it appears as a round badge at the top of your portal, on your subdomain's sign-in page (your-id.chatdirect.ca), and doubles as the widget avatar unless you set a different one. One upload covers your whole brand. Accepted formats: PNG, JPG or WebP, 2 MB maximum; a square image works best. Without an avatar, your company initials are shown instead.
One color to pick
The brand color alone drives the header, visitor bubbles, buttons and launcher icon. Set it with the picker, type the hex value, or grab one of the suggested swatches. The “Pull from my site” button reads the website you have declared and works out your dominant color — handy for matching the widget to your brand without hunting down the exact code.
If one shade needs to depart from the brand, open “Set each color separately”: header, visitor bubble, assistant bubble, window background and advisor button can each be set on their own. Left empty, every field stays derived from the brand color — only fill in what genuinely needs to differ.
Theme, placement and identity
- Theme — Light, dark, or automatic. On automatic, the widget follows the visitor's own display preference.
- Placement — Which corner the bubble sits in (bottom right or bottom left) and its size (small, standard, large).
- Visual identity — The avatar, the greeting message, and an optional banner under the header (for example “Replies in under a minute”).
- “Talk to an advisor” button — Its color follows the brand; you choose its shape, size and label.
- Label under replies — Under each AI reply, a discreet line "Bot name • AI Agent • Just now". Standard label, custom text or no label; never under a human advisor's replies.
- Signature at the bottom of the widget — ChatDirect signature by default; replacement text or no signature from the Pro plan.
Try before you save
In the preview, the Desktop, Tablet and Mobile tabs redraw the widget at each screen's proportions: on mobile it spans the full width and the bubble shrinks, exactly as it does on a real phone. The × closes the window to show only the bubble, and “Dark page” checks that your widget stays legible on a dark-background site.
Nothing is applied until you click Save, so try as many combinations as you like. To actually chat with your assistant, the “Open the test environment” link loads the real widget on a demo page.
Appearance settings used to live under Configuration → Appearance. That tab now points to the Preview page; your colors and text were carried over unchanged.
Inbox
In the sidebar, Inbox holds Live (chats with an agent) and All conversations. That page is a split-view inbox: the list on the left, the open conversation on the right, without leaving the page. The keyboard arrows move from one conversation to the next.
- All, Unread, Saved — Three segments at the top of the list, with their counts.
- AI-generated titles — Each conversation gets a title that sums up the visitor's request (e.g. "Quote for a medical check"). Hover the title to see the first question.
- Last message excerpt — The second line shows where the exchange stands (Bot, Visitor or Advisor), or the AI summary when one exists.
- Date groups — Today, Yesterday, This week, This month, Older. Older groups are collapsed by default, one click expands them.
- Progressive loading — The list loads more as you scroll.
- Saved — The bookmark moves a conversation to the "Saved" folder, protected from bulk deletion and automatic retention cleanup.
- Mark all as read — One click in the toolbar.
- Inside a conversation — Notes, tags, AI summary, and “Open full page”. A badge flags a member signed in to your website.
When no conversation is open, the right pane shows a summary (key figures and the latest conversation). On phones and tablets, the conversation opens full screen; the device's Back button returns to the list.
From a contact record, “View conversation” opens the original exchange. To go from a conversation to the record, search for the contact under CRM → Contacts.
Widget Installation
A single line of code to integrate the chatbot on your website:
Add this line just before </body>. The widget loads automatically with your bot's configuration (colors, language, schedule, prompt).
Compatibility
- All modern browsers (Chrome, Firefox, Safari, Edge)
- WordPress, Shopify, Wix, Squarespace, Webflow, static HTML
- WordPress: paste the line in your theme footer (your theme's code injection setting) or add it via Google Tag Manager
Display the widget on specific pages
By default, the widget appears on all pages of your site. You can limit it to specific pages or exclude it from certain pages.
Method 1: Via Google Tag Manager (GTM)
If you use GTM to integrate the widget:
- Log in to tagmanager.google.com
- Click on your ChatDirect tag (the one containing the widget.js script)
- In the Trigger section, click on the current trigger (e.g., All Pages)
- Remove the “All Pages” trigger and create a new one
- Type: Page View → Some Pages
- To display on specific pages: Page URL → contains →
/services(or the desired path) - To exclude certain pages: Page URL → does not contain →
/admin - Save and publish the GTM container
Method 2: Conditional JavaScript code
If you embed the script directly in your site, you can conditionally control the display:
In this example, the widget will not appear on pages containing /admin, checkout, or cart in the URL.
AI Providers
ChatDirect supports 4 conversational AI providers:
| Provider | Models | Plans |
|---|---|---|
| Anthropic | Claude Haiku 5.5, Sonnet 5.5, Opus 5.5 | All |
| OpenAI | GPT-6 Luna, GPT-6.1 Sol, GPT-6 Astra | All |
| Gemini 3.8 Flash, Gemini 3.5 Flash-Lite | Pro+ | |
| Mistral | Small, Medium, Large | Pro+ |
Prompt and Knowledge Base
The system prompt defines your bot's personality and instructions. The knowledge base contains information specific to your business (products, pricing, FAQ).
Best Practices
- Define a tone (formal, friendly, professional)
- List your products/services with pricing
- Include business hours
- Add frequently asked questions and answers
- Specify when to transfer to a human
Max size: prompt 50 KB, knowledge 100 KB.
Dynamic AI Suggestions
The bot automatically generates 2-3 clickable suggestions after each response to guide the conversation. Suggestions are contextual and adapt to the current topic.
To turn these bubbles off for a client: Configuration → Conversations → Automatic follow-up suggestions. The fixed quick replies at the start of a conversation stay visible.
Automatic Page Analysis
The chatbot automatically analyzes the content of the page your visitor is browsing to adapt its responses in real time. No manual per-page configuration is needed.
How It Works
When a visitor opens the chatbot, the widget automatically extracts key elements from the current page:
- Page title — The title displayed in the browser tab
- Meta description — The page's SEO summary
- H1 and H2 headings — The content structure
- Main content — Text from the main content area (max 500 characters)
A maximum of 800 characters total is sent to the AI, which is enough to understand context without overloading the system.
Concrete Example
Visitor on /pricing: "Hello! How can I help you?"
Visitor on /pricing: "I see you're looking at our plans! The Pro plan at $89/month includes the built-in CRM and the Review Booster. Do you have questions about a specific plan?"
Benefits
- Contextual responses — The AI knows what the visitor is looking at and adapts accordingly
- Zero configuration — Works automatically on every page of your website
- Better conversion rates — A relevant chatbot engages visitors more effectively
- Secure — Page content is sanitized to prevent prompt injection
Privacy
Page content is processed in real time and follows the same privacy rules as conversations. It is not stored separately and is only used to contextualize the AI's response during the session.
Activation
This feature is enabled by default. To manage it: Bot Configuration → Conversations tab → "Per-page personalization". Uncheck the box to disable it if needed.
Auto-sync Knowledge
Auto-sync allows your chatbot to automatically update its knowledge base by reading pages from your website. No more manual updates: your pricing, services and FAQ always stay current in the chatbot.
How It Works
An automated process (cron) visits the URLs you have configured at your chosen frequency. It extracts the text content from each page (removing scripts, navigation and styles) and writes it directly into the chatbot's knowledge base (knowledge.txt).
- Smart extraction — Only useful content is kept (text, headings, paragraphs)
- Permanent content — Synced information is written to the knowledge base and persists across conversations
- Manual content preserved — Your manually written content is never overwritten; synced content is added in a separate section
Configuration
- Go to Bot Configuration → AI & Prompts tab
- Enable automatic synchronization
- Add the URLs of your important pages (one per line): services, pricing, FAQ, etc.
- Choose the frequency: daily, weekly or monthly
- Set the character limit per URL (max 5,000 per URL, 30,000 total)
Use Cases
- Pricing page — The bot always knows your current prices, even after a website update
- FAQ — Automatic synchronization with your existing FAQ page
- Blog — The bot can reference your latest published articles
- Services pages — Service descriptions always up to date
Required Plan
Auto-sync is available on Business and Enterprise plans.
Auto-sync vs Page Analysis: What's the Difference?
ChatDirect offers two complementary features to help your chatbot understand your website. Here's how they compare:
| Auto-sync Knowledge | Automatic Page Analysis | |
|---|---|---|
| When | Via cron (daily, weekly or monthly) | Real-time, with each visitor message |
| What | Scrapes URLs configured by the administrator | Extracts content from the page the visitor is currently browsing |
| Storage | Written to the knowledge base (knowledge.txt) — permanent | Temporarily injected into the prompt — never stored |
| Configuration | URLs to configure, frequency, character limit | Simple on/off toggle, no URL required |
| Size | 5,000 chars/URL, 30,000 chars total | Max 800 characters |
| Required Plan | Business or Enterprise | All plans |
| Purpose | The bot knows your entire site (background knowledge) | The bot knows what the visitor is looking at right now (immediate context) |
Recommendation: Enable both! Auto-sync gives the chatbot deep knowledge of your site, while Page Analysis allows it to respond contextually based on the visitor's current navigation.
Multi-Agent AI
The Multi-Agent AI feature allows a single chatbot to have multiple specialized "personalities" that automatically take over the conversation based on the topic.
How It Works
- The administrator configures specialized agents (name, description, dedicated prompt) in the admin panel.
- When a visitor asks a question matching an agent's area, the system automatically delegates the conversation to that agent.
- The specialized agent responds with its own expertise — the transition is invisible to the visitor.
- Subsequent messages continue using the active agent's specialized prompt.
Configuration Example
Questions about pricing, plans and features. Responds as a sales consultant.
Questions about installation and integrations. Responds as a technical expert.
Issues and help requests. Responds as a customer service representative.
General and frequently asked questions. Responds concisely and directly.
Benefits
- More precise, specialized responses per topic
- Each agent has its own personality and expertise
- Automatic delegation — no manual intervention needed
- Seamless experience for the visitor (they don't see the switch)
- Unlimited number of configurable agents
Required Plan: Business or Enterprise.
Multi-Bots per Client
The Multi-Bots feature allows a single client account to manage multiple independent chatbots, each with its own identity, colors, prompt and knowledge base. Ideal for businesses that need distinct bots for different departments or use cases.
Use Cases
Specialized in prospecting and lead qualification, with a commercial tone and conversion-oriented quick replies.
Dedicated to after-sales service, with access to technical FAQs and an empathetic tone.
Quick answers to frequently asked questions, ideal for reducing human support workload.
Configuration per Bot
- Name and identity — Each bot has its own name displayed in the widget
- Colors — Independent color palette per bot
- System prompt — Dedicated personality and instructions
- Knowledge base — Content specific to the bot's domain
- Quick replies — Custom quick reply suggestions
Integration on Your Site
Each bot is selected via the ?bot=name parameter in the widget:
You can place a different bot on each page or section of your website.
Administration
The bots.php page in the admin panel allows creating, editing and deleting bots. Each bot is independent and has its own statistics, conversations and leads.
Advanced AI Features
Dynamic QR Code
Generate a custom QR code that directs visitors straight to your chatbot. Perfect for business cards, storefronts, restaurant menus, or product packaging. Customize the color and size, download as PNG or SVG, and track scan statistics in real time.
Plan required
Available from the Pro plan ($89/month).
Live Social Proof
Display the number of active visitors in the widget (e.g., "3 people online"). This social proof creates a sense of urgency and boosts engagement by 15–20%. The counter updates automatically every 60 seconds.
Plan required
Available from the Business plan ($189/month).
Real-Time Opportunity Detection
The AI analyzes every conversation in real time and identifies strong buying signals: budget mentions, urgency cues, and purchase intent. When multiple signals converge, an instant notification is sent via Slack, email, or WhatsApp so you can step in at the right moment.
Plan required
Available from the Business plan ($189/month).
AI Auto-Training
The chatbot learns from corrections made by human agents during live chat. By typing /correction followed by the correct text, an agent teaches the bot the right answer. The bot uses these corrections as additional context in future conversations, improving continuously without any technical intervention.
Plan required
Reserved for the Enterprise plan ($359/month).
AI Documents (RAG)
AI Documents (RAG)
ChatDirect uses a Supabase database (PostgreSQL) with pgvector to power Retrieval-Augmented Generation (RAG). Everything is managed from the Knowledge page of the client portal: upload your documents (PDF, Word, Excel, TXT, Markdown) or index the pages of your website.
Automatic site analysis — Enter your site address: ChatDirect reads its sitemap, lists the pages, and you tick the ones to index. Pages already indexed are skipped. Indexing runs page by page (20 per batch, 100 per hour).
You can close the page — Processing runs on our servers, not in your browser. Once the pages are queued, you can close the tab or shut down your computer: indexing continues. Come back to the Knowledge page whenever you like to check progress.
Change tracking — A “Check for updates” button compares your pages against what was indexed and flags those that changed since, so you know what to reindex.
Source priority order — Exact answers take precedence over everything, then uploaded documents are favoured over web pages at comparable relevance, and finally the general instructions from your prompt.
Removing a page vs. deleting a document — These two actions do not have the same reach, which is why the portal names them differently. Remove takes a web page out of the assistant's knowledge: your website is not modified, the page stays online, and you can reindex it later in one click. Delete erases the document file you uploaded; to use it again you will have to upload it a second time. In both cases the assistant immediately stops relying on that source and the freed slot returns to your quota.
Upload your documents
Upload PDF, Word (.docx), Excel (.xlsx), TXT, or Markdown (.md) files directly from the client portal. You can also index web pages by URL so the chatbot automatically learns the content of your website — product pages, FAQ, policies, service descriptions, and more.
Scanned PDF reading (OCR): if a PDF contains text as an image (a scanned document), ChatDirect automatically applies optical character recognition (OCR) to extract the text and make it usable by the chatbot. All processing runs on our Canadian servers, with no third-party involved.
How it works
Each uploaded document or indexed page is automatically split into sections. The system generates vector embeddings for every section and stores them in the database. When a visitor asks a question, the system performs a real-time semantic search to find the most relevant excerpts, which are then injected into the AI’s context to produce a precise, grounded answer.
Key benefits
- More precise answers — responses are based on your actual content rather than generic AI knowledge.
- No manual prompt rewriting — simply upload your files or paste a URL and the chatbot is ready.
- Always up to date — re-index a page or re-upload a document whenever your content changes.
- Semantic understanding — the search goes beyond keyword matching to understand the meaning behind each question.
Plan required
Available from the Pro plan ($89/month).
Limits per plan
| Plan | Documents | URLs |
|---|---|---|
| Pro ($89/mo) | 50 | 50 |
| Business ($189/mo) | 125 | 125 |
| Enterprise ($359/mo) | 300 | 300 |
Review Booster
Turn conversations into Google reviews
The Review Booster uses your Google Business Profile (formerly Google My Business / GMB) to offer your Google listing to visitors who rate their experience. You need an active Google Business Profile to use this feature.
The Review Booster automatically detects when a visitor is satisfied and asks them to rate their experience from 1 to 5 stars, directly in the chat widget.
3 smart triggers
The review request triggers in three situations: the visitor expresses satisfaction, the AI detects strong positive sentiment, or the conversation ends naturally on a positive note.
Google link for every rating
Every rating, from 1 to 5 stars, sees the link to your Google listing. 1-3 stars: the widget adds a private feedback form, and the Google link stays available (“You can also share your review publicly”). AI generates an empathetic response and you receive a notification with AI analysis of improvement points. This follows Google's rules, which prohibit discouraging negative reviews or selectively soliciting positive ones.
Built-in A/B Testing
Three message variants are tested automatically. The CRM → Automations → Reviews page shows conversion rates per variant to optimize your results.
Follow-up email
If the visitor doesn't leave a review right away, you can prepare a follow-up email: it will go out after the configured delay, whatever the rating, with a neutral tone and no promo code, only through your own email server. Automatic sending of this follow-up is coming soon. No text message (SMS) is sent.
Testimonials widget
Display your positive reviews directly on your site with the testimonials widget. Embed it on any page with its HTML code.
Configuration
Enable the Review Booster in Configuration → AI tab. Enter your Google Reviews URL from your Google Business Profile (Google Maps → your listing → Ask for reviews → copy the link). Available options: thank-you promo code (shown in the widget after the rating, whatever the score, and never tied to posting a Google review), follow-up email (automatic sending coming soon), monthly report.
Plan required
Available from the Pro plan ($89/month).
Widget Dark Mode
The ChatDirect widget offers 5 visual themes to perfectly match the look of your website.
Available Themes
Light background, dark text. Default theme, ideal for white-background websites.
Dark background, light text. Perfect for websites with a dark design.
Automatically detects the visitor's operating system preference.
Follows the OS theme in real time — switches instantly if the visitor changes their preferences.
Professional blue theme, ideal for corporate websites.
Automatic Detection (Auto / System)
The Auto and System modes use the browser's prefers-color-scheme media query to detect user preference. In System mode, the widget reacts in real time: if the visitor switches their OS from light to dark mode, the widget adapts instantly without page reload.
Adaptive Colors
Each theme automatically adjusts background colors, text, message bubbles, the input bar and buttons to ensure optimal contrast and perfect readability.
Configuration
The theme is configured in Bot Configuration → Appearance tab → Widget theme. The Auto mode is recommended for most websites.
Live Chat — 3 Modes
The bot responds automatically 24/7 without human intervention. Ideal for businesses that want continuous service without staffing agents.
All conversations are handled exclusively by human agents. The bot is disabled, visitors speak directly to your team.
The bot handles conversations automatically and a human agent can take over at any time via a transfer button. The most popular mode.
Transfer to a Human Agent
In Hybrid or Human mode, a transfer button appears in the widget. Visitors can request to speak with a human at any time.
| Setting | Description |
|---|---|
| Button text | Customizable text (e.g., “Talk to an agent”) |
| Style | 3 styles: outline, solid, ghost |
| Size and colors | Adjustable size, customizable colors |
| Position | Above or below the input field |
| Confirmation message | Message displayed when a transfer is requested |
| Offline message | Message displayed when no agent is available |
An animated LIVE badge appears in the widget when an agent is connected and available. Availability is determined by the configured schedule. Rate limit: 20 transfers per hour per IP address.
Agent Interface (Admin & Portal)
Agents manage live sessions from the admin panel or client portal.
- Queue — Visual badges: “Waiting” and “In Progress”
- Takeover — The agent clicks to take over a waiting session
- Real-time messages — Instant send and receive
- System messages — “Agent X has joined the conversation”
- “Seen” indicator — The agent sees when the visitor has read their messages
- Conversation link — Access the full conversation history with the bot
- Close session — The agent closes the session when the conversation is complete
Saved Replies
Speed up your responses with pre-written templates.
- Templates organized by category (general, leads, support, sales)
- One-click insertion into the input field
- Editable before sending — personalize each response
- Full management: create, edit, delete from the Saved Replies page
AI Conversation Summary
An automatic 3-line summary is generated for each session:
- Need — What the visitor is looking for
- Response — What the bot answered
- Recommended action — Suggested next step
Generated by Claude Haiku, the summary is cached and can be regenerated on demand.
Polling and “Seen” Indicator
| Mechanism | Detail |
|---|---|
| Widget polling | The visitor’s widget checks for new messages every 3 seconds |
| “Seen” indicator | The visitor sees when the agent has read their messages |
| LIVE badge | Animated badge in the widget when an agent is connected |
Schedule and Off-hours Behavior
A unified schedule controls bot and human transfer availability.
| Off-hours behavior | Description |
|---|---|
| Bot continues | The AI bot responds normally, the transfer button is hidden |
| Form | A contact form is displayed to capture visitor information |
| Closed | The widget is completely disabled |
Schedule presets: Mon-Fri 9am-5pm, Mon-Sat 8am-8pm, 24/7. Over 20 time zones supported.
Notifications
When a visitor requests a transfer or sends a message, your team is notified through multiple channels simultaneously:
- Slack
- Messenger
- Custom webhooks
- Google Sheets
Each notification includes a summary of the conversation history.
Limits and Rate Limiting
| Action | Limit |
|---|---|
| Chat messages per session | 20 messages (configurable) |
| Polling | 1,200 requests/hour |
| Visitor messages (live) | 10 per minute |
| Transfers | 20 per hour per IP |
Smart Booking
The bot schedules appointments automatically via:
- Calendly — Direct integration with pre-filling
- Google Calendar — Real-time available slots
- Cal.com — Open-source alternative
Lead Capture
The chatbot collects visitor contact details in two complementary ways, both configured under Configuration → Conversations:
- Form after X messages — a short form slipped into the conversation once the visitor is engaged. Fields of your choice: name, email, phone, company, job title, message. The visitor can fill it in or keep chatting.
- Pre-chat form — shown when the chat opens, before the first exchange. Name and email are required, phone is optional.
On-demand form — when the bot itself invites the visitor to leave their details, for a callback or a quote for example, the real form appears below its message with the configured fields and examples, even if the after-X-messages block was already shown or skipped. The bot never writes empty fields as text.
Independently of these forms, the bot recognizes an email address or a phone number (North American and French formats) left during the conversation and creates the lead automatically. In that case the form is not offered a second time.
Customizable examples
Each field shows a grey example (name, phone format, job title). These examples follow the bot's language — Quebec, France, English or Mexico — and can be replaced with your own to match your market.
Where leads go
Notification email, the portal CRM, then Slack, HubSpot, Zapier and Google Sheets depending on your integrations.
Action Links
Direct-contact buttons shown below the bot messages: Call (opens the dialer on mobile), Email (opens the visitor's mail app) and Appointment when a calendar is configured. Phone numbers and email addresses the bot writes in its replies are made clickable as well.
Structured Questionnaire
The bot asks a series of questions one at a time, shows a summary, asks for confirmation, then forwards the file. Everything is set under Configuration → AI & Prompts → Questionnaire, without touching the system prompt.
Settings
- Trigger — as soon as the chat opens, after a number of visitor messages, or when the visitor expresses a specific need (for example a quote request).
- Questions — one per line, up to 15. To offer choices, add them in square brackets:
Which service are you interested in? [Option A, Option B, Option C]. - Messages — optional introduction and closing, subject of the results email.
- Live preview — the whole flow is rendered below the form as you type, with a button to test it in the widget.
Files
When the visitor confirms, the file is emailed, added to the CRM → Qualified requests page (one column per question, CSV export) and relayed to Slack, webhooks and Google Sheets when configured.
Beta feature. The former “Qualification questionnaire” was merged into this section.
Getting started with the CRM
The CRM brings together the people captured by the chatbot, the ones you add or import, their organizations, your sales in progress (deals), your tasks (activities) and your follow-up emails. It is included in every plan.
Where contacts come from
- Chatbot — form after a few messages, pre-chat form, on-demand form, or an email or phone number given during the conversation (see Lead Capture).
- Structured questionnaire — when the visitor leaves an email or phone number.
- Web forms — Pro plan and up.
- Manual entry and CSV import.
The CRM menu
In the portal sidebar, the CRM section holds: CRM dashboard · Contacts · Organizations · Qualified requests · Deals · Activities · Calendar · Automations › (Follow-ups, Sequences, Templates, Reviews) · Customize. The chevron collapses the section, and your choice is remembered. Badges flag new leads and overdue activities.
A compact header
At the top of every CRM page, a single line: the page's sub-tabs (for example Contacts · Organizations · Qualified requests · Duplicates), the List / Kanban switch when there is one, then the PDF, Customize and Density tools and the ? button, which explains what the page is for.
Save time
- Quick preview — Click a contact, deal or organization row to open a panel: contact details, To do, latest items. The ↑ ↓ arrows (or J and K) move to the next row, Esc closes the panel, “Open full record” opens the page.
- Undo — After a status, owner or stage change, a deal won, lost or reopened, an activity checked off or a bulk action, a banner offers “Undo”.
- Density — Comfortable or Compact, on screens 900 px wide and up. Your choice is kept in your browser.
- Guided empty screens — An empty list explains what to do and offers the right button (Import, Add…).
- Getting started guide — On the CRM dashboard.
Contacts: list and Kanban
CRM → Contacts shows everyone in the CRM. The List / Kanban switch in the header changes the view.
Lead statuses
| Status | Meaning |
|---|---|
| New | Just arrived, nobody has handled it yet |
| Contacted | Qualification in progress |
| Converted to deal | A deal now tracks the sale |
| Archived | Not interested or not a fit |
The list
- Toolbar — search (name, email, phone, company), Filters, status segment, Columns, Import, Export and + Contact.
- Filters — label, owner (My contacts, Unassigned or a person), custom field, minimum score, creation dates. Each active filter becomes a chip you remove with one click.
- Choose your columns — status, next activity, source, organization, deal value, last contact, phone, owner, labels, score, creation date and your custom fields. Your choice is kept in your browser.
- Row menu ⋯ — open the record, send an email, call, change the status, delete the contact.
The Kanban
- One column per status. Drag a card and the status changes right away. On a phone, the “Move to…” menu does the same.
- A card moved to “Converted to deal” offers to create the deal.
- Inactivity alert — a New or Contacted lead with no movement for 14 days gets a red border. Set the delay in Customize → General (0 = off).
Contact record
The record gathers everything about one person, in three zones. On a phone, the zones stack.
1. The header
- Name, job title and organization, with the AI score badge (see AI score).
- Quick actions: Call, Email, Note, + Activity, and the ⋯ menu (View conversation, Delete contact).
- The Journey bar: click a step to change the status. It is saved right away.
- Owner, Next activity, and the previous / next contact arrows to go through your list without going back to it.
2. The left column
Collapsible sections; their state is remembered.
- Contact details — email, phone, job title, company, organization, website, address, reason for contact. An empty field opens straight into edit mode.
- Custom fields — with the “Fill with AI” button.
- Labels.
- Score details — conversion probability, qualification score, intent level and detected signals.
- Lead origin — channel, capture date, source page, partial IP address and session. For an imported contact, the extra columns from the file.
3. The center zone
- The Note, Activity (call, meeting, task, email or deadline), Call (reached, no answer, left a message, busy, with a note) and Email tabs (see Email from the CRM).
- To do — planned activities to check off; shown in red when overdue.
- The feed — Conversation, Notes, Activities and History tabs, plus a Filter menu. At the top, the “Initial request”: the visitor's first message.
Related items
The contact's deals (stage, open, won or lost), their organization and colleagues from the same organization. On a very wide screen, they form a column on the right.
From lead to deal
ChatDirect follows the model of sales CRMs like Pipedrive: the lead status (New, Contacted, Converted to deal, Archived) qualifies the person before the sale, and the deal tracks the sale itself.
At the top of the contact record, the Journey bar shows the whole path: New ▸ Contacted ▸ deal in progress (stage and probability) ▸ Customer.
Automatic rules
- Creating a deal moves the lead to “Converted to deal”.
- Moving a lead to “Converted to deal” immediately offers to create its deal.
- Winning a deal adds the “Customer” label to the contact.
Organizations
An organization groups the people from the same company and their deals. You will find them under CRM → Organizations.
Create and link
- + Add organization — name, industry, website, phone, number of employees, address and your custom fields.
- On a contact record, the Organization field suggests your organizations as you type: an existing name links the contact, a new name creates the organization, an emptied field unlinks the contact.
- An organization typed into a deal is created the same way.
- Create from lead companies — creates your organizations in one go from your leads' Company field, and links those leads.
The list and the record
Search the list by name or industry; it shows people, open deals, their value and the next activity. The record shows a summary in figures (contacts, open deals, won, days without activity), its people (Link, Unlink), its deals, a note, the planned activities of all its contacts and a combined, filterable history. You can schedule an activity for one of its contacts from there.
Renaming an organization updates all its contacts. Deleting it keeps the contacts and deals, without an organization.
Qualified requests
Under CRM → Qualified requests, each file completed and confirmed by a visitor through the structured questionnaire appears as one row, with the date and one column per question.
- View — expands the full file: all answers and the summary confirmed by the visitor.
- Conversation — opens the original exchange in the inbox (“View conversations” permission).
- Export CSV — downloads all files, one column per question (“Export data” permission).
- Delete — permanently removes a file.
- Set up the questionnaire — opens the Questionnaire section of the configuration (administrators).
The menu entry appears as soon as the questionnaire is available on your account or a first file exists. If the visitor gives an email or phone number, they are also added to your contacts.
The structured questionnaire is in beta.
Deals, pipeline and products
A lead is a person. A deal is a sale in progress with that person or their organization: it has a value, a stage, an expected close date, an owner and colored labels. One contact can have several deals.
The pipeline
- CRM → Deals: Pipeline and Products sub-tabs, Kanban / List switch.
- One column per stage, with its total and number of deals. At the top: the open total and the weighted forecast (value × stage probability).
- Drag a card to another stage, or to the Won and Lost areas that appear while dragging.
- Filters by owner (including “My deals”), label and search; open, won or lost deals; saved views.
- In List view, bulk actions: change stage, mark won or lost, assign, add a label, edit a field, delete.
- Default stages: Qualified (10%), Contact made (25%), Meeting scheduled (40%), Proposal sent (60%), Negotiation (80%). Change them in Customize.
Add a deal
+ Add deal, or the “+ Deal” button on a contact or organization record. You set the person (existing, or new: the contact is then created), the organization, the value and currency (CAD, USD, EUR), the pipeline and stage, labels, the expected close date, the owner and the source channel.
The deal record
- Clickable stage bar, saved right away; Won, Lost (with the reason) and Reopen buttons.
- Products: price, quantity and discount per line; the deal value becomes the sum of the lines.
- Notes, linked activities, the contact's other deals and a history of every change.
- An email to the deal's contact (see Email from the CRM).
- Inactivity alert: beyond its stage's delay (14 days by default), the card gets a red border and “N days without activity”. A note, an edit or a stage change resets the counter.
Products and services
The catalog (Deals → Products) holds the name, code, price, currency, unit (hour, month, unit…), a description and an “Active” box. Changing a price does not change existing deals; an inactive product stays in the deals that use it.
Activities, alerts and “My day”
CRM → Activities gathers everything there is to do, for the whole team. Former “reminders” are now activities.
Create an activity
+ New activity: type (call, meeting, task, email, deadline), title, date, time and duration, priority (High, Normal, Low), owner, an optional link to a contact, an organization or a deal, and a description.
Follow your activities
- Overdue, Today, This week, Upcoming, Done and All tabs, with their counts.
- Filters by type and owner (“My activities”).
- On each activity: mark done, postpone by +1 day or +1 week, edit, delete.
- Activities also appear in the calendar, on the contact record and in the mobile app.
My alerts
Each person sets their alerts in the My alerts menu: a heads-up before the scheduled time (15 minutes by default), a notice when an activity becomes overdue, and an email too if they wish. Alerts arrive in the portal bell and in the mobile app.
My emails
The My emails menu controls the email you get when you are assigned an activity (on by default) and the morning summary (7 a.m.) of your overdue and today's activities, off by default. These internal emails go out through your email server if it is connected, otherwise through ChatDirect.
“My day”
At the top of the portal home page, the CRM dashboard and the mobile app home screen, “My day” sums up for you: your overdue and today's activities, new leads from the last 24 hours and your deals that are stalling. When something is overdue, a priority sentence written by AI tells you where to start.
Calendar
CRM → Calendar shows your activities by month or by week.
- Drag and drop — move an activity to another day (long press on a touch screen). The time is kept.
- Move — the same change through a “Move to…” menu, handy with a keyboard or on a phone.
- Undo — a banner lets you go back after a move.
Calendar subscription (iCal)
At the bottom of the Calendar page, each user has a personal link to see their activities in Google Calendar, Outlook or Apple Calendar. Details in iCal Calendar.
Activity log
The Activity Log sub-tab (Activities · Calendar · Activity Log) lists every CRM event in chronological order, page by page:
- new lead captured;
- status change;
- note added;
- email opened in the mail app or sent;
- label added or removed;
- activity created or completed.
CRM dashboard
CRM → CRM dashboard gives you the big picture at a glance.
Getting started guide
For a new account, five steps: install the chatbot on your website (checked off after the first conversation), import your contacts, create a deal, schedule an activity and invite a colleague (optional). The guide disappears once the required steps are done; “Hide the guide” hides it sooner.
Then
- My day — your overdue items, today's activities, your new leads.
- Key figures — contacts (and new this week), leads to handle, conversion rate, open deals, deals won this month.
- New leads — the latest arrivals.
- Deal statistics — open deals by stage, weighted forecast, deals won and win rate over 90 days, sales cycle length, won and lost by month, loss reasons.
CRM PDF report
The PDF button in the CRM header opens a printable page. Choose the period (the current month by default), click Apply, then Print / PDF: your browser's print function saves the PDF.
- Key figures: total leads, conversion rate, average score, hot leads (score of 8 and up).
- Lead funnel by status.
- List of hot leads, then of all leads in the period.
The report covers leads; deal statistics are on the CRM dashboard. The report is currently in French only and requires the “Export data” permission.
Email from the CRM
On a contact record, the Email tab:
- Choose the type (follow-up, proposal, reminder, thank-you) and click Write with AI: a subject and body are suggested from the contact's context. Review and adjust.
- Send email opens your own email app with the subject and text.
- If your email server is connected, the Send button sends the message directly, through your server. It is logged as “Email sent” in the history.
From a deal, pick the recipient among the contacts of the deal or its organization, start from a template or from AI, then Send or Open in my mail app. The email is logged in the history of the deal and of the contact.
The rules
- An email sent from ChatDirect only goes out through your email server (see Automations).
- Every commercial email carries a footer: company name, postal address, reply-to email and an “Unsubscribe” link.
- If the contact has unsubscribed, a warning appears: you can only write to them by checking “Non-commercial message”.
- No more than 60 direct sends per hour per account.
- Sending an email does not change the lead's status.
Automations
CRM → Automations groups Follow-ups, Sequences, Templates and Reviews (the Review Booster dashboard).
Your email server, and only yours
Every email sent to a prospect from ChatDirect goes out through your own email server: an API (SMTP2GO, SendGrid, Brevo, Mailgun, Amazon SES) or an SMTP server with TLS encryption. ChatDirect never sends these emails on your behalf: without a connected server, nothing goes out. Set it up under Configuration → Integrations (Pro plan and up). The “Email sending server” card at the top of the automation pages shows its state and offers Test the connection.
Sender identification
In the same tab, the company name and postal address are required for automated emails. As Canada's Anti-Spam Legislation (CASL) and the GDPR require, they appear at the bottom of every commercial email, with your reply-to address and an unsubscribe link.
Consent and unsubscribing
- Contacts added manually or imported receive no automated email unless the consent box is checked.
- The “Unsubscribe” link asks for confirmation; compatible mail apps also offer one-click unsubscribe.
- An unsubscribed person no longer receives any automated email from your account.
Sending paused
If your server rejects a message, or if the sender identification is incomplete, a red banner says so, with Fix and Test the connection buttons. A successful test lifts the pause.
The CRM does not send text messages (SMS).
3-step follow-ups
Automations → Follow-ups prepares up to three follow-up emails after a lead is captured. For each step:
- Delay in hours since capture (0 = inactive step, 720 hours max);
- email subject;
- email content.
Example
| Step | Delay | Subject |
|---|---|---|
| 1 | 1 hour | Thank you for your interest! |
| 2 | 24 hours | Do you have any questions? |
| 3 | 72 hours | One last word from us |
Sequences
Automations → Sequences chains steps from a trigger (Business plan and up).
- Trigger — status change, label added, score reached, or number of days since capture.
- Steps — send an email (from a template), wait a few days, change the status. Each step can have a condition (status or score).
- State — active, inactive or paused, with the number of leads in progress and completed.
Rules planned for sending
- Your email server only, with an unsubscribe link in every message.
- Unsubscribed people are excluded, as are contacts added manually or imported without consent.
- At most one email per lead, per sequence and per day.
Email templates
Automations → Templates (Pro plan and up) stores your standard emails: name, category (follow-up, welcome, reminder, proposal, thank-you, other), subject and body. Edit, duplicate, delete.
Variables you insert with one click:
Templates are used in emails sent from a deal and in the “Send an email” steps of sequences.
Manual entry, import and export
Add a contact
Contacts → + Contact: at least a name, an email or a phone number; company, job title, status and note are optional. Check the consent box if the person agreed to receive your communications. If the email or phone already exists, ChatDirect offers to open the existing record or to create the contact anyway.
Import a CSV file
- Choose the file — a CSV from Excel, Google Sheets or another CRM (2 MB and 2,000 rows max; a template can be downloaded).
- Map the columns — recognized automatically in English, French and Spanish, including to your custom fields.
- Review and import — number of contacts to create, duplicates and rows in error with their reason.
For duplicates (same email or same phone): skip them (recommended), complete the existing record, or import them anyway. A recent import can be undone: the contacts created by that file are removed.
Contacts added manually or imported receive no automated email without consent (CASL, Quebec Law 25).
Export
- Contacts → Export — a CSV with date, name, email, phone, company, job title, message, status, score and owner.
- Account → Export — a ZIP archive by category, including “Leads and CRM” (leads, tracking, notes, labels, custom fields, history, activities). Deals, organizations and products are not included yet.
Duplicates
The Duplicates sub-tab (Contacts) groups records that share the same email or phone number. For each group, ChatDirect shows the recommended record.
Keep this one keeps the chosen record and hides the other records in the group; a note on the kept record says so. Notes, labels and history from the hidden records are not copied over: move what matters before you choose.
Saved views and bulk actions
- My contacts and My deals: one click to see only what is assigned to you.
- Saved views: apply filters, name the view and click ★ Save this view. It is shared with the whole team; the “×” removes it.
- Bulk actions: check several rows (or the whole page); a bar appears at the bottom to change the status, assign, add a label, edit a field or delete. Each change is logged in the contacts' history, and a banner lets you undo.
Customize the CRM
CRM → Customize (or the Customize button in the header) is for administrators. The page has four parts:
- Custom fields — see Custom Fields.
- Sales stages — your pipelines and their stages: name, order, probability (%) and inactivity alert in days (0 = never). A stage or pipeline that holds deals cannot be deleted.
- Labels — see Colored labels.
- General — default currency (CAD, USD, EUR) and lead inactivity alert, in days (0 = off).
Custom Fields
Create your own fields for contacts, organizations and deals under Customize → Custom fields.
Available Field Types
| Type | Description | Example |
|---|---|---|
| Text | Free text field | Project name |
| Number | Numeric value | Estimated budget |
| Drop-down list | List with predefined options | Project type |
| Date | Date picker | Renewal date |
| Checkbox | Yes / No | VIP client |
Two useful boxes
- Column — the field can be shown as a column in the list.
- AI (contacts) — AI fills the field from the conversation when it is empty, only with what the visitor said themselves. It never replaces a value you entered. The “Fill with AI” button on the record does it on demand. To do so, the conversation text is sent to the AI provider.
Fields are also used in filters, bulk actions, CSV import, web forms and the mobile app. Removing a field hides it; values already entered are kept.
Colored labels
Spot your contacts and deals at a glance with colored labels (Customer, Hot, Warm, Cold… customizable, 10 colors), managed under Customize → Labels. They show on the record, in the list and in the Kanban.
- Renaming a label renames it everywhere.
- A removed contact label stays on contacts, in gray; a deleted deal label is removed from deals.
- The “Customer” label is added automatically when the first deal is won.
Qualification score (0-15)
Every lead gets a score out of 15, updated as the conversation goes on:
| Criterion | Points |
|---|---|
| Contact details and fields filled at capture | Starting score |
| 5, then 10, then 20 messages exchanged | +1 at each level |
| Conversation longer than 5 minutes | +1 |
| Returning visitor (2 visits, then 4) | +1 at each level |
| High-intent page (pricing, contact, quote, demo, trial, booking) | +2 |
| Signals in the messages (purchase, budget, urgency, or a negative signal) | Up or down |
The score feeds the list's “minimum score” filter and the PDF report (hot leads: 8 and up).
AI score (conversion probability)
On top of the score out of 15, ChatDirect estimates the probability that a lead becomes a customer, from 0 to 95%. It shows in the AI score badge at the top of the record; the “Score details” section explains it.
How it is calculated
| Factor | Impact |
|---|---|
| Lead score compared with the average score of your converted leads | Main factor (60% when equal) |
| Email known | +10% |
| Phone known | +10% |
| High (medium) intent level | +15% (+8%) |
| Engaged conversation | +5% |
| Negative signal in the messages | -15% |
| Archived lead | -30% |
Detected signals
Purchase intent, budget mentioned, urgency, email or phone shared, negative signal (“too expensive”, “not interested”…), long conversation, engaged visitor. They set the intent level: high, medium or low.
Notifications and alerts
- Portal bell — New leads, requests to talk to an agent, activities due soon or overdue, replies to your tickets. A click marks the item as read and opens it.
- CRM menu badges — Number of new leads and overdue activities.
- Mobile app — Notifications for a new lead (with Call and Text buttons, which open your phone's apps), a handoff and your activity alerts.
- Email — For each new lead (address set under Configuration → Identity), when you are assigned an activity, the morning summary and due-date alerts if you ask for them.
- Slack, WhatsApp, Messenger, webhooks, Google Sheets — New leads, depending on your integrations.
CRM access levels Beta
Under Account → Users, each user can get a CRM access level separate from their role:
| Level | What it allows |
|---|---|
| No access | The CRM appears neither in the portal nor in the app. |
| Read only | Sees the whole CRM, changes nothing. |
| Own contacts only | Sees and manages the contacts, deals and activities assigned to them. Can archive a contact, not delete it. |
| Whole team | Sees and manages the whole CRM, including import and duplicates. |
| CRM administrator | Everything, plus the CRM settings (stages, fields, labels) and the public API key. |
- By default (“Based on the role”): Administrator → CRM administrator; Manager and Agent → Whole team; Viewer → Read only.
- An account option lets “Own contacts only” users also see unassigned contacts and assign them to themselves (“Assign to me”).
- You cannot set your own access, nor a level higher than yours. Changes apply right away: portal, app, exports, iCal calendar.
- Conversations and live chat keep their own permissions.
Embeddable Web Forms
Create HTML forms that can be embedded directly on your client's website. Submissions are automatically converted into CRM leads with notifications.
Form Creation
- Standard fields — Name, email, phone, message
- Custom fields — Add your own fields defined in the configuration
- Colors — Customize form colors to match the client's website
Integration
An embed code is automatically generated. Simply copy and paste it into the website's HTML:
Security
- Honeypot anti-spam — Hidden field to block bots
- Rate limit — Submission limit per IP to prevent abuse
- Notifications — Automatic alert on each new submission
Advanced Analytics
The Analytics dashboard provides a comprehensive view of your chatbot's performance. Accessible from the client portal, it brings together all key metrics, trend charts, and analysis tools you need to optimize your chatbot and measure its impact on your business.
Dashboard and metrics
The main dashboard displays your chatbot's essential indicators at a glance:
- Total conversations — Number of conversations over the selected period
- Average messages per conversation — Indicator of conversation depth
- Tokens consumed — AI token usage over the period
- Satisfaction — Thumbs up vs thumbs down ratio
- Performance — Average response time, average duration, bounce rate, abandonment rate, and lead conversion rate
Four charts accompany these metrics:
- Conversations per day — Bar chart showing daily volume
- Peak hours — Horizontal bars identifying the busiest time slots
- Tokens per day — Daily consumption line chart
- Satisfaction trend — Satisfaction rate evolution line chart
A date selector lets you freely choose the analysis period. The dashboard auto-refreshes every 60 seconds without page reload.
Period comparison and alerts
Enable the "Compare" checkbox to display a second reference period. Comparison dates are customizable. Each metric then displays a colored delta indicator:
- +12% in green for improvements
- -8% in red for declines
The system also automatically detects anomalies and displays alerts in the dashboard:
- Satisfaction drop greater than 20%
- Abandonment rate exceeding 50%
- Token spike greater than 200% of the average
- Zero conversations for 3 consecutive days
- Bounce rate above 70%
Detailed analysis
Below the main dashboard, detailed sections offer in-depth analysis:
Engagement
- Unique vs returning visitors
- Human transfer rate
- File upload rate
- Positive and negative rating breakdown
Business
- Total cost, cost per conversation, and cost per lead (visible only in BYOK mode)
- Number of leads generated over the period
- Total tokens consumed
Top pages — Table of the most visited pages by visitors before their chatbot interaction. Useful for understanding the user journey.
Most asked questions — Table grouping the first questions sent by visitors. Helps identify recurring topics and adjust the knowledge base.
Lowest rated messages — List of chatbot responses that received a thumbs down. Ideal for spotting areas to improve in the prompt or knowledge base.
Exports
Two export formats are available:
- PDF export — Printable report containing key metrics and charts. Ideal for sharing with the team or periodic reporting.
- CSV export — Raw data export (conversations, tokens, questions, or all). Useful for custom analysis in a spreadsheet.
Embeddable widget
A mini-dashboard can be embedded directly on your website via an iframe. This widget displays essential metrics in real time.
- Authentication via public API key (
api_public_key) - Available themes: light and dark
- Auto-refresh every 5 minutes
Automations
Weekly email report — An automatic summary of the week's statistics is sent by email every week. The cron runs automatically and includes key metrics, trends, and any alerts.
Analytics webhooks — Automatically send your statistics to a configured URL on a daily or weekly basis. Data is sent in JSON format via POST.
Analytics API (v1)
The /api/v1/stats.php endpoint allows you to retrieve statistics programmatically. Authentication is done via an API key in the request header.
| Parameter | Description |
|---|---|
from | Start date (YYYY-MM-DD) |
to | End date (YYYY-MM-DD) |
metrics | Desired metrics (conversations, tokens, satisfaction, leads) |
Google Analytics, Slack and CRM Webhooks
Google Analytics 4
Chatbot events are tracked directly in Google Analytics:
| Event | Trigger |
|---|---|
chat_opened | Visitor opens widget |
message_sent | Visitor sends a message |
lead_captured | Contact details captured |
transfer_requested | Transfer to human requested |
Slack
Notifications are sent to Slack for each new lead, transfer or alert. Simply create an incoming webhook in Slack and paste the URL in the configuration.
CRM Webhooks
- HubSpot — Direct API integration
- Pipedrive — Automatic deal creation
- Monday.com — Board item creation
- Custom webhook — JSON POST to any URL
These integrations are especially useful for B2B and SaaS companies as well as e-commerce businesses. Explore all our industry solutions.
Webhook JSON Format
Email API Providers
| Provider | Free tier | Notes |
|---|---|---|
| SMTP2GO | 1,000/month | Recommended for getting started |
| SendGrid | 100/day | Popular, good deliverability |
| Brevo | 9,000/month | Generous free tier |
| Mailgun | 100/day | Very reliable, advanced API |
| Amazon SES | 3,000/month * | * If hosted on AWS, lowest cost |
Communication Channels
Configure your channels in the Channels tab of the chatbot Settings page. The AI chatbot responds automatically on all enabled channels.
Twilio Account (required for SMS and WhatsApp)
Twilio is the provider used for SMS and WhatsApp channels. You need a Twilio account (twilio.com/console).
- Create a Twilio account (free trial available)
- On the console homepage, copy your Account SID and Auth Token
- Paste them in the Twilio Account section of the Channels tab
- Purchase a Twilio phone number (SMS or WhatsApp)
SMS (Twilio)
The chatbot receives and responds to SMS automatically. When a visitor requests an agent, a live chat session is created and the agent can reply via SMS.
- Enable the SMS channel in the Channels tab
- Enter your Twilio number (+15145551234 format)
- In your Twilio console → number → Messaging → paste the webhook:
WhatsApp Business (via Twilio)
Same principle as SMS but via WhatsApp. The chatbot responds to WhatsApp messages and can transfer to an agent.
- Enable WhatsApp in the Channels tab
- Enter your WhatsApp Twilio number
- In Twilio → Messaging → WhatsApp Sandbox → paste the webhook:
Facebook Messenger + Instagram DM
The chatbot responds to Messenger messages and Instagram DMs via the Meta API.
- Enable Messenger in the Channels tab
- Enter your Page Access Token and Page ID (from your Facebook App)
- In your Facebook App → Webhooks → paste the webhook:
The same token works for Instagram DM if your Facebook page is linked to your professional Instagram account.
Inbound Email
The chatbot responds to incoming emails and automatically creates leads.
- Enable the Email channel in the Channels tab
- Your email address is assigned automatically:
{your-client-id}@bot.chatdirect.ca - Configure Inbound Parse at your email provider (Mailgun, SendGrid, SMTP2GO, etc.) to forward incoming emails to:
Login Handoff (Member Session Transfer)
Seamless Login Handoff lets the chatbot keep the full conversation history when a visitor logs into their member area. The bot automatically personalizes its responses. Compatible with all web platforms.
Method 1: Automatic Login Handoff (user already logged in)
If the visitor is already logged in on your website, your site injects the JavaScript variable automatically.
PHP / Laravel / Symfony — Add to your member area template:
Shopify — In theme.liquid:
React / Vue / Next.js — In your login callback:
Webflow / Wix / Squarespace — Add the same <script> block in Code Injection / Embed Code in your member area.
Only the id field is required. Other fields allow the bot to personalize responses.
Method 2: Login Popup (login from the widget)
The visitor can log in directly from the chatbot via a “Log in” button in the widget header. The chatbot opens a popup to your login page, and after a successful login, the widget receives the member data automatically.
All platforms — Create a callback page on your site (e.g.: /chatdirect-auth) and configure the URL in the portal (Integrations → Login Popup). Your page must:
- Check if the visitor is logged in
- If not, redirect to your login page with a return redirect
- If logged in, send a
postMessageand close the popup
PHP example (page /chatdirect-auth.php):
Shopify example (page /pages/chatdirect-auth):
postMessage must always include type: 'chatdirect-member' and id (required). The fields name, email, plan, phone, company, role, status are optional.
Member API (enriched data, optional)
Configure a URL in Integrations → Member API in the portal. The chatbot will call your API with ?member_id=xxx to retrieve detailed member data (membership status, open requests, history, etc.). Cached for 5 min. Maximum 20 fields.
Member-Only Content
The Member Knowledge feature lets you define content that the chatbot shares only with identified members via Login Handoff. Anonymous visitors never see this content. Identified members receive both public AND member-only content.
There are 3 types of member-only content:
1. Knowledge Base (members) — In the AI & Prompts tab of your configuration, a “Knowledge Base (members)” text field appears below the public knowledge base. Enter information reserved for your members here: special pricing, internal procedures, private links, premium content, etc. This text is only injected into the chatbot’s context when the visitor is identified as a member.
2. Indexed URLs (members only) — On the Knowledge → Web pages page, a “Members only” checkbox appears next to the indexing button. Check it before indexing a URL so that the page content is reserved for members.
3. Uploaded Documents (members only) — On the Knowledge → Documents page (PDF, Word, TXT), a “Members only” checkbox appears in the upload area. Check it before uploading a file so that its content is reserved for members.
Documents and URLs marked as member-only display a Members badge in the indexed document list.
| Visitor type | Public content | Member content |
|---|---|---|
| Anonymous visitor | ✓ | ✗ |
| Identified member (Login Handoff) | ✓ | ✓ |
Server-to-server API (maximum security)
To link a session to a member server-side without exposing data in JavaScript:
Summary by platform
| Platform | Auto Handoff | Login Popup | Effort |
|---|---|---|---|
| PHP / Laravel | 5 lines JS | 1 page (~15 lines) | Minimal |
| Shopify | 5 lines Liquid | 1 Liquid page | Minimal |
| React / Vue / Next.js | 5 lines JS | 1 route (~10 lines) | Minimal |
| Webflow / Wix / Squarespace | Embed code | N/A | Minimal |
Public REST API
A public API key provides access to your data via the REST API (Business plan or higher required). Generate the key under Configuration → Integrations, “Public API” section.
| Endpoint | Method | Description |
|---|---|---|
/api/v1/leads.php | GET | List leads with filters |
/api/v1/conversations.php | GET | List conversations |
/api/v1/stats.php | GET | Usage statistics |
Audit Logs
The audit log system automatically tracks all important actions performed by administrators and portal users. Every change is recorded with the actor's identity, a timestamp and the details of the modification.
Tracked Actions
| Action | Description | Source |
|---|---|---|
config_updated | Client configuration modified | Admin / Portal |
client_created | New client created | Admin |
client_deleted | Client deleted | Admin |
password_changed | Password changed | Admin / Portal |
portal_config_updated | Configuration modified via the client portal | Portal |
Storage
- Per client — Dedicated JSONL file per client (
tmp/audit/{clientId}.jsonl) - Global — Global JSONL file aggregating all actions from all clients
- JSONL format — One JSON entry per line for easy processing and analysis
Admin Page
The Audit Logs page in the admin panel provides a complete view of actions with advanced filtering tools:
- Filter by client — Select a specific client or view all clients
- Filter by actor — Identify who performed the action (admin, portal user)
- Filter by action — Search for a specific action type
- Filter by date — Define a precise date range
- Pagination — Page-by-page navigation for large histories
- CSV export — Download filtered logs in CSV format for external analysis
iCal Calendar Integration
Subscribe your preferred calendar app to your CRM activities using the iCal (.ics) format. Compatible with Google Calendar, Microsoft Outlook and Apple Calendar.
How It Works
- A personal link — Each user has their own, at the bottom of the CRM → Calendar page (“Calendar subscription” section).
- Your activities — The feed contains the activities your CRM access lets you see.
- Copy — Copy the link and paste it into your calendar app.
- New link — Creates another link; the old one stops working right away. Useful if the link was shared by mistake.
Compatible Calendars
| Application | Method |
|---|---|
| Google Calendar | Settings → Add calendar → From URL |
| Microsoft Outlook | Add calendar → Subscribe from web |
| Apple Calendar | File → New Calendar Subscription |
Privacy by Design
ChatDirect integrates privacy protection from the ground up, following the Privacy by Design approach. Six mechanisms ensure a high level of visitor data protection.
| Measure | Technical Detail | Benefit |
|---|---|---|
| IP address anonymization | 4 modes in Configuration → GDPR tab: full IP (default), last octet masked, irreversible SHA-256 hash, or no IP at all | You choose the protection level; for full anonymization, pick “Hashed IP (SHA-256)” or “No IP stored” |
| Limited Retention | Configurable automatic purge (30 to 365 days) | No data stored indefinitely |
| Zero Cookie | No cookies, no persistent localStorage, only sessionStorage | No cookie banner required for the widget |
| No Cross-session Tracking | Unique session ID per visit, no fingerprinting | Impossible to link visits from the same user |
| Filtered URL | Only the path is transmitted, query string parameters are removed | No sensitive data leakage via URLs |
| Conditional GA4 | Google Analytics activates only after explicit visitor consent | GDPR / Law 25 compliance |
Right to Erasure
Visitors can request data deletion directly from the widget. All data associated with their session is erased immediately: conversation, leads, uploaded files.
GDPR and Law 25 Compliance
ChatDirect provides comprehensive tools for data protection compliance, applicable to European GDPR and Quebec's Law 25.
| Action | Required |
|---|---|
| Enable GDPR consent in widget | Yes (EU/QC) |
| Customize consent text | Yes |
| Add privacy policy link | Yes |
| Require checkbox on lead form | Recommended |
| Make Google Analytics conditional on consent | Yes if GA4 active |
| Configure data retention period | Recommended |
| Enable data deletion button in widget | Recommended |
Data Collected
| Data | Purpose | Retention |
|---|---|---|
| Conversations | Service improvement | Configurable (30-365 days) |
| Leads (name, email) | Commercial follow-up | Until manual deletion |
| IP Address | Security (rate limiting) | Hashed, irreversible |
| Uploaded files | Conversation support | Configurable |
Advanced Security
| Feature | Description |
|---|---|
| Antivirus file scanning | Every uploaded file (by you or by your visitors in the chat) is scanned by an antivirus (ClamAV) before being accepted. Threats blocked on upload, scheduled re-verification, processing on Canadian servers. |
| Keyword Alerts | Notification when a visitor mentions certain terms (emergency, complaint, cancel) |
| Access Control | Authorized domains where the widget can display, IP whitelist/blacklist |
| Token Limit | Monthly AI token consumption cap |
| Export/Import Config | Export and import complete configuration as JSON for backup or duplication |
| Webhook Testing | Verify CRM webhooks work correctly |
Data Isolation (Privacy Wall)
By default, the ChatDirect team has no access to your data: conversations, leads, tickets, analytics. Your data is fully isolated and private.
Temporary support access
If you need help and want our support team to view your data to assist you, you can grant temporary access for 72 hours from your Profile → Support Access.
| Action | Detail |
|---|---|
| Grant access | Profile → Support Access → click "Grant access for 72 hours" |
| Automatic expiration | Access expires automatically after 72 hours, with no action required on your part |
| Manual revocation | You can revoke access at any time from your Profile |
Client Portal
The client portal is the self-service space where each client manages their chatbot, leads and settings. Accessible at chatdirect.ca/portal/, it offers a comprehensive interface available in 4 languages (FR-CA, FR-FR, EN-US, ES-MX).
Main Pages
- Dashboard — Overview: active plan, statistics, recent leads, conversations, tickets, “My day”, BYOK cost
- Inbox — Live chat and every chatbot conversation, in a split view
- CRM — CRM dashboard, contacts, organizations, qualified requests, deals, activities, calendar, automations and customization (see Getting started with the CRM)
- Configuration — 8 tabs: identity, schedule & transfer, AI & prompts, conversations, integrations, channels, GDPR, security (appearance has its own page, Preview)
- Usage — Tokens, conversations, USD/CAD costs, daily breakdown
- Users — Add and remove team members, choose their role
- Support — Create and track support tickets
- Help — Documentation by topic, search and contextual help per page
Super-admin Access
Super-administrators can log in to the portal with their admin credentials and any client_id. An ADMIN badge is displayed to indicate impersonation.
Companion Mobile App (iOS & Android)
ChatDirect has a companion app for iOS and Android. It does not replace the web portal: it exists so you can react fast from your phone when a visitor is waiting or a lead has just come in. Everything you configure in depth stays in the portal.
What the App Is For
You receive an alert on your phone the moment a visitor asks for a human agent or a new lead is captured. The notification for a lead carries Call and Text buttons, so you can reach the person without opening anything else.
What You Can Do in It
- Mobile live chat — Take over an ongoing conversation and reply from your phone
- Leads — Full list with search and status filters; each record shows the company, job title, message and source page, with Call, Text and Email buttons, status changes and notes
- Activities — Your CRM calls, meetings and tasks: create, check off, postpone by a day or a week, with an alert before the scheduled time. They are the same activities as in the web portal
- My day — On the home screen, your overdue items, today's activities and your new leads (some CRM features require the latest version of the app)
- Conversations — Chatbot conversation history with an AI-generated summary
- Dashboard — Conversations, captured leads, human transfers, messages exchanged and widget health
- Chatbot settings — Mode (bot only or with human transfer), business hours and human transfer
- Availability — Mute alerts on your phone with a deadline (until 5 pm, tomorrow 8 am, or until further notice); the chatbot keeps answering visitors the whole time
- Several chatbots — Switch between your accounts inside the app
- Support — Open and follow your support tickets
- Three languages — French, English and Spanish
Install the Mobile App (PWA)
The ChatDirect portal can be installed as an app on your phone or computer. It works like a native app — full screen, home screen icon, notifications — without going through the App Store or Google Play.
On iPhone / iPad (iOS)
- Open Safari (only works with Safari on iOS)
- Go to
chatdirect.ca/portal/and log in - Tap the Share button (⬆️) at the bottom of the screen
- Scroll down and tap “Add to Home Screen”
- Enter a name (e.g. ChatDirect) and tap “Add”
On Android
- Open Chrome and go to
chatdirect.ca/portal/ - An “Install ChatDirect” banner appears automatically — tap “Install”
- If the banner doesn’t appear: menu (⋮) → “Install app”
On Desktop (Chrome)
- Open Chrome and go to
chatdirect.ca/portal/ - Click the install icon (⊕) in the address bar, or menu (⋮) → “Install ChatDirect”
Automatic Signup
The signup.php page allows new clients to register in self-service and start using ChatDirect immediately with the free Discovery plan for 14 days.
Registration Form
- Company name — Used as the bot name and client identifier
- Full name — Name of the primary administrator
- Email address — For login and communications
- Password — Secured with bcrypt (minimum 8 characters)
- Preferred language — FR-CA, FR-FR, EN-US or ES-MX
Automatic Provisioning
Upon form submission, the system automatically creates:
- config.json — Complete client configuration with the Discovery plan
- system-prompt.txt — Default system prompt adapted to the chosen language
- portal_users — Portal user account with hashed password (bcrypt)
- Welcome email — Sent automatically with login instructions
The client is then redirected to the portal where the onboarding wizard guides them through the initial setup.
Onboarding Wizard
The onboarding wizard guides new clients through the initial setup of their chatbot in 5 simple steps. It triggers automatically on first login to the portal.
The 5 Steps
| Step | Name | Description |
|---|---|---|
| 1 | Bot Identity | Chatbot name, primary color, photo/avatar, welcome message |
| 2 | Personality | Tone of voice (formal, friendly, professional) + industry templates (real estate, e-commerce, SaaS, restaurant, etc.) |
| 3 | Knowledge | Business information: products, services, pricing, FAQ, hours |
| 4 | Lead Capture | Capture form configuration: enabled fields (name, email, phone), display timing |
| 5 | Preview and Launch | Real-time chatbot preview + integration code to copy |
Industry Templates
At step 2, pre-configured templates offer a system prompt adapted to your industry. The template pre-fills the tone, instructions and response examples to accelerate the setup process.
Auto-save
The wizard automatically saves the following files at each step:
config.json— Bot settings (name, colors, form)system-prompt.txt— System prompt with the chosen personalityknowledge.txt— Initial knowledge base
Skip Button
Advanced users can skip the wizard at any time via the "Skip" button. They can then configure all settings manually from the portal's Configuration tab.
Wildcard Subdomains
The wildcard subdomain feature allows each client to access their portal via a custom URL in the format client-id.chatdirect.ca instead of /portal/?client=xxx.
Advantages
- Professional URL —
mycompany.chatdirect.cais easier to remember and share - Simplified login — The
client_idis pre-filled and locked at login; the client only needs to enter their username and password - Branding — Each client feels like they have their own platform
Required DNS Configuration
To enable subdomains, a DNS configuration is required:
- CNAME record —
*.chatdirect.capoints to the main server - Or A record — Direct pointing to the server's IP address
- Wildcard SSL certificate — Required for HTTPS on all subdomains
Admin Status Page
A dedicated page in the admin panel shows the status of each subdomain: active, pending DNS propagation or inactive. The administrator can enable or disable subdomains per client.
Profile and Password Change
Each portal user has a profile page to manage their personal information and login credentials.
Profile Information
- Full name — Name displayed in the portal and activity logs
- Username — Used for login
- Role — Administrator or standard user
- Permissions — Access to different portal sections based on role
Password Change
- Entry of the current password is required for verification
- New password with a minimum of 8 characters
- Confirmation of the new password
- Secure hashing with bcrypt
Password Recovery
If forgotten, a recovery email is sent to the address associated with the account. The reset link is single-use and expires after a limited time.
Security
- Rate limit — Maximum 5 password change attempts per hour
- Validation — The current password must be correct before any change
- Session — Session regeneration after password change
BYOK (Bring Your Own Key)
The BYOK mode allows clients to use their own API key for the AI provider of their choice. With BYOK, conversations are unlimited on all compatible plans (Pro and above).
Operating Modes
| Mode | Who provides the key | Conversations |
|---|---|---|
| Admin (default) | The ChatDirect administrator | Per plan limit |
| Client (BYOK) | The client, via their portal | Unlimited |
BYOK Configuration
When BYOK mode is enabled by the administrator (api_key_mode = client), an API section appears in the Identity tab of the client portal. The client can then:
- Choose their AI provider (Anthropic, OpenAI, Google, Mistral)
- Select the desired model
- Enter their API key (stored encrypted)
Estimated cost: approximately $2 USD/month for 1,000 conversations with Claude Haiku 5.5.
Usage and Tokens
Understanding Tokens
A token equals approximately 4 characters in English or 3 characters in French.
| Value | Equivalent | Use Case |
|---|---|---|
256 tokens | ~1-2 sentences | Very short responses (simple FAQ) |
500 tokens | ~1 paragraph | Standard responses (recommended) |
1024 tokens | ~2-3 paragraphs | Detailed responses |
2000 tokens | ~1 page | In-depth technical responses |
The client portal displays usage details: conversations, AI messages, input/output tokens, model used and estimated cost in USD, CAD and EUR.
User Management
Under Account → Users, add colleagues so they can access the portal with their own username and password (“Manage users” permission).
- Add user — Username, full name, email, password and role.
- Role — Administrator, Manager, Agent, Viewer, or Custom (you check the permissions). It is chosen when the account is created.
- Remove user — Revoke a colleague's access. You cannot delete your own account, nor manage an account more powerful than yours.
- Password — Each user changes their own under My profile.
Permissions by role
| Permission | Administrator | Manager | Agent | Viewer |
|---|---|---|---|---|
| View leads and the CRM | Yes | Yes | Yes | Yes |
| Manage leads (status, notes, labels) | Yes | Yes | Yes | — |
| Move leads and deals | Yes | Yes | Yes | — |
| Set up follow-ups | Yes | Yes | — | — |
| Export data (CSV, PDF) | Yes | Yes | — | — |
| Edit the configuration (including Customize the CRM) | Yes | — | — | — |
| Manage users | Yes | — | — | — |
To limit a salesperson to their own contacts, see CRM access levels (beta).
Support and Tickets
The built-in ticket system allows direct communication with the ChatDirect support team.
AI-Assisted Support
As soon as you create a ticket, the AI assistant analyzes your question and generates an instant reply to guide you toward the solution. The AI searches the full documentation to provide a relevant answer. You can continue the conversation with the AI for up to 4 exchanges. If the issue is resolved, click "Close ticket". Otherwise, a human agent will respond within 24 business hours.
Create a ticket
- Create a ticket with a subject and priority (normal, high, urgent)
- Clearly describe the issue
- The AI replies immediately with relevant suggestions and links
- Continue the exchange with the AI or close the ticket if resolved
- If needed, a human agent takes over within 24 business hours
Plans and Pricing
| Plan | Price | Conversations | AI actions / month | AI Model |
|---|---|---|---|---|
| Discovery | Free 14 days | 250 messages | 100 | Claude Haiku 5.5 |
| Starter | $49/month | 1,000 conv | 500 | Claude Haiku 5.5 |
| Pro | $89/month | 2,000 conv (unlimited with BYOK) | 2,000 | Claude Haiku 5.5 |
| Business | $189/month | 5,000 conv (unlimited with BYOK) | 5,000 | Claude Haiku 5.5 |
| Enterprise | $359/month | 10,000 conv (unlimited with BYOK) | 15,000 | Claude Haiku 5.5 |
AI actions (email drafting, summaries, CRM assistant): need more? Pack of 2,000 extra AI actions: CA$9/month. The chatbot is never limited by this quota: it only applies to the CRM's AI features.
Feature Comparison
| Feature | Discovery | Starter | Pro | Business | Enterprise |
|---|---|---|---|---|---|
| Chatbot widget | Yes | Yes | Yes | Yes | Yes |
| Built-in CRM (contacts, deals, activities, calendar) | Yes | Yes | Yes | Yes | Yes |
| Sales pipeline (Kanban) | Yes | Yes | Yes | Yes | Yes |
| Your own email server (SMTP or API) | — | — | Yes | Yes | Yes |
| Email templates | — | — | Yes | Yes | Yes |
| Review Booster | — | — | Yes | Yes | Yes |
| Web forms | — | — | Yes | Yes | Yes |
| Email sequences | — | — | — | Yes | Yes |
| Streaming (live response) | — | — | Yes | Yes | Yes |
| BYOK (personal API key) | — | — | Yes | Yes | Yes |
| Public REST API | — | — | — | Yes | Yes |
| SMS / Email channels | — | — | — | Yes | Yes |
| External CRM webhooks | — | — | — | Yes | Yes |
Automatic sending of follow-ups, sequences and review follow-ups is coming soon (see Automations).
BYOK = Unlimited
With BYOK (Bring Your Own Key), conversations are unlimited on all compatible plans (Pro+). Costs are billed directly by the AI provider. Estimated cost: approximately $2 USD/month for 1,000 conversations with Claude Haiku.
Discovery Plan Auto-Expiration
The Discovery plan (free trial) expires automatically after 14 days. The system manages the expiration progressively with alerts and access restrictions.
Dashboard Alerts
Visual alerts are displayed in the client portal dashboard based on the trial status:
- Active trial — Number of remaining days displayed in the information bar
- Less than 3 days remaining — Urgent orange alert inviting the client to choose a plan
- Messages > 80% — Warning that the 250 AI message limit is almost reached
- Trial expired — Red banner with a direct link to the subscription page
Portal Lockout
After 14 days, portal access is restricted. The client is automatically redirected to the subscription page. Only certain pages remain accessible:
- Subscription page — To choose and activate a paid plan
- Support — To contact the team if needed
- Profile — To manage their account
- Logout — To log out properly
Chat API Lockout
When the trial has expired, the chat API is also blocked. Visitors on the website see an expiration message informing them that the chatbot is temporarily unavailable, instead of an AI response.
Stripe Checkout & Subscriptions
ChatDirect integrates Stripe Checkout to manage paid signups and recurring subscriptions in a fully automated way.
Plans & Pricing
| Plan | Monthly Price | Free Trial |
|---|---|---|
| Discovery | Free | 14 days, 250 AI messages |
| Starter | $49/month | — |
| Pro | $89/month | — |
| Business | $189/month | — |
| Enterprise | $359/month | — |
Signup Flow
- The client signs up with the Discovery plan (free, 14 days)
- Upon expiration or by choice, they access the subscription page
- Redirect to Stripe Checkout for secure payment
- After payment, the plan is activated automatically via webhook
- Success page with portal login information
Stripe Customer Portal
Each client can manage their subscription directly from the Stripe Customer Portal:
- Update credit card
- Change plan (upgrade/downgrade)
- Cancel subscription
- Download invoices
Automatic Webhooks
Stripe events are processed automatically:
- Payment successful — Plan activated, chatbot operational immediately
- Payment failed — Notification to the client and admin
- Cancellation — Plan deactivated at the end of the paid period
Partner Program
The ChatDirect Partner Program allows resellers, agencies and consultants to refer clients and earn a recurring 30% commission on every active subscription. Learn more →
Partner Portal
Each partner has a dedicated portal accessible at chatdirect.ca/partner/ with:
- Dashboard — Active clients, revenue, commission due, 6-month chart, AI forecast
- AI Email Pitch — Generate personalized prospection emails (20 industries, 12 selling points)
- Client tracking — Details of each referred client (plan, status, conversations, satisfaction)
- Commission ledger — Full record with payments, adjustments and cumulative balance (CSV export)
- Automatic notifications — Email on every client signup or cancellation
- Security — 2FA (app or email), secure password, encrypted sessions
- Built-in help guide — Complete documentation within the portal (EN/FR)
Referral Link
Each partner receives a unique referral link:
When a client signs up via this link, they are automatically linked to the partner. The partner receives an email notification and the commission starts accumulating.
Commission on Net Amount
The commission is calculated on the net amount after processing fees are deducted:
- Canada — 2.9% + $0.30 per transaction
- International — 3.5% + $0.30 per transaction
Example — Pro plan at $89/mo (Canadian client):
- Processing fees: $89 × 2.9% + $0.30 = $2.88
- Net amount: $89 − $2.88 = $86.12
- Commission (30%): $86.12 × 30% = $25.84/mo
Payouts
Commissions accumulate monthly. Payouts are made when the balance reaches the minimum threshold of $100 CAD.