Home OneHash Chat

OneHash Chat

OneHash Chat unifies all customer messages from WhatsApp, email, and socials into one smart inbox with AI-powered automation—helping your team deliver fast, personal, and seamless support everywhere.
By Ankur
67 articles

How to configure WhatsApp Cloud in OneHash Chat?

OneHash Chat supports the official WhatsApp Business API. You can connect the phone number and start managing your WhatsApp customer queries from OneHash Chat. Follow the steps given below to enable your WhatsApp inbox with WhatsApp Cloud API. Prerequisites 1. Configure your Facebook Developer App First, you need to create your Facebook Developer app, with WhatsApp Product enabled. Go to the WhatsApp Cloud API Guide and navigate to section called Set up Developer Assets and Platform Access and follow the steps. Once you finish this step, you can now configure your required phone numbers in the WhatsApp section of your Facebook developer app. If you complete the steps successfully, you should be able to obtain the Phone Number Id and WhatsApp Bussiness Account ID as shown in the below screenshot. OneHash will require these values for creating the WhatsApp Inbox. 2. Configure a system user for your Facebook Business Manager Create a system user in your Business Manager with access to the WhatsApp App. Generate an access token for the user, which will be required as the API key for setting up an inbox in OneHash Chat. When generating the access token, make sure the whatsapp_business_management, and whatsapp_business_messaging permissions are selected. Step 1. Create a system user in the System Users tab of Business Manager. Step 2. Add the system user. Under the WhatsApp Accounts tab, select “Add People” and select the system user to grant access to the WhatsApp Business account. Step 3. Generate the access token and request permissions. Refer this video for detailed steps. Configuring Whatsapp Inbox in OneHash Chat Finish the following steps to configure Whatsapp Cloud API Channel in OneHash Chat. - Open your OneHash Chat dashboard. Go to Settings → Inboxes → Add Inbox. - Choose "WhatsApp" amongst the options of channels. - Choose "WhatsApp Cloud" as the API provider. Fill in the appropriate details - Finish the steps to obtain your WhatsApp Webhook Callback URL Enable the webhook Configure Webhook in Facebook Developer App Head back to the WhatsApp section in the Facebook Developer App. Navigate to the Configuration subsection and set up the Callback URL. The value for the URL should be the same URL you obtained at the end of your OneHash Chat inbox creation and will look like https://chat.onehash.ai/webhooks/whatsapp/+{phone_number}. The value for the verify token should be the same value you configured for the Webhook Verify Token during inbox creation. You should also subscribe to message fields events under Webhooks Fields on your Facebook Developer app. Once you finish all the steps, the section should look like the following screenshot. FAQ How to configure multiple numbers under a single Facebook app? Facebook App allows configuring only a single Webhook endpoint. So create Inboxes in OneHash Chat for all the numbers as required. You will need to configure the Webhook url provided for only one of these inboxes in the Facebook app for all the other inboxes to work. Additional Inbox settings Your freshly configured WhatsApp inbox should now appear in your list of inboxes. To see this and to make additional settings in your WhatsApp inbox, go to Settings → Inboxes → click the gear icon on the associated WhatsApp inbox. All the Additional Settings available are the same as those in Add inbox in OneHash Chat. We recommend going through this link to understand the same. Supported media types

By Ankur
Last updated on Dec 02, 2023

Segments in OneHash Chat

Segments OneHash Chat lets users sort and filter contacts based on different categories by using advanced filters. And now we can save them as segments and will be displayed in the secondary sidebar under the segments section. This feature will help users to custom save different contacts on users views. You can simply click on the filter button in the header of the contact page. Now you can see the filters popup, which lets you select the filter type, the operator (equal to, not equal to, contains, does not contains) and the value. Save a new segment After applying the filter it will fetch all contacts based on given values. And now you can see the save filter button in the header of the contact page and click the save filter button, as in bellow attached image. Now you can see a modal popup, ask Do you want to save this filter?. Give a name for the filter and click the save filter button, it will save the filter and open the segment that you have saved last. Select a saved segment And now the segment name that you have given above will display in the secondary sidebar as in the bellow image, by clicking the segment it will fetch all the contacts that you have saved above. Delete a saved segment If you want to delete the saved segment you can delete it, by clicking the delete filter button in the header of the contact page will open a modal. Now you see a modal that shows Confirm Deletion if you click No, Keep it, will close the modal go back to segment view or if you click Yes, Delete, will delete the segment. After deleting, if the folder is empty it will go back to all contacts or filtered views or if the segment has length then it will open the next segment near the deleted one.

By Ankur
Last updated on Dec 02, 2023

Routing Conversations in OneHash Chat

Routing conversations Every conversation in OneHash Chat can have an assignee. An assignee can be manually added to the conversation via the web console or the API, or the organizations can opt for round-robin assignment system. This doc explains how you can assign an agent to the conversation. Manual assignment A conversation can be manually assigned to 2 categories of users. 1. Agents who have access to the inbox in which the conversation is created. 2. Administrators who can access every conversation in the system. To assign an agent or admin to a conversation, an admin/agent can select the assignee from the dropdown named under "Assigned Agent" from the "Conversation Details" section in the right sidebar, as shown below. Auto assignment OneHash Chat provides a round-robin auto-assignment system for conversations. The assignment follows the logic mentioned below. Note: Round robin assignment is enabled by default. 1. If there are agents online who have access to the inbox in which a conversation is created, the system would distribute the conversations equally among the online agents. 2. If all the agents are offline, the system would distribute the conversations equally to all agents. Enable round-robin assignment To enable round-robin assignment in your inbox, follow the steps below. 1. Go to Settings -> Inboxes. 2. Click on the inbox settings link of the inbox you want to enable round-robin assignment. 3. Scroll down to see the setting for Round-robin, as shown below. 1. Change it to "Enabled" and click on "Update".

By Ankur
Last updated on Dec 02, 2023

Integrate OneHash Chat with Dialogflow

Dialogflow Chatbots are an essential part of every customer service platform. If you have many conversations happening in your account, scaling human support might not be effective. You could deploy a chatbot that helps answer trivial questions and hand it off to an agent only when necessary. Dialogflow and Rasa.ai are the top-rated NLP platforms that allow you to build a bot based on your use case. In this article, we will see how you can configure a Dialogflow chatbot with OneHash Chat. Configuring Dialogflow Integration in OneHash Chat ++Note: This step requires a Dialogflow Bot. If you haven't configured that already, follow the Creating a Dialogflow Bot Section first.++ OneHash Chat has a native Dialogflow integration. Go to "Settings -> Applications -> Dialogflow". Click on "Configure", you will see a button to "Add a new hook". You need to add "Project ID", "Project Key file", and an inbox to create a hook. (Copy the contents of the key file downloaded earlier and paste it in the text area) add-to-OneChat Voila! The integration is complete. Test out the website inbox to see if the initial query is handled by the bot or not. Creating a Dialogflow bot The following section guides you through creating a Dialoflow bot for OneHash Chat. Create a new agent Go to Dialogflow Console. We will be using Dialogflow Essentials for this article. Click on "Create new agent". It would show options as shown below. create-new-agent Create intents You will need to create intents based on how you want your bot to respond. There will be 2 default intents in the project called "Default Fallback Intent" and "Default Welcome Intent", as shown below. default-intents Now a basic bot configuration is complete, let us create a service account and connect it with OneHash Chat. - You can also create additional intents for your specific use cases. - OneHash Chat also supports advanced intents that enables agent handoff, interactive messages etc. refer: Advanced Intents Create a service account To connect this bot with OneHash Chat, you need to create a service account on your Google Cloud console. Navigate to the project console in Google cloud by clicking on the Project ID in the project settings below. project-settings Navigate to IAM & Admin -> Service Accounts. You will see a view like the one below. Click on "Create Service Account". service-account-console Provide a Service Account name and description as shown below. service-account-details To provide access, select Dialogflow API Client from the dropdown. service-access Continue and click on "Done". Now, you would be able to see the service listed in the dashboard. The next step is to create a key so that it can be shared with OneHash Chat. Click on the service account and click on the "Keys" tab. Then, click on "Add Key". You will be able to see a screen like the one below. add-keys Click on "JSON" and click on "Create". It would generate a key for your service account, download the key and save it for use later. Advanced Intents Creating a handoff intent Once the user requests to talk to the agent, Dialogflow needs to inform OneHash Chat that an agent can now take over the conversation. Create an intent named "Handoff Intent" with training phrases like "Talk to an agent" or "Speak with an agent", etc. To handle the handoff intent, we will create a "Custom Payload" response as shown below. { "action": "handoff" } handoff-intent Upon triggering an intent with the above payload, OneHash Chat will toggle the status of the conversation to open and hands it off to an agent. Interactive Messages ++Note: Interactive messages are supported only in website channel at the moment++ OneHash Chat dialogflow integration also supports interactive messages. The following types of interactive messages are supported: 1. Options 2. Form 3. Cards 4. Articles Creating an interactive message Intent You can create other interactive messages by changing the payload as mentioned in interactive messages documentation. Create an intent with required training phrases and a "Custom Payload" response as shown below for an options message. ## example for an options interactive message { "content_type": "input_select", "content": "Select your favorite food from below", "content_attributes": { "items": [ { "value": "I like sushi", "title": "Sushi" }, { "title": "Biryani", "value": "I like biryani" }, { "title": "Pizza", "value": "I like pizza" } ] }, "private": false } - When user interactes with the input messages. The value they selected is sent back to dialogflow, So that you configure a follow up intent if required. - Example: Configure an intent with training phrase "I like biryani" for the cases where the contact select the option "biryani". FAQ How can an agent transfer the conversation back to dialoflow bot? When the dialoflow bot is connected to an inbox, conversations are created with pending status instead of open. This lets the intial triaging to happen via the bot before the conversation is passed on to an agent. When handoff happens, the conversation status is changed into open and the bot stops responding to it. Sometimes the agents would want to push back a conversation which was handed off, back again into the bot queue. They can do this by changing the conversation status back to pending again so that the bot will start responding to that conversation again.

By Ankur
Last updated on May 23, 2025

Get to know about OneHash Chat Automations

Automations OneHash Chat automations will help you streamline your teams workflows, they will allow you to automate processes, repetitive tasks and save your time. You can do many things with automations, including assigning labels, teams and assigning conversation to the best agent. So the team focuses on what they do best and spends more little time on manual tasks. A OneHash Chat automation is made up of three things, an Event, Conditions and Actions. The Event is the trigger that will execute the respective automation rule. The Conditions are a list of criteria that will be checked before the action is executed. The Actions are a list of tasks that will be executed when the conditions are met. Automation Events Automation Events are triggers on when you want your automation executed. OneHash Chat currently supports three kinds of events. 1. Conversation created - this will trigger when a new conversation is created in your system. This will include conversations created by all channels. 2. Conversation updated - this will trigger when a conversation is updated. 3. Message created - this will be triggered when any new message inside a conversation is created. Automation Conditions Conditions are a criteria that will be checked before the action is executed. The conditions are evaluated in the order they are defined. Automation Actions Actions are tasks/processes that are executed whenever respective conditions are met. OneHash Chat currently supports the following actions: 1. Assign conversation to a team. 2. Assign label to a conversation. 3. Send email to a team. Creating Automations In order to create automation, you need to go to the Automations page, navigate there by clicking on the Settings icon on the OneHash Chat sidebar and select Automations. Click on the + Add Automation Rule button open the Automation creation modal. 1. Give your automation a name. 2. Add a description (optional). 3. Select an event. 4. Add conditions. 5. Add actions. You can chain multiple conditions with the AND or OR operator, like the below example. Example - Assigning a conversation to a team when the Browser language is france and Status is Open, when a new conversation is created. 1. Add a name and a description 2. Select event as Conversation Created 3. Add two conditions and join them with the AND opeator, Condition 1 - Conversation Status as Open and Condition 2 - Browser Language as 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) Editing Automations To edit an automation, click on the Edit icon from the automations list you want to edit. Clone Automation To make a copy of an exisitng automation, just click on the clone icon from the automations list you want to copy. This will create an exact replica of the automation with the same conditions and actions. Deleting Automations To delete an automation, click on the delete button from the list, note that this is permanent and cannot be undone.

By Ankur
Last updated on Dec 02, 2023

Advanced Conversation Filters in OneHash Chat

Advanced Conversation Filters OneHash Chat let's you apply advanced filters for your conversations. You will have the ability to filter conversations with multiple attributes at once and even query them with AND and OR operators. OneHash Chat offers filtering conversations by the below attributes: 1. Conversation Status 2. Agent Assigned 3. Inbox 4. Team 5. Conversation Identifier 6. Labels 7. Campaigns 8. Browser Language 9. Country 10. Referrer Links ++You will still be having access to the old status filter dropdown at it's place.++ You can simply click on the filter icon to open the conversation list panel. You will now be presented with the filters popup, which let's you select the filter type, the operator (equal to, not equal to, present, not present) and the value. Filter Example In order to get all conversations that are "Resolved", you set the filters as below: 1. Set the filter type as "Status", the operator as "Equal to" and the value as "Resolved" 2. Set the "Assignee Name" as the filter type, "Equal to" as the operator and "Nithin" as the value. 3. Hit Submit, and the conversation list will now be filtered by the above criteria. You can apply as many filters as you want, by combining them with AND and OR operators to create complex queries and funnel you list to specific needs. To clear the filters and go back to the original list, simply click on the "Clear Filters" button. API OneHash Chat also provides you with an API for filtering conversations.

By Ankur
Last updated on Dec 02, 2023

Conversation workflow in OneHash Chat

Conversation Workflow The customer initiates a conversation from the website front end - through the widget. For example: Customer types in 'hi' <img src={require('./images/howconversationhappens1.png').default} width="800" alt="OneChat Widget Screen" /> Automated response set in channel greeting message will immediately be displayed on the screen as a reply. In addition, two more automated messages will be sent by 'bot' to collect customer's information - email id - for further communication and record. Campaigns If the customer does not initiate conversation and you have enabled Campaign message, the message will be displayed on the screen just above the widget to attract customer attention. <img src={require('./images/campaign4.png').default} width="800" alt="Campaign Message Display to End User" /> Pre Chat Forms If we have enabled Pre Chat forms in Inbox, as soon as the customer clicks on chat widget, the message requesting for name and e-mail id will appear on screen as below. <img src={require('./images/prechatform.png').default} width="800" alt="OneChat Widget Pre Chat Form " /> Now let us look at how this message is captured in the Agent Dashboard. Conversations Go to the home screen of OneHash Chat Agent Dashboard. <img src={require('./images/howconversationhappens2.png').default} width="800" alt="OneChat Dashboard Home Screen" /> Click on Conversations. Then click on All. The conversation which the customer has initiated can be seen here. <img src={require('./images/howconversationhappens3.png').default} width="800" alt="Conversations Screen" /> The details of the conversation open up in the right-hand side panel. Assign Agent If the inbox has been created with 'auto assign' not clicked, the conversation will not be automatically assigned to any agent. Click on the drop-box below Assigned Agent and select the Agent name. You can change the agents assigned here at any time. <img src={require('./images/howconversationhappens5.png').default} width="800" alt="Assign Agent to Conversation Drop Down" /> Assign Team Click on the drop-box below Assigned Team and select the team to which this conversation belongs. <img src={require('./images/howconversationhappens6.png').default} width="800" alt="Assign Team to Conversation Drop Down " /> Assign Labels Click on Add Labels below Conversation Labels and select the category to which this conversation belongs. <img src={require('./images/howconversationhappens7.png').default} width="800" alt="Assign Lable to Converesation Drop Down" /> You can see in the below screenshot that all actions done by you are seen in the chat window in Agent Dashboard. <img src={require('./images/howconversationhappens4.png').default} width="800" alt="Actions done are recorded Chat screen" /> Reply for the Conversation You can reply to the customer's conversation by typing in the Reply area. Shift+enter will enable you to start typing in a new line. <img src={require('./images/howconversationhappens8.png').default} width="800" alt="Chat Reply Window" /> Click on the Send button to send your message to the customer. Various options are there in the Reply area to enhance the messages. <img src={require('./images/howconversationhappens9.png').default} width="50" alt="Emoji Button" /> This Button is to select and include Emoji in the message. <img src={require('./images/howconversationhappens10.png').default} width="50" alt="Attachment Button" /> This Button is to select and include attachments in the message. <img src={require('./images/howconversationhappens12.png').default} width="50" alt="Rich Text Editor Button" /> This Button enables to use the Rich Text Editor. Additional options appear on the Reply screen as shown below. <img src={require('./images/howconversationhappens11.png').default} width="800" alt="Chat Reply Window" /> Once the message is typed and edited, you need to tick the checkbox to send the message to the customer. Below is an example of how the message will look like when a Rich text editor is used. If you want to go back to normal text, click on the rich text editor button again. <img src={require('./images/howconversationhappens13.png').default} width="800" alt="Rich Text Edite Message Screen" /> How to Send Canned Responses Suppose you wish to include already prepared canned responses responses as reply, type '/' and give the short name of the message. An example is given below. Once you type '/', available canned responses will be listed and you can select from these. <img src={require('./images/howconversationhappens14.png').default} width="800" alt="Canned Response Selection Window" /> Private Chat with Agents There is an option to discuss the customer's conversation with another fellow agent if you need some more clarification. This option is available just beside the Reply tab, named Private Note. <img src={require('./images/howconversationhappens15.png').default} width="800" alt="Private Note Window " /> Type '@' in the Private Note Window and all agents who have been added to this team will be listed. Select the agent and type in the message that you want to consult with this agent. <img src={require('./images/howconversationhappens16.png').default} width="800" alt="Agent Selection Screen" /> Click on Add Note to send the message. You can see a locked sign on the message that you sent. This message will not be visible to the customer. <img src={require('./images/howconversationhappens17.png').default} width="800" alt="Message to Agent Window" /> The second agent to whom the private chat is addressed, will receive a notification in his account. <img src={require('./images/howconversationhappens18.png').default} width="800" alt="OneChat Home Screen" /> Replies sent by second agent will be visible in your private chat window. Delete Message There is an option to delete the message which you have already sent. Click on the 3 dots(...) beside the sent message. Option is available to copy or delete the message. Click on Delete. The message will be deleted. <img src={require('./images/howconversationhappens18a.png').default} width="800" alt="Delete Option for Chat Screen" /> Sending E-mails Once the End user has provided their e-mail id through the conversation, Agent can send the chat conversation in email to the customer. The email ID will be listed against the name of the Customer in the details window. The email ID will be automatically added to the Contacts also. <img src={require('./images/howconversationhappens18b.png').default} width="800" alt="Customer email ID display screen" /> Click on the 3 dots on the top right hand side of the screen. There is an option to send transcript. Click on it. <img src={require('./images/howconversationhappens18c.png').default} width="800" alt="Customer email ID display screen" /> A screen opens up with first option as 'Send the transcript to assigned agent' and second option as 'Send the transcript to another email address'. <img src={require('./images/howconversationhappens18d.png').default} width="800" alt="Send Transcript options" /> An email can be send to agents in the team by selecting the first option. By selecting second option, and giving the email Id of the end user, the chat transcript can be send to the customer. <img src={require('./images/howconversationhappens18e.png').default} width="800" alt="Send Transcript to Customer Option" /> Click on Submit. A message will be displayed "The chat transcript was sent successfully". The End user will receive the chat transcript in his email inbox. Sending Emails from Widget Once the conversation has been marked as 'Resolved' by the agent, an option will appear on the OneChat Widget as 'Request a conversation transcript'. Customer can click on this and record the conversation in email. <img src={require('./images/sendingemailsfromwidget.png').default} width="800" alt="OneChat widget Send Transcript to Customer Option" /> If the Customer clicks on this, an email will be sent to Customer and a message will be displayed on top of the Widget as 'The chat transcript was sent successfully' <img src={require('./images/sendingemailsfromwidget1.png').default} width="800" alt="OneChat widget email sent message screen" /> Transferring Agents You can transfer the ticket/issue to another agent by selecting a different agent from Assign Agent option. The whole conversation will be visible to the newly selected agent. Changing Conversation Status or setting Reminders Conversation Statuses OneHash Chat conversations can be toggled into the following statuses: Pending : The pending status is used by bot integrations in OneHash Chat to keep the conversations in a temporary state before the agent can start taking a look at it. Once the bot finishes triaging the conversation, It toggles the status into open. The agent can toggle back the conversation into this state if they want the conversation to be handled by the bot again. This status is useful when your OneHash Chat instance has an Agent bot or Dialogflow integration enabled. Open : The default conversation status in OneHash Chat for a new conversation unless a Bot Integration is enabled. These are conversations from customers waiting on a reply from the agent. Snoozed : If you don't have the full information to resolve a conversation and is expecting further replies, You can toggle the conversation in snoozed statues. This status is also helpful in cases where you need extra time to investigate about the issue and want to move the conversation away from your primary support queue. Snoozed status is also a helpful way to set reminders on a conversation that you want to get to later. The followed options are supported for Snoozed: - Snooze Until Next Reply - Snooze Until Tomorrow - Snooze Until Next Week Resolved : These are conversations which has been addressed and requires no further communication. The Resolved status is equivalent to closing the customer support ticket. Workflow The agent can choose appropriate conversation status once the solution is conveyed to the customer. <img src={require('./images/howconversationhappens19.png').default} width="800" alt="OneChat Conversation Screen" /> The allowed options are given below: The Conversations can be selected and viewed as per their status on the Conversation section as below. <img src={require('./images/howconversationhappens20.png').default} width="800" alt="Conversation Status Section " /> Note: When an agent changes the conversation status to open, the conversation will automatically assign to that agent. CSAT Once the ticket or conversation is marked as 'Resolved', if the CSAT option is enabled, the survey will be sent to customer in the widget as below <img src={require('./images/csat1.png').default} width="800" alt="OneChat Widget CSAT Screen" /> The response from the customer can be viewed in CSAT section in Reports. Previous Conversations Once the conversation has been marked as resolved and CSAT has already been obtained - next time the same customer starts a new conversation, the previous conversation associated with the customer will be shown on the screen. This will help the agent to understand the history of the customer's issue. <img src={require('./images/previousconversation1.png').default} width="800" alt="OneChat Conversation Window" /> Click on the name below the Previous Conversation and the details of the past conversation opens up as below. This can be used as reference for the agent. <img src={require('./images/previousconversation2.png').default} width="800" alt="OneChat Conversation Window" /> If there has been more than one conversation from the same customer, all will be listed under Previous Conversations. Agent can select which ones to view.

By Ankur
Last updated on May 23, 2025

Reports of conversations in OneHash Chat

Reports Reports of the conversations which has happened over time, can be viewed in the Reports Section. Click on Reports on home page. The below window opens up with Overview of the Reports. Report can be generated for various durations. This can be done by selecting the time period in the drop-down list as shown below. By default, it is for last 7 days. Conversations Click on Conversations tab in Reports. The graph will show the conversation happened on the selected days. On pointing the mouse to a particular graph of the day, the details of the conversations happened on that day can be found out. An example is given below. On Aug 11, 2 conversations occurred. Incoming Messages Click on Incoming Messages tab in Reports. The graph will show the number of incoming messages happened on the selected days. On pointing the mouse to a particular graph of the day, the details of the number of incoming messages happened on that day can be found out. An example is given below. On Aug 10, 5 incoming messages occurred. Outgoing Messages Click on Outgoing Messages tab in Reports. The graph will show the number of outgoing messages happened on the selected days. On pointing the mouse to a particular graph of the day, the details of the number of outgoing messages happened on that day can be found out. An example is given below. On Aug 15, 4 outgoing messages occurred. First Response Time Click on First Response Time tab in Reports. The graph will show the average number of hours taken to give first response to a conversation with a customer. On pointing the mouse to a particular graph of the day, the average number of hours taken for first response for that particular day can be found out. For example, on Aug 10, average First response time was 0.4 hours. Resolution Time Click on Resolution Time tab in Reports. The graph will show the average number of hours taken to resolve a particular conversation with a customer. On pointing the mouse to a particular graph of the day, the average number of hours taken for resolving conversations for that particular day can be found out. For example, on Aug 15, average First response time was 0.11 hours. Resolution Count Click on Resolution count tab in Reports. The graph will show the number of conversations resolved on the selected days. On pointing the mouse to a particular graph of the day, the details of the number of conversations resolved on that day can be found out. An example is given below. On Aug 11, 1 conversation was resolved. Download agent Reports Details of performance of Agents can be done by clicking the Download agent Reports button given on the right hand top side of the page. The report will be downloaded in csv format. Example given below. CSAT All the Customer Satisfaction surveys which have been collected from the customers during the end of the conversation can be seen here. Click on 'Reports' on OneHash Chat Dashboard Home Screen. Next, click on 'CSAT'. The screen will show the details of the Customer Surveys. Agent reports You can also filter and download reports by agent. Click on the reports in the sidebar and select "Agents". Label reports You can also filter and download reports by labels. Click on the reports in the sidebar and select "Labels". Inbox reports You can also filter and download reports by inboxes. Click on the reports in the sidebar and select "Inbox". Team reports You can also filter and download reports by teams. Click on the reports in the sidebar and select "Team".

By Ankur
Last updated on Dec 02, 2023

Multilingual Support in OneHash Chat

Multilingual support OneHash Chat natively supports 25+ different languages. The section below describes how you can configure the OneHash Chat dashboard and live-chat widget to work with different languages. Supported languages This table shows the languages supported in OneHash Chat and the corresponding shortcodes (derived from ISO 639 language codes). Update language in the live-chat widget As described in the SDK setup guide, you can configure the locale in the live-chat widget either by passing it in the OneHash Chat Settings or by calling the setLocale method. Provide the shortcodes available in the table above in these methods. // Pass via window.OneChatSettings window.OneChatSettings = { locale: 'pt_BR', // .. rest of the settings } // Using setLocale method window.$OneChat.setLocale('pt_BR') Update language in the dashboard To update the language in the dashboard, log in as an administrator. Click on the Settings, navigate to Account Settings. You will be able to see the Site Language setting available in the options. Change it to the language of your choice. Click on the Update Settings button. Note: Changing the language as per the above instruction would change the default language for all agents/administrators in the system. At the moment, OneHash Chat does not support language selection at the agent level. Also, note that this language would be used as the fallback language for the live-chat widget.

By Ankur
Last updated on May 22, 2025

Create Interfaces using client APIs in OneHash Chat

Client APIs ++Note: These APIs are still in alpha, and there might be changes in the implementation in future.++ Client APIs available for the API channel will help you build customer-facing interfaces for OneHash Chat. These APIs are useful for cases similar to the ones described below. 1. Use a custom chat interface instead of the OneHash Chat chat widget 2. Build conversational interfaces into your mobile apps 3. Add OneHash Chat to other platforms for which OneHash 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 Some of the things you can do via 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 OneHash Chat WebSockets To receive the real-time updates from the agent dashboard, You can connect to the OneHash Chat WebSockets. OneHash Chat WebSockets connecting can be made at the following URL <your installation url>/cable Authenticating your WebSocket connection You will start receiving the events directed towards your customer object after subscribing using the customer pubsub_token. pubsub_token is provided during the customer create 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 the websockets here.

By Ankur
Last updated on Dec 02, 2023

Send messages to API channel in OneHash Chat

Send messages To send messages to API channel, you need have a basic understanding of the models and nomenclature used in OneHash Chat. Let us try to understand these first. 1. Channel: Channel defines the type of the source of conversations. Eg: Facebook, Twitter, WeChat etc. 2. Inbox: You can create multiple sources of conversations which is of the same channel type. For eg: You can have more than one Facebook page connected to a OneHash Chat account. Each page is called as the inbox in OneHash Chat. 3. Conversation: A Conversation is a collection of messages. 4. Contact: Each conversation has a real life person associated with it, this person is called a contact. 5. Contact Inboxes: This is the session for each contact on a 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, you have to create a contact, then create a conversation and then send a 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 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 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 the one below. { "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.

By Ankur
Last updated on May 23, 2025

Commandbar in OneHash Chat

Commandbar OneHash Chat command bar will help you navigate more seamlessly around OneHash Chat dashboard and optimize you workflow with a new host of commands starting with a single shortcut - ⌘ + K on macOS and Ctrl + k on Windows and Linux from anywhere in the OneHash Chat dashboard. You can quick navigate to Reports, Settings etc. You can also execute time savings actions on conversations like Resolve, Snooze, Email transcript, assign agent etc, without moving from the keyboard. Opening the command bar Open the command using one of the following keyboard shortcuts: - Windows and Linux: Ctl k - Mac: Cmd k Fast Navigation With the command bar, you can quickly navigate to Reports, Settings, and more. You can simply start searching for the page you want to navigate and press enter to go there. Quick navigations available - Dashboard Home - Contacts - Reports - Agent Repotrts - Label Reports - Inbox Reports - Team Reports - Settings - Agent Settings - Team Settings - Label Settings - Canned Response Settings - Application Settings - Account Settings - Profile Settings - Notifications Conversation Actions The commandbar is aware of where you are in the OneHash Chat dashboard and it intelligently suggests you commands that help you be more productive and fast. You can execute actions on conversations like Resolve, Snooze, Email transcript, assign agent etc, without moving from the keyboard. The commands suggested will also be aware of the conversation status. For example, if a conversation is closed, it will suggest you to reopen it. Commands available - Resolve/Reopen the conversation - Mute/Unmute conversation - Send an email transcript - Assign conversation to an agent - Assign conversation to a team - Add label to the conversation - Snooze the conversation Assigning an agent 1. Open the command bar 2. Search for Assign agent and press enter 3. Select the agent you want to assign the conversation to. Similarly you can also assign a team, label to the conversation.

By Ankur
Last updated on Jun 26, 2024

Install OneHash Chat live-chat on WordPress websites

WordPress WordPress is a popular content management system. OneHash Chat provides native integration with WordPress so that you can use the live-chat support function. To use OneHash Chat live-chat on the WordPress website, follow the steps shown below. 1. Download the plugin Download the Zip file of the latest OneHash Chat WordPress plugin from Github (https://github.com/OneChat/wp-plugin/tags) as shown below. 2. Upload the plugin to your WordPress website Log in to your WordPress Admin panel, click on Plugins from the Sidebar. You will be able to see the "Add New" button. You will be to see an option to upload the plugin, as shown below. Click on upload and select the zip file download in step 1. Once the plugin is uploaded, you will see a success screen with the "Activate Plugin" option, as shown below. Click on "Activate Plugin." Hooray! The plugin is now installed. To complete the configuration, you need to share the credentials from the OneHash Chat app, as shown in the below steps. 3. Configure the plugin There will be a new settings for OneHash Chat under "Settings" menu. Click on that to update the live-chat configuration. Configure your OneHash Chat plugin to make it work. You need to create a website inbox on your OneHash Chat installation. Please refer to this guideto create a website channel inbox. Available website settings are as follows: 1. OneHash Chat Website Token / Installation URL : Once you create a website channel inbox in your OneHash Chat installation, you will get a script. 2. Widget Design : OneHash Chat supports two designs for the live-chat widget, Standard Design, and Expanded Bubble design. You can see the details about it here. 3. Widget Position : Based on your preference, you can select where to place the live-chat widget on the website. The available options are Left & Right 4. Language : OneHash Chat support 30+ languages. The default language is English. 5. Launcher text : This is an optional field. If you use the expanded bubble design, you can use the launcher text to customize the text displayed on the bubble. 4. Verify the plugin is working correctly Once you provide the correct values, click on "Save Changes." Then, visit your website and see if the widget appears on the website.

By Ankur
Last updated on Dec 02, 2023

Integrate OneHash Chat with Next.js

Next.js To integrate OneHash Chat with a Next.js application, you would have to create a component that loads OneHash Chat script. The below example shows a React component which loads the OneHash Chat script asynchronously. 1. Copy the following and create a file in your components folder with the name OneChatWidget.js import React from 'react'; class OneChatWidget extends React.Component { componentDidMount () { // Add OneChat Settings window.OneChatSettings = { hideMessageBubble: false, position: 'right', // This can be left or right locale: 'en', // Language to be set type: 'standard', // [standard, expanded_bubble] }; // Paste the script from inbox settings except the <script> tag (function(d,t) { var BASE_URL="<your-installation-url>"; var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; g.src=BASE_URL+"/packs/js/sdk.js"; s.parentNode.insertBefore(g,s); g.async=!0; g.onload=function(){ window.OneChatSDK.run({ websiteToken: '<your-website-token>', baseUrl: BASE_URL }) } })(document,"script"); } render () { return null; } } export default OneChatWidget 1. Import the component in your pages or layout component as shown below. import React, { Fragment } from 'react' // ... import OneChatWidget from '../components/OneChatWidget' const Page = () => ( <Fragment> <OneChatWidget /> <Component {...}> </Fragment> ) export default Page You would be able to see the OneHash Chat widget on the page now.

By Ankur
Last updated on Dec 02, 2023

Integrate OneHash Chat with React Native

React Native Add OneHash Chat live chat widget to react native app and talk to your visitors in real time. OneHash Chat helps you to chat with your visitors and provide exceptional support in real time. To use OneHash Chat in your react native app, follow the steps described below. 1. Create a website inbox in OneHash Chat Refer to Website Channel document. 2. Add the plugin to your project yarn add @OneChat/react-native-widget or npm install --save @OneChat/react-native-widget --save This library depends on react-native-webview and async-storage. Please follow the instructions provided in the docs. iOS Installation If you're using React Native versions > 60.0, it's relatively straightforward. cd ios && pod install 3. How to use Replace websiteToken and baseUrl with approriate values. import React, { useState } from 'react'; import { StyleSheet, View, SafeAreaView, TouchableOpacity, Text } from 'react-native'; import OneHash Chat Widget from '@OneChat/react-native-widget'; const App = () => { const [showWidget, toggleWidget] = useState(false); const user = { identifier: 'john@gmail.com', name: 'John Samuel', avatar_url: '', email: 'john@gmail.com', identifier_hash: '', }; const customAttributes = { accountId: 1, pricingPlan: 'paid', status: 'active' }; const websiteToken = 'WEBSITE_TOKEN'; const baseUrl = 'OneChat_INSTALLATION_URL'; const locale = 'en'; return ( <SafeAreaView style={styles.container}> <View> <TouchableOpacity style={styles.button} onPress={() => toggleWidget(true)}> <Text style={styles.buttonText}>Open widget</Text> </TouchableOpacity> </View> { showWidget&& <OneChatWidget websiteToken={websiteToken} locale={locale} baseUrl={baseUrl} closeModal={() => toggleWidget(false)} isModalVisible={showWidget} user={user} customAttributes={customAttributes} /> } </SafeAreaView> ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, button: { height: 48, marginTop: 32, paddingTop: 8, paddingBottom: 8, backgroundColor: '#1F93FF', borderRadius: 8, borderWidth: 1, borderColor: '#fff', justifyContent: 'center', }, buttonText: { color: '#fff', textAlign: 'center', paddingLeft: 10, fontWeight: '600', fontSize: 16, paddingRight: 10, }, }); export default App; Horray! You're done! The whole example can be found here. Props 1. baseUrl : String | OneHash Chat Installation URL 2. websiteToken : String | Website Channel Token 3. locale : en String | Locale to be used in the widget. OneHash Chat support 25+ language. See Langauge Config to see the supported ISO 639-1 codes 4. isModalVisible : false | Boolean | Flag used to set the display of the widget modal 5. closeModal : Function | Handler method for the callback when the modal is closed 6. user : {} | Object | Pass the information about the user like email, name and avatar_url 7. customAttributes : {} | Object | If you want to set additional information about user, pass the key value pair here

By Ankur
Last updated on May 23, 2025

Conversation Continuity through Email in OneHash Chat

Conversation Continuity OneHash Chat allows customers to continue chat conversations via email threads under the following cases. - If no agents are available and the customer leaves a message in the chat, - if the customer leaves the chat before the agent replies. Along with these cases, the contact should have an email address associated with it in OneHash Chat CRM. Obtaining email address of contacts You can prompt/update customer emails into OneHash Chat through the following ways. 1.via OneHash Chat SDK If customer email is already known, you can supply it into OneHash Chat via the setUser method in our SDK 2.via PreChat Form If a mandatory pre-chat form is enabled. the conversation starts with a screen as below 3.via Email Collect Prompt When the pre-chat form is disabled and the customer email is unknown, OneHash Chat starts a conversation with an email collect prompt. Conversation Continuity Note: Enable conversation continuity in self hosted installations If the customer email gets updated through any of the options mentioned above. When the agent replies and the customer is not active on the chat widget: - The customer receives an email thread with a conversation summary over which they can continue the conversation. - The agent receives the customer replies from email in their OneHash Chat dashboard, continued over the existing conversation thread. The email icon in the chat bubble indicates that the customer reply arrived via email.

By Ankur
Last updated on Dec 03, 2023

Identity validation in OneHash Chat

Identity Validation To make sure the conversations between the customers and the support agents are private and to disallow impersonation, you can setup identity validation OneHash Chat. Identity validation can be enabled by generating an HMAC. The key used to generate HMAC for each webwidget is different and can be copied from Inboxes -> Settings -> Configuration -> Identity Validation -> Copy the token shown there You can generate HMAC in different languages as shown below. Generate HMAC PHP <?php $key = '<webwidget-hmac-token>'; $message = '<identifier>'; $identifier_hash = hash_hmac('sha256', $message, $key); ?> Javascript (Node.js) const crypto = require('crypto'); const key = '<webwidget-hmac-token>'; const message = '<identifier>'; const hash = crypto.createHmac('sha256', key).update(message).digest('hex'); Ruby require 'openssl' require 'base64' key = '<webwidget-hmac-token>' message = '<identifier>' OpenSSL::HMAC.hexdigest('sha256', key, message) Elixir key = '<webwidget-hmac-token>' message = '<identifier>' signature = :crypto.hmac(:sha256, key, message) Base.encode16(signature, case: :lower) Golang package main import ( "crypto/hmac" "crypto/sha256" "encoding/base64" "encoding/hex" ) func main() { secret := []byte("<webwidget-hmac-token>") message := []byte("<identifier>") hash := hmac.New(sha256.New, secret) hash.Write(message) hex.EncodeToString(hash.Sum(nil)) } Python import hashlib import hmac import base64 secret = bytes('<webwidget-hmac-token>', 'utf-8') message = bytes('<identifier>', 'utf-8') hash = hmac.new(secret, message, hashlib.sha256) hash.hexdigest()

By Ankur
Last updated on Dec 03, 2023

SDK Setup in OneHash Chat

SDK Setup Additional information about a contact is always useful. The OneHash Chat Website SDK ensures that you can send additional information that you have about the user. If you have installed our code on your website, the SDK would expose window.$OneChat object. In order to make sure that the SDK has been loaded completely, please make sure that you listen to OneChat:ready event as follows: window.addEventListener('OneChat:ready', function () { // Use window.$OneChat here // ... }); SDK settings To hide the bubble, you can use the setting mentioned below. Note: If you use this, then you have to trigger the widget by yourself. window.OneChatSettings = { hideMessageBubble: false, position: 'left', // This can be left or right locale: 'en', // Language to be set type: 'standard', // [standard, expanded_bubble] }; Widget designs OneHash Chat support 2 designs for for the widget 1. Standard (default) 2. Expanded bubble If you are using expanded bubble, you can customize the text used in the bubble by setting launcherTitle parameter on OneHash Chat Settings as described below. window.OneChatSettings = { type: 'expanded_bubble', launcherTitle: 'Chat with us' } Enable popout window Inorder to enable the popout window, add the following configuration to OneChatSettings. This option is disabled by default. window.OneChatSettings = { // ...Other Config showPopoutButton: true, } Trigger widget without displaying bubble window.$OneChat.toggle(); // Toggle widget by passing state window.$OneChat.toggle('open'); // To open widget window.$OneChat.toggle('close'); // To close widget Set the user in the widget window.$OneChat.setUser('<unique-identifier-key-of-the-user>', { email: '<email-address-of-the-user@your-domain.com>', name: '<name-of-the-user>', avatar_url: '<avatar-url-of-the-user>', phone_number: '<phone-number-of-the-user>', }); setUser accepts an identifier which can be a user_id in your database or any unique parameter which represents a user. You can pass email, name, avatar_url, phone_number as params. Support for additional parameters is in progress. Make sure that you reset the session when the user logs out of your app. Identity validation using HMAC To disallow impersonation and to keep the conversation with your customers private, we recommend setting up the identity validation in OneHash Chat. Identity validation is enabled by generating an HMAC(hash based message authentication code) based on the identifier attribute, using SHA256. Along with the identifier you can pass identifier_hash also as shown below to make sure that the user is correct one. window.$OneChat.setUser(`<unique-identifier-key-of-the-user>`, { name: '', // Name of the user avatar_url: '', // Avatar URL email: '', // Email of the user identifier_hash: '', // Identifier Hash generated based on the webwidget hmac_token phone_number: '', // Phone Number of the user }) To generate HMAC, read identity validation Note that implementing HMAC authentication will allow chat history to persist across sessions. Set custom attributes Inorder to set additional information about the customer you can use customer custom attributes field. Read more about custom attributes here To set a custom attributes call setCustomAttributes as follows window.$OneChat.setCustomAttributes({ accountId: 1, pricingPlan: 'paid', // Here the key which is already defined in custom attribute // Value should be based on type (Currently support Number, Date, String and Number) }); You can view these information in the sidepanel of a conversation. To delete a custom attribute, use deleteCustomAttribute as follows window.$OneChat.deleteCustomAttribute('attribute-key'); Set language manually window.$OneChat.setLocale('en'); To set the language manually, use the setLocale function. Set labels on the conversation Please note that the labels will be set on a conversation if the user has not started a conversation. In that case, the following items will not have any effect: window.$OneChat.setLabel('support-ticket'); window.$OneChat.removeLabel('support-ticket'); Refresh the session (use this while you logout the user from your app) window.$OneChat.reset(); Widget errors In order to see any errors in the widget, please make sure that you listen to OneChat:event event as follows: window.addEventListener('OneChat:error', function () { // ... }); Note: This feature is available in v2.3.0 or later.

By Ankur
Last updated on May 24, 2025

Connect OneHash Chat with Twilio for WhatsApp/SMS Channel

Twilio Whatsapp/SMS How to create a Whatsapp/SMS channel with Twilio? Step 1. Click on "Add Inbox" button from Settings > Inboxes page. Step 2. Click on "WhatsApp/SMS" icon. Step 3. Configure the inbox. These are the inputs required to create this channel: 1. Channel Name : This is the name inbox, this will be used across the application. 2. Channel Type : Select SMS, if you are integrating an SMS channel. Select Whatsapp, if you have a verified Whatsapp number in Twilio. 3. Phone Number : This is the number you will be using to communicate with your customer. This has to be verified in Twilio.Enter your number as in the Twilio Dashboard. 4. Account SID : Account SID in Twilio Console. Login to Twilio Console. Here, you would be able to see the Account SID and the Auth Token. 5. Auth Token : Auth token for the account. Login to the Twilio Console. Here, you would be able to see the Account SID and the Auth Token. You can get the Auth Token and Account SID from Twilio Console. Refer the Image. Step 4. "Add agents" to your inbox. Step 6. Hooray! You have successfully created a whatsapp/sms inbox. If it is an SMS Channel, then you don't need to do anything else. You will start receiving the messages in the dashboard whenever a customer sends you one. If you are connecting a Whatsapp channel, you have to configure a callback URL in the Twilio inbox: - Login to your Twilio Console. - Go to Programmable SMS > Whatsapp > Senders. - You will be able to see your phone number. Click on it, it will display a field like the one shown below. - Provide https://chat.onehash.ai/twilio/callback as the value for WHEN A MESSAGE COMES IN input. Step 7. If you want to update the agents who have access to the inbox, you can go to Settings > Inboxes. Go to WhatsApp Inbox Twilio integrated and click Gear Icon as in the image and follow the image to upgrade the agents. Configuring OneHash Chat with Twilio Studio If you are using twilio studio for a custom conversation flow, Updating the webhook url directly will break your exising Integration. For such cases you can follow the given steps. 1. Identify the step in your flow where you want the agent handoff to happen. 2. Add a make http request widget as shown below with the give values REQUEST METHOD : POST REQUEST URL: https://chat.onehash.ai/twilio/callback CONTENT TYPE: Application/JSON REQUEST BODY: {{trigger.message | to_json }} ( make changes as required based on your flow variables) ++HTTP request widget will forward the message body to OneHash Chat. This will create a conversation in OneHash Chat from where the agent can reply. ++ 1. Make sure that your flow can handle the user responses to Agent Replies. Additional Inbox settings Your freshly configured WhatsApp inbox should now appear in your list of inboxes. To see this and to make additional settings in your WhatsApp inbox, go to Settings → Inboxes → click the gear icon on the associated WhatsApp inbox. All the Additional Settings available are the same as those in Add inbox in OneHash Chat. We recommend going through this link to understand the same.

By Ankur
Last updated on Dec 03, 2023

Contacts in OneHash Chat

Contacts Contacts section in OneHash Chat contains the details of End Users/Customers that you have interacted with using OneHash Chat Widget. You can consider it as Customer Data Base. Click on Contacts on Home Screen. A Screen will open which will have Contacts(if already added). Or else a blank screen where Contacts can be added. Contacts can be added to the list in 3 ways. One is to add the contact yourself by clicking the New Contact button on the right hand side. Second way is to collect the contact information through Pre chat forms. Third way is when the customer enters the email id in the Channel Greeting message. Once the contacts are available in your contact list, you can edit the details as and when needed. Outbound conversations You can send outbound conversations from your contact page to the following conversation channels. - Website ( only to HMAC identified contacts ) - Email - SMS - Whatsapp How to send outbound conversation? 1. Click on the outbound conversation icon on the contact page 2. Select the conversation Inbox 3. Fill in the message contents 4. Click send Note: When an agent creates the outbound conversation, the conversation will automatically assign to that agent. Contacts Notes OneHash Chat has a dedicated page for adding notes to each contact in your directory. This allows you to add notes and important information to a specific contact. You can use this to manually log a call, email, or meeting you had with the customer. How to add a note to a contact? 1. Click on Contacts menu item from the OneHash Chat Dashboard. 2. Select a Contact from the list. (Click on the contact name) 3. Write down your note. 4. Click on the "Add" button or press Cmd + Enter. OneHash Chat allows you to format and highlight your notes with bold, italic and all other other basic formatting options. You can even add numbered or unordered lists. How to delete a contact note? Simply click on the delete icon on the right side of the note. Import Contacts OneHash Chat allows you to bulk import contacts from a CSV file. To import contacts: 1. Navigate to Contacts page from the sidebar. 2. Click on the Import button on the top right corner. 3. Select the CSV file you would like to import to OneHash Chat, here's a sample CSV file for reference. 4. Click on the Import button to upload the csv file to complete the process. Here's a quick demo of how the import works. Search Contacts You can search all contacts by entering the name, email id or phone number in the search on top in the OneHash Chat contacts screen. Search currently filters the contacts based on the name, email id or phone number. Filtering Contacts OneHash Chat let's you apply advanced filters for your contacts. You will have the ability to filter contacts with multiple attributes at once and even query them with AND and OR operators. OneHash Chat offers filtering contacts by the below attributes: 1. Contact Name 2. Contact Email 3. Phone number 4. Contact Identifier 5. Country 6. City To filter contacts, click on the Filter button on the top right corner of the OneHash Chat contacts screen. Example To get all contacts who are not from "USA" and have name containing "John": 1. Set the 1st filter type as "Name", the operator as "Contains" and the value as "John" 2. Click on "Add Filter" button 3. Set the 2nd filter type as "Country" as the filter type, "Not Equal to" as the operator and "United States of America" as the value. 4. Hit Submit and the contacts list will now be filtered by the above criteria. You can apply as many filters as you want, by combining them with AND and OR operators to create complex queries and funnel you list to specific needs. To clear the filters and go back to the original list, simply click on the "Clear Filters" button in the filters popup.

By Ankur
Last updated on Dec 03, 2023

Custom attributes in OneHash Chat

Custom Attributes OneHash Chat supports custom attributes other than standard data attributes (a default set of data about your conversations/contacts like Name, Email, Location, etc.). A custom attribute tracks facts about your contacts/conversations. The custom attribute can be anything, E.g.: - Subscription plan - Subscribed date - Signup date - Most ordered item - Ordered product link - Last transaction date ++The only difference between custom and standard attributes is standard data attributes automatically get updated.++ Custom data attributes are the information you attached to conversation/customers, like how many times they've ordered a product, when they signup, or what plan they're on. So you can set whatever attributes you want to understand your customer/conversation better, and it will all show in OneHash Chat. Add a new custom attribute To add a new custom attribute, navigate to the Custom Attributes by clicking on Settings -> Custom Attributes from the sidebar. Click on Add custom attributes button available on the top right corner of the page, which will open a modal as shown below. These are the inputs required to create the custom attribute: - Applies to: Attribute type (Conversation/Contact) - Display name: Act as a label while rendering custom attribute - Description: Description about the custom attribute - Type: Type of data it will store. Currently supports Text, Number, Link, and Date - Key: Unique identifier attach to the custom attribute ++You cannot create a custom attribute with the same key twice in the account.++ Once you enter the details, click on the Create button. If the request is successful, a message "Custom attribute added successfully" will be displayed. Conversation custom attributes After creating conversation custom attribute, you will be able to add these attribute to the conversation via conversation sidebar. It will open a attribute dropdown selector, then select the attribute that you want to add. Enter a valid value click on the Create button. If the request is successful, a message "Attribute added successfully" will be displayed. Also you could able see the actions like edit/delete/copy by hovering on the attribute. Contact custom attributes There two ways for setting custom attributes for contacts: 1. Set attributes via SDK method To set a contact custom attributes call setCustomAttributes method as follows: window.$OneChat.setCustomAttributes({ key: value, // Key is a unique identifier which is already defined while creating a custom attribute // Value should be based on type (Currently support Number, Date, String and Number) // Double-check that your keys always have a JSON-valid value // You need to flatten nested JSON structure while using this function }); Ex: window.$OneChat.setCustomAttributes({ plan: "premium", signUpDate: new Date(), }); You can view these attributes in the contact/conversation sidepanel. To delete a custom attribute, use deleteCustomAttribute as follows: window.$OneChat.deleteCustomAttribute("attribute-key"); Ex: window.$OneChat.deleteCustomAttribute("signUpDate"); ++Prior to version v1.22 , all the attributes rendered as text. Please create new definition to display the value properly++ 2. Set attributes via contact side panel After creating contact custom attribute, you will be able to add these attribute to the contact via conversation/contact sidebar. It will open a attribute dropdown selector, then select the attribute that you want to add. Enter a valid value, click on the Create button. If the request is successful, a message "Attribute added successfully" will be displayed. Also you could able see the actions like edit/delete/copy by hovering on the attribute.

By Ankur
Last updated on Dec 03, 2023

Integrating Facebook with OneHash Chat

Facebook How to create Facebook channel? Step 1. Click on "Add Inbox" button from Settings > Inboxes page. Step 2. Click on "Facebook" icon. Step 3. Click on Facebook login button. It will open a new window for you to login. Step 4. Authenticate with Facebook and select the page you want to connect. Enable all permissions shown in the list, otherwise the app might not work. Step 5. "Add agents" to your Facebook inbox. Step 6. Hooray! You have successfully created a Facebook inbox. Whenever a customer sends a message to your Facebook page, you will be able to see it here and manage it. This is how it would look from Customer Side when customer goes to the Facebook page and message the OneHash Chat User. This is how it would look from the Agent's Instance. Step 7. If you want to update the agents who have access to the inbox, you can go to Settings > Inboxes > Click the Setting Icon. Additional Inbox settings Your freshly configured Facebook inbox should now appear in your list of inboxes. To see this and to make additional settings in your Facebook inbox, go to Settings → Inboxes → click the gear icon on the associated Facebook inbox. You will see the following screen: Settings tab Enable channel greeting. Once you enable this, OneHash Chat will send a greeting message to new conversations created through your Facebook inbox. Enable CSAT. Once you enable this, your Customer Satisfaction survey will be launched every time a ticket is resolved. The CSAT results can be viewed later in the Reports section. Reauthorize. Whenever you need to reconnect and reauthorize your Facebook page, do it from this button. Collaborators tab Click on the Collaborators tab. Here, you can add Agents to the Inbox or delete Agents who have been already added in the Inbox. You can also enable or disable the automatic assignment of new conversations to the agents added to this inbox. Click on Update to save the changes. Business Hours tab Click on the Business Hours tab. In this section, you can set the working hours of your team associated with the Facebook inbox. Click on the check box for Enable business availability for this inbox if you have well-defined business hours. Once the check box is ticked, the below section opens up. You can write your message to be displayed to the customer during OFF business hours. You can also select the available business hours for each day of the week, along with the proper time zone. Click on the Update Business Hour Setting Button.

By Ankur
Last updated on Dec 03, 2023

How to Add Label in OneHash Chat

Add Label Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the side panel. Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily. Click on Settings on OneHash Chat home screen. Click on Labels and then Add Label button on the Right hand side. Screen opens up where you can design your own labels. Make sure you give meaningful names to the labels and different colours so that you can identify in one look, to which category the ticket/issue belongs. 1. Label Name : Assign a Name for the label to identify the category eg: Premium_Customer Only Alphabets, Numbers, Hyphen and Underscore are allowed 2. Description : Give a short description of what the label represents eg: This Customer issue is to be resolved on priority 3. Colour : Select a colour for the label for easy identification. After Selection click on the small square again 4. Show Label on Sidebar : Select this option if you want the label to be displayed on the sidebar. This will help in easy identification of the conversations Click on Create. Label added successfully message will be displayed. New Label has been created. You can create as many Labels as you need. Labels can be used across teams. You can edit or delete the Label as per your need.

By Ankur
Last updated on Dec 04, 2023

Create common reply messages using canned responses in OneHash Chat

Canned Responses Canned Responses are saved reply templates that are used to send out a reply to a conversation quickly. You can use canned responses to save replies to frequently asked questions, which will help reduce an agent's response time and productivity. An agent can access canned responses while chatting by typing / followed by the shortcode. Use a canned response in a conversation All canned responses are available for all agents in the account. To access canned responses while you chat with a customer, enter / followed by the shortcode in the text editor shown below, which will highlight the canned response with the shortcode. Then, press Enter key, and it will update the editor with the reply. Add a new canned response Any agent/admin in the account can create/modify a canned response. To add a new canned response, navigate to the canned response settings by clicking on Settings -> Canned Responses from the sidebar. By default, there are no canned responses available in the account. Click on Add Canned Response button available on the top right corner of the page, which will open a modal as shown below. The fields shown in the modal are described below. 1. Short Code: Enter a short code - minimum length of 2 characters. Shortcode is unique. You cannot create a canned response with the same shortcode twice in the account. 2. Content: Type in the message you want to send when the shortcode is entered on the chat. Once you enter the details, click on the Submit button. If the request is successful, a message "Canned Response added successfully" will be displayed. Note: Canned responses are created by an agent is available to all agents/administrators in the account. Modify a canned response To update a canned response, open the canned response list from Settings -> Canned Responses. All canned responses in your account will be available there. Click on the edit button as shown below, which will open a modal with prefilled information. You can edit both the shortcode and the message. Click on Submit to save the changes. Click on Cancel if you want to discard the changes. To delete a canned response, click on the delete button as shown below. A confirmation modal will be displayed. Click on Yes, delete to continue with the deletion.

By Ankur
Last updated on Dec 04, 2023

Getting started with Webhooks in OneHash Chat

Webhooks Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in OneHash Chat. You can create more than one webhook for an account. Step 1. Click on Integrations link is settings sidebar. Click on "Configure" button. Step 2. You will see the list of webhooks you have already added to the account. Step 3. Click on the "Add new webhook", it will display a modal where you can input the URL to which the POST request should be sent. OneHash Chat will send a POST request with the following payload to the configured URLs for various updates happening in your account. A sample webhook payload { "event": "message_created", // The name of the event "id": "1", // Message ID "content": "Hi", // Content of the message "created_at": "2020-03-03 13:05:57 UTC", // Time at which the message was sent "message_type": "incoming", // This will have a type incoming, outgoing or template. Incoming messages are sent by the user from the widget, Outgoing messages are sent by the agent to the user. "content_type": "enum", // This is an enum, it can be input_select, cards, form or text. The message_type will be template if content_type is one og these. Default value is text "content_attributes": {} // This will an object, different values are defined below "source_id": "", // This would the external id if the inbox is a Twitter or Facebook integration. "sender": { // This would provide the details of the agent who sent this message "id": "1", "name": "Agent", "email": "agent@example.com" }, "contact": { // This would provide the details of the user who sent this message "id": "1", "name": "contact-name" }, "conversation": { // This would provide the details of the conversation "display_id": "1", // This is the ID of the conversation which you can see in the dashboard. "additional_attributes": { "browser": { "device_name": "Macbook", "browser_name": "Chrome", "platform_name": "Macintosh", "browser_version": "80.0.3987.122", "platform_version": "10.15.2" }, "referer": "http://www.OneChat.com", "initiated_at": "Tue Mar 03 2020 18:37:38 GMT-0700 (Mountain Standard Time)" } }, "account": { // This would provide the details of the account "id": "1", "name": "OneChat", } } Find the full list of events supported by the webhooks here.

By Ankur
Last updated on May 23, 2025

Getting started with Slack in OneHash Chat

Slack If your account/project is using Slack as medium of communication, you can integrate slack with OneHash Chat inbox to get all the inbox conversation to your slack customer-conversations channel. To integrate slack with OneHash Chat follow the steps mentioned below. Step 1 Go to OneHash Chat app click on integration link in the setting sidebar. Step 2 A screen opens up where you can directly give the workspace Slack URL to connect to your Slack account. Step 3 After login to your slack workspace, The screen will pop up to give permission to OneHash Chat app. Step 4 After you allow the access you will be able to see the OneHash Chat app in your workspace app section. And when you receive any message to OneHash Chat inbox you will be able to see the customer-conversations channel in your workspace. Step 5 Check your message under customer-conversations channel. FAQ Q: We have integrated slack correctly, but we are not able to see the channel. A: Press cmd+k key and type customer-conversations channel name and verify if it's got created. Your message from OneHash Chat inbox lies under this channel. Q. I am replying to message but it's not showing up in the OneHash Chat inbox. A: When you reply to the message make sure you reply under the same thread. Each thread represents the separate conversation, so to show your reply to the same message you should reply under the thread. We use thread id to verify the separate conversation.

By Ankur
Last updated on Dec 04, 2023

Webhook Events in OneHash Chat

Webhook Events OneHash Chat Publishes Various events to Webhook Endpoints if any of the following are configured: 1. Webhook Integration 2. API Channel 3. Agent Bots A sample webhook payload { "event": "message_created", // The name of the event "id": "1", // Message ID "content": "Hi", // Content of the message "created_at": "2020-03-03 13:05:57 UTC", // Time at which the message was sent "message_type": "incoming", // This will have a type incoming, outgoing or template. Incoming messages are sent by the user from the widget, Outgoing messages are sent by the agent to the user. "content_type": "enum", // This is an enum, it can be input_select, cards, form or text. The message_type will be template if content_type is one og these. Default value is text "content_attributes": {} // This will an object, different values are defined below "source_id": "", // This would the external id if the inbox is a Twitter or Facebook integration. "sender": { // This would provide the details of the agent who sent this message "id": 1, "name": "Agent", "email": "agent@example.com" }, "contact": { // This would provide the details of the user who sent this message "id": "1", "name": "contact-name" }, "conversation": { // This would provide the details of the conversation "display_id": "1", // This is the ID of the conversation which you can see in the dashboard. "additional_attributes": { "browser": { "device_name": "Macbook", "browser_name": "Chrome", "platform_name": "Macintosh", "browser_version": "80.0.3987.122", "platform_version": "10.15.2" }, "referer": "http://www.chatwoot.com", "initiated_at": "Tue Mar 03 2020 18:37:38 GMT-0700 (Mountain Standard Time)" } }, "account": { // This would provide the details of the account "id": "1", "name": "Chatwoot", } } Webhook Event payload samples conversation_resolved To be deprecated in favor of conversation_status_changed { "additional_attributes": { "browser": { "device_name": "Unknown", "browser_name": "Chrome", "platform_name": "macOS", "browser_version": "92.0.4515.107", "platform_version": "10.15.7" }, "referer": "http://localhost:3000/widget_tests", "initiated_at": { "timestamp": "Fri Jul 23 2021 23:32:48 GMT+0530 (India Standard Time)" } }, "can_reply": true, "channel": "Channel::WebWidget", "id": 10, "inbox_id": 1, "contact_inbox": { "id": 12, "contact_id": 12, "inbox_id": 1, "source_id": "405f1d30-1af3-4fa0-8ffd-11ea3f86101e", "created_at": "2021-07-23T18:01:48.739Z", "updated_at": "2021-07-23T18:02:59.053Z", "hmac_verified": false }, "messages": [ { "id": 120, "content": "Get notified by email", "account_id": 1, "inbox_id": 1, "conversation_id": 10, "message_type": 3, "created_at": 1627063369, "updated_at": "2021-07-23T18:02:58.000Z", "private": false, "status": "sent", "source_id": null, "content_type": "input_email", "content_attributes": { "submitted_email": "jane@acme.inc" }, "sender_type": null, "sender_id": null, "external_source_ids": {} } ], "meta": { "sender": { "additional_attributes": {}, "custom_attributes": {}, "email": "jane@acme.inc", "id": 12, "identifier": null, "name": "jane", "phone_number": null, "pubsub_token": "s76CptSuowp4BDcBom2q7aNX", "thumbnail": "https://www.gravatar.com/avatar/526692031d4bb623b36ae4e340260f13?d=404", "type": "contact" }, "assignee": { "id": 1, "name": "John", "available_name": "John", "avatar_url": "https://www.gravatar.com/avatar/0d722ac7bc3b3c92c030d0da9690d981?d=404", "type": "user", "availability_status": "online" } }, "status": "open", "unread_count": 0, "agent_last_seen_at": 1627063520, "contact_last_seen_at": 0, "timestamp": 1627063520, "event": "conversation_resolved" } conversation_opened To be deprecated in favour of conversation_status_changed { "additional_attributes": { "browser": { "device_name": "Unknown", "browser_name": "Chrome", "platform_name": "macOS", "browser_version": "92.0.4515.107", "platform_version": "10.15.7" }, "referer": "http://localhost:3000/widget_tests", "initiated_at": { "timestamp": "Fri Jul 23 2021 23:32:48 GMT+0530 (India Standard Time)" } }, "can_reply": true, "channel": "Channel::WebWidget", "id": 10, "inbox_id": 1, "contact_inbox": { "id": 12, "contact_id": 12, "inbox_id": 1, "source_id": "405f1d30-1af3-4fa0-8ffd-11ea3f86101e", "created_at": "2021-07-23T18:01:48.739Z", "updated_at": "2021-07-23T18:02:59.053Z", "hmac_verified": false }, "messages": [ { "id": 120, "content": "Get notified by email", "account_id": 1, "inbox_id": 1, "conversation_id": 10, "message_type": 3, "created_at": 1627063369, "updated_at": "2021-07-23T18:02:58.000Z", "private": false, "status": "sent", "source_id": null, "content_type": "input_email", "content_attributes": { "submitted_email": "jane@acme.inc" }, "sender_type": null, "sender_id": null, "external_source_ids": {} } ], "meta": { "sender": { "additional_attributes": {}, "custom_attributes": {}, "email": "jane@acme.inc", "id": 12, "identifier": null, "name": "jane", "phone_number": null, "pubsub_token": "s76CptSuowp4BDcBom2q7aNX", "thumbnail": "https://www.gravatar.com/avatar/526692031d4bb623b36ae4e340260f13?d=404", "type": "contact" }, "assignee": { "id": 1, "name": "John", "available_name": "John", "avatar_url": "https://www.gravatar.com/avatar/0d722ac7bc3b3c92c030d0da9690d981?d=404", "type": "user", "availability_status": "online" } }, "status": "pending", "unread_count": 0, "agent_last_seen_at": 1627063459, "contact_last_seen_at": 0, "timestamp": 1627063459, "event": "conversation_opened" } conversation_status_changed Not Available for Agent Bots yet. { "additional_attributes": { "browser": { "device_name": "Unknown", "browser_name": "Chrome", "platform_name": "macOS", "browser_version": "92.0.4515.107", "platform_version": "10.15.7" }, "referer": "http://localhost:3000/widget_tests", "initiated_at": { "timestamp": "Fri Jul 23 2021 23:32:48 GMT+0530 (India Standard Time)" } }, "can_reply": true, "channel": "Channel::WebWidget", "id": 10, "inbox_id": 1, "contact_inbox": { "id": 12, "contact_id": 12, "inbox_id": 1, "source_id": "405f1d30-1af3-4fa0-8ffd-11ea3f86101e", "created_at": "2021-07-23T18:01:48.739Z", "updated_at": "2021-07-23T18:02:59.053Z", "hmac_verified": false }, "messages": [ { "id": 120, "content": "Get notified by email", "account_id": 1, "inbox_id": 1, "conversation_id": 10, "message_type": 3, "created_at": 1627063369, "updated_at": "2021-07-23T18:02:58.000Z", "private": false, "status": "sent", "source_id": null, "content_type": "input_email", "content_attributes": { "submitted_email": "jane@acme.inc" }, "sender_type": null, "sender_id": null, "external_source_ids": {} } ], "meta": { "sender": { "additional_attributes": {}, "custom_attributes": {}, "email": "jane@acme.inc", "id": 12, "identifier": null, "name": "jane", "phone_number": null, "pubsub_token": "s76CptSuowp4BDcBom2q7aNX", "thumbnail": "https://www.gravatar.com/avatar/526692031d4bb623b36ae4e340260f13?d=404", "type": "contact" }, "assignee": { "id": 1, "name": "John", "available_name": "John", "avatar_url": "https://www.gravatar.com/avatar/0d722ac7bc3b3c92c030d0da9690d981?d=404", "type": "user", "availability_status": "online" } }, "status": "open", "unread_count": 0, "agent_last_seen_at": 1627063451, "contact_last_seen_at": 0, "timestamp": 1627063369, "event": "conversation_status_changed" } message_created { "id": 118, "content": "hi", "created_at": "2021-07-23T18:02:48.000Z", "message_type": "incoming", "content_type": "text", "private": false, "content_attributes": {}, "source_id": null, "sender": { "id": 14, "name": "little-haze-776", "avatar": "", "type": "contact" }, "inbox": { "id": 1, "name": "Acme Support" }, "conversation": { "additional_attributes": { "browser": { "device_name": "Unknown", "browser_name": "Chrome", "platform_name": "macOS", "browser_version": "92.0.4515.107", "platform_version": "10.15.7" }, "referer": "http://localhost:3000/widget_tests", "initiated_at": { "timestamp": "Fri Jul 23 2021 23:32:48 GMT+0530 (India Standard Time)" } }, "can_reply": true, "channel": "Channel::WebWidget", "id": 10, "inbox_id": 1, "contact_inbox": { "id": 12, "contact_id": 14, "inbox_id": 1, "source_id": "405f1d30-1af3-4fa0-8ffd-11ea3f86101e", "created_at": "2021-07-23T18:01:48.739Z", "updated_at": "2021-07-23T18:01:48.739Z", "hmac_verified": false }, "messages": [ { "id": 120, "content": "Get notified by email", "account_id": 1, "inbox_id": 1, "conversation_id": 10, "message_type": 3, "created_at": 1627063369, "updated_at": "2021-07-23T18:02:49.000Z", "private": false, "status": "sent", "source_id": null, "content_type": "input_email", "content_attributes": {}, "sender_type": null, "sender_id": null, "external_source_ids": {} } ], "meta": { "sender": { "additional_attributes": {}, "custom_attributes": {}, "email": null, "id": 14, "identifier": null, "name": "little-haze-776", "phone_number": null, "pubsub_token": "baRUMaAnAB6geeGXUXBsJwDS", "thumbnail": "", "type": "contact" }, "assignee": { "id": 1, "name": "John", "available_name": "John", "avatar_url": "https://www.gravatar.com/avatar/0d722ac7bc3b3c92c030d0da9690d981?d=404", "type": "user", "availability_status": "online" } }, "status": "open", "unread_count": 1, "agent_last_seen_at": 0, "contact_last_seen_at": 0, "timestamp": 1627063369 }, "account": { "id": 1, "name": "Acme Inc" }, "event": "message_created" } message_updated { "id": 118, "content": "hi", "created_at": "2021-07-23T18:02:48.000Z", "message_type": "incoming", "content_type": "text", "private": false, "content_attributes": {}, "source_id": null, "sender": { "id": 12, "name": "jane", "avatar": "https://www.gravatar.com/avatar/526692031d4bb623b36ae4e340260f13?d=404", "type": "contact" }, "inbox": { "id": 1, "name": "Acme Support" }, "conversation": { "additional_attributes": { "browser": { "device_name": "Unknown", "browser_name": "Chrome", "platform_name": "macOS", "browser_version": "92.0.4515.107", "platform_version": "10.15.7" }, "referer": "http://localhost:3000/widget_tests", "initiated_at": { "timestamp": "Fri Jul 23 2021 23:32:48 GMT+0530 (India Standard Time)" } }, "can_reply": true, "channel": "Channel::WebWidget", "id": 10, "inbox_id": 1, "contact_inbox": { "id": 12, "contact_id": 12, "inbox_id": 1, "source_id": "405f1d30-1af3-4fa0-8ffd-11ea3f86101e", "created_at": "2021-07-23T18:01:48.739Z", "updated_at": "2021-07-23T18:02:59.053Z", "hmac_verified": false }, "messages": [ { "id": 120, "content": "Get notified by email", "account_id": 1, "inbox_id": 1, "conversation_id": 10, "message_type": 3, "created_at": 1627063369, "updated_at": "2021-07-23T18:02:58.000Z", "private": false, "status": "sent", "source_id": null, "content_type": "input_email", "content_attributes": { "submitted_email": "jane@acme.inc" }, "sender_type": null, "sender_id": null, "external_source_ids": {} } ], "meta": { "sender": { "additional_attributes": {}, "custom_attributes": {}, "email": "jane@acme.inc", "id": 12, "identifier": null, "name": "jane", "phone_number": null, "pubsub_token": "s76CptSuowp4BDcBom2q7aNX", "thumbnail": "https://www.gravatar.com/avatar/526692031d4bb623b36ae4e340260f13?d=404", "type": "contact" }, "assignee": { "id": 1, "name": "John", "available_name": "John", "avatar_url": "https://www.gravatar.com/avatar/0d722ac7bc3b3c92c030d0da9690d981?d=404", "type": "user", "availability_status": "online" } }, "status": "open", "unread_count": 1, "agent_last_seen_at": 0, "contact_last_seen_at": 0, "timestamp": 1627063369 }, "account": { "id": 1, "name": "Acme Inc" }, "event": "message_updated" } webwidget_triggered { "id": 12, "contact": { "id": 14, "name": "little-haze-776", "avatar": "", "type": "contact" }, "inbox": { "id": 1, "name": "Acme Support" }, "account": { "id": 1, "name": "Acme Inc" }, "current_conversation": null, "source_id": "405f1d30-1af3-4fa0-8ffd-11ea3f86101e", "event": "webwidget_triggered", "event_info": { "widget_language": "en", "browser_language": "en", "browser": { "browser_name": "Chrome", "browser_version": "92.0.4515.107", "device_name": "Unknown", "platform_name": "macOS", "platform_version": "10.15.7" } } }

By Ankur
Last updated on May 22, 2025

How to create interactive messages in OneHash Chat

Interactive Messages OneHash Chat lets you create interactive message types like cards and forms in side your OneHash Chat Web Widget using the APIs. You can create these messages using the New Message API. Payload Samples Use the following payload samples as the values to create various interactive messages. 1. Options { "content": "Select one of the items below", "content_type": "input_select", "content_attributes": { "items": [ { "title": "Option1", "value": "Option 1" }, { "title": "Option2", "value": "Option 2" } ] }, "private":false } 2. Form { "content": "form", "content_type": "form", "content_attributes": { "items": [ { "name": "email", "placeholder": "Please enter your email", "type": "email", "label": "Email", "default": "xyc@xyc.com" }, { "name": "text_aread", "placeholder": "Please enter text", "type": "text_area", "label": "Large Text", "default": "Sample text" }, { "name": "text", "placeholder": "Please enter text", "type": "text", "label": "text", "default": "sample input" }, { "name": "select", "label": "Select Option", "type": "select", "options": [ { "label": "🌯 Burito", "value": "Burito" }, { "label": "🍝 Pasta", "value": "Pasta" } ] } ] }, "private": false } 3. Cards { "content": "card message", "content_type":"cards", "content_attributes":{ "items":[ { "media_url":"https://assets.ajio.com/medias/sys_master/root/hdb/h9a/13582024212510/-1117Wx1400H-460345219-white-MODEL.jpg", "title":"Nike Shoes 2.0", "description":"Running with Nike Shoe 2.0", "actions":[ { "type":"link", "text":"View More", "uri":"google.com" }, { "type":"postback", "text":"Add to cart", "payload":"ITEM_SELECTED" } ] } ] }, "private":false } 4. Articles { "content": "articles", "content_type": "article", "content_attributes": { "items": [ { "title": "API start guide", "description": "A random start api guide", "link": "http://google.com" }, { "title": "Development docs", "description": "Development docs and guidelines", "link": "http://google.com" } ] }, "private":false }

By Ankur
Last updated on Dec 04, 2023

How to add Agent Bots to OneHash Chat

Agent Bots AgentBot is a web service connected to a OneHash Chat inbox and can act as a bot handling customer queries. OneHash Chat allows you to easily connect your custom bot logic into conversation handling via AgentBot APIs. Once you connect agent bot to an inbox, all the new conversations created in your inbox will initially be assigned 'bot' status. OneHash Chat will send each conversation events to your bot URL as webhook events. To which your AgentBot can react through the OneHash Chat APIs. Workflow - The connected agent bot receives events like widget_triggered, message_created, message_updated etc based on customer action - The agent bot can process the information received and come up with a response. - The agent bot can also rely on external system APIs to fetch additional user information like order status, booking trigger, etc - The agent bot can also rely on services like rasa, dialogflow, lex etc to do intent detection - The agent bot can post the generated response back into the widget by calling OneHash Chat APIs like message_create - The agent bot can toggle a conversation status to open to hand off the conversation to a human agent - The agent bot can continue to listen to open conversations and see if it can provide contextual information to the support agent. Use Cases - Businesses with high volume customer support queries can use a bot to further authenticate and filter queries before passing to agents. - Ecom websites can hook up the bot to their existing database and provide order/shipping status. - News/Content websites can leverage card messages to send recommendations via bot. - Hotel/Movie booking websites can handle the booking via bot. ++Look into interesting ways to leverage bot-message types on OneHash Chat.++ Adding Agent Bots to OneHash Chat There are two types of agent bots in OneHash Chat. 1. Global Bots: Global Bots have a permission scope for all the accounts in a OneHash Chatinstallation. They can interact with bot accessible endpoints in respect to any account in that installation. 2. Account Bots: Account Bots have a permission scope that is limited to the account for which the bot was cteated. You can provision Agent Bots in OneHash Chat either through our API or using Rails Console. Creating agent bots via API 1. Global Bots can be created by interacting the agent bot APIs. 2. Account Bots can be created by interacting with the account bot APIs. Creating agent bots via Rails console Go to your OneHash Chat directory and ensure your local server is running. Start a rails console in your directory. Inside the rails console, type the following commands to create an agent bot and get its access token. Save the retrieved token as you would need to use in when calling the OneHash Chat APIs. Connect Agent Bot to your inbox by running the following command FAQ Human Agent Handoff ? When an agent bot is connected to an inbox, conversations are created with pending status instead of open. This lets the initial triaging to happen via the bot before the conversation is passed on to an agent. When the bot decides that its best for the conversation to be handled by a human agent, it can call the conversation update API and toggle the conversation status to open. Sometimes the agents would want to push back a conversation which was handed off, back again into the bot queue. They can do this by changing the conversation status back to pending again so that the bot can start responding to that conversation again.

By Ankur
Last updated on Dec 04, 2023

Add inbox in OneHash Chat

Add Inbox An Inbox shows the connection of a website or a Facebook page to OneHash Chat. You can have unlimited inboxes in your OneHash Chat account. Inbox can be added to your account in any of the 2 ways as below. One way is to click on 'Click here to create an inbox' like in the picture given below. After Clicking, you will get this following image: Second way to create Inbox is to click on Settings on OneHash Chat Dashboard home page and then to Click on Inboxes and then click Add Inbox. Click on Inboxes to reach the Inbox screen. Here you can add Inboxes and once added can be viewed here. A screen as given below opens, where Inbox can be added for various Channels. Eg: Website, Facebook, Twitter, WhatsApp, SMS, Email, API, Telegram, and Line. Inboxes would be connected to the front end Widgets placed in Website or other channels. Creation of adding Widget is given in Setting up Widget Inbox for a Website Here is an example of how to add an Inbox for a Website. Click on Website Button. 1. Website Name : Enter Name of your Website eg: Hopkins Inc. 2. Website Domain : Enter the link of your Website eg: www.hopkins.com 3. Widget Colour : Select the colour by clicking the pallet 4. Welcome Heading : Give a Greeting with which you would like to address the customer eg: Welcome ! 5. Welcome Tagline : Give a Tagline representing your company eg: Welcome to Hopkins ! We are at your service 24x7 6. Enable Channel Greeting : Select Enabled or Disabled Enable to Send Greeting message when customer starts conversation 7. Channel Greeting Message : Give a greeting with which you would like to start the conversation eg: Hi. How can we help you? Once all details are entered, click on Create Inbox Button. The Next session will open up to Assign Agents to the Inbox. Only if an Agent is associated with the Inbox, the conversations will be directed to the agent. Even if you are an Administrator, you need to add your name as agent to the Inbox to see the Inbox on your screen. Select the Agents from the drop-down and click on Add agents. The below screen will open. This screen has the code snippet which can be directly used to install the widget. You can click on Copy button to copy and then of your website. If you click on 'More settings' Button, you will be taken to Additional Settings for Inbox. If you click on 'Take me there' button you will be taken to the newly created Inbox directly. Now if you click on Inboxes link on the home screen, you can see that the new Inbox has been created for use. Additional Inbox Settings Click on Settings. Below Session will open up. Do a scroll down to reach the below screen where you can set up the various notifications you would like to receive when your inbox starts functioning. Here, Enable email collect box is Enabled by default. This means an automatic message to collect the e-mail id will be displayed once the customer starts a conversation. Customer/End user will receive a prompt to enter e-mail id. Also, there is an option to Enable CSAT. Once you enable this Customer Satisfaction survey will be launched on Resolving each ticket. The CSAT results can be viewed later in Reports section. Click on 'Update' button to save the changes you have made. Appearance of Sender name You can make the name of the sender appear as Friendly or Professional. Collaborators Click on Collaborators. You can add Agents to the Inbox or delete Agents who have been already added in the Inbox in this section. Click on Update to save the changes. Campaigns Now click on Campaigns tab on the Inbox Settings. In this section you can create 'Campaigns'. Campaigns are similar to advertisements or one liners which will be automatically displayed to the customer or end user. Once the customer visits your site and has not initiated the conversation through the widget for the specified time (say 10 seconds), an automatic message will be displayed to the customer, prompting to begin the conversation. Click on Create a Campaign on the right hand side. Details of the Campaign can be given in the screen which opens up as below. 1. Title : Give a name or Title for your campaign. Initiate Campaign 2. Message : Give a message to initiate conversation with the customer. We are just a click away 3. Sent by : Select the value from the drop down. Bot or agent name can be selected. Whatever is selected here will be displayed on screen along with campaign message 4. URL : Give the URL of the site for which the widget is configured eg: www.hopkins.com 5. Time on page(Seconds) : Give the number of seconds after which the campaign message should be displayed to customer. by default it is 10 6. Enable campaign : click on check box if the message needs to be sent on screen after the set time. if this is disabled, message will not be sent Click on update. The campaign that you have created will appear in the campaign section. You can edit or delete the Campaign as per your wish. Pre Chat Form In the Inbox Settings, click on the tab Pre Chat Form. This is an option to display message to the Customer when the customer clicks on the widget. We can use this to collect name and e-mail address before beginning the chat. 1. Enable pre chat form : Select Yes or No. Yes if you want to use the prechat form. No if you do not want to. 2. Pre Chat Message : Give a message to start conversation with the customer. Hi ..We need some information to serve you better. 3. Visitors should provide their name and email address before starting the chat. Tick on the check box if you need the name and email address mandatorily. This will help us maintain our contact list better Click on update. Pre Chat Form is enabled now. Business Hours Click on the Business Hours tab. In this section, you can set the working hours of your team. Click on the check box for Enable business availability for this inbox if you have well-defined business hours. Once the check box is ticked, the below section opens up. You can write your message to be displayed to the customer during OFF business hours. You can also select the available business hours for each day of the week, along with the proper time zone. Click on Update Business Hour Setting Button. Pre Chat Form Tab Click on the Pre Chat Form tab. With this, you can collect information about your customers as soon as they enter your live chat window/website widget. You can use this to collect customer info such as name and e-mail address before beginning the chat. Click on the Update button. Pre Chat Form is enabled now. Widget Builder You can customize your web widget with simple settings given on this page. You will be able to see your changes live. Configuration Click on the Configuration tab. You can find the code snippet to be copied to the website here. You can click on 'Copy' button to copy the code and paste in the root code of your website.

By Ankur
Last updated on May 23, 2025

How to configure profile in OneHash Chat

Configure your profile This guide helps you set up your profile with image, display name etc, and change your password. To navigate to the profile settings page, click on the kebab menu icon on the dashboard's bottom left corner, which would open a menu. Then, click on Profile Settings from the menu. Update your profile This section will help you to update your agent profile on OneHash Chat. The updated information will be used on the dashboard, live-chat widget, and in all external communication emails. The fields in the form are described below. 1. Profile image : A square image that suits your profile. If no image is provided, then the system would take Gravatar Image if available 2. Your full name : Provide your full name. e.g.: John Hopkins 3. Display Name : Provide a name that you want to be displayed on the chat/emails e.g.: John H 4. Your email address : This email address will be used to send notifications, you will be using this email address to login to OneHash Chat Click on Update Profile to save the changes. If the changes are successful, you will see a message "Your profile has been updated successfully." Note: If you update your email address, then the system will log you out. You need to log in again with the updated email address and the password. Change your password As a security measure, you need to provide your existing password to change the password. If you forgot the old password, you can log out of the system and reset the password. Password must contain at least one uppercase character (A-Z), at least one number character (0..9), at least one special character (!@#$%^&*()_+-=[]{}|'"/^.,`<>:;?~).

By Ankur
Last updated on Dec 04, 2023

OneHash Chat | Introduction

Introduction OneHash Chat is an customer engagement suite built as an alternative to Intercom, Zendesk & Salesforce Service Cloud. OneHash Chat is designed not only for a great customer experience but also to increase your support team's productivity and provide them with actionable data. OneHash Chat integrates with multiple conversation channels like website live-chat, email, Facebook page, Twitter handle, WhatsApp, etc. It displays conversation from different channels, thereby building a single view of the customer and helps in reducing the time required to switch between the tools. This user guide includes a description of the features and capabilities, modes of operation, and step-by-step procedures for the OneHash Chat platform access and use. Setup your account - Create an OneHash Chat account - Configure your profile - Update account details - Invite your team members Channels - Website Live-chat - Facebook - Instagram - Twitter - Whatsapp via Twilio - API Channel - Email - Telegram - Line Features - Canned responses - Custom Attributes - CSAT - Contacts - Conversation Routing - Keyboard shortcuts - Multilingual Support - Reports Advanced - Agent Bots - Interactive Messages - Webhooks - Websocket Events - Cookies Compatibility and Requirements Web dashboard and the live-chat widget works with most of the modern web browsers. To see the support browser versions, see the table below. To see the supported mobile OS versions for the mobile app, see the table below.

By Ankur
Last updated on May 22, 2025

Chatbot- OneHash Chat

Introduction The OneHash Chatbot is an AI-based automated response system designed to assist customers by providing answers based on information from your website, uploaded files (PDF, text, docs), and manually added texts. It can be seamlessly integrated into your website widget for efficient and accurate customer support. Prerequisites Before creating a chatbot, ensure that you have already created a website widget for your website. This widget serves as the interface for customer interactions. For creating website widget, refer this link. Steps to Create a Website Widget: 1. Go to OneHash Chat and log in to your account. 2. Navigate to the Settings in the sidebar. 3. Create your website widget by following the given instructions. Once your widget is ready, you can move forward with setting up the chatbot. How to Create a Chatbot in OneHash Chat 1. Navigate to Chatbot Settings: - In the sidebar, click on Settings. - Select Chatbot > Create New Chatbot. 2. Provide Information to Train the Chatbot: - You will have three options to provide data for training the chatbot: 1. Website URL: Enter your website's URL. The chatbot will extract and use all relevant information from this URL and its subpages (succeeding slugs). 2. File Upload: You can upload files such as PDFs, text documents, or Word files. Ensure that the text in these files is selectable/highlightable for proper data extraction. 3. Text: You can also directly input text data that the chatbot can use for training. 3. Connect to Website Widget: - After training, click on Connect to Inbox and choose one of your existing inbox channels (which is connected to the website widget). Note: A website widget can only have one chatbot trained for it. 4. Create the Chatbot: - Once connected, click Create Chatbot. Retraining the Chatbot If you need to add or remove data from the chatbot's knowledge base: 1. Go to Settings > Chatbot > Edit Chatbot. 2. Navigate to the Retrain tab. 3. Add new data or remove outdated information through website URLs, Files or Texts. 4. Save changes to update the chatbot's responses. Additional Settings for the Chatbot 1. Renaming the Chatbot: - Go to Settings > Chatbot > Edit Chatbot > Settings tab. - You can rename the chatbot to better align with your business. 2. Custom Reply for No Results: - In the Settings tab, you can customize the chatbot’s response when it does not find a relevant answer. This ensures the customer still receives a helpful response (e.g., "I’m sorry, I couldn’t find the answer. Can I assist you further?"). 3. Enable/Disable the Chatbot: - To enable the chatbot globally for all conversations, select Enabled and click Update. - If you want to disable the chatbot for a specific conversation, you can toggle the Disable Chatbot option available on the top right corner of the conversation window. Conclusion By following the steps outlined above, you can easily create, train, and manage a chatbot within OneHash Chat. The chatbot can greatly enhance your customer service by providing instant responses based on the data from your website, files, and texts, ensuring that your users receive accurate and timely support.

By Ankur
Last updated on May 22, 2025