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, static HTML
- Dedicated WordPress plugin available
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: Via the WordPress plugin
If you use the ChatDirect WordPress plugin, you can control the display per page:
- In the WordPress editor, open the page where you do not want the widget
- In the page settings, look for the ChatDirect option or use a script management plugin
- You can also add the shortcode
[chatdirect]only on desired pages instead of enabling it globally
Method 3: 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 4.5, Sonnet, Opus | Pro, Business, Enterprise |
| OpenAI | GPT-4o Mini, GPT-4o, GPT-4 Turbo | All |
| Gemini 2.0 Flash, Gemini 1.5 Pro | 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.
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 $69/month includes the built-in CRM and automated follow-ups. 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 ($69/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 ($149/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 ($149/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 ($299/month).
AI Documents (RAG)
ChatDirect uses a Supabase database (PostgreSQL) with pgvector to power Retrieval-Augmented Generation (RAG). This means your chatbot can draw from your own documents and web pages to deliver highly accurate, context-aware answers.
Upload your documents
Upload PDF, Word (.docx), or TXT 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.
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 ($69/month).
Limits per plan
| Plan | Documents | URLs |
|---|---|---|
| Pro ($69/mo) | 50 | 50 |
| Business ($149/mo) | 125 | 125 |
| Enterprise ($299/mo) | 300 | 300 |
Review Booster
Turn conversations into Google reviews
The Review Booster uses your Google Business Profile (formerly Google My Business / GMB) to direct satisfied customers to your Google listing. 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.
Anti-bad-review filter
4-5 stars: the visitor is redirected to your Google listing to leave a public review. 1-3 stars: the visitor fills out a private feedback form. AI generates an empathetic response and you receive a notification with AI analysis of improvement points.
Built-in A/B Testing
Three message variants are tested automatically. The Reviews dashboard shows conversion rates per variant to optimize your results.
Multi-channel follow-up sequence
If the visitor doesn't leave a review immediately: a reminder email is sent after the configured delay, then optionally an SMS 24 hours later via Twilio.
Testimonials widget
Display your positive reviews directly on your site with the testimonials widget. Embed via HTML code or the WordPress shortcode [chatdirect-testimonials].
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: incentive promo code, automatic follow-up email, monthly report.
Plan required
Available from the Pro plan ($69/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
Kanban Pipeline
Drag-and-drop view with 4 columns: New, Contacted, Converted, Lost. Change status with one click or by dragging.
Features
- Custom tags (create, apply, filter)
- Advanced filters (search, status, score, tag, dates)
- "My leads" — filter by assigned agent
- Agent assignment
Dynamic Lead Scoring (0-15)
The score is calculated automatically and updated with each interaction:
| Criteria | Points |
|---|---|
| Fields completed (name, email, phone) | +1 to +3 |
| Positive feedback (thumbs up) | +1 per feedback |
| High-intent pages (pricing, contact) | +2 |
| Long conversation duration | +1 to +2 |
| Number of messages exchanged | +1 to +3 |
Predictive Conversion Score
In addition to the classic lead scoring (0-15), ChatDirect calculates a predictive conversion score expressed as a percentage (0-95%). This score estimates the probability that a lead will convert into a customer, by comparing their profile to previously converted leads.
Calculation Criteria
| Factor | Impact |
|---|---|
| Current score vs converted leads average | Primary factor |
| Email provided | +10% |
| Phone number provided | +10% |
| Detected intent (purchase, quote, budget) | +15% |
| High engagement (messages, duration) | +5 to +15% |
| Negative signals (unsubscribe, complaint) | -10 to -20% |
Display
The predictive score is displayed in the lead detail page as a colored circular indicator:
- Green (70-95%) — High conversion probability
- Orange (40-69%) — Moderate probability
- Red (0-39%) — Low probability
Enhanced AI Scoring
The AI scoring automatically detects signals in the lead's messages:
- Purchase keywords — "buy", "order", "quote", "budget", "urgent"
- Negative keywords — "cancel", "too expensive", "not interested"
- Conversation length — Longer conversations increase the score
Automated Follow-ups — 3 Steps
Configure up to 3 follow-up steps by email (+ SMS via Twilio optional). Each step has a delay, subject and template with variables:
Example Sequence
| Step | Delay | Subject |
|---|---|---|
| 1 | 1 hour | Thanks for your interest, {nom}! |
| 2 | 24 hours | Do you have any questions? |
| 3 | 72 hours | Last chance: special offer |
Email from CRM
From a lead's detail page, an email can be sent directly. The form is pre-filled with the lead's address. Email history is preserved in the lead's timeline.
- Pre-filled form with lead contact info
- Email history in the timeline
- Automatic status change to "Contacted" after sending
- Support for email API providers (SMTP2GO, SendGrid, Brevo, Mailgun, Amazon SES)
Duplicate Detection and Merging
The system automatically detects duplicates by email address or phone number. When merging, the highest score is kept and notes, tags and history from both records are combined.
Real-time Notifications
The notification system alerts about important events: new leads, overdue reminders, follow-ups sent and status changes.
- CRM Bell — Icon in CRM navigation, polling every 30 seconds
- Slack — Notifications in a Slack channel
- WhatsApp — WhatsApp Business notifications
- Email — Automatic email for hot leads
Activity Log
The activity log displays all CRM events in chronological order: lead captures, status changes, emails sent, notes added, tags modified, reminders and follow-ups.
- New lead capture
- Status change (new → contacted → converted/lost)
- Email sent from CRM
- Note added to a lead
- Tag added or removed
- Reminder created or completed
- Automated follow-up sent
Interactive Monthly Calendar
The calendar provides an overview of planned follow-up activities across a month.
- Click a date — Add a new reminder
- Click a reminder — View the associated lead
- Colors — Blue = upcoming, Red = overdue, Green = completed
CRM PDF Report
A PDF report of CRM statistics can be generated with date selection. The report includes:
- Key metrics (leads, conversions, average score)
- Visual conversion funnel
- Hot leads list
- Trends over selected period
Custom Fields
Define custom fields to enrich your lead records with information specific to your business. Fields are configured per client in the administration section.
Available Field Types
| Type | Description | Example |
|---|---|---|
| Text | Free text field | Project name |
| Number | Numeric value | Estimated budget |
| Select | Dropdown list with predefined options | Lead source |
| Date | Date picker | Callback date |
| Checkbox | Yes / No | VIP client |
Features
- Lead detail display — Custom fields appear in the lead detail page
- Inline editing — Edit values directly from the lead detail
- List columns — Fields are visible as columns in the leads list
- Advanced filters — Filter your leads by any custom field
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
Leads Map View
Visualize your leads on an interactive map to understand the geographic distribution of your prospects. The map uses Leaflet.js and OpenStreetMap.
Features
- IP geolocation — Approximate position determined via ip-api.com with caching for performance
- Color-coded markers — Color based on lead status (green = converted, blue = new, orange = contacted, red = lost)
- Clustering — Automatic grouping of nearby markers for a readable view
- Filters — Filter by status, score, tag or time period
- Popups — Click a marker to view lead information (name, score, status)
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 |
Public REST API
A public API key provides access to data via the REST API (Business plan or higher required).
| 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
Export your CRM reminders and follow-ups to your preferred calendar application using the iCal (.ics) format. Compatible with Google Calendar, Microsoft Outlook and Apple Calendar.
How It Works
- iCal feed — A unique URL per client generates a real-time iCal feed
- Reminders included — All CRM reminders (tasks, follow-ups) appear as events
- Follow-ups included — Scheduled follow-ups are also synchronized
- Authentication token — Each client has a unique token to secure feed access
Setup
Copy the iCal feed URL from your portal settings and add it to your calendar application:
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 Hashing | Irreversible SHA-256, even the admin cannot recover the original IP | Complete visitor anonymization |
| 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 |
|---|---|
| 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 chatbot.demomonsite.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, reminders, BYOK cost
- Conversations — Full conversation history with the chatbot
- CRM — CRM dashboard, leads, kanban pipeline, follow-ups, activity log, calendar, PDF report
- Configuration — 7 tabs: identity, appearance, schedule, conversations, AI, integrations, GDPR
- Usage — Tokens, conversations, USD/CAD costs, daily breakdown
- Users — Add, remove and change passwords for team members
- Support — Create and track support tickets
- Help — 19 documentation sections + search + 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.
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 $6 USD/month for 1,000 conversations with Claude Haiku 4.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
The client portal allows adding colleagues so they can access the portal with their own credentials.
- Add user — Create a username and password
- Change password — Each user can change their password
- Remove user — Revoke a colleague's access
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 Model |
|---|---|---|---|
| Discovery | Free 14 days | 250 messages | GPT-4o Mini |
| Starter | $39/month | 1,000 conv | GPT-4o Mini |
| Pro | $69/month | 1,000 conv (unlimited with BYOK) | Claude Haiku 4.5 |
| Business | $149/month | 2,500 conv (unlimited with BYOK) | Claude Haiku 4.5 |
| Enterprise | $299/month | 10,000 conv (unlimited with BYOK) | Claude Haiku 4.5 |
Feature Comparison
| Feature | Discovery | Starter | Pro | Business | Enterprise |
|---|---|---|---|---|---|
| Chatbot widget | Yes | Yes | Yes | Yes | Yes |
| Built-in mini-CRM | Yes | Yes | Yes | Yes | Yes |
| Kanban pipeline | Yes | Yes | Yes | Yes | Yes |
| Automated follow-ups | Yes | Yes | Yes | 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 |
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 $6 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 | $34/month | — |
| Pro | $69/month | — |
| Business | $149/month | — |
| Enterprise | $299/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 $69/mo (Canadian client):
- Processing fees: $69 × 2.9% + $0.30 = $2.30
- Net amount: $69 − $2.30 = $66.70
- Commission (30%): $66.70 × 30% = $20.01/mo
Payouts
Commissions accumulate monthly. Payouts are made when the balance reaches the minimum threshold of $100 CAD.