# Chatbot analytics Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-analytics Analytics in Rasayel provide insights into bot performance, including version history. A **version** represents a period when a bot was live before being set to draft again. You can access Analytics by heading to [**Automations > Bots**](https://app.rasayel.io/automations/bots). Click on your preferred **Bot > Analytics**: This shows the following analytics: Analytics Pn * **Version History**: Tracks bot versions and the number of times each was executed. * **Path Analytics**: Shows the percentage of users following different paths in the flow. You can also view quick metrics for each chatbot from the chatbots page. Rasayel Feedback Pn **Here, you will find the following insights each chatbot:** * **Conversations Started**: Counts how many times the bot was triggered. * **Completed Flows**: Displays the number and percentage of fully executed flows. * **Interrupted Flows**: Tracks conversations that were abandoned before completion. # First chatbot Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-create Chatbots Pn ### Creating an inbound chatbot 1. Navigate to [**Automations > Chatbots**](https://app.rasayel.io/automations/bots/). 2. Click **New Chatbot**. 3. Enter a **Flow Name**. 4. Select **Receive Message** as the flow type. 5. Choose the **WhatsApp Channel**. 6. Click **Add Condition** to define when the chatbot should trigger. Available conditions include: * Contains specific keywords (triggers when a customer’s message includes certain words) * Conversation tags * Contact tags * Contact creation time * Specific time-based triggers * Custom properties * Standard properties 7. Click **Create bot** to proceed to the flow builder. ### Creating an outbound Chatbot 1. Navigate to [**Automations > Chatbots**](https://app.rasayel.io/automations/bots/). 2. Click **New Chatbot**. 3. Select **Send a Template** as the flow type. 4. Choose a channel and a message template. * The message template must include buttons of the same type. 5. Click **Add Condition** to define when the chatbot should trigger. Available conditions include: * Contains specific keywords (triggers when a customer’s message includes certain words) * Conversation tags * Contact tags * Contact creation time * Specific time-based triggers * Custom properties * Standard properties 6. Click **Create Bot** to proceed to the flow builder. # Flow variables Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-flow-variables Flow variables are temporary values used within a specific flow. They can be set from user replies, WhatsApp flows, or API responses, and help guide the user’s journey by controlling logic inside that flow. ## Saving flow variables You can save and use flow variables in different ways ### **User Reply node**: 1. Add a **User Reply** node. 2. Click on **Save reply** in the node settings. 3. Select **a variable** to store the reply. 4. Choose to save it either as a **Rasayel property** or create a **flow variable**. User Reply 1 Pn ### **API Call node:** 1. Make an API call within the flow. 2. Once it runs successfully, select any of the response fields. 3. Save the selected value as a flow variable to use later in the flow. API Call One Pn ## Using flow Variables Once saved, flow variables can be used throughout the flow: * Insert them into a **Simple Message** node to personalize responses. * Use them in **Conditional** nodes to branch the flow based on user input. * Store API responses and reuse them in different parts of the flow. Flow Use Pn # Chatbots in the inbox Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-inbox Agents can manually take over conversations or send outbound chatbots to customers via the inbox. ### Take over a conversation Agents can take over a conversation handled by the chatbot by heading to **Automations in the sidebar > Chatbots > Click on any conversation > Move to my inbox.** The chatbot will stop handling the conversation and It will be automatically assigned to the agent. Move Chatbots Pn ### Send outbound chatbot Agents can send outbound chatbots to customers on opened conversations or locked ones. To do: 1. Make sure your outbound chatbot is set as active on the [chatbots page](https://app.rasayel.io/automations/bots/) 2. Head to the conversation you wish to send the outbound chatbot to, and click on **Templates** in the composer 3. Search for your chatbot’s name, click on it, and then fill the required template variables. Chatbots 2 Pn 4. Press **Send**! # Nodes and actions Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-nodes Use this guide to understand the different nodes and actions available when building chatbot flows in Rasayel. Learn how to send messages, control flow logic, integrate with external tools like HubSpot, and handle user responses or fallbacks effectively. ### Messaging Messaging Pn * **Simple Message**: A standard text message that can include media. * **Interactive Message**: A message with up to three buttons or a list of up to ten items. * **WhatsApp Template**: A pre-approved message template. * **WhatsApp Flow**: A form for customers to fill in for data collection. * **Note**: Internal notes visible only to the team (e.g., “@Amr, this lead is qualified.”). * **User Reply**: Captures customer responses and saves them to flow variables or properties. ### Flow control Flow Pn * **Conditions** **-** Define branching logic based on tags, properties, and flow variables. * **Jump to Node** **-** Quickly redirect your chat flow to any node in the canvas. * **Delay** **-** Adds a pause (between 5 seconds and 12 hours) before the next step. * **Wait for Answer** **-** Holds the bot flow until the customer responds. ### Workflow actions Wrofklow Pn * **Open Conversation** **-** Opens the conversation and ends the bot flow. * **Solve Conversation** **-** Marks the conversation as resolved and ends the bot flow. * **API Call (HTTP Request)** \*\*- \*\*Allows integration with external systems. * **Tag Contact or Conversation** **-** Adds relevant labels for categorization. * **Assign to an Agent or Team** **-** Routes the conversation accordingly. ## Integrations Automate actions and decisions using integrations actions with your CRMs ### HubSpot actions HS Pn * **Assign HubSpot Owner** - Assigns the conversation to the contact’s associated HubSpot owner (company, deal, or ticket). * The HubSpot owner must be a teammate in Rasayel with the same email they use in HubSpot. * You can set a fallback user in case assignment fails or if no owner is assigned in HubSpot. * **Fallback**: Decide what happens if the owner assignment isn’t successful for any reason. * **Check Contact Existence** - Checks if the contact exists in HubSpot using their phone number. * **Fallback**: Decide what happens if the contact is not found in HubSpot. * **Check Contact Association** - Verifies if the contact has any linked associations (e.g., deals, companies). * You can choose which type of association to check—company, deal, or ticket. * Define how the flow should continue if there is only **one** associated object or **multiple**. * **Fallback**: Decide what happens if no association is found or if the contact isn’t linked to any object. * **Create Contact** - Creates a new contact in HubSpot for the customer. * **Fallback**: Define how the flow continues if the contact creation fails. * *Tip:* You can chain this with the ‘Note’ node to alert management and investigate what went wrong. * **Assign Association Owner** - Assigns the conversation to the HubSpot owner of the associated object. * Choose which type of association to check for ownership assignment—company, deal, or ticket. * If multiple associated objects exist, you can assign ownership based on the oldest or newest one. * **Fallback**: Decide what happens if the association’s owner is not found in Rasayel or if the contact isn’t linked to the association. * **Create Deal** - Creates a new HubSpot deal for the contact. * You can define the deal name using regular text, flow variables, or properties. * **Fallback**: Decide what happens if the deal creation fails. ### Ending a chatbot flow A bot flow must end with one of the following workflow actions: * **Assign to an Agent** * **Assign to a Team** * **Close/Open the Conversation** ## Fallbacks Control the flow of conversation when a fallback kicks in **Fallbacks handle cases where:** * A customer interacts outside the predefined flow. * A customer clicks buttons from previous messages. * A customer doesn’t respond within a specified time (15 minutes - 24 hours). **Fallback actions could include:** * Redirecting the conversation to an agent or team. * Opening or closing the conversation. * Adding contact or conversation tags. * Making an API call to an external system. ### Fallback types Node Levelfallback Pn **Global fallback (trigger node):** * **Default Fallback**: Applies to the entire chatbot flow. * Activates only if no node-level fallback is defined. * Ensures there's always a fallback mechanism, even if individual nodes don't have custom fallbacks. **Node-Level fallback (regular node):** * **Higher Priority**: These fallbacks apply to specific nodes within the chatbot flow. * They trigger when the user interaction deviates at that particular node. * If a node-level fallback is set, it overrides the trigger-level fallback. # Overview Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-overview Rasayel Chatbots help businesses automate WhatsApp conversations and engage with customers more efficiently. There are two types of chatbots: chatbots that respond when they receive a message (inbound) and chatbots that are sent to customers by businesses to initiate conversations using a template with a chatbot flow (outbound). ## Types of chatbots ### Inbound These chatbots engage with users when they receive a message. They guide users through automated workflows, helping businesses handle customer inquiries more efficiently. They can either reply to all messages on a specific channel or respond based on pre-defined trigger conditions. ### Outbound These chatbots are sent to customers by businesses to start a conversation. They follow pre-configured rules, making them ideal for sending special offers, reminders, and follow-ups. They always begin with a template message containing interactive elements such as buttons. # Chatbot errors Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-practices-errors There are multiple errors that will prevent your bot from being published. If you have any errors in your bot the **Set live** button will be grayed out and you will see the \*\*error menu \*\*next to the chatbot name. Errors Pn Clicking on the error will span your view to the affected node. **Example errors:** * **Empty response -** The message node has an empty body * **Missing flow ending message -** Your flow is missing one of the [flow-ending action nodes](https://www.notion.so/Automations-and-Chatbots-1adbc42c93ac80309c19d2176a09046c?pvs=21) * **Missing list name -** You have an interactive message that contains a list that hasn’t been named. ## Best practices * Keep bot messages clear and to the point—users prefer quick, easy-to-read responses. * Always set up fallbacks to handle exceptions and keep the flow going. * Leverage ‘Notes’ to notify you whenever the bot struggles to continue an action. * Test different versions of your bot using version tracking to see what works best. * Regularly review and refine your bot’s performance based on user interactions. # Support AI Source: https://docs.rasayel.io/en/automations/chatbots/chatbots-support-ai Rasayel’s AI Assistant optimized for customer support is available to use as a Chatbot node By providing your knowledge base to the AI Assistant, may that be your public documentation, help center articles, or any internal SOP documents, the AI Assistant is able to take control of the conversation and reply to your customers on your behalf. Naturally, like any customer support agent, the AI Assistant will ask clarifying questions if the customer’s inquiry is not clear enough. Whenever the AI Agent does not have enough knowledge to answer the question, it’ll hand over the conversation based on your setup. ### **Upload your knowledge base** 1. Go to [**Automations > AI Agents**](https://app.rasayel.io/automations/ai) 2. Click on **Add data source** and add your first data source You can ingest different types of knowledge data sources into Rasayel. Support Ai Pn ## **Supported knowledge sources** ### **URLs** You can add multiple URLs to Rasayel. **The URLs must be publicly accessible.** Follow these steps: 1. Click on **“Add”** 2. Fill in the URL to your data source 3. Add as many URLs as you need 4. Click on **“Create”** ### **Sitemaps** If your website has an XML sitemap, you can provide the sitemap URL to Rasayel, and Rasayel will automatically ingest all URLs present in the sitemap 1. Click on **“Sitemap”** 2. Fill in the **Sitemap URL** 3. Click on **“Create”** ### **Files** Rasayel also supports ingesting files as data sources. We support a variety of file types: * Markdown: `md` * Word Documents: `doc`, `docx` * Excel sheets: `csv`, `xlsx` * Text: `txt` * PDF: `pdf` To add your files: 1. Click on **“Files”** 2. Click on **“Click or drag files to upload”** 3. Select the files you want to upload 4. Allow some time for the files to finish uploading 5. Click on **“Create”** ### **URL Scraping** You can provide the entry point to your knowledge base/documentation to Rasayel and we will scrape all the sub-websites for you. URL Scraping will recursively scrape websites from the provided URL **up to a depth of 3.** **Note**: URL Scraping will not scrape any websites that lie outside of the provided domain, so make sure you provide the main entry point to your help center as the URL. **For example:** if you provide `https://example.com/help-center` to URL Scraping then the following website will be scraped `https://example.com/help-center/article` The following website **will not** be scraped `https://example.com/different-help-center` To scrape a website: 1. Click on **“URL Scraping”** 2. Fill in the URL Scraping entry point 3. Click on **“Create”** ## **Inspect your knowledge base** Once you add your knowledge source, it will be listed on the page in a **Training** state Support Ai 2 Pn Training knowledge sources can take some time, based on the size of the data. **It usually takes up to a few minutes.** If you are using a **Sitemap** or **URL Scraping,** you will be able to inspect which websites Rasayel has extracted out of your knowledge base Support Ai 3 Pn Each data source will be trained separately, and you will be able to inspect the state of each data. Once the knowledge source processes completely, it will enter a **Trained** state, at which, you will be able to know how many LLM Tokens we have consumed to train it. Support Ai 4 Pn ### Token limits Each data source that you add consumes LLM tokens to train, therefore, it can become expensive for Rasayel to maintain your data sources indefinitely. For this reason, Rasayel imposes a limit of **10 million tokens/month** for each workspace. The amount of tokens consumed by a data source depends on how big the source is. You can find the current limit consumption on the bottom left of your data sources screen. ## Retraining websites Naturally, your help center websites may change with time, at which case, you will be able to **“Retrain”** your data sources. Simply, click on **“Retrain”** next to the updated data source. If you Retrain a **Sitemap** or a **URL Scraping** data source, it will also retrain all sub-URLs under it. **Beware of token limits:** Every data source that you ingest consumes LLM tokens. Retraining data sources also count towards your token limit. So, be careful not to exhaust your token limit by retraining huge data sources. ## Deleting data sources If a data source is no longer relevant to your AI Assistant, you can delete it by clicking **“Delete”** ## Test your knowledge After adding your data sources, a good next step is to test the AI Assistant to see how it works with your data. This will help you identify missing knowledge from your knowledge base, allowing you to improve your knowledge incrementally. You can start testing your AI Assistant Knowledge by clicking on **“Test my AI”**, under which, a test screen will pop up, prompting you to chat with your AI Assistant. Support Ai Test Pn If you wish to start a brand new session with the AI Assistant, click **Clear** in the top right corner ## Setting Up Your AI Assistant The AI Assistant can be set up as part of any Chatbot flow. Within the right sidebar of the Chatbot Builder, you will find the Support AI node. Screenshot 2026 06 02 At 17 26 59 By default, the Support AI node contains three out-links: * **Query resolved:** when the AI Assistant determines that the contact’s question has been answered. * **Customer frustrated or AI can’t answer:** when the AI Assistant does not have enough knowledge to answer the conversation. * **AI Failed to respond (outage, error):** users can customize what happens when the Chatbot fails to generate a response Screenshot 2026 05 11 At 18 27 13 Bots node supports two types of configurations: **Basic** and **Advanced** In the **Basic** mode, you can configure different things separately like: Tone, Languages, Personality, Objective, and Instructions. In the **Advanced** mode, you can provide your own prompt. Image (141) (1) ## Quick Start Having the AI Assistant as a Chatbot node, allows you to create all kinds of automations that fit your workflow. But if you are unsure and want to get started quickly, here is how a very basic AI Assistant Chatbot setup can be: Support Ai Setup Pn In this setup, the AI Assistant will take over the conversation once a message is received. The AI Assistant will continue answering the contact until the query is resolved, or one of the handovers is fulfilled. If the query has been resolved, it will **Solve the conversation**, therefore, eliminating all noise from your inbox. If it cannot carry on with the conversation, it will **hand over the conversation to your team by opening it.** ## Failure Handovers For queries you prefer not to be handled by the AI Assistant, you can add those queries as **‘failure handovers’.** Failure handovers are scenarios that the AI will not handle if they occur. For example, you may not want the AI Assistant to handle any Sales or Billing related conversations, and instead, hand them to the corresponding team. You can add failure handovers on the node itself, handovers are defined by their ‘name’ and ‘description’. An example handover can be: * **Name:** Sales or Billing * **Description:** When the contact asks any questions about sales or has a problem with billing In this example, we use the **Sales or Billing** handover to assign the conversation to a specific agent whenever it is sales-related. Untitled ## Supported input types The Support AI can interpret and analyze images, documents, and voice notes, enabling richer and more effective assistance. Below is an example of how image-based support works. Image (138) (1) # Sequence analytics Source: https://docs.rasayel.io/en/automations/sequences/sequences-analytics To access analytics of a sequence, click on the preferred **Sequence > Analytics** * **Reply Rate** – Percentage of contacts who responded. * **Blocked Rate** – How often the template gets blocked. * **End Sequence Rate** – Percentage of contacts who completed the sequence. * **Contact Details -** Details of all contacts enrolled in a sequence with their phone numbers, entry dates, step contact exited the sequence at, content of that step, and reason for exist. * **Read Rate** – Percentage of contacts who read the messages. This depends on the recipient’s read receipt WhatsApp settings. If read receipts are disabled, Meta does not provide read status. Sequenceanalytics Pn # First sequence Source: https://docs.rasayel.io/en/automations/sequences/sequences-create Follow through this guide to create your very first sequence ## Creating a sequence 1. Navigate to [**Automations > Sequences**](https://app.rasayel.io/automations/sequences). 2. Click on **New Sequence**. 3. Enter a **sequence name** and select a **channel**. 4. Click **Create Sequence**. Sequences Create Pn ### Editing a sequence 1. Open a sequence from the list. 2. Pause the sequence that will be edited. 3. Add steps: * Add one or more templates. * Edit an existing template. * Add or delete a Delay. 4. Click **Publish** to apply the changes. ## Enrolling contacts Contacts can be enrolled in sequences either manually or via our APIs ### **Manually** Enroll contacts on a sequence from the composer Sequences Pn ### Via APIs By making a request to Rasayel’s API. You can find the details of the API call by opening the preferred **Sequence > Builder tab > Via the API.** ### Contacts can exit sequences in three ways: 1. Responding to a message in the sequence. 2. Completing all steps in the sequence. 3. An API call explicitly removing them from the sequence. ## Best practices * Use **personalized templates** to improve engagement. * Space out messages appropriately to **avoid spam**. * Regularly **analyze performance** and adjust sequences accordingly. * Use sequences to **reactivate dormant leads** with engaging and relevant follow-ups. # Sequences in your inbox Source: https://docs.rasayel.io/en/automations/sequences/sequences-inbox Control conversations assigned to sequences from your inbox ### View conversations assigned to Sequences All conversations enrolled in a sequence can be found under the **Inbox Sidebar > Sequences**. Sequencesinbox Pn You can take over any conversation if needed by clicking on the preferred **Conversation > Composer > Move to my inbox.** # Overview Source: https://docs.rasayel.io/en/automations/sequences/sequences-overview Sequences allow you to automate customer engagement by sending a structured series of WhatsApp template messages with scheduled intervals. This helps streamline follow-ups, reminders, and also reactivate dormant leads. ## Elements of a sequence * **WhatsApp Templates** – Pre-approved message templates sent at different stages. * **Delays** – Scheduled time gaps between messages. * **Entry points** – How contacts are enrolled (manually or via API). * **Exit rules** – Conditions that stop a sequence for a contact (e.g., reply, block, API call). Controlsequence Pn # Analytics and reports Source: https://docs.rasayel.io/en/campaigns/analytics-reports Campaign reports give a breakdown of the campaign on a more granular level. You can see the total number of contacts in the campaign, how many are still to be sent a message, how many are retrying, how many have succeeded, etc.Analyticsandreports Pn ### Reading reports You can also see individual statistics for every message. If they have failed, we will attempt to tell you why they have failed when you hover over their failure status. To access details of the campaign, just click on See Report next to the campaign.Readingreports Pn ### Exporting reports You can export your report whenever you want—simply click **Export report** on the Campaign Report page. If the report is ready, we will automatically download it to your machine. If not, we’ll generate the export and let you know when it’s ready via an email and a popup notification in the app (Desktop only). # Creating a campaign Source: https://docs.rasayel.io/en/campaigns/campaign-creation A campaign is a method of sending bulk messages to your customers from Rasayel. It is a great way for sending newsletters, re-engaging a certain segment of your leads, or just announcing a new product feature.Creatinga Campaign Pn ### Settings 1. From the Campaigns page, click on New campaign. 2. Pick the WhatsApp number and give the campaign a meaningful name so that you can find it again later. 3. Define advanced settings that can alter the behavior of the campaign. * **Trigger existing chatbots on reply -** When this is disabled, if you have any live bots, they will not engage with users on the user’s first reply after the campaign was sent. * **Assign to a specific owner -** If you have the HubSpot integration installed, you will see this option. This allows you to assign conversations to the relevant owners in HubSpot or to a specific owner when the targeted users reply to the conversation. * **Assign to a specific team -** With this option, you can assign a conversation to a specific team when a user replies to a campaign message ### Audience To define your campaign audience, you can either import a CSV file or apply contact filters. For CSV imports, upload a file that includes phone numbers with country codes. **The file may only contain the following three columns: “email”, “name”, and “phone”.** To upload your file, click **Upload** **CSV** and select the file from your device. Campaigns Audience Pn Alternatively, target specific groups by using contact filters. Click on **Contact Filters** to refine your audience. **Available filters include:** * standard and custom properties * tags * contact creation date * HubSpot contact import lists You can combine different filters to ensure that you are targeting the correct users. For tags, you can target an audience with or without this tag. The same goes for HubSpot contact imports. Import1 Pn With properties, you have the following options: Import2 Pn Additionally, you have filtering options related to contact creation date: Import3 Pn When defining your audience, you will notice that each user has an **Exclude** button next to their name. You can manually exclude each of these users by clicking this button. ### Message Campaigns can only be sent with one of your pre-approved templates. 1. Choose a template from a list (or create a new one), then click on Use selected template. 2. Fill in the text variables and upload files to the media header, if needed. If the template has text variables, you can: * Fill the variable directly, which will be applied in the same manner to every message sent. * Replaces variables automatically with Rasayel properties (e.g. "user display name"). In this case, you will be prompted to fill in a **fallback** value (e.g., “dear customer”). This fallback will be used if the user does **not** have this property value filled in. ### Sending a chatbot via a campaign On this step, you can also choose to send a chatbot as part of the campaign. To do this, select **Chatbot flows** instead of Simple template. This will allow you to pick any of your proactive bots. ### Publishing a campaign Once a campaign is published, Rasayel will begin sending messages to the users gradually. Rasayel implements a queueing system to ensure that campaigns do not send too many messages in one go, which can impact number ratings and system health. **Important:** Once a campaign has been published, Rasayel will immediately begin sending messages and queueing others for send. Please be certain before publishing your campaign. # Campaign states Source: https://docs.rasayel.io/en/campaigns/campaign-states Campaigns and messages in campaigns can go through a series of **states** as the campaign goes on. These states represent the current status of the campaign to give you better insight. ### What are the states that a campaign can go through? * **In progress state:** * **Queued** - This state indicates the campaign has been queued for send; it will begin sending shortly. * **Sending** - This state indicates the campaign has begun sending messages. The campaign will stay in this state for up to 3 days, depending on the size of the campaign (and whether issues are experienced, as explained further down) * **Success state:** * **Completed** - The campaign was sent; this state indicates that at least one of the messages sent was successfully delivered. * **Failure state:** * **Failed** - None of the messages for the campaign were successfully delivered. ### What are the states that each message can go through within a campaign? * **In progress states:** * **Sending** - The message is currently being sent. This does not indicate success. * **Queued** - The message is queued for sending. It can stay in this state for some hours as the system progresses through the queue. * **Retrying** - An error was encountered when attempting to send a message. We will retry up to 3 times, at which point we will mark it as failed. * We retry quickly whenever we see a transient error from WhatsApp, indicating an issue with WhatsApp. * We retry in 12 hours if we see issues with WhatsApp messaging limits. * **Success states:** * **Sent** - The message was sent to the contact, but we have not been told if it has arrived on their device or not. * **Delivered** - The message was delivered to the contact, and it has arrived on their device. * **Read** - The contact has read the message (Note: if the user has disabled Read Receipts on WhatsApp, we will never get this state). * **Responded** - The contact has replied to the campaign message. * **Failure states:** * **Failed** (generic) -> Something has gone wrong, and we’re not sure exactly what. We retry up to 3 times to attempt to avoid this. * **Invalid contact** -> The contact was not a valid WhatsApp user. * **Blocked or spam** - The contact has either blocked or reported you as spam, or you have reached your WhatsApp messaging limits. # Costs Source: https://docs.rasayel.io/en/campaigns/costs ### Rasayel Rasayel does not charge additional fees for campaigns. Campaigns are part of all our pricing plans. [Learn more.](https://www.rasayel.io/pricing) ### WhatsApp costs WhatsApp charges per message based on several factors, such as the end user's country code or template message category. You can find WhatsApp pricing [here](https://developers.facebook.com/docs/whatsapp/pricing/#rates). Rasayel does not cover these fees. # Guardrails & sending limits Source: https://docs.rasayel.io/en/campaigns/limitations ### Rasayel limits There is a limit of 10,000 users per campaign. We will prevent you from sending a campaign to more than this number of users. ### WhatsApp limits WhatsApp has messaging limits for each tier your number is on. Business phone numbers are initially limited to 250 business-initiated conversations in a 24-hour moving period, but this limit can be increased to an unlimited number of messages. You can read more about [this here](https://developers.facebook.com/docs/whatsapp/messaging-limits/). Rasayel, for its part, attempts to work around this by retrying messages that hit these limits 12 hours after the limits are hit. ### Impact on the number rating When sending mass messages like this, you need to make sure of the following points: 1. The numbers you are sending to are actually valid WhatsApp accounts. If you send messages to invalid WhatsApp accounts (numbers that aren't on WhatsApp), Meta views this unfavorably and can reduce your number rating 2. If your contacts do not opt in or report your messages as spam, Meta will reduce your number rating. # Changelog Source: https://docs.rasayel.io/en/changelog Latest updates and improvements to Rasayel ### Added - Automated HubSpot property updates You can now select and automatically set specific HubSpot properties—such as “Created from Rasayel”, “Phone Number”, and more. These properties can be updated whenever: * A new HubSpot contact is created from Rasayel * A message is received from a contact * A message is sent to a contact ### Added - Support for multi-language Authentication templates Authentication templates now support multiple languages. Previously available only in English, you can now create and send them in different languages to better match your audience. ### Added - Zoho integration activity logging You can now control whether Rasayel logs conversations and messages as notes in Zoho. A new toggle in the integration settings lets you turn activity logging on or off. When it’s off, Rasayel will stop pushing messages to related Zoho entities like leads, contacts, or deals, giving you more control and helping reduce noise. ### Added - Scheduled campaigns You can now schedule campaigns to be sent at a specific date and time instead of publishing them immediately. At the final step of campaign creation, you’ll see two options: **Publish now** or **Schedule for later**. Scheduled campaigns appear with a “Scheduled” tag and can be easily found using the new "Scheduled" sidebar filter. You can reschedule, cancel, or republish them at any time. ### Added - New reporting experience We’ve rolled out major improvements to reporting to help you better track performance and KPIs: * Reworked key queries to account for off-hours and away times * Added new metrics for deeper insights and better visibility * Included raw data so you can verify how each metric is calculated Reporting Pn ### Added - Manual entry for template variable examples You can now manually add variable examples while creating WhatsApp templates if the AI fails to generate them. If the AI doesn’t generate examples, a table will appear in the submission form where you can fill them in yourself and resubmit. This helps you avoid rejections by Meta because of the absence of examples. ### Added - Editable titles for CTA URL buttons You can now set custom titles for CTA URL buttons instead of relying on the auto-generated page title. This gives you more control over how your CTAs appear. You can use clearer, action-driven labels that fit your message. To try it, just click the edit button next to the title after adding the CTA. ### Added - HubSpot integration on the mobile app You can now access HubSpot contact details directly from the mobile app. If a match is found, HubSpot properties will appear on the contact screen. You can also open the contact in HubSpot, unlink it, or manually link it if no match is found. This closes the gap between desktop and mobile, so you no longer need to switch to the web app to view or manage HubSpot data. HubSpot integration ### Added - Import CSV as campaign audience You can now import a CSV file as a campaign audience instead of using filters to target the right audience. When creating a campaign, you can choose between Contact filters and CSV file. The upload process handles errors and runs in the background. Once done, your campaign is sent to the contacts in the CSV file. This makes for faster and easier\ targeting. Import CSV ### Added - Pipedrive property syncing We've added Pipedrive property syncing to make it easier for you to keep your data aligned and get more value from both platforms. You can now sync person fields from Pipedrive directly with Rasayel contact properties by going to the integration pages and clicking on Pipedrive. Pipedrive property syncing ### Added - Flow builder We've added a flow builder to Rasayel so that you can now create and customize your own WhatsApp flows directly from the platform. Once you've built and published a flow, you can attach it to a template and start using it right away. To get started, visit the Flow Page and click the Create Flow button. After selecting the flow's name, category, channel, and emoji, you'll be redirected to the flow builder, where you can design your flow using various components. Currently, we only support single-screen flows. Flow builder ### Added - Monitoring dashboard We've added a monitoring dashboard for the Rasayel inbox to help you with inbox management. It provides a clearer view of conversation statuses and agent performance. You can use it to keep track of both your inboxes and agent activity. You can access the monitoring dashboard through the inboxes navigation bar. Monitoring dashboard ### Added - New mobile app A fresh new mobile experience is here. We've rebuilt the app with an all-new UI to make it faster and easier to use. * Completely redesigned dashboard for improved usability * Added customizable widgets for your most important metrics * Enhanced mobile responsiveness across all pages ### Added - HubSpot bot nodes We've added new HubSpot bot nodes to increase data integration between Rasayel and HubSpot and to simplify using HubSpot within Rasayel: * **HubSpot contact exists:** Check if a contact already exists in HubSpot. * \*\*HubSpot create contact: \*\*Creates a new HubSpot contact directly from Rasayel. You can use this node with the first node to create a contact only if it doesn't already exist. * **HubSpot contact has association:** Check if the HubSpot contact is linked to a Company, Deal, or Ticket. * **HubSpot assign association owner:** Automatically assign the conversation based on the owner of a contact association in HubSpot (e.g., assign to the deal owner). HubSpot nodes ### Added - Unanswered inbox We've introduced a new Unanswered inbox to help agents prioritize conversations that are waiting for a reply. This default inbox shows all conversations where the last message is inbound, meaning they're still unanswered and require agent attention. You can also use the "Show only unanswered" toggle on any inbox or view, and we've updated the "Waiting longest" sort to hide conversations that have already been answered, reducing noise and helping agents stay on track. Unanswered inbox ### Added - See conversation access visibility We've added an option to help you see which teams—and how many members or roles—have access to a conversation. This gives you more clarity when assigning conversations to specific agents, as you can see right away who can view and handle the conversation. Access visibility ### Added - Idle inbox We've added a new idle inbox to gather all inactive conversations in one place. Admins can set an idle threshold in their Workspace settings to define when a conversation is considered inactive. Once set, conversations that haven't received any inbound or outbound messages beyond that threshold will appear in a new idle inbox. This will make it easier to spot conversations that require action, like those with stale leads, forgotten chats, or unclosed issues. It'll also give you a tidier inbox. Idle inbox ### Added - Search by company name or domain We've added the ability to search by company name or domain to help you quickly find conversations related to specific companies. This feature allows you to locate contacts based on the company they belong to, making your workflow smoother and improving customer management. ### Added - Flows We've made several updates to improve how you manage and interact with flows in Rasayel. Previously, flow management wasn't fully integrated into the app, forcing users to switch between Rasayel and Meta. With these updates, along with the upcoming flow builder, we aim to reduce or eliminate the need to leave Rasayel to configure anything related to flows, offering a smoother experience. Flows **Flow listing**\ We've added a new Flow Listing page under the WhatsApp section in settings. This page lists all the flows synced from Meta directly into Rasayel, providing quick details like response count, creation date, and flow state. You can also deprecate or publish flows directly from this page. **Flow page (metrics/responses)**\ Clicking on a flow card will take you to the Flow Page, where you can view key metrics like sent and response counts. You'll also find detailed information on the number of templates and bots that use this flow. Additionally, you can see a table with all responses received for the flow, making it easier to track and manage them. Flowmetrics2 Pn **Exporting flow responses**\ On the Flow Page, you can now export all responses for a specific flow in CSV or JSON formats. This works just like our new export system, and you'll be able to track the export's status under the Recent Exports section in the workspace settings. Export flow ### Added - Unassigned inbox: toggle between Agent Unassigned and Team Unassigned We've added two modes to the unassigned inbox for more flexibility: * Show conversations that aren't assigned to an agent (default mode) * Show conversations that aren't assigned to a team The mode you select is saved, so you won't have to toggle it each time you access the Unassigned Inbox. This makes it easier to manage conversations and ensures you can always focus on the most relevant ones. ### Added - Agents activation: detect email domain when joining We've improved the agent activation process by detecting if a workspace already exists for an email domain once the agent confirms their email address. Sometimes agents accidentally create a new workspace when their team already has one, causing them to end up in a separate workspace. To solve this, when we detect a domain-matched workspace, we display a "Request Access" button. This lets the agent ask to join the existing workspace or create a new one if needed. Once the agent requests to join, all users in the requested workspace receive an email notification. The agent is then notified once their request is accepted or rejected, keeping everyone in the loop. Access request ### Added - Disabling quick templates We've added the option to turn off quick templates. Some users requested the ability to disable this feature, as they didn't want quick templates to be used by their team. This update gives you more control over how templates are utilized, ensuring they work with your team's needs. Disable quick replies ### Added - Team assignments in campaigns We've added the ability to assign campaigns to specific teams. This update gives you more flexibility in customizing how assignments work within campaigns, ensuring the right teams are always in charge of the right tasks and improving overall workflow efficiency. Campaign assignments ### Added - Better formatting for HubSpot activity logging We've improved the formatting of HubSpot activity logging to provide a more consistent and richer experience. We've also unified the formatting between HubSpot and Salesforce, making it easier to work across both platforms with a consistent look and feel. ### Added - Fetch company domain by name We've made it easier for you to find a company's website by automatically fetching the domain as soon as you type the company's name. If you know the company is called "Rasayel" but can't remember whether it's "rasayel.com" or "rasayel.io," we've got you covered. This feature automatically provides the correct domain, saving you time and reducing the chance of errors. ### Added - Emoji reactions on messages You can now react to any message with emojis. Just hover and click to add the emoji you want. If a teammate has already reacted, you can remove or add your own. If a customer adds an emoji, you can quickly respond with the same. You can also hover over any emoji to see who reacted. A quick, expressive way to keep conversations flowing without typing a word. Emojis on messages ### Added - Template filters by All/Mine We've introduced new filters to message templates so that each team member can access the templates they created easily. The filters include "All", which shows all the templates created by all team members, and "Mine", which shows the templates created by the team member only. The new template filters make the template selection process easier, saving time and ensuring a more organized, clutter-free experience. Template filters - all Template filters - mine ### Added - Rounded counts for high-volume conversations Counts are now rounded when they exceed one thousand. You'll see formats like "n.nK" for thousands and "nM" for millions so that large conversation volumes are easier to read at a glance. This update improves usability, reduces visual clutter, and helps you focus on what matters most without getting lost in overwhelming numbers. Conversation counts ### Removed - Autoreplies We've removed this feature to make room for chatbots, which offer a more efficient and advanced way to automate responses. The functionality of autoreplies can now be easily replicated within a chatbot, making it no longer needed as a separate feature. ### Added - Exports We've rebuilt our exports system to give you more flexibility, visibility, and control. Exports are now supported in both JSON and CSV formats, and you can download them directly from the UI. You can also cancel ongoing exports and see who's generating them for better visibility. Plus, exports now self-heal if they get stuck and are automatically cleaned up after 36 hours. Exports ### Added - Assigned unread counts We've added unread conversation counts for each agent so that agents can quickly see how many unread messages are assigned to them. This makes it easier to track which conversations still need attention at a glance, helping agents stay on top of their workload without dropping conversations. ### Added - Companies We're excited to introduce the companies feature, designed to help you segment and manage the customers you're talking to. With this feature, you can create companies and enroll contacts under them. When a company is created, we automatically attach the company's logo, domain, and name—if a match is found in the database we use. A new app setting also allows you to display company logos and tags in the conversation list, making it easy to identify contacts at a glance. Plus, you can filter by companies across campaigns, contacts, conversations, and views, giving agents the tools they need to quickly segment, identify, and engage with the right customers. Company logos ### Added - Quick templates We've introduced quick templates to help you with your customer follow-ups and outreach. With this feature, you can send pre-defined templates for Follow-up and Reach Out directly from the message composer. These templates are perfect for re-engaging with customers after their conversations have expired, saving you time while ensuring consistent communication. Quick templates ### Added - Calendly integration You can now connect your Calendly account to Rasayel and send scheduling links straight from the composer. This is a personal integration, meaning each team member can connect their own Calendly account, and it'll only be available to them. You can connect Calendly to Rasayel under Personal Integration on your profile view page. The Calendly icon will appear automatically in your composer, and you can click on it to see your available Calendly slots. Once you select a slot, it'll be added as a CTA URL in your message. Calendly integration ### Added - CTA URL interactive messages We've made it easier to share links in conversations. Now, when you paste a URL in the composer, you'll see two options: * Keep as link – The link remains as it is in your message. * Add as button – The link gets converted into a CTA button attached to the message. We automatically remove the link from the composer, fetch the link title, and use it as the button label. We also save your recently used buttons for easy reuse via the "Add Recent Button" menu. ### Added - Mixed buttons in templates You can now create templates with up to 10 buttons of mixed types, giving you more flexibility in customer interactions. You can combine quick replies, phone numbers, and URLs within the same template to better suit your communication needs. This update allows you to customize your templates with more flexibility, making it easier to guide customers towards the next step. Mixed template buttons ### Added - HubSpot workflow assigning to specific team/user When sending a proactive template message using HubSpot, you can now assign the conversation to a specific team or user. This update replaces the previously limited options (Do not change or Assign to contact owner), giving you better control over conversation management and ensuring the right teams or users handle each interaction. ### Added - Clearer UX for pending and suspended users + invite link We've made it easier for you to identify pending and suspended users by adding clear tags to the user table. You can now take actions on pending users directly in the table and instantly copy the invite link we provide, without waiting for the email to arrive. These updates improve user management and help you save time. Clearer UX for pending and suspended users ### Added - Signatures We've introduced the ability for team members to automatically include their signatures in every outbound message sent through the composer. Signatures can include essential details like the sender's name, role, and contact information, ensuring a professional and personal touch in all communications. This update helps maintain consistent branding while saving time for your team, especially in high-volume conversations. Signatures ### Added - Unassigned inbox We've introduced this update to make it easier for you to track conversations that haven't been assigned to an agent yet. You can now view all unassigned conversations in one place, along with their count, allowing you to quickly identify and assign them to the appropriate team member for follow-up. Unassigned inbox ### Added - Primary teams for each user We've added the option to assign a primary team to each user. If the 'Assign' option for a team is enabled, you can now designate a primary team for each user, improving workflow and ensuring the right teams are associated with the right users from the start. This feature helps with better organization and more efficient team management. ### Added - Property syncing between HubSpot and Rasayel We've expanded property syncing to give you more flexibility between HubSpot and Rasayel. Now, you can sync any properties you need, beyond just company, owner, and stage, making it easier to keep all your customer data aligned across both platforms. This update ensures your teams have consistent and up-to-date information, giving you a smoother workflow and more efficiency. Property syncing ### Added - Emoji reactions on notes We've introduced emoji reactions for notes, making it easier for your team to communicate and provide quick feedback. By hovering over any note, you can add an emoji reaction that's visible only to your team members. This keeps internal conversations organized without affecting your customer interactions and helps your team stay connected. Emojis on notes # Companies Source: https://docs.rasayel.io/en/contacts/contacts-companies Company property in Rasayel helps you link conversations to accounts/companies. At a quick glance, you can easily identify the conversation belongs to which company and easily organize and scale sales to business and not just people. C1 Pn You may also add a new company by selecting **add company**. Start by typing in the name of the company and the domain will be fetched automatically. You may edit the domain if you’re looking for another one, or if it doesn’t align with the company name you are looking for. C2 Pn You may also search by company name by typing the company’s name in the **Search Contacts** in search bar above conversations. C3 Pn # Create a new contact Source: https://docs.rasayel.io/en/contacts/contacts-create When a new user contacts you on Rasayel, their number will be automatically saved as a new contact. You can also easily create a contact from the (**+**) icon on the contacts page. You will need to fill in their contact name and contact phone and, if available, their email as well. 1 Pn # Filtering Source: https://docs.rasayel.io/en/contacts/contacts-filtering To filter contacts in Rasayel, go to the contacts page and click on **Filters** to see all the available filters. You can also create your own properties and filter using these. 4 Pn You can select multiple filters and customize your search results based on your preferences. By tapping **ALL** or **ANY** filters, you can control whether you want to view results that match all of the selected filters or any of them. 5 Pn You may also add a column in your all contacts page, using one of the Properties 6 Pn You can also search for a contact from the contact page using the search-bar in the top right corner. You can type in the user’s phone number, email or display name. You can even look up your customer using their tag in Rasayel. 7 Pn # Importing Source: https://docs.rasayel.io/en/contacts/contacts-import You can bring contacts in Rasayel and engage with customers in a few minutes through contacts upload. We support contact upload through CSV spreadsheets as well as contact sync through your CRM. To import contacts through CSV spreadsheets: head to **Contacts> top right corner > import > from CSV > upload CSV file.** You will find a sample of the CSV file accepted in Rasayel. You can easily download this one for reference. **Note:** Each CSV upload can contain up to 5k contacts. 2 Pn At the moment, we support HubSpot CRM contact list sync. You should be able to load HubSpot contact lists in Rasayel and select them in contact upload. You can find below the steps to upload contacts from HubSpot in Rasayel. ### Import HubSpot contact lists You can import HubSpot contact lists directly to Rasayel To import a HubSpot list: 1. Prepare the contact list on HubSpot. 2. In Rasayel, head to [**Contacts**](https://app.rasayel.io/contacts) **> Top right corner > Import > from HubSpot.** 3. Choose your contact list. * If your list isn’t showing, try pressing **Reload HubSpot Lists**. 4. Press **Continue**. **Note**: Contacts’ phone numbers **must** include valid phone numbers with the international code; otherwise, they will not be imported. 3 Pn # Overview Source: https://docs.rasayel.io/en/contacts/contacts-overview Managing customer information in Rasayel is an easy process and starts in one centralized place. Through the **Contacts** page in Rasayel, you will be able to effectively access and manage all your customer data with different options for upload. # Profile Source: https://docs.rasayel.io/en/contacts/contacts-profile A contact’s profile in Rasayel will show you all relevant information about this contact at a quick glance, such as contact properties (phone number, email address, user display name etc.). You may also add your own custom properties to this list such as LinkedIn profile, company website, country, or owner. Moreover, you can view on the contact’s sidebar, your CRM contact cards such as HubSpot, Zoho and Pipedrive. These CRM contact cards will help you identify relevant information stored in your CRM. 8 Pn # Properties Source: https://docs.rasayel.io/en/contacts/contacts-properties Properties allow you to attach useful information to your customers’ contact profiles in Rasayel. You can think of them like columns in a spreadsheet; each property or cell holds a specific piece of information about your customer. Some properties are added automatically - when a customer messages you for the first time, for instance: a contact’s WhatsApp display name and phone number. You can add any properties you’d like to a user. It can be email address, customer's real name, their LinkedIn profile, etc. 9 Pn ### Create a new property To create a new property, follow these steps: 1. Go to your **Settings**. 2. Click on **Properties.** 3. Click on **Create Property.** 4. Type property name (For example, country), property’s description and type (Text, Date, Number, Checkbox). 5. Click on **Save Property.** 10 Pn You can also sync properties between HubSpot and Rasayel ([guide](https://docs.rasayel.io/en/integrations/hubspot/hubspot-property-syncing)) as well as between Pipedrive and Rasayel ([guide](https://docs.rasayel.io/en/integrations/pipedrive/pipedrive-property-syncing)). ### Add a property to a specific contact A customer’s properties appear on the right sidebar (contact’s sidebar), under **Contact icon**. Follow the steps below to add a property for a contact. 1. Go to your **Inbox**. 2. Select any **customer conversation**. 3. On the right side of the conversation, click on **Contact details (customer icon).** 4. Click on **Pencil Icon** **(customize sidebar).** 5. Click on **Contact Properties > pencil icon** 6. Click on **Add Property.** 11 Pn How to add a property: