Search Results for 'wordpress'

Found 143 results

📚 Features explained

Preventing Agent Collision

This guide provides a detailed overview of how to prevent agent collision in Chatwoot. What is agent collision? Agent collision happens when more than one customer service agent tries to reply to the same ticket (conversation in Chatwoot) at the same time. This can confuse the customer because they might get multiple, sometimes conflicting, responses. It also wastes time and effort for the company, as two or more agents are working on the same task instead of helping other customers. To prevent this, companies need systems that show when a ticket is already being handled or assign tickets to specific agents. This ensures smoother communication with customers and better use of agents’ time. How do Chatwoot prevent Agent collision? At Chatwoot, we address agent collision with two straightforward solutions. Assignee for a conversation: Chatwoot makes it easy to assign conversations to yourself. This way, everyone knows who is handling the conversation, avoiding confusion and making sure only one agent is working on it at a time. Typing Indicators: Agents can see when someone else is typing in the same conversation. This helps them know when another agent is already responding, so they don’t waste time or send duplicate replies.

⚙️ How To

How to Embed Your Help Center Articles in the Live Chat Widget

Want to integrate your help center articles directly into your live chat widget? This powerful feature lets customers access support content without leaving the chat interface, creating a seamless support experience. Chatwoot offers a built-in feature that makes this integration simple. Follow this step-by-step guide to embed your help center in your Chatwoot live chat widget. Prerequisites Before you begin, ensure you have: - An active Chatwoot account with admin access - A configured live chat inbox Step 1: Set Up Your Help Center First, you'll need to create and configure your help center in Chatwoot. 1. Follow the detailed help center setup guide to create your help center 2. Add your first help center article to test the integration 3. Once your help center is ready with at least one article, proceed to Step 2 Step 2: Access Inbox Settings Navigate to your inbox configuration: 1. Go to the Settings section in your Chatwoot dashboard 2. Click on Inbox Settings from the vertical navigation bar Step 3: Open Live Chat Settings Locate and access your live chat inbox settings: 1. Find your Live Chat inbox in the list 2. Click the settings icon (⚙️) next to your Live Chat inbox name Step 4: Configure Help Center Integration Connect your help center to the widget: 1. Scroll down to locate the "Help Center" section 2. Click on the dropdown menu 3. Select the help center you want to embed in the widget 4. Ensure the correct help center is selected Step 5: Save Your Changes Finalize the configuration: 1. Click the "Update" button to save your settings 2. Wait for the confirmation message Verify Your Setup After completing all steps: 1. Navigate to your live chat widget (either on your website or in preview mode) 2. Look for the help center integration within the widget interface 3. Test by accessing and reading articles directly from the chat widget Congratulations! Your customers can now access help center articles without leaving the chat experience, improving support efficiency and user satisfaction.

🔎 Advanced features explained

Setting up SAML Authentication

This is a guide on setting up SAML auth for your account, the guide assumes you have a work IdP in place. Before you get started, there are some points to take note of - Once SAML is enabled, your users won't be able to access Chatwoot with their password. Disabling SAML will revert this behaviour. - If a user is part of multiple accounts, and any one account has SAML setup, they will have to login via SAML IdP only. It's best to restrict users to your domain alone. Setting up SAML You can find the SAML settings under Settings > Security. Here are the settings you need to be aware about. - SSO URL: The specific HTTPS address on the Identity Provider where a SAML login begins; your app redirects users here to authenticate. Think of it as the IdP’s “login endpoint” that accepts SAML AuthnRequests and starts the SSO flow. - Identity Provider Entity ID: A globally unique identifier (usually a URI-looking string) that names the Identity Provider in SAML metadata. Your Service Provider uses it to pick the right IdP config and to validate that inbound SAML messages really claim to be from that IdP. - Signing Certificate: The IdP’s X.509 public certificate used to sign SAML responses/assertions. Your Service Provider stores this cert and verifies signatures with it, ensuring the message wasn’t altered and truly came from the IdP. Once setup, you will find the details required to register Chatwoot as a Service Provider (SP) on your SAML provider. Here are the details you will get - ACS URL: The Assertion Consumer Service endpoint on the Service Provider that receives the SAML Response from the IdP. After the user authenticates, the IdP posts the signed assertion to this HTTPS URL, where your app validates it and creates a session. - SP Entity ID: The unique identifier (often a URI) for the Service Provider in SAML metadata. The IdP uses this value to ensure it’s issuing a response for the correct application and to select the right ACS URL and settings. In case, you need this information before-hand, here's the format for it - ACS URL: <your-chatwoot-installation>/omniauth/saml/callback?account_id=<your-account-id> - SP Entity ID: <your-chatwoot-installation>/saml/sp/<your-account-id> Mapping Data The following attribute mappings must be configured in your identity provider - email - first_name - last_name Once the user logs in for the first time, this information is used to create a user for them. It does not update the information Authenticating You can navigate to this link https://app.chatwoot.com/app/login/sso to view the SAML login form. Just enter the email address and the app will redirect you to the configured SAML provider.

đź’¬ Website live chat

How to continue conversations through email?

Your customers can continue their chat conversations with your agents through email threads. This may be required under the following circumstances. - No agents are available, and the customer leaves a message in the chat. - The customer leaves the chat before the agent replies. For this to work, the contact should have an email address in the Chatwoot CRM. Obtaining email addresses of contacts​ You can prompt/update customer emails into Chatwoot through the following ways. 1. From Chatwoot SDK​ If customer email is known, you can supply it into chatwoot via the setUser method in our SDK. 2. From pre-chat form​ If you enable a mandatory pre-chat form, the conversation starts with a screen as shown below: 3. From Email collect Prompt​ When the pre-chat form is disabled, and the customer's email is unknown, Chatwoot starts a conversation with an email collect prompt. Note: When Captain is enabled on an inbox, the email collect prompt is automatically suppressed. Captain will handle conversations directly, even outside business hours. The email collect prompt will only be sent if Captain hands off the conversation to a human agent or if Captain is not configured for the inbox. Conversation Continuity​ Note: Enable conversation continuity in self-hosted installations with the help of this guide. If the customer's email address is updated through any of the options mentioned above and they leave the chat while the agent has replied, the following happens. - The customer receives an email thread with a conversation summary. They can reply to that email and continue the conversation. - The agent receives the customer replies from email in their Chatwoot dashboard, continued over the existing conversation thread. The email icon in the chat bubble indicates that the customer has replied through email.

📚 Features explained

Manage team access control with flexible role-based permissions

Custom roles are reusable permission sets you can assign to teammates in your Chatwoot workspace. This makes it easy to update permissions for multiple team members at once. Create a new custom role To create a new role, go to Settings > Custom Roles, and click Add custom role. Enter a name, description and required permissions for your role: Write a clear description that tells teammates exactly what permissions and abilities this role grants them in Chatwoot. Then save your new role. Assign roles to your teammates To assign a role to a teammate, go to Settings > Agents and click Edit button next to the teammate whose role you want to change. To assign a role to your teammate, click the drop down under Roles and select the desired role. Note: Your teammate must be linked to an inbox before making these changes. Then save your changes. Edit or Delete Custom Roles To edit a role, go to Settings > Custom Roles, and click Edit button next to the role you want to edit. Edit the role's name, description, and permissions. To delete a role, go to Settings > Custom Roles, and click Delete button next to the role you want to delete. Confirm to delete the role. Permission Levels Overview Here are the available permission levels and their corresponding access scopes: Permission Level Breakdown: - Manage All Conversations: Full access to all conversations in assigned inboxes - Manage Unassigned & Own Conversations: Access to personal assignments and unassigned conversations only - Manage Participating Conversations: Access limited to personally assigned and participated conversations - Manage Contacts: Full access to contact management features - Manage Reports: Access to view reports - Manage Knowledge Base: Full access to create, edit, and manage knowledge base content These permission levels can be combined to create custom roles that match your team's specific needs.

🔥 Captain

Troubleshoot Captain

Discover Use this page when Captain is silent, gives wrong answers, or is not learning. Most problems come from a setting, not a fault. Plan & access: Captain needs Startups, Business or Enterprise Pricing & Plans . Most fixes need an administrator. Set up & try: the quick check When the assistant is silent, check these in order: 1. Plan: is Captain in the sidebar? If you see Upgrade to use Captain AI, the account is on Hacker (free). Captain is not available during the free trial. 2. Credits: Settings > Billing > Captain. With no credits left, Captain does not run. 3. Inbox: is the inbox listed in the assistant's Inboxes? 4. Audience: is it set to Specific audience, and does the customer match? 5. Schedule: is it During business hours or Outside business hours, and does the time match? 6. Timing: rules are checked when a conversation starts or reopens. An ongoing conversation keeps its first decision. 7. Status: Captain replies only while a conversation is Pending. If it is Open, Captain stays silent. That happens when an agent replied, the assistant handed off, or an automation rule assigned the conversation to someone. Captain does not come back to an open conversation unless it is assigned to the assistant again. Test it Start a brand new conversation, as a customer who matches the audience, inside the schedule, in a connected inbox. Get value: silent versus failed - Silent: no reply at all usually means one of the checks above stopped Captain before it started. - Silent at certain times of day: the schedule follows the inbox's business hours and their time zone. Check the time zone in the inbox settings. - Handed off: when Captain cannot answer, it sends your Handoff message and passes the conversation to your team. - Out of credits: a new conversation goes straight to your team with no reply. In a conversation Captain is already handling, it sends "Transferring to another agent for further assistance." and passes it on. Troubleshoot Replies Symptom Likely cause What to do Assistant never replies One of the quick checks Work through the quick check above Replies to people you excluded Their details changed after the conversation started Expected; applies from the next conversation. See Control who Captain replies to and when Replies outside the schedule Business hours are off for the inbox Turn on business hours in the inbox settings Wrong or made-up answers Missing or outdated knowledge Add or refresh documents; approve FAQ suggestions. Use Report Captain message on the reply to tell Chatwoot what went wrong Assistant is in a conversation the audience or schedule should have skipped An agent assigned it to the assistant from the assignee dropdown Expected. Assign it to a person to take it back Answers off-topic questions No guardrails Add guardrails. See Set Captain's guardrails, guidelines and scenarios Hands off too often Knowledge gaps, or a failing custom tool Review FAQ suggestions; check Tools Conversations resolve too early Always resolve is set with a short wait Choose Let Captain review it (recommended) or a longer wait Knowledge Symptom Likely cause What to do Document shows Failed to sync The page needs a login, or your site blocked the request (error 401 or 403). The page may also be missing or slow. See Add documents to Captain's knowledge Added a website but no pages appear, or answers are generic Your robots.txt may block the crawler. Allow the crawler in your robots.txt, then add the document again. See Add documents to Captain's knowledge No FAQ suggestions Generate FAQs from resolved conversations is off. Or no agent replied in the resolved conversations. Suggestions need at least one agent reply. Turn it on. See Add FAQs and review FAQ suggestions in Captain Document limit reached The account has 2,000 documents across all its assistants Delete unused documents; see Pricing & Plans Tools, Copilot and credits Symptom Likely cause What to do Custom tool never used Vague description, or too many tools See Set up custom tools for Captain Copilot error message Temporary error, or out of credits Retry; check credits Credits used fast Busy inboxes, or AI features used heavily See Captain AI credits and usage When to contact support Contact support if the quick check passes and Captain is still silent in a new conversation. Send: - Your account ID (Settings > Account settings). - The assistant's name and the inbox. - A link to one affected conversation, and the time it happened. - Whether the assistant replied in the Playground.

🔎 Advanced features explained

How to use Automation?

Chatwoot's automation feature streamlines team workflow by automating repetitive tasks and saving time. It allows for various actions such as assigning labels, and teams and routing conversations to the most suitable agent, enabling the team to focus on their core responsibilities and spend less time on manual tasks. How does Automation work? An automation rule is made up of three things––An Event, Conditions, and Actions. The Event is the trigger for automation to perform itself. The conditions are criteria that must be met before the actions are executed. The Actions are tasks that will be executed when the conditions are met. Automation Events Automation Events are triggers that initiate the execution of automation. Chatwoot currently offers three types of events. 1. Conversation created: A trigger/event initiated when a new conversation is created. This includes conversations created in all channels. 2. Conversation updated: A trigger/event initiated when a conversation is updated. 3. Message created: A trigger/event initiated when a new message in a conversation is created. 4. Conversation opened: A trigger/event initiated when a previously snoozed, resolved, or pending conversation is opened again. Automation Conditions Conditions are the criteria that must be met before the actions are performed. They are evaluated in the order they are defined. Conditions depend on the type of event you select. Here is a comprehensive list: Automation Actions Actions are tasks/processes that are executed whenever respective conditions are met. Chatwoot currently supports the following actions: - Assign to agent - Assign a team - Add a label - Send an email to team - Send an email transcript - Mute conversation - Snooze conversation - Resolve conversation - Send Webhook Event - Cancel - Send Attachment - Send a message These actions are available irrespective of the Events or Conditions you choose. How to create an Automation rule? Step 1. Go to Settings → Automation. Click on the “Add Automation Rule” button. Step 2. An automation rule creation modal will open up. Start filling the fields as listed below. 1. Give your automation a name to easily refer to it later. 2. Add a description (optional). 3. Select an event from the dropdown menu. 4. Add conditions. Use equal to or not equal to operators to define the conditions. 5. Add actions. You can add multiple conditions and actions as well. Use AND, OR operators to do this. Example You want to assign all new conversations to the France sales team whenever the Browser language is French. Here’s how you can create an automation rule for this – 1. Add a name and a description. 2. Select event as Conversation Created. 3. Add two conditions and join them with the AND operator. Condition 1: Conversation Status is Open, and Condition 2: Browser Language is Francais (fr) from the dropdown. 4. Add an action - Assign a team and select the team France sales from the dropdown. (You need to create your team first). How to pause, edit, clone, and delete automation rules? Your list of Automation rules appears under “Automations”. You can view this page by going to Settings → Automation. You will find a set of quick actions here: To pause an automation rule: Toggle the switch off under the “Active” column. To edit a rule: Click on the pencil icon. To clone a rule: Click on the copy icon. To delete a rule: Click on the red cross icon.

🪵 Other channels

How to create an API channel inbox?

To create and configure an API channel inbox in Chatwoot installations, follow the step described below. Setup the API channel Step 1. Go to Settings → Inboxes → “Add Inbox”. Step 2. Click on the "API" icon. Step 3. Provide a name for the channel and a callback URL. Here is an example: Step 4. "Add agents" to your API inbox. The inbox setup is complete. Send messages to the API channel To send messages to the API channel, ensure you understand the following models and nomenclature used in Chatwoot. 1. Channel: Channel defines the type of source of conversations. E.g., Facebook, Twitter, API, etc. 2. Inbox: You can create multiple sources of conversations of the same channel type. E.g., You can have more than one Facebook page connected to a Chatwoot account. Each page is called the inbox in Chatwoot. 3. Conversation: A Conversation is a collection of messages. 4. Contact: Each conversation has a real-life person associated with it, called a contact. 5. Contact Inboxes: This is the session for each contact in an inbox. A contact can have multiple sessions and multiple conversations in the same inbox. How to send a message in an API Channel? To send a message in an API channel, create a contact, initiate a conversation, and finally send the message. APIs require api_access_token in the request header. You can get this token by visiting your Profile settings → Access Token. 1. Create a contact Ref: API documentation Pass the inbox ID of the API channel along with other params specified. This would create a session for you automatically. A sample response would look like the one below. { "email": "string", "name": "string", "phone_number": "string", "thumbnail": "string", "additional_attributes": {}, "contact_inboxes": [ { "source_id": "string", "inbox": { "id": 0, "name": "string", "website_url": "string", "channel_type": "string", "avatar_url": "string", "widget_color": "string", "website_token": "string", "enable_auto_assignment": true, "web_widget_script": "string", "welcome_title": "string", "welcome_tagline": "string", "greeting_enabled": true, "greeting_message": "string" } } ], "id": 0, "availability_status": "string" } As you can see in the payload, you will be able to see the contact_inboxes and each contact_inbox will have a source_id. Source ID can be seen as the session identifier. You will use this source_id to create a new conversation as defined below. 2. Create a conversation Ref: API documentation Use the source_id received in the previous API call. You will receive a conversation ID which can be used to create a message. { "id": 0 } 3. Create a new message Ref: API documentation There are 2 types of messages. 1. Incoming: Messages sent by the end user is classified as an incoming message. 2. Outgoing: Messages sent by the agent is classified as an outgoing message. If you call the API with the correct content, you will receive a payload similar to this one: { "id": 0, "content": "This is a incoming message from API Channel", "inbox_id": 0, "conversation_id": 0, "message_type": 0, "content_type": null, "content_attributes": {}, "created_at": 0, "private": false, "sender": { "id": 0, "name": "Pranav", "type": "contact" } } If everything is successful, you will see the conversation on the dashboard as follows. You will be notified when a new message is created on the URL specified while creating the API channel. You can read about the message payload here. Receive messages using callback URL When a new message is created in the API channel, you will get a POST request to the Callback URL specified while creating the API channel. The payload would look like this. Find the full list of events supported by the webhook here. Event type: message_created { "id": 0, "content": "This is a incoming message from API Channel", "created_at": "2020-08-30T15:43:04.000Z", "message_type": "incoming", "content_type": null, "content_attributes": {}, "source_id": null, "sender": { "id": 0, "name": "contact-name", "avatar": "", "type": "contact" }, "inbox": { "id": 0, "name": "API Channel" }, "conversation": { "additional_attributes": null, "channel": "Channel::Api", "id": 0, "inbox_id": 0, "status": "open", "agent_last_seen_at": 0, "contact_last_seen_at": 0, "timestamp": 0 }, "account": { "id": 1, "name": "API testing" }, "event": "message_created" } Create Interfaces using client APIs Client APIs available for the API channel will help you build customer-facing interfaces for Chatwoot. These APIs are useful for cases like the ones listed below. 1. Use a custom chat interface instead of the Chatwoot chat widget. 2. Build conversational interfaces into your mobile apps. 3. Add Chatwoot to other platforms for which Chatwoot doesn't have an official SDK. Creating customer objects You can create and retrieve customer data objects using the inbox_identifier and customer_identifier. Inbox Identifier You can obtain the inbox_identifier from your API channel -> Settings -> Configuration. Customer Identifier The customer_identifier or the source_id can be obtained when creating the customer using the create API. You will need to store this identifier on your client-side to make further requests on behalf of the customer. This can be done in cookies, local storage etc. Available APIs The Available Client APIs are documented here. Some of the things you can do with the APIs are: - Create, View and Update Contact - Create and List Conversations - Create, List and Update Messages HMAC Authentication The Client APIs also support HMAC Authentication. The HMAC token for the Channel can be obtained via running the following on your rails console. # replace api_inbox_id with your inbox id Inbox.find(api_inbox_id).channel.hmac_token Connecting to the Chatwoot WebSockets To get real-time updates from the agent dashboard, connect to Chatwoot WebSockets using the following URL. <your installation url>/cable Authenticating your WebSocket connection After subscribing using the customer's pubsub_token, you will receive events directed toward your customer object. The pubsub_token is provided during the customer creation API call. Example const connection = new WebSocket('ws://localhost:3000/cable'); connection.send(JSON.stringify({ command:"subscribe", identifier: "{\\"channel\\":\\"RoomChannel\\",\\"pubsub_token\\":\\""+ customer_pubsub_token+"\\"}" })); Find the full list of events supported by WebSockets here. Webhook Verification Once you create an API channel, we automatically generate a secret that you can use to verify the payload your application receives. You can read more about webhook verification here. Implementation Here is an example chat interface build over the Client APIs.

📌 Other topics

Enterprise Edition

Starting from version 2.0, Chatwoot ships two versions of its software. The community edition is MIT licensed, and an enterprise edition is available under a proprietary license. Both software versions are built from a single GitHub repository. While the community edition will always remain free and open-source, the enterprise edition is the effort to sustain both the offerings and Chatwoot as a commercial business. This model has been derived from other commercial open-source companies like Gitlab, Mattermost, Metabase, etc. Differences between Community and Enterprise editions​ The community edition of Chatwoot has all the relevant customer communication features that a growing business requires. At the same time, the enterprise edition contains proprietary features such as customizable dashboards, SLA Management, agent scheduling software, IP blocklisting, etc., suited for larger organizations. While the source code for both editions is open to the public in our Github repo, all the /enterprise folder contents are copyrighted. Choosing the right edition​ We recommend you download and install Chatwoot Enterprise Edition to upgrade to a paid tier in the future without having to reinstall Chatwoot. Enterprise Edition The Enterprise edition offers the following. - All Chatwoot features - Visible and auditable complete source code - All features of the community edition are available without a subscription. - Direct Support options - Option to easily upgrade to paid features Community Edition The Community edition offers the following. - Visible and modifiable complete source code - No access to the paid features - Community Support only - It will require a migration to the Enterprise edition to add paid features in the future.

📚 Features explained

How to enable CSAT surveys?

The CSAT(customer satisfaction) score generally represents how happy customers are with your product/service or a specific experience. It enables your customers to rate their satisfaction with your customer service on a numerical scale. Once you collect a significant number of scores, you can calculate your average score over specific periods of time. As a Chatwoot member, this entire workflow shall be extremely easy for you. You can simply enable CSAT surveys for your inboxes. When an agent resolves the conversation, Chatwoot sends a survey to your customers for rating and feedback. It's calculated by asking a question, such as "Rate your conversation" There's a corresponding survey emoji scale. After submitting the rating, the customer can give more optional feedback. You can later view your comprehensive CSAT report on your dashboard, which keeps updating in real-time. This is how a CSAT survey looks in a website inbox: This is how a CSAT survey looks in other inboxes: How to enable CSAT surveys? CSAT is disabled by default. You can enable CSAT surveys for any inbox to let Chatwoot collect feedback on your behalf. 1. Navigate to Settings → Inboxes. 2. Click on the gear icon next to the inbox you wish to configure. 3. Go to the CSAT tab. 4. Toggle the Enable CSAT option to Enabled. 5. Click the Update button to save your settings. Customization Options Chatwoot now offers enhanced customization for CSAT surveys: Display Type 1. Emoji Scale: Smiley faces. 2. Star Rating: A 5-star scale. Survey Message Customize the message that accompanies the survey. For example: "Please rate your support experience." The message can be up to 200 characters. Survey Rules - Send survey if the conversation contains specific labels ⇾ The survey will be sent if the conversation contains any of the selected labels. - Send survey if the conversation does not contain specific labels ⇾ The survey will be sent only if none of the selected labels are present in the conversation. Also, see: - How to interpret CSAT surveys? - The 10 crucial customer service KPIs, and how to track them?