Getting Started
Set up Chat365 in this order: Sign Up/Login, add your OpenAI API key, embed the widget link on your website, configure team settings and working hours, then test notifications before enabling automation and channels.
- Create your user account using Sign Up, then log in from Login.
- Add your OpenAI API key and verify AI responses in test chats.
- Define team responsibilities before opening public traffic.
Widget Setup
Widget Embedding
- Add the Chat365 init script to your website templates.
- Place it before closing
</body>for faster page rendering. - Open site in browser, send test message, verify delivery in dashboard.
Environment Prerequisites
- HTTPS enabled on public domain.
- PHP/app permissions and writable upload directories.
- Reliable outbound network for webhooks and APIs.
Activation & Updates
- Activate modules only after base chat flow is stable.
- Update one module at a time and run a smoke test after each update.
- Keep backup snapshot before major config or UI edits.
- Track version/date in an internal change log.
Optimal Configuration
Team & Routing
Set departments, assignment rules, offline behavior, and escalation ownership.
Customer Experience
Set welcome message, reply expectations, and lead capture fields.
Startup Problems
- Widget does not load: verify script ID, domain path, console errors.
- No messages in dashboard: check API URL/key and server logs.
- Email alerts not sent: validate SMTP credentials and sender domain.
- Channel disconnected: verify token/webhook renewal status.
Conversations
Conversations should be organized for speed and accountability.
- Use statuses: open, assigned, pending, resolved.
- Use tags for lead type, source, and priority.
- Assign owner early to avoid duplicate replies.
- Keep first response templates for common intents.
Editor, Attachments, Notes
- Use rich messages only when they improve clarity.
- Keep attachment size and format guidelines for agents.
- Use internal notes for context not visible to visitors.
- Use canned replies for consistency, then personalize quickly.
Users, Agents, Admins
- Define clear role permissions (viewer, agent, admin).
- Add only required fields in registration and profile forms.
- Map users to departments for cleaner routing.
- Review inactive users monthly and disable unused accounts.
SETTINGS
Office hours
You can set the office hours timetable from Settings > Miscellaneous > Office hours. Office hours are used for:
- Sending the offline message.
- Disabling and hiding the chat during out-of-office hours.
- Disabling the chatbot during regular office hours and enabling it during out-of-office hours.
More information
- If a day has only one start and end time, enter them in the first two fields. Example: use 10:00 AM to 5:00 PM and (empty) to (empty), not 10:00 AM to (empty) and (empty) to 5:00 PM.
- Do not leave empty values. Set them to closed instead.
- You have to set values to closed if you want to set a whole day as not office hours.
- The office hours are in UTC format. Set your UTC from Settings > Miscellaneous > Timezone.
- The date and time format of the timetable matches automatically the one used in the country of the browser language of the user.
Articles
Knowledge base articles provide instant answers to customers to help reduce support volume. You can access the articles from the left Chat365 menu.
How to display the articles area
- The articles can be shown in the chat dashboard by enabling them from Settings > Articles > Display in dashboard.
- Alternatively, articles can be shared in any chat conversation via the rich message shortcode,
[articles]. - You can display them on your website in multiple ways, shown below.
REST API METHOD
Insert the code below into your page. Replace [CHAT365-URL] with your installation URL and [YOUR-TOKEN] with an admin token. If you already load jQuery, include nojquery => true. If chat embed is already loaded, include nojs => true.
<div id="sb-articles">
<script src="[CHAT365-URL]/js/min/jquery.min.js"></script>
<script id="sbinit" src="[CHAT365-URL]/js/main.js"></script>
<?php
$ch = curl_init('[CHAT365-URL]/include/api.php?articles=true&' . (empty($_GET['category']) ? (empty($_GET['article_id']) ? (empty($_GET['search']) ? '' : '&search=' . urlencode($_GET['search'])) : '&article_id=' . $_GET['article_id']) : '&category=' . $_GET['category']) . (empty($_GET['lang']) ? '' : '&lang=' . $_GET['lang']));
$parameters = [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_USERAGENT => 'Chat365',
CURLOPT_POST => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_POSTFIELDS => http_build_query([
'token'=> '[YOUR-TOKEN]',
'function' => 'init-articles'
])
];
curl_setopt_array($ch, $parameters);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
</div>
PHP API METHOD
Replace [CHAT365-URL] with your installation URL (from Settings > Miscellaneous > Installation URL) and [CHAT365-PATH] with your installation path. This method is not available in cloud version. If jQuery is already included, do not include it again.
<script src="[CHAT365-URL]/js/min/jquery.min.js"></script>
<script id="sbinit" src="[CHAT365-URL]/js/main.js"></script>
<link href="[CHAT365-URL]/css/main.css" type="text/css" rel="stylesheet">
<link href="[CHAT365-URL]/css/articles.css" type="text/css" rel="stylesheet">
<div id="sb-articles">
<?php require('[CHAT365-PATH]/include/articles.php'); ?>
</div>
JS METHOD
This method is not recommended for SEO because articles are loaded asynchronously. Replace [CHAT365-URL] with your installation URL.
<script src="[CHAT365-URL]/js/min/jquery.min.js"></script>
<script id="sbinit" src="[CHAT365-URL]/js/main.js"></script>
<script>var SB_ARTICLES_PAGE = true;</script>
<div id="sb-articles" class="sb-loading"></div>
WORDPRESS METHOD
If you are using the WordPress version you can use shortcode [sb-articles]. This is supported only in WordPress version.
The page shows article categories. Add parent categories and assign articles to them. Articles appear where the code is inserted. To hide chat widget on article pages, add:
<script>var SB_DISABLED = true;</script>
One-page navigation
The article one-page navigation appears automatically on articles and is generated from h2 and h3 headings.
URL rewrite
Enable URL rewrite from Settings > Articles > URL rewrite. You can rewrite category and article URLs via .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^articles?$ articles.php [L]
RewriteRule ^articles/category/(.*)$/?$ articles.php?category=$1 [L,QSA]
RewriteRule ^articles/(.*)$/?$ articles.php?article_id=$1 [L,QSA]
</IfModule>
Change articles with your articles page slug and set Articles page URL in Settings > Articles.
Language
- Add article translations by opening an article, clicking the
+icon, then selecting language. - Delete translation by hovering language flag and clicking trash icon.
- Add category translations similarly from category editor.
- Enable automatic translation via multilingual translation feature + Settings > Articles > Language > Automatic translation.
- Set default article language from Settings > Articles > Language > Default language.
- You can force language with URL parameter
lang=LANGUAGE-CODE. - Language menu appears at article bottom and shows all available translations.
- If at least one article exists in user language, category/main page prioritizes translated articles.
More information
- If you use categories, all articles must be assigned to a category.
- You can create an internal chat link to an article with the rich message button.
- Create a direct link to a specific article with URL parameter
article=ID. - Create a category link with URL parameter
category=ID. - Articles are included in OpenAI chatbot training; after article updates, retrain chatbot manually.
- If blocks do not save (for example text block), disable browser extensions and retry.
- To hide the chat widget on articles page, use
<script>var SB_DISABLED = true;</script>.
Language
Chat365 is fully multilingual and provides features to detect user language automatically.
Chat language
Chat365 is translated into 45+ languages. Available options to set chat language:
- Option 1: Go to Settings > Chat and set Language to multilingual to automatically use browser language or profile language.
- Option 2: Add URL parameter
lang=LANGUAGE-CODEto the script URL (for example.../js/main.js?lang=es). This forces one language and ignores Settings > Chat > Language. - Language code list: ISO 639-1 (2-letter codes). Traditional Chinese:
zt, Simplified Chinese:zh, Brazilian Portuguese:pt. - Option 2 - WordPress only: Go to Settings > WordPress and set Force language. This also overrides Settings > Chat > Language.
- Option 3 - WordPress only: Chat language follows WordPress default language or current multilingual page language (compatible with WPML/Polylang and similar plugins), unless forced by Settings > Chat > Language.
Admin language
- Translate texts from Settings > Translations.
- Enable Settings > Admin > Automatically translate admin area to match agent profile/browser language.
- Self-hosted only: add
define('SB_ADMIN_LANG', 'LANGUAGE-CODE');at end ofconfig.phpto force admin language.
Chatbot and message translations
To automatically translate chatbot messages and other texts, use the Artificial Intelligence app multilingual translation features.
Edit and add new translations
- Go to Settings > Translations. Click New translation to add one.
- Enter original English text in first field (replace line breaks with
\n). - Enter translated text in second field (use
\nfor line breaks). - If AI app is available, you can auto-translate content via multilingual translation feature.
Add a new language
- Via FTP/File Manager go to
chat365/resources/languages/front. - Duplicate
source.jsonin the same folder. - Rename the file with desired 2-letter language code.
- Open Settings > Translations; new language appears automatically.
- For admin area language files, repeat steps in the
adminfolder. - Custom language files are preserved across updates.
Information
- To delete email/articles translations, hover language flag and click trash icon.
- If translation string is missing, click Add new translation.
- If translation does not apply, remove leading/trailing spaces and blank lines.
- Translation edits are saved directly into translation files. Backup is created in uploads and restored on plugin update/activation.
- Some special chars are converted to HTML entities (for example
&becomes&in source). - You can also add missing strings directly in language files under
chat365/resources/languages, then click Save changes in Settings > Translations.
Departments
Departments let you distribute conversations and assign agents to specific business teams (for example Sales, Support, Billing).
To start using departments:
- Go to Settings > Miscellaneous and add/manage departments, then save and reload.
- Go to Users > Agents, edit an agent, and assign department.
- Reload the page. In Conversations you will see department assignment options.
Department settings
- Display in dashboard: show departments list in chat dashboard and force users to choose before starting conversation.
- Display images: show department image instead of color.
- Display in conversation list: show department color in admin conversation list.
- One conversation per department: restrict to one active conversation per department for each user.
- Label: replace plural label Departments.
- Label single: replace singular label Department.
- Dashboard title: set dashboard list title (default: Departments).
How it works
- Agents/admins with no assigned department can see conversations from all departments.
- Agents/admins with assigned department can access only conversations/users/agents in that department.
- When a conversation is moved to a new department, email notification is sent to agents in that department.
- Chatbot can assign department via Q&A set data feature or flows action feature.
How to assign a department to a conversation
- Via Q&A set data feature.
- Via flows action feature.
- Via Settings > Miscellaneous > Departments settings > Display in dashboard (user chooses department before new conversation).
- Via Settings > Automations > More.
- Via JavaScript variable
var SB_DEFAULT_DEPARTMENT = ID;in pages where chat is displayed. - Via API.
Amazon Web Services
Amazon S3
Upload attachments to your Amazon S3 bucket instead of the server where Chat365 is installed. Follow the steps below:
- Log in to AWS root account from aws.amazon.com.
- Open IAM dashboard and go to Access management > Users.
- Create a new user and continue.
- Create a user group with policy
AmazonS3FullAccessand assign the user to that group. - Open the new user > Security credentials > Create access key (Application running outside AWS).
- Save Access Key and Secret in Chat365 > Settings > Miscellaneous > Amazon S3.
- Open S3 dashboard and create bucket.
- Set bucket name and region, then store these values in Chat365 Amazon S3 settings.
- Enable ACLs and choose Bucket owner preferred.
- Disable Block all public access and related checkboxes if your setup requires public object access.
- Create bucket and test attachment upload.
- This feature is technical and optional.
- It may take up to 24 hours for newly created bucket permissions/propagation to stabilize. If it does not work immediately, retry later.
More settings
Saved replies
Saved replies (canned messages) are pre-written messages agents can quickly use in the chat editor. Manage them from Settings > Admin > Saved replies.
- Type
#followed by saved reply name and a space to print it. - Type
##to open saved replies pop-up. - Use
\nfor line breaks.
Copilot
If chatbot is active, saved-reply search also includes chatbot suggestions. You can ask chatbot to suggest replies based on your search query.
Direct messages
Direct messages let you send a single chat message, email, or text message to one user or multiple users.
- Go to Users area and click the direct message icon. It is also available in user profile box.
- To send to all users, enter
Allin the User IDs field. - To send to selected users, enter IDs in User IDs field, or select users and use direct message icon to auto-fill IDs.
- All message types support merge fields.
- All message types support automatic translation.
Direct chat message
- Message is sent to active conversation if present, otherwise to a new conversation.
- If Settings > Notifications > User email notifications is active, users with email are notified.
- If Settings > Notifications > Text message notifications > Active for users is active, users with phone are notified by text message.
- If Settings > Notifications > Push notifications is active, push notification is sent to users.
- Message is also sent to connected messaging apps such as WhatsApp and Messenger.
- To target a single app audience, use one of:
whatsapp,messenger,instagram,telegram,twitter,zalo,wechat,viber,line. - Use
ticketsto send only to users who created a ticket via Tickets app.
Direct email
- Set email template from Settings > Notifications > Email template.
- HTML is supported.
- Subject supports merge fields.
Direct text messages
Enable SMS from Settings > Notifications > Text message notifications to use direct text messages.
Direct WhatsApp template messages
Use WhatsApp template messaging configuration from the WhatsApp section.
Automations
Automations run multilingual automatic tasks when your configured conditions are met.
- To delete a condition, set it empty. To disable an automation, delete all conditions.
- Automations are sent only one time per user.
- If users already received an automation, delete and recreate it to resend.
- Repeat works only together with date time.
- When date time is used with “is exactly”, value must not include hours/minutes.
- Settings > Users > Register all visitors must be active for page-load automations.
- City/country/language conditions require both Register all visitors and Full visitor details.
- City condition works when user location/city details are available.
- Country condition works when country_code/country/location details are available; country name must be in English.
- Language condition works when browser_language or language detail is available.
- Returning visitor means user visits again after 24h or more.
- Pop-ups appear only when chat is closed and override default pop-up. Use message fallback to send message if chat is open.
- Chat messages and popup fallback messages are sent only when last conversation message is older than 10 minutes.
- Custom variable condition checks JavaScript variables by name/value (example:
var example = "ABC";satisfiesexample=ABC). - Automations are not compatible with messaging apps: WhatsApp, Messenger, Instagram, Telegram, Twitter, Zalo, WeChat, Viber, Line.
Newsletter
Complete synchronization with your newsletter provider. User subscription can happen via registration form, follow-up message, subscribe message, or email shortcode.
Provider setup references
- Mailchimp: API key and Audience/List ID from Mailchimp account docs/tools.
- Brevo: API key from account API settings, List ID from lists section.
- SendGrid: API key from SendGrid API keys; List ID from Marketing > Contacts > List URL.
- Elastic Email: create additional API key with Contacts permissions; List ID is list name (no spaces).
- Campaign Monitor: generate API key from account settings; copy List API ID from list settings.
- HubSpot: create private app token with list/contact scopes; get list ID from Contacts > Lists.
- Moosend: API key from settings; List ID from audience email lists.
- GetResponse: API key from API page; List token from list settings.
- ConvertKit: API secret from Settings > Advanced; List ID from form URL numeric part.
- ActiveCampaign: key from Account settings > Developer; list ID in format
domain:list-id. - MailerLite: API key from integrations; group/list ID from Subscribers > Groups URL.
- Mailjet: key from account API settings; list ID from contact list details.
- Sendy: API key from Sendy settings; list value format
https://your-url|LIST-ID. - SendFox: personal access token from API settings; list ID from list URL.
- Klaviyo: API key from account API keys; list ID from Lists URL.
- Acumbamail: API docs/key from account; list ID from list URL.
Queue & Routing
When queue is activated via Settings > Miscellaneous > Queue, or routing is activated via Settings > Miscellaneous > Routing, Chat365 automatically assigns user conversations to available agents proportionately.
- Only online agents are counted as available and receive new conversations.
- If no agents are online, the conversation stays unassigned and is automatically assigned to the first agent who comes online.
- Admins are not included; admins always see all conversations.
- Agents must archive a conversation to mark it completed and receive the next queued conversation.
- A conversation is active if it is not deleted and not archived.
- Agents can switch status (online/offline) from profile pop-up in the admin area.
- Agents can search/filter only their conversations.
- Agents can view only their conversations, but can see all conversations of a single user.
- To allow unassigned visibility, enable Settings > Miscellaneous > Hide conversations of other agents and View unassigned conversations.
- Queue and routing are compatible with departments.
- If human takeover is active, queue/routing activates only on human takeover.
- When routing or queue is active, Agents menu is automatically enabled.
More information - Queue only
When queue is active, users enter a queue automatically when an agent chat limit is reached. The queue message shows current position and estimated waiting time. Chat365 assigns conversations proportionally among available agents. When an agent archives a conversation as completed, queue updates and next conversation is assigned.
- If a queued user leaves for more than 1 minute (for example browser close), conversation remains saved but queue position is reset when user returns.
- When user leaves, conversation remains unassigned and invisible to agents (visible to admins).
- You can use merge fields in queue message:
{position},{minutes}. - Waiting time is calculated as: queue position X response time. Example: position 5, response time 4 minutes = 20 minutes.
- If sound option is active, a sound plays when it is the user turn.
- For messaging channels like WhatsApp, per-agent conversation limits are not enforced; conversations are assigned immediately and proportionally to online agents.
- If no agents are online on messaging channels, conversations remain unassigned and auto-assign to first online agent.
- Use offline message to prevent queue update message display to users.
How to test the queue
- Use multiple browsers (Chrome, Firefox, Brave, Opera, etc.) and private/incognito mode to simulate multiple users and agents.
- To reset chat and start a new user session, run
SBF.reset()in browser console and press Enter.
More information - Routing only
- With routing active, Chat365 assigns conversations proportionally among available agents.
- If Routing > Disable online status check is active, distribution is across all agents, online or offline.
- When an agent comes online after being offline, unassigned conversations are automatically assigned.
- With routing active, agents can manually route conversations from right panel in conversations area.
- If archived conversation is reopened and assigned agent is offline, conversation is assigned to another agent.
Manual routing
- When routing is activated via Settings > Miscellaneous > Hide conversation of other agents, agents see only their own conversations and can select unassigned ones.
- Agents menu: enable the agents menu.
- Routing if offline: if reopened archived conversation has offline assigned agent, assign to another online agent if available, otherwise to no agent.
- View unassigned conversations: allow agents to take unassigned conversations; on reply it is assigned to that agent and removed in real time from other agents view.
Agents menu
Agents menu lets you assign conversations to specific agents. It appears on the right side of conversations area and is automatically enabled when queueing or routing is active. You can select multiple conversations (see keyboard shortcuts) and assign them to a specific agent.
Assign an agent to a conversation
- Via Q&A set data feature.
- Via flows action feature.
- Via queue or routing features.
- By enabling Settings > Chat > Agents menu, requiring user to select agent before starting a new conversation.
- Via Settings > Automations > More.
- Via JavaScript variable
var SB_DEFAULT_AGENT = ID;in pages where chat is displayed (replace ID with agent ID). - Via API.
Notifications
To understand how notifications work and when they are sent, read the information below. If notifications seem not to work, verify testing flow and conditions first.
Email notifications
Both agents and users can receive email notifications when a new message is received.
Email notifications for admin and agents
- Only 1 email is sent; subsequent messages do not trigger additional email alerts automatically.
- All emails use template from Settings > Notifications > Email template.
- The template must include
{content}merge field (required).
Email notifications for agents
- Enable Settings > Notifications > Agent email notifications.
- When first user message arrives: if conversation is department-assigned, email goes only to offline agents/admins in that department (or with no department).
- If assigned to a specific agent, email goes only to that agent; otherwise to all agents currently offline.
- Subsequent emails are sent only to the last agent in the conversation.
- Email notifications are sent only to offline agents/admins.
- If AI app human takeover is active and chatbot knows the answer, no emails are sent.
- To prevent admin emails, enable Settings > Notifications > Do not send notifications to admins.
Email notifications for users
- Enable Settings > Notifications > User email notifications.
- When agent sends message, email is sent only if user is offline.
- Only 1 email is sent; subsequent messages do not trigger another alert.
Create the email
Manage content from Settings > Notifications. Text and HTML are supported. New lines are converted to <br />.
| Merge field | Description |
|---|---|
{recipient_name} | Name of recipient user/agent. |
{sender_name} | Name of sender that triggered notification. |
{sender_profile_image} | Profile image of sender. |
{message} | Message content that triggered notification. |
{attachments} | Attachment links/files in email. |
{conversation_link} | Admin link to open conversation (agent emails only). |
{conversation_id} | Conversation ID. |
Cron job
- For email notifications via cron, enable Settings > Notifications > Email notifications via cron job.
- Endpoint:
[CHAT365-URL]/include/api.php?email-notifications=true - Example command:
*/59 * * * * wget [CHAT365-URL]/include/api.php?email-notifications=true - Use Installation URL from Settings > Miscellaneous > Installation URL.
- Cloud endpoint uses tokenized API URL format.
Problems?
- Hosting problems: host mail server blocked/spam flagged. Use SMTP configuration or contact hosting provider.
- SMTP problems: run test email. If test fails, SMTP server/config is not working. Check browser console logs.
- Google Gmail/Workspace: use app password, host
smtp.gmail.com, port465or587, and ensure third-party SMTP access is allowed.
Push notifications
Push notifications are server-driven and persistent. They can work even if Chat365 is not open. Supported providers: Pusher and OneSignal (OneSignal required for iOS).
Activation - Pusher
- Select Pusher in Settings > Notifications > Push notifications.
- Create Pusher account and choose Beams product.
- Create instance, copy Instance ID and Primary key.
- Paste in Chat365 push settings and save.
- Pusher does not support iOS; use OneSignal for iOS.
Activation - OneSignal
- Select OneSignal provider in push settings.
- Create OneSignal app with Web configuration.
- Set root domain (not full admin URL).
- Configure service worker path and filenames (
sw.js). - Set click behavior strategy to Origin mode.
- Copy App ID and REST API key into Chat365 push settings.
- For iOS, install admin PWA via Safari Add to Home Screen.
Activation for users
- Upload service worker file to
https://your-site.com/service-worker.js. - Set Service Worker URL in push settings.
Information
- Push notifications work only on HTTPS (except localhost for development).
- When active, push notifications replace desktop notifications.
- On iOS, push is available from iOS 16.4 and requires PWA + OneSignal.
- If push fails, reset OneSignal audience/subscription and resubscribe.
- When user message arrives, routing/department/agent assignment rules apply for who gets notification.
- If AI human takeover is active and chatbot knows the answer, no push is sent.
- On Chrome, enable background apps setting for closed-tab delivery.
- If admin area is visible/open, push opening behavior can differ and may not open new tab.
Desktop notifications
- Not sent when active visible page already includes chat.
- Not supported on iPhone/iOS.
- Require HTTPS admin URL.
- When push is active, push replaces desktop notifications.
Text message notifications
Text notifications use Twilio and support two-way SMS when configured with a Twilio number.
Activation
- Create Twilio account, verify number, choose SMS.
- Get trial number (or purchase number for live two-way usage).
- Paste Account SID, Auth token, and sender number in Chat365 text settings.
- For trial, add verified caller IDs in Twilio.
- For live inbound SMS, configure webhook URL from Chat365 text settings into active Twilio number.
Information
- Recipient targeting follows department/assigned-agent/offline rules similar to email notifications.
- To prevent admins from SMS alerts, enable Do not send notifications to admins.
- SMS notifications are sent only to offline agents/admins.
- All phone numbers must include country code with
+prefix. - User phone can come from form, follow-up, shortcode, manual entry, or API.
- If AI human takeover is active and chatbot knows answer, no SMS is sent.
- Sender ID can be used by entering sender name in Sender number field.
Sound notifications
- When Sounds are enabled, sound plays for new messages/conversations.
- Audio requires user interaction due to browser security policies.
- If repeat is enabled, sound loops while admin/chat page is not visible or is minimized.
Telegram notifications
Agents can receive Telegram notifications when new messages arrive. Delivery still follows notification logic unless All messages option is enabled.
Activation
- Go to Settings > Telegram > Notifications and click Activate.
- Set channel name exactly in Telegram notifications settings and save.
- Create Telegram channel with that exact name.
- Add Chat365-synced Telegram bot as channel administrator.
ARTIFICIAL INTELLIGENCE
The settings below are related to the Artificial Intelligence app.
Installation
From Settings > Apps, click Artificial Intelligence and enter your license key to install and activate the app. In cloud version, click Activate.
Human takeover
Human takeover happens when:
- A human agent replies to a user message.
- Settings > Artificial Intelligence > Human takeover > Active is enabled and chatbot cannot understand user message, or user explicitly asks for a human agent.
General information
- When human takeover is active, chatbot is disabled while the last replying human agent is online.
- If no agent has replied yet, chatbot remains active.
- After takeover, chatbot re-activates later, but fallback messages are suppressed for 10 days in same conversation if chatbot still does not know the answer.
- Chatbot is fully reactivated if conversation is archived or deleted.
- With Slack, if chatbot knows answer, no message is sent; once takeover is active, conversation messages are sent to Slack.
- Human takeover auto-activates when a human agent replies.
- To fully disable chatbot on takeover, enable Human takeover > Disable chatbot.
- If takeover is already active, it is not re-triggered; fallback message may be sent instead.
- Fallback message can be sent at most once every 30 minutes and only when user message comes 30+ minutes after last agent reply.
- Works across messaging apps (WhatsApp, Messenger, Telegram, and others) without requiring button confirmation.
Human takeover option
- Request is sent only if user message is longer than 3 chars and contains at least two words.
- Conversations where chatbot answers correctly are marked read and moved to lower inbox positions.
- When confirmed/automatic takeover occurs: conversation becomes unread and moves to top of inbox.
- User messages within 10 days trigger agent notifications based on notification settings.
- No new takeover request is sent in same conversation during that 10-day window.
- Follow-up and offline messages are activated.
- If queue settings are active, queue/routing activates.
- If disable outside office hours is active, takeover is disabled outside office hours or when all agents are offline.
Manual human takeover
Users can request takeover manually by asking to contact a human agent. This is active by default.
Human takeover via Q&A
Enable takeover for specific user messages by adding human takeover action in Q&A set data/actions.
OpenAI Assistant
To enable human takeover in OpenAI Assistant, add this function in OpenAI functions area:
{
"name": "sb-human-takeover",
"description": "I want to contact a human support agent or team member. I want human support.",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}
Smart reply
Smart Reply suggests quick responses in real-time during conversations.
- Smart Reply suggestions come from your OpenAI chatbot.
- If language detection is active, Smart Reply uses it as well.
- If multilingual translation is enabled, Smart Reply uses translated context too.
- Hover 3 seconds to read full smart reply text.
- Use
CTRL + Zto restore previous message.
Optimal configuration for the chatbot
- Keep improving chatbot from training panel.
- Activate Artificial Intelligence > Smart Reply.
- Activate OpenAI settings: Chatbot, Spelling Correction, Rewrite Message Button.
- Train chatbot with your own content.
- For multi-country traffic, consider Google multilingual via translation, automatic translation, and language detection.
- Change chatbot name from Settings > Users > Bot name.
Problems?
For troubleshooting, open browser developer tools console, send a chat message, and review reported errors.
OpenAI and Google
- Check if human takeover is currently active.
- You can hire integration support if synchronization setup is complex.
OpenAI
- Use Settings > Artificial Intelligence > OpenAI > Troubleshoot problems.
- Ensure Settings > Artificial Intelligence > OpenAI > Chatbot is enabled.
- Check usage/billing/credits in your OpenAI account.
- If chatbot does not reply and Google features are active, disable Google features and retest.
- Review general info above for takeover/fallback behavior.
- If training seems broken, ensure uploads/embeddings path exists and has files (self-hosted PHP/WordPress).
- If training quality is poor, delete training data and retrain from scratch.
- If answers are cut off or partial, retry and refine data/prompt quality over multiple interactions.
- For multilingual website training, verify correct
langattribute in<html>tag. - Try resetting OpenAI settings to minimum (key only), then reconfigure.
- Try OpenAI Assistant mode as fallback test.
- In cloud mode, test with automatic sync mode to isolate whether issue is in your own OpenAI account.
- Use Settings > Artificial Intelligence > Google > Troubleshoot problems.
- If sync failed, repeat synchronization steps carefully and validate credentials/settings.
OpenAI
The settings below are related to the Artificial Intelligence app.
Synchronization
Automatic sync mode
Available only on Chat365 cloud version.
- Set at Settings > Artificial Intelligence > OpenAI > Sync mode.
- Enable Chatbot option to activate bot replies.
- Credits are required to use this option.
Manual sync mode
- Create OpenAI account and API key.
- Paste key into Settings > Artificial Intelligence > OpenAI > API key.
- For cloud, set Sync mode to Manual.
- Enable chatbot from OpenAI settings.
Chatbot
- Complete synchronization.
- Enable Settings > Artificial Intelligence > OpenAI > Chatbot and save.
- Use the playground in Chatbot area (smile icon on left menu).
- If it does not work, run Troubleshoot problems in OpenAI settings.
- Improve quality further from Training and Human takeover sections.
Chatbot Integrations
Integrations from Artificial Intelligence settings are conversational, multilingual, and work across channels like WhatsApp, Messenger, Telegram, and others.
Google Calendar
Allows chatbot to book and manage appointments in your Google Calendar.
- Tasks: book event, update event, cancel event, list events, show available booking times.
Setup
- Activate Google Calendar integration in Artificial Intelligence settings.
- Complete Google synchronization.
- Set booking times from Settings > Miscellaneous > Scheduled Office Hours.
Information
- Slot duration = event duration.
- Buffer time = gap between bookings.
- Minimum booking time = minimum lead time from now for booking.
TidyCal
Allows chatbot to book and manage appointments in your TidyCal account.
- Tasks: book event, update event, cancel event, list events, show available booking times.
Setup
- Activate TidyCal integration.
- Create TidyCal Personal Access Token and paste into Access token.
- Set booking type title in Chat365 settings.
- Configure booking windows, buffers, and slot duration in TidyCal.
Information
- Only non-priced events are supported.
- Booking type selection is cached for up to 24 hours.
Settings
Chatbot mode
- Only general questions: uses general knowledge + same-conversation context.
- Only questions related to your sources: replies only from trained sources.
- All questions: combines trained sources + general + conversation context (recommended).
- Assistant: use your OpenAI Assistant.
Small talk
Enables prebuilt casual replies (hello, how are you, jokes) for more human-like conversations.
Assistant
- Use your own assistants created in OpenAI.
- Cloud mode requires Manual sync and your own API key.
- Department-link multiple assistant IDs and use Assistant chatbot mode.
- Assistant is used for chatbot and smart replies, not message rewriting and other utilities.
Fallback message
Sent when OpenAI cannot understand the user question.
Prompt
- Prompt defines answer style and domain behavior.
- If using human takeover, include:
Respond "I don't know", if not sure about the answer. - Prompt works with training-source responses.
Other OpenAI options
- Spelling correction: auto-fixes agent message typos.
- Training data language: set default training language for multilingual bots.
- Smart reply: can stay active even if chatbot is inactive.
- Speech recognition: converts audio to text (chatbot audio understanding is always enabled).
- Image and file analysis: available on GPT-4+ models; not supported on localhost.
- Source links: include source URLs in responses.
- Note data scraping: auto-extract specific details from user messages into notes.
- OpenAI parameters: advanced controls like temperature/logit bias.
- Generate user questions: creates suggested questions in training panel.
- Use conversations for training: periodic automatic training from user/agent messages.
- Context awareness: uses page title/meta description context (widget only).
Message rewriting
- Adds rewrite button in conversation text field.
- Can auto-add greetings if no prior agent messages.
- Set rewrite prompt and execution mode (automatic or negative sentiment).
Training
Train with website content, text, PDFs, Q&A, articles, flows, conversations, and panel-assisted refinements.
- Files: PDF/TXT upload and train; files are removed after processing.
- Website: train from URLs or XML sitemap (recommended for large sites).
- Q&A: add question-answer pairs directly.
- Articles: article content can be used as training source.
- Flows: chatbot flows are trainable.
- Conversations: automatic periodic training from user+agent messages.
- Training panel: improve responses from real conversation messages.
- Real-time information: handle questions requiring current data through configured capabilities.
Training information
- Retraining adds new sources; existing data is not removed unless explicitly deleted.
- Cloud has character limits; self-hosted versions generally do not.
- Embeddings are required and use the default embedding model.
- Delete all training data from Chatbot > Training > Information when needed.
- Embeddings are stored as JSON files in uploads with filename-based protection.
Run training via cron job
- Cloud: enable Training via cron job setting.
- Self-hosted: call
[CHAT365-URL]/include/api.php?open-ai-training=trueon schedule. - Example command:
*/59 * * * * wget [CHAT365-URL]/include/api.php?open-ai-training=true. - Cloud cron execution may be limited to once per 7 days.
- Automatic training applies to websites; files/Q&A/articles are excluded.
- XML sitemap is strongly recommended for performance.
Multilingual training
- Enable multilingual training sources in OpenAI settings.
- Files and Q&A currently support one language at a time.
- Website language is auto-detected from
<html lang>. - Articles use all available article languages.
- Conversations use agent-language messages when automatic translation is active.
Q&A
- Question: add user message variations that should trigger an answer.
- Answer: define response text used by chatbot.
- Set data and actions: set user values and perform actions (tags, agent/department assignment, etc.).
- Tools calling: connect to external APIs/services for dynamic answers.
Flows
Build guided conversational flows to achieve specific user goals.
- Flow blocks include: Start, Send message, Send choices, Send video, Get user details, Set data, Actions, Conditions, Rest API, Tools calling, Flow connector.
- Conversational mode can map free-text replies to choices (especially on messaging channels).
- Flows support multilingual content and translation features.
- Users can move backward and correct prior inputs naturally.
Tools calling
Tools calling connects chatbot to external systems to retrieve data required for answers.
- Configure URL endpoint, headers, and required properties.
- Chat365 sends user input + metadata (user ID, conversation ID, language) to your server.
- Your server must return JSON with requested values and
success: truewhen retrieval is valid. - Arguments are sent in kebab-case keys derived from property names.
Information
- Compatible OpenAI settings include smart reply, human takeover, ticket-area disable, office-hours disable, bot delay, email/text replies.
- Compatible Google settings include multilingual translation, automatic translation, and language detection.
- Set chatbot language from Settings > Chat > Language (Multilingual for mixed-language audiences).
- If human takes control, OpenAI chatbot is deactivated for takeover period.
- Default model is
gpt-5-mini. - Consecutive user messages can be grouped into one unified bot reply.
The settings below are related to the Artificial Intelligence app.
Synchronization
To start using Google AI services, follow the setup below.
Automatic sync mode
This feature is available only on cloud version.
- Click Synchronize now and complete the procedure.
- You need credits to use this option.
Manual sync mode
- Sign in to Google Cloud Console.
- Enable Cloud Natural Language API, Cloud Translation API, and Google Calendar API.
- Configure OAuth consent screen (External), app details, and save.
- Add scopes for language, translation, and calendar APIs.
- Add your Google account in audience/test users and publish app (review can remain pending).
- Create OAuth client ID (Web application) and set authorized redirect URI from Chat365 Google settings.
- Copy Client ID and Client Secret into Settings > Artificial Intelligence > Google.
- Click Synchronize in Chat365 and authenticate with same Google account.
- Copy refresh token and paste into Chat365 Google settings.
- For Google Workspace, set re-authentication policy to never require re-authentication if needed.
Automatic translation
Automatically translates user messages into agent language and agent messages into user language. Enable from Settings > Artificial Intelligence > Automatic translation.
Setup
- Open Google Cloud Console and enable Cloud Translation API.
- Enable billing in Google Cloud for translation API usage.
- If cloud + automatic sync is active, multilingual features can work automatically.
Information
- Messages are translated in real time in admin area according to agent/user language.
- Agents can view original text from message menu.
- Agent language priority: profile language, then browser language, then admin language.
- User language priority: user detail, then chat language, then browser language, or language detection.
- Notifications are translated too.
- To avoid translating a string, wrap it with backticks.
Multilingual via translation
This feature translates user messages into OpenAI default language and translates AI replies back to user language. It also translates UI texts (rich messages, articles, forms, popups). Combine with language detection for best results.
- If English is one supported language, keep English as default/original language.
- If using OpenAI training data, set default training data language in OpenAI settings.
Language detection
- Detects language from user messages and updates user language.
- User message must be at least 2 words.
- Detection runs only for first 2 user messages in a conversation.
- If OpenAI chatbot is active for generic questions, fallback message may never trigger because bot can still respond.
- Supports fallback merge fields like
{language_name}.
Google search
Google search gives chatbot the ability to fetch answers for real-time information.
- Create Programmable Search Engine and configure included sources.
- Copy Search engine ID and paste into Chat365 settings.
- Create API key for Custom Search and paste into Chat365 settings.
Information
- Search runs only when chatbot does not know answer and user message length is greater than 4 characters.
- Google search is optional for spelling correction.
- Google search is compatible with OpenAI chatbot.
Tickets
The settings below are related to the Tickets app. The Tickets app allows users to create conversations and send messages via a UI different from chat.
Installation
From Settings > Apps, click Tickets and enter your license key to install and activate the app. If you have cloud version, click Activate.
Display the tickets area
PHP VERSION
Include the following script in your page:
<script src="chat365/js/min/jquery.min.js"></script> <!-- Not required if jQuery is already loaded -->
<script id="sbinit" src="chat365/js/main.js?mode=tickets"></script>
- You cannot load chat widget and tickets area script on the same page at the same time.
- Alternative activation on chat page:
<script>SB_TICKETS = true;</script> - To set position, add
<div id="sb-tickets"></div>. - Optional
data-offset="123"sets height offset in px. - Minimum desktop height is 450px.
- By default, tickets area is appended to
body.
WORDPRESS VERSION
Use shortcode [sb-tickets] in any page, post, or post type item.
Information
- If tickets area is not visible, ensure Tickets > Manual initialization is unchecked.
- Tickets area can also be used for inline/full-width chat panel display.
- On admin side, tickets are the same as chat conversations; difference is in front-end UI.
- Most chat settings are compatible, but dashboard/pop-up and some other settings are not.
- Dedicated Tickets APIs are available in API section.
- To remove mandatory New ticket form for new users, enable welcome message in Settings > Messages & Forms > Welcome message. In tickets area, welcome delay is ignored and sent immediately.
- To control registration behavior on single page, use JS variable
var SB_REGISTRATION_REQUIRED = true(set false to remove requirement). - Tickets area is compatible with Google reCAPTCHA v3.
The settings below are related to the WhatsApp app.
Installation
From Settings > Apps, click WhatsApp and enter your license key to install and activate the app. In cloud version click Activate.
WhatsApp Cloud API Setup - Automatic sync mode
Available only on cloud version.
- Click Synchronize now and complete the procedure.
- To add numbers, manage them in Meta WhatsApp Manager and resync in Chat365.
- New numbers sync automatically; disable specific numbers from Cloud API numbers list.
- If SMS/call verification is missing on re-sync, the latest received PIN can still work.
- If inbound messages are not reaching Chat365, reconnect and verify Meta billing/payment method.
WhatsApp Cloud API Setup - Manual sync mode
- Create app in Meta for WhatsApp use case and link business account.
- Set Secret key in Chat365 and configure webhook callback URL + verify token in Meta app.
- Select webhook fields: messages, history, smb_app_state_sync, smb_message_echoes.
- Use API testing with test number and recipient to validate inbound/outbound flow.
- Paste Phone number ID and token in Chat365 Cloud API numbers settings.
- Generate permanent system-user token with required permissions and set Token expiration to Never.
- Add additional phone numbers from app WhatsApp API setup and configure each in Chat365.
- If number is pending, generate access token again from app dashboard.
- If migrating existing WhatsApp Business number, follow Meta migration flow.
- Submit app permissions for Meta review before production usage.
360dialog Account Setup
- Create 360dialog account and generate API key.
- Paste key in Settings > WhatsApp > 360dialog settings.
- Click Synchronize now and test send/receive.
- Sandbox can be used for testing but has limitations (for example media).
Twilio Account Setup
- Create Twilio account, verify number, choose WhatsApp-related onboarding options.
- Paste Account SID and Auth Token in Chat365 Twilio settings.
- Configure Twilio sandbox webhook URLs from Chat365 configuration URL.
- Complete sandbox join flow by sending code to Twilio sandbox number.
- For production: enable billing, purchase Twilio number, create Messaging Service, add WhatsApp sender, and set Service SID as Sender in Chat365.
Unofficial WhatsApp API
Chat365 officially supports WhatsApp Cloud API, 360dialog, and Twilio. Unofficial APIs are possible only through custom API/Webhook development.
Templates
WhatsApp policy allows outbound messaging via templates when users are outside the 24-hour customer care window.
- Add payment method to WhatsApp Business Account for template messaging.
- Use Direct messages to send a specific template to selected users.
- Text message fallback requires SMS setup in Notifications.
WhatsApp message templates
- Template should notify and guide user (not copy raw original message text).
- Set template name/languages and header/body/button variables in Chat365 settings.
- Use merge fields like
{recipient_name},{recipient_email}where supported. - For multi-language templates, Chat365 auto-selects user-matching language when available.
- Set template fallback per number/business account where needed.
- For Twilio templates with parameters, pass comma-separated values in Body.
- For 360dialog use namespace + template name/language + custom parameters.
WhatsApp calls
- Voice/video calling support is enabled by default for integrated numbers (can be toggled in WhatsApp Manager).
- Agents can initiate calls from user profile phone/video icons in admin.
- Create Calling permissions request template and set template ID in Chat365 Calls settings.
- Business Portfolio payment method is required for sending call-permission template.
WhatsApp flows
Chat365 can generate built-in flows and send custom flows.
- Built-in Registration flow triggers on first message when registration is required.
- Built-in Follow-up flow triggers when follow-up is active and user has no email.
- Send custom flows via merge field:
{wa_flow id="123" header="" body="" button=""}.
WhatsApp shop
Display catalog products with merge fields for single or multi-product layouts.
- Single product:
{catalog id="123" product_id="123" body="" footer=""} - Multiple products/sections with product_id and section attributes.
- Orders are sent to URL in Settings > WhatsApp > Order webhook.
- Webhook endpoint should process order and respond/send message via API.
- WooCommerce shop connection is supported.
More information
- You cannot send normal WhatsApp messages to users outside 24-hour window; use template or SMS fallback.
- If inbound messages fail, validate webhook, department assignment, and test number roles.
- If outbound fails, check admin error logs/messages shown at send time.
- Twilio/360dialog setup and Meta approval are outside default support scope.
- WhatsApp conversations are compatible with queue and routing.
- Sandbox links may expire after 72 hours and require re-linking.
- Rich messages are supported; for >3 options use
whatsapp="Your menu text"attribute in shortcode. - Follow-up message is supported and can send even if agent replied.
- Offline message is supported but timetable detail is not sent.
- Chatbot + human takeover are supported, including speech recognition integration.
- Supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
- Twilio/360dialog have platform limits (for example message length constraints). Official Cloud API is recommended.
Messenger
The settings below are related to the Messenger app.
Installation
From Settings > Apps, click Messenger and enter your license key to install and activate the app. If you have cloud version click Active.
Automatic sync mode
- Complete synchronization by selecting at least one Facebook page and save the returned data in Settings > Messenger > Facebook pages.
- New incoming messages from selected Facebook pages and Instagram accounts will appear in Chat365 admin area.
- Only new messages are synchronized; historical messages are not imported.
Manual sync mode
- Create/login Meta developers account and create app with Messenger + Instagram + Page management use cases.
- Set Sync mode to manual in Chat365 Messenger settings.
- Set Callback URL from Chat365 configuration URL and Verify Token from Chat365 Secret key.
- Select required webhook fields for Messenger events.
- Connect pages, add subscriptions, generate page access token, and save token/Page ID/Page name in Chat365.
- Repeat for all pages you want to sync and save changes.
- Add required permissions for Messenger and page engagement scopes.
- For comments syncing add page user content/engagement scopes.
- For Instagram syncing, configure Instagram API setup + webhook fields and set Instagram ID in Chat365 page mapping.
- Add required Instagram permissions and publish app.
- Submit app for Meta review/approval for all added permissions.
- Connect Instagram account from Facebook Page settings.
- Sync Messenger with Chat365 again after linking.
- Only new messages are synchronized; old messages are not imported.
Comments
- Instagram/Facebook comments are delivered into Chat365 as conversations.
- DM for Comments can auto-message first-time commenters. Leave Post ID empty to apply to all posts.
- Chatbot and human takeover are supported in comments.
- Rich messages are partially supported; images/videos/chips/buttons/select may have limitations.
Information
- If Instagram messages do not arrive, verify Connected tools access in Instagram app and ensure account type is Business (not Professional).
- In Meta Business Suite ensure people/account permissions are fully enabled for Instagram.
- If Messenger messages do not arrive, disable conflicting automated Facebook page replies.
- If duplicates/chat loops occur, ensure only one Chat365 installation is synced to the same Instagram account.
- Use Unsubscribe to remove webhook subscriptions from connected pages.
- Each Chat365 user has one Facebook conversation and one Instagram conversation.
- Rich messages are converted to platform format with limits (typically up to three choices).
- Only private Facebook messages go to team inbox (not wall posts).
- Incoming users are identified as leads with limited profile fields from platform.
- Messenger conversations are compatible with queue and routing.
- Chatbot + human takeover are supported.
- Supported AI features include language detection, spelling correction, multilingual translation, and Google search.
- If chatbot is enabled, disable platform-level automatic replies (such as welcome message).
- Follow-up message is supported; it can send even if agent replies.
- Offline message is supported, but timetable details are not sent.
- Only one Facebook account can be synced directly; for multiple accounts, synced account must be admin of all target pages.
- Instagram/Facebook Messenger integration has no additional platform cost from Chat365 side.
- Messages longer than 1000 chars may be truncated by platform limits.
- Only new messages after synchronization are imported.
- Cloud user data deletion: use Messenger Unsubscribe, then delete account from account settings.
- To enable Messenger typing indicator, set up and enable async PHP process.
The settings below are related to the Twitter app.
Installation
- Register at developer.twitter.com and verify phone number on Twitter account settings.
- Create app, copy API Key (Consumer key) and API Key Secret (Consumer secret), then paste in Chat365 > Settings > Twitter.
- Request Elevated access from Twitter developer portal and submit required form.
- After approval, configure Account Activity API sandbox dev environment label (for example
sb) matching Chat365 Twitter settings value. - Enable OAuth 1.0a in app user auth settings with Read + Write + Direct message permissions.
- Set callback URL from Chat365 > Settings > Twitter > Get callback URL and set your website URL.
- Generate Access Token and Secret in Keys and tokens, paste in Chat365 Twitter settings.
- Set your Twitter username in Chat365 Twitter settings (e.g.
@yourname). - Save settings and click Subscribe. New direct messages sent to Twitter account will appear in Chat365.
More information
- If duplicate messages appear, ensure test sender account is different from synced account.
- Use a live public domain; localhost is not supported.
- After receiving a user DM, you can send up to 5 replies within 24 hours. After 24 hours no further messages can be sent.
- Attachments are limited (typically 3-4 depending on media type).
- Unsupported rich messages: image slider, slider, card.
- Chatbot and human takeover are supported.
- Supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
Telegram
The settings below are related to the Telegram app.
Installation
- From Settings > Apps, click Telegram and enter your license key to install and activate the app. In cloud version click Active.
- Open t.me/botfather.
- If you already have a bot, use
/mybotsand open API token. - If you need a new bot, use
/newbot, set bot name/username, and generate token. - Paste token in Chat365 > Settings > Telegram > Token and click Synchronize now.
- Your website must use HTTPS (SSL). HTTP is not supported.
- After setup, new Telegram bot messages appear in Chat365 conversation admin area.
More information
- Chat365 rich messages are converted to Telegram format when possible; unsupported parts are removed.
- Telegram conversations/messages are compatible with queue and routing.
- Chatbot and human takeover are supported.
- Supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
- OpenAI Speech recognition setting is not supported for Telegram audio messages.
- Follow-up message is supported, but can still be sent even if agent replies.
- Offline message is supported, but timetable details are not sent.
- You can verify webhook status from Telegram API
getWebhookInfoendpoint with your bot token.
Notifications
Agents can be notified via Telegram when a new message arrives.
Notifications are sent according to notification rules. Enable Settings > Telegram > Notifications > All messages to always notify for all messages.
Activation
- Go to Settings > Telegram > Notifications and click Activate.
- Set channel name in Settings > Telegram > Notifications > Channel name (must match exactly).
- Create Telegram channel with that exact name.
- Add the Chat365-synced Telegram bot as channel administrator.
Viber
The settings below are related to the Viber app.
Installation
- From Settings > Apps, click Viber and enter your license key to install and activate the app. If you have cloud version click Active.
- Create the bot at partners.viber.com/account/create-bot-account.
- Copy token and paste in Chat365 > Settings > Viber > Token, then click Synchronize now.
- Your website must use HTTPS (SSL). HTTP is not supported.
- All new messages sent to your Viber bot will appear in Chat365 conversation admin area.
More information
- Chat365 rich messages are converted to Viber rich messages when possible; unsupported parts are removed.
- Viber conversations and messages are compatible with queue and routing.
- Chatbot and human takeover are supported.
- Supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
- Follow-up message is supported, but can still send even if agent replies.
- Offline message is supported, but timetable details are not sent.
Slack
The settings below are related to the Slack app.
Installation
- From Settings > Apps, click Slack and enter your license key to install and activate the app. If you have cloud version click Active.
- After installation, go to Settings > Slack, click Synchronize now, and complete the instructions.
Having Problems?
Common synchronization issues and fixes:
- Can receive Slack messages but cannot send to Chat365: open
/chat365/apps/slack/post.phpin browser and ensure Workspace permissions allow anyone to create public channels. If still blocked, contact Slack API support. - Slack sync not working: ensure you selected a public channel during synchronization (for example
#general), then sync again.
Manually archive channels
- Open the Slack channel to archive.
- Open channel options (gear/info/more options based on Slack UI).
- Select Archive this channel.
Department linking
If Settings > Slack > Department linking is active, department-assigned conversations notify the linked Slack channel and invite members to join the dedicated per-user channel.
- Get department IDs from Settings > Miscellaneous > Departments.
- Get Slack channel IDs via Get channel IDs button.
User fields
Settings > Slack > User fields controls which user details appear in the main-channel notification for first user message. Supports custom detail slugs and defaults like email, browser, browser_language, location, and more.
Information
- On first user message, Slack receives user details + join button for dedicated user channel.
- Only the Slack account used for sync auto-joins user channel; other members join manually.
- With agent/department linking active, message visibility follows assignment rules.
- Push notifications are compatible: user push alerts can still be sent when agents reply from Slack.
- If chatbot knows the answer, Slack message may not be sent until human takeover is active.
- Slack app is compatible with email piping and messaging apps.
- Leaving/deleting channels is not supported from integration flow; archive channels instead.
- When conversation is archived in Chat365, linked Slack channel is archived too.
- If email/SMS user notifications are triggered from Slack replies, Slack notifies you accordingly.
- Use Slack command
/archiveto archive conversation from Slack. - If user channel is not visible, open Slack Directories > Channels and join manually.
LINE
The settings below are related to the LINE app.
Installation
- From Settings > Apps, click LINE and enter your license key to install and activate the app. If you have cloud version click Active.
- Login at developers.line.biz/console (or create account).
- Create a Provider and then a Messaging API channel (channel type: Messaging API).
- Copy Channel secret from Basic settings and paste into Chat365 > Settings > Line > Synchronization > Channel secret.
- Generate Channel access token (long-lived) and paste into Chat365 > Settings > Line > Synchronization > Access token.
- Set and verify Webhook URL using value from Chat365 > Settings > Line > Synchronization > Webhook URL.
- Enable Use webhook.
- Scan QR code from LINE mobile app and send a test message.
- Disable Auto-reply messages in LINE settings.
- After setup, messages sent to LINE bot account will appear in Chat365 admin conversations.
More information
- You have 7 days from end-user message time to reply.
- Stickers are not supported.
- Chat365 rich messages are converted to LINE rich messages when possible; unsupported parts are removed.
- LINE conversations/messages are compatible with queue and routing.
- Chatbot and human takeover are supported.
- Supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
- Follow-up message is supported, but can still be sent even if agent replies.
- Offline message is supported, but timetable details are not sent.
The settings below are related to the WeChat app.
Installation
- From Settings > Apps, click WeChat and enter your license key to install and activate the app. If you have cloud version click Active.
- Register a WeChat Service account from official WeChat public platform registration flow.
- Complete WeChat account verification from Official Accounts settings (paid verification and processing time apply).
- From Basic configuration, copy Developer ID (App ID) and Developer Password (App Secret) into Chat365 > Settings > WeChat.
- Complete server configuration in WeChat Official Account settings.
- Set Server Address URL from Chat365 > Settings > WeChat > Synchronization > Get configuration URL.
- Set Token in WeChat and the same token in Chat365 > Settings > WeChat > Token.
- After setup, new WeChat messages appear in Chat365 conversation admin area.
More information
- If you get token errors (for example missing access_token), whitelist your server IP in WeChat Official Account IP whitelist settings.
- WeChat file and location attachments are not supported in Chat365.
- Links are converted to text because direct links are not supported in WeChat channel output format.
- Chat365 rich messages are converted to WeChat rich messages when possible; unsupported components are removed.
- WeChat conversations and messages are compatible with queue and routing.
- Chatbot and human takeover are supported.
- Supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
- Follow-up message is supported, but can still send even if agent replies.
- Offline message is supported, but timetable details are not sent.
Zalo
The settings below are related to the Zalo app.
Installation
- From Settings > Apps, click Zalo and enter your license key to install and activate the app. If you have the cloud version click Active.
- Register at developers.zalo.me and create a new App. Enter the required information and save.
- Copy the Application ID and Application secret key from the app you created and paste them into Settings > Zalo > Synchronization.
- From the left menu click Webhooks and set the URL from Settings > Zalo > Synchronization > Webhook URL.
- From Webhooks copy OA Secret Key and paste it into Settings > Zalo > Synchronization > OA secret key.
- Enable these webhook events: user_send_location, user_send_image, user_send_link, user_send_text, user_send_sticker, user_send_gif, user_received_message, user_seen_message, oa_send_text, oa_send_image, oa_send_list, oa_send_gif, user_send_audio, user_send_video, user_send_file, user_reacted_message, user_received_message.
- From the left menu click Official Account > OA Management and link your Official Account.
- From top menu click Tools > API Explorer (or API Explorer). As Access token type select OA Access Token, click Get Access Token, select your Official Account, copy the Refresh token and paste it into Settings > Zalo > Synchronization > Refresh token.
- From the left menu click Role and add a test user as admin to test the integration.
- From the left menu click Sign up to use API > Official Account API, enable User Management, and click Submit for review.
- After setup, all messages sent to your Zalo Official Account will appear in the Chat365 conversation admin area.
More information
- You need a Zalo Official Account to use this integration.
- The slider rich message only sends the first element to Zalo.
- Chat365 rich messages are automatically converted to Zalo rich messages when possible.
- Zalo conversations and messages are compatible with queue and routing.
- The chatbot is supported. The human takeover feature is supported.
- The supported AI features include language detection, spelling correction, multilingual via translation, and Google search.
- The follow-up message is supported, but the message is always sent, also if an agent replies.
- The offline message is supported, but timetable details are not sent.
Zendesk
The settings below are related to the Zendesk app.
Installation
- From Settings > Apps, click Zendesk and enter your license key to install and activate the app. If you have the cloud version click Active.
- Get the domain from your Zendesk admin URL and copy only the first subdomain part from
https://domain.zendesk.com/. Example: the domain ofhttps://chat365.zendesk.com/...ischat365. - Get the API key from Zendesk: Admin > Channels > API > Settings, then click Add API token.
- Use your Zendesk account email as the email value in Chat365 Zendesk settings.
More information
- Tickets converted by Chat365 are automatically synchronized when new messages are sent and received in Chat365.
- Converted tickets are linked to an existing Zendesk user when available; otherwise a new Zendesk user is created.
- Chat365 links Zendesk users to Chat365 users using email or phone number.
Perfex
The settings below are related to the Perfex app.
Installation
The installation requires two steps:
- From Settings > Apps, click Perfex and enter your license key to install and activate the app. The cloud version is not compatible with the Perfex app.
- Once the app is installed, go to Settings > Perfex and enter the database information and Perfex URL. You can get these values from
application/config/app-config.phpin your Perfex installation. If you do not know the Perfex prefix leave it empty (default prefix istbl). - In Perfex admin, go to Setups > Modules and install the Chat365 module by uploading
module.zip. - After module installation, go to Setups > Chat365 and enter the Chat365 plugin URL from Settings > Miscellaneous > Installation URL. For WordPress, the URL format is like
https://example.com/wp-content/plugins/chat365/chat365. - To show Chat365 inside the Perfex admin area, Chat365 must be installed on the same domain and file system as Perfex.
- If you have issues, or changed Perfex DB details, ensure
chat365/config.phpcontains the correct Perfex DB values. Updating values in Chat365 settings does not automatically updateconfig.php.
WHMCS
The settings below are related to the WHMCS app.
Installation
The process requires two installations: one is the WHMCS add-on, and one is the Chat365 app.
App installation
- From Settings > Apps, click WHMCS and enter your license key to install and activate the app. The cloud version is not compatible with the WHMCS app.
- Once installed, go to Settings > WHMCS and enter the database information and WHMCS URL.
WHMCS add-on installation
- Extract the
chat365folder fromaddon.zipinto/modules/addons/in your WHMCS installation. - In WHMCS admin go to Configuration > System Settings > Addon Modules, find the Chat365 module, and click Activate.
- Click Configure and enter the Chat365 plugin URL.
How to update
You can update the WHMCS app in Chat365 via automatic updates or manual update. To update the WHMCS add-on, download the latest add-on package and replace /modules/addons/chat365/ in your WHMCS installation with the new version.
Important note
If you have issues, or if WHMCS database details changed, make sure chat365/config.php contains the correct WHMCS database details. Updating values in Chat365 settings does not automatically update config.php.
OpenCart
The settings below are related to the OpenCart app.
Installation
- From Settings > Apps, click Martfury and enter your license key to install and activate the app. If you have the cloud version click Active.
- Once the app is installed, go to Settings > OpenCart and enter the OpenCart details.
- To get Username and API key, enter OpenCart admin and go to System > Users > API. Edit the predefined Default user, generate API key, set Status to enable, and add your server IP to permitted API access list.
- Edit
catalog/controller/common/header.phpin your OpenCart installation and add the Chat365 key-value in the$datavariable as required. - Edit
/catalog/view/theme/default/template/common/header.twigand add<script>{{ chat365 }}</script>inside the<head>tag. If your theme is not default, use the corresponding theme path. - Open OpenCart Extensions page and click the top-right Update button.
- Download
sb.phpand upload it intocatalog/controller/api.
More information
- This app supports OpenCart Multistore.
- After OpenCart updates, you must apply the code changes again.
- Currently only OpenCart 3 is supported.
Active eCommerce
The settings below are related to the Active eCommerce app.
Installation
The process requires two installations: one is the Chat365 app, and one is the installation in Active eCommerce.
App installation
- From Settings > Apps, click Active eCommerce and enter your license key to install and activate the app. The cloud version is not compatible with this app.
- Once installed, go to Settings > Active eCommerce and enter database information, Active eCommerce URL, and other settings.
- The Secret key is in the
.envfile at the root of Active eCommerce. Copy theAPP_KEYvalue. - If you have issues, make sure
chat365/config.phpcontains the correct Active eCommerce database details.
Installation in Active eCommerce
- Edit
resources/views/frontend/inc/footer.blade.phpin Active eCommerce. - Insert the integration code just after the opening
<footertag and replace[YOUR-SITE]with your Chat365 installation URL from Settings > Miscellaneous > Installation URL. - Include the two script tags:
jquery.min.jsandmain.jsfrom your installation. - Add the PHP block that sets active user details, default agent for product pages, cart data, and prints the generated Chat365 JS variables.
How to update
You can enable automatic updates or update manually for the Active eCommerce app in Chat365. If Active eCommerce is updated, reinsert the integration code in footer.blade.php.
Sellers chat
- To force sellers to see only conversations from their own product pages, enable Settings > Miscellaneous > Hide conversations of other agents.
- Then click Settings > Active eCommerce > Import vendors to register sellers in Chat365 and allow admin login.
- Admins can always see conversations of all agents (sellers).
Martfury
The settings below are related to the Martfury app.
Installation
- From Settings > Apps, click Martfury and enter your license key to install and activate the app. The cloud version is not compatible with the Martfury app.
- Once installed, go to Settings > Martfury and enter database information, Martfury URL, and Secret key. Get values from the
.envfile in the Martfury root directory. - Set the Martfury path in Settings > Martfury > Martfury path. Upload the path helper file to the Martfury
/public/folder and open it in browser (example:https://shop.com/public/path.php). - To show chat on the website, add the Chat365 PHP installation embed code into Martfury Admin > Appearance > Custom JS > Footer JS. Do not include jQuery.
- If you have issues, make sure
chat365/config.phpcontains the correct Martfury database details.
How to update
Updating the Martfury app in Chat365 can be done by automatic updates or manual updates.
Sellers chat
To force stores to see only conversations from users writing on their product pages:
- Enable: Settings > Martfury > Private chat, Settings > Chat > Disable dashboard, and Settings > Chat > Allow only one conversation.
- From Settings > Martfury > Import vendors, import all vendors.
- In Settings > Martfury > Private chat linking, map each vendor to the correct store. Vendor IDs are available in Users > Agents and Admins.
WordPress
The settings below are related to the WordPress version of Chat365 installed on your WordPress website. If you are using the cloud version with the WordPress plugin, the features below are not available.
User synchronization
WordPress users can be synchronized automatically by selecting WordPress as user system in Settings > WordPress. When active, logged-in WordPress users are recognized by the front-end chat and a Chat365 user is created with matching details (name, surname, email, password). Login form credentials are shared, and login from Chat365 also logs the user into WordPress.
To create a WordPress user when a visitor registers in Chat365, enable Settings > WordPress > WordPress registration and include required email and password fields in registration form.
More information
Direct access and PWA
You can access admin area directly at /wp-content/plugins/chat365/chat365/admin.php and log in with WordPress user or agent credentials. This path may differ if your wp-content path is customized. Direct access also enables Progressive Web App usage.
Login and logout
To switch accounts in Chat365 admin area, log out from WordPress via Chat365 admin and log in again with another WordPress account. To access admin from inside WordPress, user role must be administrator, author, or editor.
Get a page or Post Type ID
Edit the page or post in WordPress admin and read the ID from URL parameter post=ID. Example: .../post.php?post=11&action=edit means ID is 11.
Get a Post Type slug
For blog posts, slug is post. For pages, slug is page. For custom post types, open that section in WordPress admin and read post_type=slug from URL.
Disable WordPress Emoji
To prevent WordPress emoji replacement in chat, add this code in your theme functions.php:
function disable_emojis() {
remove_action("wp_head", "print_emoji_detection_script", 7);
remove_action("admin_print_scripts", "print_emoji_detection_script");
remove_action("wp_print_styles", "print_emoji_styles");
remove_action("admin_print_styles", "print_emoji_styles");
}
add_action("init", "disable_emojis");
WordPress Multisite
If you use WordPress multisite, install Chat365 on the main website.
WordPress Multilingual
If you want chat language to follow page language automatically, disable Settings > Chat > Language.
WooCommerce
The settings below are related to the WooCommerce app for the WordPress version of Chat365.
Installation
- From Settings > Apps, click WooCommerce and enter your license key to install and activate the app.
- The cloud and PHP versions are not compatible with the WooCommerce app.
Chatbot
Getting started
Enable the chatbot and it will start answering questions related to your shop automatically.
Built-in chatbot questions
- Do you sell any shoes for less than $299?
- Show me your bags.
- Do you have anything for women in promotion?
- What are the best shoes of 2020?
- Add or remove products from cart (example: Abstract Print).
- What is my order status?
- What is a product price?
- Display products in my cart.
- Where do you ship?
Multilingual
- Compatible with WPML and Polylang plugins.
- Enable from Settings > WordPress > Multilingual plugin.
- For product attributes translation use WooCommerce Multilingual (WPML) or Polylang for WooCommerce.
More information
- Chatbot can display up to 15 products in slider rich message.
- Store sync updates automatically (default every 60 minutes), but updates can take longer.
- Sync handles product/category/tag add, update, delete, restore events.
- Products must have Regular price set.
- Avoid double-quote character in product names.
- Some multilingual features are not compatible with sub-domain/external language URLs.
- For UTF-8 languages, use DB collation
utf8mb4_unicode_ciorutf8mb4_unicode_520_ciand charsetutf8mb4, and setDB_CHARSETinwp-config.php.
Merge fields and shortcodes
Use these in emails and messages:
{product_images id="123"},{product_name id="123"},{product_image id="123"},{product_price id="123"}{product_description id="123"},{product_rating id="123"},{product_link id="123"}{shipping_locations},{shop_link},{cart_link},{cart}{order_status},{order_details},{payment_methods}{product_card id="123" link-type="purchase" link-text="Purchase"}{products_slider ... }with filters (IDs, tag, category, discounted, rating, min/max price, attributes, language){coupon discount="10" expiration="2 days"},{html_product_card},{html_products_list}
Rich messages
[woocommerce_button name="" ids="" coupon="" checkout="true"]to add one or more products to cart and optionally redirect to checkout.
Operational notes
- Disable store integration from Settings > WooCommerce > Disable store integration if needed; then train chatbot via website training.
- Waiting list messages are sent for out-of-stock product visits/purchase attempts (max once every 24h per product).
- Removed item from cart and returning visitor notifications are supported with rules and coupon handling.
- Automatic messages go to active conversation, or create a new one if none exists.
- Coupons are one-time use, have defaults, and expired coupons are removed by cron.
- Product selector in admin searches by product name/description/price and is multilingual.
- Enable Settings > Users > Register all visitors to view guest orders with no prior chat.
WhatsApp shop
- To enable WooCommerce purchase flow in WhatsApp, WhatsApp catalog product IDs must match WooCommerce product IDs.
- Use
{catalog_checkout}to send checkout link after order. - Use Facebook for WooCommerce plugin to sync WooCommerce products with WhatsApp shop products.
Ultimate Membership Pro
The settings below are related to the Ultimate Membership Pro app.
App installation
- From Settings > Apps, click Ultimate Membership Pro and enter your license key to install and activate the app.
- The cloud and PHP versions are not compatible with this app.
- Once installed, go to Settings > Active eCommerce and enter the database information, Active eCommerce URL, and other settings.
- The Secret key is in the
.envfile at the Active eCommerce root. CopyAPP_KEY. - If you have issues, ensure
chat365/config.phpcontains correct Active eCommerce database details.
Users synchronization
New users are synchronized automatically. To manually synchronize existing users, go to Settings > WordPress > Synchronize users and click Import users.
More information
To limit access to a specific plan, use this shortcode and replace level and URL values:
[ihc-hide-content ihc_mb_type="show" ihc_mb_who="4" ihc_mb_template="2"]
<script id="sbinit" src="YOUR-URL/chat365/chat365/js/main.js"></script>
[/ihc-hide-content]
Replace 4 with the target user level and YOUR-URL with your WordPress plugins folder URL. Also enable Settings > WordPress > Manual init.
ARMember
The settings below are related to the ARMember app.
App installation
- From Settings > Apps, click ARMember and enter your license key to install and activate the app. The cloud and PHP versions are not compatible with the ARMember app.
- Once installed, go to Settings > Active eCommerce and enter the database information, Active eCommerce URL, and other settings.
- The Secret key is in the
.envfile at the Active eCommerce root. Copy theAPP_KEYvalue. - If you have issues, make sure
chat365/config.phpcontains the correct Active eCommerce database details.
Users synchronization
New users are synchronized automatically. To manually synchronize existing users, go to Settings > WordPress > Synchronize users and click Import users.
More information
A user is a paid member only if it has at least one active paid plan which is not expired.
Miscellaneous
This section contains help for other features not listed above.
Progressive Web App
The admin area is a PWA and can be installed on desktop, Mac, iPhone, and Android devices. This is optimized for Chrome and Safari and supported in all versions.
Desktop installation
Open your admin URL (for example .../admin.php or cloud URL) and click the + install icon in Chrome address bar.
Mobile installation - Android
Open admin URL in Chrome, open browser settings, tap Add to Home screen, and confirm.
Mobile installation - iPhone or Mac
Open admin URL in Safari, use Share then Add to Home Screen, and tap Add.
WordPress installation
Use direct admin URL: [YOUR-DOMAIN]/admin.php.
Change PWA icon and name
Edit manifest.json with your app name/description/icon (512x512), then place it in the installation folder where admin.php is located.
Keyboard shortcuts
ENTERorSPACE: confirm/close alert.ESCorCANCEL: decline/close alert.SHIFT+ENTERorCTRL+ENTER: line break in admin editor.ESC: close lightbox.CANCEL: archive/delete conversation in admin conversations area.CTRL + UP/DOWN: navigate conversation list.CTRL + LEFT/RIGHT: navigate users list.CTRL + V: paste and send image from clipboard.CTRL + click: multi-select conversations for bulk actions.
Config file
The config.php file contains DB login and special options.
define('SB_UPLOAD_URL', 'YOUR-URL')anddefine('SB_UPLOAD_PATH', 'YOUR-PATH')to customize uploads URL/path.$GLOBALS['SB_LOCAL_SETTINGS'] = []to override default settings via key/value map.
Cron jobs
- Cron jobs run based on site traffic (every ~60 minutes, email piping ~60 seconds).
- You can trigger via API, PHP API, or server cron command against
[YOUR-DOMAIN]/include/api.php?cron=true. - Cloud variant uses cloud API token URL format.
Logs
Enable from Settings > Miscellaneous > Logs (not available in cloud). Logs include sent/deleted messages, archived/deleted/restored conversations, assignments, and user updates/deletions.
URL parameters
Front-end chat
?token=TOKEN: auto-login user.?conversation=ID: open conversation.?chat=open: open chat panel.
Admin area
?conversation=ID,?user=ID,?setting=ID,?report=ID.?area=conversations|users|settings|reports.?login_email=email&login_password=password: automatic login.
Calendly
- Create Calendly event type and copy the share URL.
- Use rich message button with Calendly URL and optional
successmessage attribute.
Zapier
Cloud users can use the Zapier app directly. Manual webhook integration is available for all versions.
- Create Zapier integration and trigger using REST Hook.
- Set webhook URL in Settings > Miscellaneous > Webhooks.
- Add filters because all webhooks are sent to all zaps.
- For multiple zaps, append multiple zap IDs in the webhook URL.
Envato purchase code validation
Generate token from Envato API with required scopes and add product IDs separated by commas.
Security
- IP ban after too many failed logins.
- XSS sanitization and CSRF protections.
- Active session termination after sensitive admin/agent updates.
- AES-256 encryption for sensitive session data.
- Password-by-filename upload protection.
- MySQL encrypted connection constants available in
config.php.
Performance
- Enable minified JS/CSS.
- Disable reports/articles if not needed.
- Archive old messages for large-volume deployments.
Async PHP process
- Requires server support for
exec(). - Set
define('IEE_PHP_PATH', 'YOUR-PHP-PATH');inconfig.php. - On Windows add
define('IEE_WINDOWS', true);.
Email piping
Email piping lets you sync multiple email addresses to receive messages directly in Chat365. It also allows admins, agents, and users to reply to chat messages via email.
Activation
- Go to Settings > Notifications > Email piping and enter POP3/IMAP server information.
- Go to Settings > Notifications > SMTP and enter SMTP server information.
- The SMTP sender email should be the same mailbox used by email piping connection.
- Chat365 sends outgoing notifications from this address, and replies should return to this address to keep thread linkage.
Information
- Sender email match: SMTP sender email should match the piping mailbox. If it does not, Chat365 adds a reply-to header to keep replies linked correctly.
- Auto notification toggles: User and Agent email notifications are enabled automatically when email piping is active.
- When agents reply inside Chat365, notification emails are always sent to the user.
- If AI app human takeover is active and chatbot can answer, no email is sent.
- If Convert all emails is active, all inbox emails may convert to chat messages (including spam/promotions), so use carefully.
- Emails from agent/admin addresses are ignored for conversion. Use different address for testing.
- Each email sent directly to piping inbox can create a new user conversation.
- Do not use the same address as piping inbox to send replies from agent/admin side.
- Agents must reply via email from the same email address registered in Chat365.
- Emails to agents are sent only if agents are offline.
- For Gmail/Google Workspace, use app password instead of account password; IMAP host
imap.gmail.com, port993. - If using Google Workspace custom domain, verify API/third-party access is not blocked in Admin Console security controls.
- Email piping requires IMAP extension/module on server.
- Delimiter option: adds line like
### Please type your reply above this line ###to trim quoted history and avoid duplicate text. - Email attachments are supported.
- Email replies must contain Chat365 recipient name to keep mapping (major clients support this by default).
- Due to client-specific email formatting, some converted messages can include extra text; Outlook Web, Outlook, Gmail, and Yahoo are optimized.
- Email piping supports departments; notifications go only to agents assigned to the conversation department.
- If email includes
reply-to, it becomes the primary user email for notifications. - Filters option: add comma-separated keywords to exclude emails from conversion when body/subject/sender matches.
Cron job
- Chat365 tries to process email piping jobs every 60 seconds.
- Cloud variant usually has cron activated by default with periodic execution.
- You can manually trigger via API (PHP function
sb_email_piping()or web API functionemail-piping). - You can set a cron URL call:
[CHAT365-URL]/include/api.php?piping=true. - Example command:
*/59 * * * * wget [CHAT365-URL]/include/api.php?piping=true. - For cloud endpoint use tokenized URL variant and replace API token accordingly.
- You can also use a cron PHP file and run it with
php -f YOUR-FILE-PATH/cron.php. - If manually running cron externally, enable Disable cron job option in app for better performance.
Pusher
Enable Pusher from Settings > Miscellaneous > Pusher to use WebSockets instead of repeated HTTP AJAX checks. This improves delivery speed, typing/online accuracy, and overall responsiveness.
Activation
- Create account at Pusher dashboard and choose Channels product.
- Create app, choose nearest cluster.
- In app settings, enable client events.
- Copy App ID, Key, Secret, Cluster from Keys screen.
- Go to Settings > Miscellaneous > Pusher in Chat365 and paste values.
Information
- Pusher free tier typically supports limited message and concurrent connection quotas.
- When active, message polling AJAX calls are replaced by WebSockets.
- When active, user/agent last activity updates mainly on page load or new message action.
- When active, visitor registration behavior can auto-adjust as required by real-time mode.
- If server has high CPU/RAM load or polling-related slowness, enabling Pusher is recommended.
Integrations Library
Use Integrations to browse available apps and categories.
- Search by app name or category.
- Validate credentials in staging before production.
- Document each connected integration owner and purpose.
Webhooks & API
- Use signed webhook endpoints and verify payload source.
- Handle retries and idempotency to prevent duplicate actions.
- Log request/response with correlation IDs for debugging.
Automation Flows
- Automate lead scoring, tagging, routing, and CRM updates.
- Use queue workers for high-volume webhook processing.
- Add alerts for failed automations and stuck events.
CRM / Third-Party Sync
- Sync contact records with source channel and lead stage.
- Keep field mapping consistent across integrations.
- Use webhook-based updates for near real-time data consistency.
Launch Checklist
- Widget and all connected channels pass end-to-end test.
- User login, role permissions, and notifications verified.
- AI responses reviewed with approved training content.
- Handoff to human verified in real scenarios.
- Backup created before go-live.
Common Issues
No agent notifications
Check permissions, SMTP setup, and push subscription state.
Channel shows disconnected
Validate endpoint URL, token, webhook path, and worker health.
AI gives generic answers
Expand training data quality and tighten assistant instructions.
Search/filter in integrations fails
Hard refresh cache and verify latest script on integrations page.
Operational Guidelines
- Use staging for major configuration changes.
- Maintain backup snapshots before releases.
- Keep a weekly review of unresolved conversations and AI errors.
- Track uptime, response time, and lead conversion metrics.
Contact for Enquiries
For general Chat365 enquiries, contact our team and we will get back to you quickly.
- Email: digital@gyanwave.com
- WhatsApp / Phone: +971 52 696 0842
- Please include your name, company, and enquiry type for faster follow-up.