Knowledge Base
Search for the articles here or browse the categories below.
Browse by topic
Find guides, tutorials, and answers organised by category.
Customer Support Learnings
This is for new and experienced customer support specialist to understand the role of customer support in the society, through short and long article.
Browse
Account Setups
Article guide on how to setup your account and keep it alive
Browse
Integrations
Find help with any sort of integrations you would like to attain with Ruut
Browse
Product Knowledge
This is a section for all related product knowledge, when you need anything product related you can find it here.
Browse
Channels
This is the help center articles that highlights everything around channels and how to set it up
Browse
Sage AI
This is a detailed overview of Sage AI agent that help you handle conversations and respond to customers across all channels
Browse
Popular articles
What other people are reading right now.
Benefits of CRM Automation for Small Businesses
Emeka had always dreamed of running his own business. What started as a side hustleāselling handmade leather bags onlineāquickly turned into a full-time job. Orders increased, customer inquiries piled up, and suddenly, Emeka found himself spending more time answering messages than actually growing his business. He knew he needed help, but hiring more staff wasnāt an option. Thatās when he discovered Ruut āa game-changer for small businesses like his. 1. Time Saved, Efficiency Boosted Before Ruut, Emeka was spending hours every day replying to the same customer questions: šļø "Do you have this bag in black?" š¦ "Whereās my order?" š³ "I need a refund!" With Ruut Smart Macros, he automated responses to these common inquiries. Now, customers got instant replies without him lifting a finger. What used to take hours now took seconds, freeing him up to focus on growing his brand. 2. Faster Customer Support = More Sales In the past, slow response times meant lost customers. If Emeka didnāt reply fast enough, shoppers moved on to competitors. But with RUUTās AI-Powered Ticketing, messages were automatically categorized and prioritized. Urgent issuesālike payment failures or delivery complaintsāgot flagged immediately, ensuring no customer was left waiting. The result? Response times dropped by 70%, and customer satisfaction skyrocketed. Faster replies meant happier customersāand happier customers meant more repeat sales. 3. No More Missed Opportunities Running a small business means wearing multiple hats, and sometimes, customer messages slip through the cracks. But with Ruut Multi-Channel Integration, Emeka never missed a message. Whether customers reached out via email, WhatsApp, or social media, everything was managed in one place. No more lost DMs, no more unanswered emailsājust seamless, stress-free communication. 4. Smart Data for Smarter Business Decisions As a small business owner, Emeka needed to understand what his customers wanted. Ruut Analytics Dashboard gave him real-time insights into: š Most common customer questions (so he could update product descriptions) š¦ Frequent refund requests (helping him improve product quality) ā³ Response time trends (allowing him to optimize customer support) Instead of guessing what worked, Emeka now made data-driven decisions that helped his business grow faster. 5. Scaling Without Stress The best part? Ruut grew with him. As orders increased, he didnāt need to hire a large support teamāautomation took care of the heavy lifting. With the right tools in place, Emeka was able to expand his business without burning out. Why RUUT CRM is a Must-Have for Small Businesses Africaās entrepreneurs are building the future, and customer experience is what separates thriving businesses from struggling ones. Ruut helps small businesses scale without stress, offering: ā Automated Responses to handle repetitive inquiries ā AI-Powered Ticketing to prioritize urgent requests ā Multi-Channel Support for seamless communication ā Analytics & Insights for smarter business growth For small businesses looking to save time, improve customer experience, and scale effortlessly, Ruut isnāt just an optionāitās a necessity. Ready to automate and grow? Ruut is here to help. š
š¬ Product KnowledgeConnect Ruut to your Website / Web applications
If you need to use live chat on a website, web application, or even a mobile application, you will need to create a website workspace. You can create as many website workspaces as you wish, and they will all be linked to one Ruut dashboard. Here is an integration guide on how to set up the website workspace on Ruut: Step 1: Connect from Dashboard On the dashboard, as a new user, you will see an option to set up your workspace. Click on it, and it will take you directly to the workspace section, where you will find a list of channels you can set up in your workspace. Step 2: Create a New Workspace From the workspace section on Ruut, you need to create a new workspace. Select the website workspace, and it will open up its requirements. Follow the steps provided. Step 3: Enter Necessary Information When you click on the website channel to connect to your workspace, you will need to submit several items: - Website Name: This is the name that will show on the Chat Widget. - Website Domain: This is the domain or web URL of the website or application you are integrating. - Blog URL: If you have a blog and want your users to read it directly from the chat widget, provide the link. The view will be rendered, allowing users to interact with it from the chat widget. - Widget Color: Set your companyās primary color as the widget color to match your brand and business. - Welcome Heading: This is the first text presented to your users when the chat widget is launched, e.g., "Welcome to Ruut Chat" or "Glad to have you join us here." - Welcome Tagline: This tagline accompanies the welcome heading, e.g., "Ask us anything." - Enable Greeting: If you want automated greetings when users first visit the chat widget, enable channel greeting. This will present another field where you can add a message for the greetings. After inputting all the necessary fields, click "Create Inbox" to save your details. Once saved, proceed to the next step. Step 4: Add Your Agent Once your website channel has been connected, add your support staff to that workspace. Once thatās done, you are ready to use your website channel with any application you wish. Step 5: Use Your Website Channel Now that your website channel is created, you will be presented with a view like the image below. For some applications you will be integrating with, you need to copy the entire script tag to the JavaScript section of your application. For mobile, WordPress, or other platforms, you will be required to copy the value of the Website token, which allows you to interact directly with the application. For Developers Identify a User (Set User Details) Once Ruut is ready, you can identify a user using the setUser method. This is optional but strongly recommended if your users are logged in. <script> window.addEventListener("ruut:ready", function () { window.$ruut.setUser("USER_ID", { email: "[email protected]", name: "John Doe", avatar_url: "https://example.com/avatar.png", phone_number: "+2348012345678", identifier_hash: "SECURE_HASH", description: "Premium customer", country_code: "NG", city: "Lagos", company_name: "Ruut Inc", social_profiles: { twitter: "johndoe", linkedin: "john-doe", facebook: "john.doe", github: "johndoe" } }); }); </script> Required vs Optional Fields Required - USER_ID A unique identifier for the user in your system (string). Common Optional Fields - email - name - avatar_url - phone_number Advanced / Optional Fields - identifier_hash (recommended for security) - description - country_code - city - company_name - social_profiles You can pass as many or as few fields as you need. Secure User Identity with identifier_hash For security-sensitive applications, Ruut supports identity verification using an identifier_hash. This hash should be generated on your server using your Ruut secret key and the userās ID. It prevents impersonation and ensures user data integrity. If you donāt need this, you can safely omit it. Open the Chat Programmatically (Optional) If you want to open the chat automatically once Ruut is ready: <script> window.addEventListener("ruut:ready", function () { window.$ruut.toggle("open"); }); </script> Updating or Resetting a User Update Custom Attributes <script> window.$ruut.setCustomAttributes({ plan: "pro", last_login: "2026-01-10" }); </script> Remove a Custom Attribute <script> window.$ruut.deleteCustomAttribute("plan"); </script> Reset User Session <script> window.$ruut.reset(); </script> This is useful when a user logs out. Need more help with setting up your live chat workspace, speak to your account manager directly. Or reach us at [email protected]
š Customer Support LearningsAutomation will save you, Here's how
Automation in Customer Support: Enhancing Operational Efficiency and Customer Experience In the realm of customer support, automation refers to the strategic use of technology to streamline processes and improve service delivery. It leverages advanced software solutions, artificial intelligence, and machine learning to handle repetitive tasks, optimize workflows, and enhance overall efficiency. Here's how automation is reshaping customer support: 1. Efficiency and Speed: Automation tools such as chatbots and automated ticketing systems enable organizations to respond to customer inquiries promptly and accurately, reducing waiting times and increasing productivity. 2. 24/7 Availability: Automated systems ensure continuous customer service availability, providing instant responses and support outside traditional business hours, which is crucial in a globalized market where customers expect round-the-clock assistance. 3. Personalization at Scale: Through data analytics and AI-driven insights, automation enables personalized customer interactions by analyzing customer behavior and preferences. This allows businesses to offer tailored recommendations and solutions, enhancing customer satisfaction. 4. Workflow Optimization: Automated workflows streamline routine tasks like ticket routing, issue categorization, and response generation. By automating these processes, support teams can focus more on complex problem-solving and proactive customer engagement. 5. Data-Driven Decision Making: Automation platforms gather and analyze vast amounts of customer data in real-time. This data provides actionable insights into customer trends, pain points, and satisfaction levels, empowering businesses to make informed decisions and continuously improve service strategies. 6. Cost Efficiency: By reducing the need for manual intervention in routine tasks, automation lowers operational costs associated with customer support operations. This cost efficiency allows organizations to allocate resources more strategically and invest in higher-value customer initiatives. In conclusion, automation in customer support isn't just about replacing human interaction; it's about optimizing processes to deliver faster, more personalized, and efficient service experiences. Embracing automation empowers organizations to meet the evolving expectations of customers while driving operational excellence and fostering long-term customer loyalty.
š ChannelsHow to setup an API inbox on Ruut
How to create an API channel inbox in Ruut Chat The API channel in Ruut Chat is designed for various integration use cases. If you want to build your own custom chat interface that connects directly to Ruut, the API channel is the perfect solution for that. Similarly, if you want to connect our Mobile SDK to Ruut, the API channel is also the best use case for that integration. For SDK users: If you are using the SDK, you just need to create the API channel - no need to add other configurations. After creating the channel, go to your inbox/workspace settings, then under Configuration you would see the workspace inbox identifier that you'll need for your SDK integration. Setup the API channel Step 1. Go to Settings ā Workspace ā "Add Workspace". Step 2. Click on the "API" icon. - Channel Name: API Support Channel - Callback URL: https://your-app.com/webhooks/ruut-callback Step 4. "Add agents" to your API inbox. The inbox setup is complete. For Mobile Integrations go to the settings of your newly created workspace and check for the configuration and copy the inbox identifier. Send messages to the API channel To send messages to the API channel, ensure you understand the following models and nomenclature used in Ruut Chat. Channel: Channel defines the type of source of conversations. E.g., Facebook, Twitter, API, etc. 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 Ruut Chat account. Each page is called the inbox in Ruut Chat. Conversation: A Conversation is a collection of messages. Contact: Each conversation has a real-life person associated with it, called a contact. 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 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. Incoming: Messages sent by the end user is classified as an incoming message. 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": "2025-06-24T15: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 Ruut Chat. These APIs are useful for cases like the ones listed below. - Use a custom chat interface instead of the Ruut Chat widget. - Build conversational interfaces into your mobile apps. - Add Ruut Chat to other platforms for which Ruut Chat 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 Ruut Chat WebSockets To get real-time updates from the agent dashboard, connect to Ruut Chat 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.
š« Account SetupsRevolutionize Your Business Communication with Ruut WhatsApp Integration
RUUT WhatsApp Integration allows your businesses to connect their WhatsApp accounts directly to the RUUT platform, mimicking the ease of WhatsApp Web but with added business-focused functionalities. This innovation is designed to help businesses manage customer interactions efficiently, all from one platform. How to Get Started 1. Accessing RUUT WhatsApp Integration - Click "Add Workspace" on the Ruut platform and select "WhatsApp." - Choose "Ruut" to link your mobile phone to the workspace, similar to setting up WhatsApp Web. 2. Setting Up Your Workspace - Assign a unique workspace name, such as "Tiles WhatsApp." - Enter your phone number, ensuring it includes your country code for accurate connection. 3. Leveraging Key Features - Reopen Conversations: Choose whether previous chats should automatically reopen for continuity. - Import Contacts and Messages: Bring in your WhatsApp contact list and historical messages effortlessly. - QR Code Connection: Simply scan the QR code generated by RUUT to link your WhatsApp account securely. 4. Customizing the Experience - Enable Greeting Messages to send automated responses to customers instantly. - Set Business Hours to automate replies for messages received outside working times. Business Benefits: ā¢ā ā Centralizes communication by integrating WhatsApp into your business platform. ā¢ā ā Enhances customer interaction with automated greetings and business hour messages. ā¢ā ā Provides flexibility in managing customer conversations and importing data.
š ļø IntegrationsIntegrating Ruut to your Wordpress site. Here's how.
If you're using WordPress for your website, you can easily integrate live chat support for your visitors with Ruut. By adding the Ruut live chat widget to your WordPress site, you can connect with your customers in real-time, answering their questions and addressing their concerns without the hassle of manual back-and-forth communication. Here's how you can get started in 4 simple steps: Step 1. Download the Ruut Plugin. Download the Zip file of the latest Ruut WordPress plugin from here Step 2. Upload the plugin to your WordPress website Log in to your WordPress account. Navigate to the Admin Panel and click āPluginsā from the sidebar. You will be able to see the "Add New" button. You will see an option to upload the plugin, as shown in the screenshot below. Click āBrowseā and select the Zip file downloaded in step 1. Step 3. Activate the plugin Once the plugin is uploaded, you will see a Success screen with the "Activate Plugin" option, as shown below. Click the "Activate Pluginā button. Congrats! The plugin is now installed, you would see a Ruut Plugin view as shown below. To complete the configuration, you must add your Ruut app credentials. Step 4. Configure the plugin Now, you will be able to see āRuut Settingsā under your "Settings" menu. Click on that to update the live-chat configuration. You will be presented with the Settings screen as shown below. Configure your Ruut plugin here to make it work. You need to create a Website inbox on your Ruut installation. Please refer to thisĀ guideĀ to create a website channel inbox. Once you have your inbox channel created. copy the website token from the website channel setting and include it below in the field called Ruut Website Token. Once you complete the form, click the "Save changes" button. ** Step 5. Verify that the plugin is working correctly** Visit your website and see if the widget appears on the website!