# 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:
* **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.
**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
### 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**.
### **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.
## 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.
# 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.
### 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.
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
* **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
* **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
* **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
* **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
**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.
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.
## **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
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
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.
### 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.
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.
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
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.
## 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:
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.
## 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.
# 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.
# 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**.
### 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
### 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**.
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).
# 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.
### 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.
### 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.
### 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.
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.
With properties, you have the following options:
Additionally, you have filtering options related to contact creation date:
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
### 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.
### 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.
### 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.
### 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.
### 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.
### 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).
### 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.
### 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.
### 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.
### 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.
**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.
**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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
### 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.
# 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.
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.
You may also search by company name by typing the company’s name in the **Search Contacts** in search bar above conversations.
# 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.
# 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.
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.
You may also add a column in your all contacts page, using one of the Properties
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.
# 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.
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.
# 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.
# 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.
### 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.**
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.**
How to add a property:
# Tags
Source: https://docs.rasayel.io/en/contacts/contacts-tags
In Rasayel, there are two types of tags: **contact** and **conversation** tags. They serve different purposes and apply to different levels of the customer interaction:
Contact tags are labels applied to a **person (contact),** and they are used to categorize or segment customers based on long-term attributes. For example: **industry or region** (Retail, KSA) or **source** (webinar, social media). This tag is persistent across all conversations with this customer.
With Rasayel user tags you can, for example, tag VIP customers or users interested in specific products. You can tag users right in the conversation as in the screenshot above. To tag a user just click **Tag contact** in the contact details section. Then, select one or multiple tags from the drop-down menu.
You can also create a new tag right away. Just type the name of the tag and click **Create new tag** and select a color for your new tag.
Tags can be managed from settings as well
* To add new tags, navigate to **Tags** on your Rasayel dashboard and press **Add tag**.
* Type the name of the new tag.
* Select a color for your new tag.
* Provide tag description
* Click **Save.**
This also applies to conversation tags.
### **Conversation tags**
Conversation tags are labels applied to a specific conversation (thread). They are used to describe the context or purpose of a particular interaction with a customer. For example: **follow-up,** or **tracking escalations or handovers.** These are tied to only that single conversation and not the entire contact.
To tag a conversation just click the \*\*Add a tag \*\*icon at the top of your conversation. Then, select one or multiple tags from the drop-down menu.
You can also create a new tag right away. To create a new tag, just type the tag's name, click **Create new tag,** and pick the tag’s color.
# Assignments
Source: https://docs.rasayel.io/en/inbox/assignments
You can use the assignment feature to ensure the right person and team handles a conversation. A conversation can be assigned to a team member, a team, or both at the same time. It can also be unassigned. The assignment of a conversation appears on the top right side of your inbox.
Depending on the team members role and permissions, they can manage the assignments.
You can manually or automatically assign a conversation to a certain team member or to a team.
### Manual assignment
To change the assignment of a conversation to a specific person or team, follow these steps:
1. Select the conversation you want to change the assignment for.
2. Click on the assignment button on the top right side.
3. A drop-down menu appears. Select a teammate or a team you want to assign the conversation to.
**Important:** Sending a reply to an unassigned conversation will assign it to the sender automatically.
### Automatic assignment rule
You can create rules to automatically assign conversations based on specific conditions. Here’s how to do it:
1. Go to **Settings**.
2. Click **Inbox Rules**.
3. Click **New Rule**.
4. Name your rule (e.g., "Assignment Rule").
5. Under **When**, select "A customer starts a new conversation".
6. Under **If**, click **+ Condition** and set criteria (e.g., phone number starting with 97).
7. Under **Then**, click **+ Action** and define the assignment (e.g., assign to a specific team).
8. Click **Save**.
It is also possible to use chatbots to assign conversations automatically to one or multiple agents as well as to teams. Learn more about chatbots here.
### HubSpot ownership conversation assignment
If your workspace is integrated with HubSpot, you can automatically assign new conversations to the correct owners in HubSpot. Additionally, you can configure ownership based on **Inbound** and **Outbound** messages to ensure efficient routing of customer inquiries. More about it here.
# Conversation states and follow-ups
Source: https://docs.rasayel.io/en/inbox/conversation
## Conversation states
A conversation can be **open** or **solved**. Solving a conversation indicates resolution but keeps the history, and you can reopen it if necessary.
Once you finish a conversation with a customer and their problem is sorted, you can just click on the **Solve** button in the top right corner. It will move this conversation to the **Solved** folder. If a customer sends you a new message, this conversation will be reopened.
## Waiting for follow-up
If you are not ready to close a conversation but want to reach out to the customer later, you can set it to "Waiting for Follow-Up." This will move the conversation to the follow-up view until the chosen follow-up time.
## Reminders
Unlike the \*\*Waiting for follow-up \*\*feature, the reminder won’t make the conversation disappear from your inbox. It just sends you a notification at the specific time you choose.
## Team collaboration
Rasayel is built to be a collaborative communication product for the whole team.
The key collaboration features include:
* **Real-time** events and updates
* **Typing indicators** to show when one or more team members are typing in the same conversation
* **Internal notes** for private team discussions
* **Mentions** to notify specific team members in internal notes
### Notes
Team members can leave internal notes within a conversation. These notes appear in yellow and are never visible to customers. You can also include voice recordings or media attachments in internal notes.
### Mentions
A team member can mention one or more team members in an internal note. The mentioned team member will be able to check new or access existing mentions using the Activities inbox.
When you mention another team member, the mentioned team member will get a notification both on desktop and mobile (if they enabled their personal notifications).
# Features and controls
Source: https://docs.rasayel.io/en/inbox/overview
## Overview
The Rasayel inbox helps your team manage customer conversations efficiently. It provides a workspace where your team can send and receive WhatsApp messages, organize and filter conversations, collaborate, change conversation ownership, open or close conversations, and much more.
## Composer
The composer is where you draft your messages or internal notes before sending them. It offers a variety of actions to customize and enhance communication.
**Here is what you can do within the composer:**
* Send a text message
* Attach and send an image, video, or document
* Record and send a voice message
* Select and send an emoji or GIF
* Select, customize, and send a WhatsApp message template
* Send a proactive bot flow
* Select and send a WhatsApp Flow
* Select and send a saved reply
* Enroll a customer in a Sequence
* Send an internal note and mention a team member
* Use the AI button to improve your message before sending
* Create a template
* Use Quick Templates
## Conversation list
The conversation list is the second wide left sidebar in the inbox view. It allows your team to browse and select conversations they have access to based on their permissions.
## Filtering
You can filter conversations by:
* Conversation properties (e.g., assignee, tag, open/closed status)
* Contact properties (e.g., phone number including a certain country code)
You can combine multiple filters to display specific sets of conversations.
## Sorting
You can sort conversations by various parameters to prioritize tasks.
The parameters include:
* Recently active
* First opened
* Last opened
* Unread first
* Waiting longest
## Default inboxes
An Inbox is a unit of organisation that groups conversations in one place. Rasayel comes with a set of default inboxes. Each inbox will show you a different grouping of conversations. You can select any inbox that you see available to you in the Inbox sidebar.
The default inboxes include:
* **All Conversations** → View all open conversations
* **Assigned to Me** → Conversations assigned to you
* **Activities** → Reminders and mentions
* **New Conversations** → Conversations that have not received a response from your team
* **Unassigned** → Conversations that are not assigned to a team or team member
* **Idle** → Conversations with no activity for a specific amount of time (configurable in [Settings > Workspace](https://app.rasayel.io/settings/workspace))
* **Chatbot** → Conversations controlled by a chatbot
* **Sequences** → Conversations with active Sequences
* **Campaigns** → Conversations created by a campaign message that have not received a reply
# Saved replies
Source: https://docs.rasayel.io/en/inbox/saved-replies
Saved Replies in Rasayel are pre-written responses that you can quickly insert into conversations. They help you save time and increase consistency in communication, especially when dealing with common queries or frequently given information.
Saved replies are an internal Rasayel feature, so they work independently of Meta’s regulations. There’s no need to wait for approval before using them.
### **How to use saved replies**
To use a saved reply, simply click on the **saved replies** icon in the inbox composer or type “/” to trigger the insert function. A searchable list of your pre-written responses will appear, allowing you to quickly find and insert the appropriate reply without typing it out each time.
### **Managing saved replies**
Creating and organizing your saved replies is straightforward:
* Navigate to the **Saved replies** section in the Settings menu.
* Click to create a new reply, type out your message, and assign a clear name to it.
* Organize your replies into folders for different categories or use cases to make it easier to find the right response during a conversation.
# Team collaboration
Source: https://docs.rasayel.io/en/inbox/team-collaboration
Rasayel is built to be a collaborative communication product for the whole team.
The key collaboration features include:
* **Real-time** events and updates
* **Typing indicators** to show when one or more team members are typing in the same conversation
* **Internal notes** for private team discussions
* **Mentions** to notify specific team members in internal notes
### Notes
Team members can leave internal notes within a conversation. These notes appear in yellow and are never visible to customers. You can also include voice recordings or media attachments in internal notes.
To activate note mode, you can either use the toggle switch in the bottom right corner of the composer or use the shortcut (**N**) when the composer is inactive.
### Mentions
A team member can mention one or more team members in an internal note. The mentioned team member will be able to check new or access existing mentions using the Activities inbox.
When you mention another team member, the mentioned team member will get a notification both on desktop and mobile (if they enabled their personal notifications).
# Activity logging
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-activity-logging
Rasayel’s activity logging feature ensures that all WhatsApp interactions are recorded in the HubSpot contact’s timeline. Logs are created **every 3 hours**.
### What’s logged?
* Text messages exchanged between your teammates and the contact.
* Names of the teammate(s) and the contact involved.
* Date and time of each message.
* Conversation status updates, including when a conversation is opened, closed, or assigned to a team member.
### How logs are created
* When a conversation starts, a log is generated **3 hours later**, summarizing all activities within that period.
* New logs are created every 3 hours, capturing the latest interactions.
* If no messages or activities occur within a 3-hour window, no log is generated.
### Viewing activity logs in HubSpot
To see WhatsApp activity logs for a contact in HubSpot:
1. Open the **HubSpot Contact Page**.
2. Click **Activities** → **Filter activity** dropdown.
3. Check the **WhatsApp for Sales** box.
4. Click outside the dropdown to apply filters and view the list of logs.
5. Click on a specific log to expand details, including timestamps and message content.
### Use cases for activity logging
Activity logs provide valuable insights into customer interactions. You can:
* **Track engagement trends -** Monitor customer responsiveness and communication frequency.
* **Analyze message types -** Identify trends in WhatsApp templates, text messages, and multimedia usage.
* **Segment reports -** Break down activities by channel, template type, or assigned team member.
* **Measure agent performance -** Evaluate team response times and overall engagement.
# Automations
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-automations
Rasayel has integrated actions in **HubSpot workflows** that let you perform the following from within a workflow:
* **Send a proactive template message**
* **Send a proactive bot template message** (only works on Contact-Based flows)
### How to create workflows on HubSpot
1. On HubSpot, go to **Automations → Workflows → Create workflow**.
2. Choose **From scratch**, select trigger type (e.g., contact-based), and start the workflow.
### Set up triggers
1. Click **Set up triggers**.
2. Choose a trigger (e.g., **Contact priority** is **High**).
3. Click **Save**.
### Add actions
1. Click the `+` icon.
2. In the left panel, select **WhatsApp for sales**.
3. Choose from:
* **Send a proactive template message**.
* **Send a proactive bot template message**.
4. Select the WhatsApp channel, message template, and variable values.
* Make sure to add a **publicly accessible** URL to any media you have in your template headers.
* Receiver’s phone number **must** be a valid number on WhatsApp with the international code.
* Make sure to fill each template’s variables separated by commas.
* Please note: templates with variables in the URL buttons are not supported through HubSpot workflow actions.
5. Assign the conversation to a team/user (only available for Send a proactive template message action)
6. Click **Save**.
### Turn on the workflow
1. Click **Review and Publish**.
2. Choose enrollment settings for contacts.
3. Click **Turn on workflow**.
[HubSpot actions in the chatbot builder](/en/automations/chatbots/chatbots-nodes)
# Import contact list
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-contact-list-import
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**.
Contacts’ phone numbers **must** include valid phone numbers with the international code; otherwise, they will not be imported.
# Contact matching
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-contact-matching
Once you have connected your HubSpot workspace to Rasayel, you will be able to see the **HubSpot contact card** on the conversation sidebar of each conversation.
Rasayel will try to match contacts using the **phone number** and **email** of that contact on Rasayel.
### HubSpot contact card
1. **No matching contact found**
* This means that Rasayel was unable to find a contact on your HubSpot workspace with the same **phone number**.
* Formatting is important. Your contacts’ or leads’ phone numbers on the CRM **must** include the country code
2. **Contact matched**
Clicking on **View in HubSpot** will redirect you to the contact profile page on HubSpot.
### HubSpot contact creation from Rasayel
You can also create a HubSpot contact directly from Rasayel as follows:
* Navigate to the **Contact Sidebar**.
* In the **HubSpot Contact Card**, click **Link HubSpot Contact.**
* A drop-down of contacts will show up, and at the bottom, you will be able to click on **Create new contact in HubSpot.**
* Rasayel will create a contact with the same **name, email,** and **phone number**
# Engagement logging and reports
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-engagement-logging
When an agent reaches out to a customer (outbound messages), their activity is registered as an engagement log in HubSpot. The registration happens automatically. Each log shows the name of the agent who sent the message. For more information, you can extend the log to see the time and message content.
### **Creating engagement logging reports**
To create reports with Engagement Logging in HubSpot, follow these steps:
1. Click on **Reporting** on the left-side panel.
2. Select **Reports**.
3. Select **Create report** and choose **Custom Report Builder**.
4. Click **Choose my own data sources**.
5. Under Primary data source, click the drop-down menu. Select **Activities** as the basis for your report, as this represents the Engagement Logging automated by Rasayel.
6. Click **Next**.
7. On the next page, you'll find all the available properties to select for your report.
1. To track the number of activities per month, place **Count of activities** on the Y-axis and **Activity date** on the X-axis.
2. To specify the time period, Click **Filters**. Click **Activities Activity date** and choose and select your desired period. For example, **is after 1/1/2025**.
3. Click **Apply** to see the report.
4. For a more detailed breakdown, consider filtering the report by week or day to analyze the daily engagement metrics.
## **Use case examples**
Rasayel adds valuable context to HubSpot through Engagement Logging, allowing you to gain deeper insights into your communication strategies. Here are some use-case examples:
### Template analysis
When you send a message using a template from Rasayel, the engagement is logged in HubSpot, providing visibility into which templates were used, how frequently, and their overall impact. Break down the filter by **Rasayel Template Name** to see the percentages of WhatsApp Message Templates sent to your customers.
* On the previous report (engagement logging report), under **1 data source**, search for **Template**. Drag **Rasayel Template Name** and drop it under **Break down by**. You’ll see a report of template breakdown by month.
### Segmented channel reports
Break down the report by **Rasayel Channel Name**, **email**, **template** **name**, and other criteria to gain detailed messaging insights.
* On the engagement logging report, under **1 data source** search for **Channel**. Drag **Rasayel** **Channel** **Name** and drop it under **Break** **down** **by**.
* You’ll see a report of activities per channel per month.
### Agent performance
Engagements have an owner, and by breaking down the counts by **Activity assigned to**, you can analyze individual agent performance and identify the best-performing team members.
* On the engagement logging report, under **1 data source** search for **Assign**. Drag **Activity** **assigned** **to** and drop it under “**Break down by**.
* You’ll see a report of agent performance percentage per month.
The examples provided above merely scratch the surface of the potential of Engagement Logging. This powerful tool offers almost limitless possibilities and helps you customize your approach to meet your unique needs.
# Overview
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-overview
The HubSpot integration with Rasayel allows businesses to connect their WhatsApp communications directly to HubSpot's CRM, ensuring that all customer interactions are tracked, managed, and optimized within a single platform.
### Key features
* **Automatic contact creation -** Creates a HubSpot contact when you send or receive messages in Rasayel.
* **Use HubSpot contact name -** Automatically sets Rasayel contacts to match their HubSpot contact names.
* **Sync properties -** Ensures data synchronization from HubSpot to Rasayel.
* **Data logging in HubSpot reports -** Logs WhatsApp conversations and activities for tracking and reporting.
* **Ownership conversation assignment -** Assigns conversations to the right owners based on predefined logic.
* **Activity logging -** Logs WhatsApp interactions on the HubSpot contact’s activity timeline.
* **Import HubSpot contact lists -** Allows importing HubSpot contact lists into Rasayel.
* **HubSpot workflows and automations -** Integrates with HubSpot workflows to trigger WhatsApp messages based on customer actions or status updates.
* [**HubSpot chatbot actions**](https://www.notion.so/Automations-and-Chatbots-1adbc42c93ac80309c19d2176a09046c?pvs=21) **-** Leverage all different HubSpot actions from within the chatbot builder.
# Ownership assignment
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-ownership-assignment
HubSpot Ownership settings in Rasayel allow you to automatically assign new conversations to the correct owner in HubSpot. You can configure ownership based on **Inbound** and **Outbound** messages, ensuring efficient routing of customer inquiries.
### Configuring ownership settings
1. Navigate to [**Settings > Integrations > HubSpot**](https://app.rasayel.io/settings/integrations/hubspot) in Rasayel.
2. Expand the **Ownership Conversation Assignment** section.
3. Modify settings to align with your team’s assignment logic.
## Understanding ownership settings
Ownership settings allow you to assign conversations based on predefined rules for inbound and outbound messages.
The Ownership Assignment works as follows:
1. When a message is sent/received, Rasayel checks the respective setting for this scenario.
2. If the setting is turned on, we will match the WhatsApp contact to its respective lead/contact.
3. **If a Lead is matched -** we will assign the WhatsApp conversation to the equivalent Rasayel user of the Lead’s owner. (Equivalent users have the same email)
4. **If a Contact is matched** **-** Rasayel will look at the **Default Ownership Entity**, and depending on that setting, it’ll look up the equivalent owner in Rasayel.
5. If the equivalent user does not exist in Rasayel, then Rasayel will assign the conversation to the Fallback Owner User instead.
### **Inbound assignment**
Incoming messages can **start new conversations** or **open an existing closed conversation.** In this situation, you may want to assign the conversation to its respective owner.
We give you granular control on whether you want to assign the conversation to inbound messages or not. You can enable the “Assign to Owner” check box to turn the setting on.
* **Chatbot flow triggered** **-** If a chatbot takes control of a conversation, it will automatically assign the conversation to the HubSpot owner of the matched Rasayel contact.
* **No chatbot flow triggered** **-** If a conversation is not controlled by a chatbot, the assignment logic will still ensure the correct HubSpot owner is assigned.
### **Outbound assignment**
For outbound conversations initiated from Rasayel, you can configure ownership assignment based on the following triggers:
* **Inbox** **-** Assigns ownership when a conversation is initiated from the Rasayel inbox.
* **Sequences** **-** Assigns ownership when a conversation is created from an automated sequence.
* **API or Zapier** **-** Assigns ownership for conversations created via integrations like Zapier or API calls.
* **Simple campaign -** Assigns ownership when a campaign is initiated. Assignment can be to:
* Owner
* Campaign Creator
* None
* **Outbound chatbot campaigns** **-** Assigns ownership when a conversation is created as part of a proactive bot flow. Assignment can be to:
* Owner
* Campaign Creator
* None
* **HubSpot workflow** **-** Assigns ownership when a conversation is triggered through a HubSpot workflow.
* **HubSpot card** - Assigns ownership when a conversation is initiated from a HubSpot CRM card. Assignment can be to:
* Owner
* Sender
### Default & custom assigned owners
You can define ownership using one of the following methods:
* **Default Owner Entity -** Assign ownership based on the HubSpot entity associated with the contact (e.g., Contact Owner, Deal Owner, or Company Owner).
* **Custom Ownership Logic -** Use an API endpoint to define ownership dynamically.
### Implementing custom ownership logic
For advanced ownership assignment, you can implement a custom API that dynamically returns the appropriate owner based on your business rules.
### API requirements:
* Accepts a `GET` request with the HubSpot Contact ID as a query parameter.
* Uses Bearer Authentication with an API key.
* Returns a JSON response containing the owner's email.
Example API request:
```
curl --location '' \\
--header 'Authorization: Bearer {{api_key}}'
```
Example JSON response:
```
{
"owner_email": "ahmed.hesham@rasayel.io"
}
```
If the specified owner is not found in Rasayel, the conversation will be assigned to the **Fallback Owner** configured in HubSpot settings.
# Property syncing
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-property-syncing
Rasayel allows you to sync properties between HubSpot and Rasayel to maintain data consistency across both platforms. This ensures that relevant customer data is always up to date.
* **Sync direction -** Currently, property syncing is supported from HubSpot to Rasayel only. Changes made to properties in HubSpot will be reflected in Rasayel, but not the other way around.
* **Property type matching -** Both properties must be of the **same type** for synchronization to work (e.g., text-to-text, number-to-number, etc.).
* **Settings available:**
* **Don’t sync if the source is empty -** Prevents overwriting Rasayel properties with empty values from HubSpot.
* **Don’t sync if the destination already has a value -** Prevents replacing existing Rasayel property values if they are already set.
# Send a WhatsApp message from HubSpot
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-send-message
You can send WhatsApp messages directly from HubSpot using Rasayel’s WhatsApp-HubSpot integration.
You can send WhatsApp messages from a HubSpot contact page or a HubSpot deal page.
## Start a new WhatsApp conversation
On HubSpot, go to the contact (or deal) page you’d like to send a message to.
On the right side, you see all of the WhatsApp conversations associated with the contact (or deal).
If WhatsApp’s 24-hour customer service window has expired or if you want to start a new WhatsApp conversation, you can only send a WhatsApp message template or a bot flow that you’ve created in advance.
1. Go to the contact (or deal) page.
2. Scroll down on the right sidebar.
3. Click **Send message**.
4. Select the WhatsApp channel (number) you want to send a message from.
5. Select the desired message template or bot flow.
6. If the template has variables, fill in the variables and click **Send message**
Once the contact responds, the conversation will open. From there, you can continue to communicate with the customer with free-form messages (without templates). To send a message,
1. Type your message in the composer.
2. Click **Send**. The message is sent.
## Continue an existing WhatsApp conversation
If you already have a conversation with a customer that you’d like to continue, follow these steps:
1. Go to the contact (or deal) page you’d like to send a message to.
2. On the right side, find the conversation you want to continue.
3. Click **Actions → Open conversation**.
4. Type any message or record a voice note or choose a file by clicking on the + sign.
5. Click **Send**.
# Setup
Source: https://docs.rasayel.io/en/integrations/hubspot/hubspot-setup
### Connect your HubSpot account
* Navigate to Rasayel’s [**Integrations**](https://app.rasayel.io/settings/integrations) section.
* Select **HubSpot** and click **Connect**.
* Log in to HubSpot and authorize Rasayel.
* Make sure you choose the correct workspace to connect.
### Install Rasayel’s Salesforce package to your organization
You will then be redirected to the package installation page. You might have to login to your Salesforce account again:
1. Click **Install for All Users**
2. Accept the terms by checking**I acknowledge that I’m installing a Non-Salesforce Application that is not authorized for distribution as part of Salesforce’s AppExchange Partner Program.**
3. Click **Install**
# Activity logging
Source: https://docs.rasayel.io/en/integrations/pipedrive/pipedrive-activity-logging
WhatsApp messages sent from Rasayel are logged as **Activities** on the matched Person.
The first message creates a new Activity. Messages within 24 hours are added to the same Activity. Messages sent after 24 hours start a new one.
## Building reports on WhatsApp activity
You can build different reports based on logged activity from Rasayel to Pipedrive. You can see how many messages were sent or received and gain insight into who sent them, when they were sent, and what type of messages were used.
### Creating a WhatsApp activity report
1. Go to the **Insights** section in Pipedrive.
2. Click **Create**.
3. Select **Reports**.
4. Choose the **Activity** entity and set the report type to **Activities performance**.
5. Click **Add new condition**.
6. Set the **Activity Type** to **WhatsApp Messages/Conversations**.
### Use cases for activity logging
* **Track engagement –** Monitor how often customers interact.
* **Evaluate team performance –** Understand who’s engaging more.
* **Improve messaging –** Identify which messages work best.
# Contact matching
Source: https://docs.rasayel.io/en/integrations/pipedrive/pipedrive-contact-matching
Rasayel automatically matches contacts by **phone number**.
### Contact match states
1. **No matching Person found**
* Rasayel couldn't find a Person with the same phone number.
* Phone numbers in Pipedrive must include country code.
* You can link to an **existing** Pipedrive contact or create a new one.
2. **Matching Person found**
* Rasayel displays the **Person’s** info, along with linked **Deal** and **Organization** if they exist.
### Embedded Rasayel window
You can open Rasayel directly inside Pipedrive. This lets you start conversations, assign them, send messages, view history, and write notes — all without leaving your CRM.
# Overview
Source: https://docs.rasayel.io/en/integrations/pipedrive/pipedrive-overview
The Pipedrive integration with Rasayel lets you connect your Pipedrive account with your Rasayel workspace. This helps you manage, track, and sync customer interactions without leaving your workspace.
### Key features
* **Automatic contact matching –** Rasayel matches Rasayel contacts with Pipedrive People.
* **View Pipedrive contact details –** See People, Deals, and Organizations properties from Pipedrive inside Rasayel.
* **Log WhatsApp conversations –** Conversations on Rasayel are stored as Activities in Pipedrive.
* **Create People in Pipedrive –** Quickly create a Pipedrive Person from an unmatched Rasayel contact.
* **Manual contact linking –** If auto-matching fails, you can link contacts manually.
* **Custom analytics –** Create reports using WhatsApp message data inside Pipedrive.
# Property syncing
Source: https://docs.rasayel.io/en/integrations/pipedrive/pipedrive-property-syncing
Rasayel allows you to sync Pipedrive properties into Rasayel properties to bring context from your CRM directly to Rasayel. To start syncing properties:
* Head to [**Rasayel > Integrations**](https://app.rasayel.io/settings/integrations/pipedrive)
* Click on **Pipedrive**
* Expand the **Sync Properties** menu
* **Sync direction -** Currently, property syncing is supported from **Pipedrive to Rasayel** only. Changes made to properties in Pipedrive will be reflected in Rasayel, but not the other way around.
* **Property type matching -** Both properties must be of the **same type** for synchronization to work (e.g., text-to-text, number-to-number, etc.).
* **Settings available:**
* **Don’t sync if the source is empty -** Prevents overwriting Rasayel properties with empty values from Pipedrive.
* **Don’t sync if the destination already has a value -** Prevents replacing existing Rasayel property values if they are already set.
# Setup
Source: https://docs.rasayel.io/en/integrations/pipedrive/pipedrive-setup
## Setting up Pipedrive integration
### Connect your Pipedrive account
* Navigate to Rasayel’s [Integrations](https://app.rasayel.io/settings/integrations) section.
* Select **Pipedrive** and click **Connect.**
* Log in to Pipedrive and authorize Rasayel
### Contact matching and creation
Once connected, the **Pipedrive contact card** will appear in the sidebar of your Rasayel conversations.
**You can:**
1. Match Rasayel contacts to **People** in Pipedrive.
2. View matched **Person** properties, their related **Deals** and **Organizations**.
3. View WhatsApp messages sent to matched People.
4. Customize which Pipedrive fields appear in the sidebar.
5. Build analytics based on Rasayel conversations.
# Activity logging
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-activity-logging
All of your WhatsApp activities and messages with a Lead/Contact are automatically recorded on the Salesforce entity page. We call it activity logging.
### What’s logged?
* All the text messages your team and the Lead/Contact exchange with each other during the log’s period
* The name of the teammate(s) and the Contact who sent the message
* The date and time of a message
* When a conversation opened
* Who opened/closed a conversation or assigned it to a team member
### How logs are created
* Activity logs are processed automatically every 15 minutes. However, you can process it manually by heading to your [Salesforce Integration Settings](https://app.rasayel.io/settings/integrations/salesforce) and clicking on **Sync now.**
* Activity logs are represented as **Salesforce Tasks** and will be logged on the Lead/Contact and to the Contact’s associated Account and Opportunity.
* WhatsApp conversations can have more than one Salesforce Task. A new Salesforce Task is created for the conversation if it has been **closed** or **24 hours have passed between messages.**
* The currently ongoing portion of a conversation will be marked as an **Upcoming Task** under **Upcoming & Overdue** while a past portion of a conversation will be represented as a **Completed Task**.
### View WhatsApp conversations in Salesforce
Most of the time, your sales agents may work within the Salesforce CRM, and therefore, they may not want to jump back and forth between Rasayel and Salesforce.
You can send WhatsApp messages directly from Salesforce using Rasayel’s WhatsApp-Salesforce integration.
To set this up, go to the entity you want to set this up for. In that case, it’s the Contact:
1. On the top-right corner, click on the **Settings (⚙)** icon
2. Select **Edit Page**, this will redirect you to edit the layout of the page
3. On the left, you will find the **Components** available, scroll to the bottom
4. You should find **Rasayel Conversations**, click on it and drag it to the layout
5. Paste the Component somewhere preferable on the layout
6. Save the Layout
7. Click on **Activation**
8. Ensure that this layout is the **Org Default**, if not, you can change it to be the default in this page
9. Click on **Done**
When you go back to the Lead/Contact’s page, you should find the Rasayel Conversations component on the page, and it should show any WhatsApp conversations you have with this entity.
**Note:** The component matches the entity to the equivalent WhatsApp Conversations **by phone**, so if you cannot find the equivalent conversations, make sure that the entity has a phone number set with the international code.
The component will list down the conversations you have with this Lead/Contact, and you have a couple of actions you can take on the conversation:
1. **Send Message -** This will open Rasayel within Salesforce and will give you a chance to message your Contact
2. **View in Rasayel -** This will redirect you to the conversation within Rasayel in a new tab
3. **Open Rasayel -** If you want to initiate a new conversation with this customer, you can open Rasayel in a mini-view within Salesforce
Here’s how Rasayel looks within Salesforce. You can initiate this by clicking **Send** **Message** on an existing conversation, or **Open** **Rasayel** at the bottom.
**Note:** In order to use the **Open Rasayel** and **Send Message** functionalities, you must be invited to the Rasayel workspace under the same email as your Salesforce user
# API usage
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-api-usage
Rasayel utilizes Salesforce RESTful API to perform various tasks, and it works in tandem with other integrations connected to your Salesforce organization. This means that the API limits of your Salesforce organization are shared between Rasayel and other integrations.
For this reason, you may want to monitor and limit the API consumption of Rasayel to make sure it doesn’t choke other integrations in your system.
On your Salesforce Settings page, you’ll find a **Manage Salesforce API usage** section where you’ll be able to see:
1. How many API requests are available for your organization **(white portion)**
2. How many API requests have been used by Rasayel **(blue portion)**
3. How many API requests have been used by other integrations **(gray portion)**
You can also set the maximum number of calls Rasayel can make to the Salesforce API in 24 hours.
### Caching API responses
By default, Rasayel caches the data it receives from your Salesforce organization to reduce the number of API calls it has to make to Salesforce, and therefore, save as much API quota as possible for you.
However, this doesn’t come free; you may notice a slight delay on the integration Lead/Contact matching (around 5 minutes) across different integration features.
**For example:** Newly created Lead/Contact on Salesforce may not immediately start to match on Rasayel. It will take around 5 minutes for them to appear.
You can disable the caching for Rasayel by disabling the toggle and clicking “Save”.
### What happens when you hit the limit?
If Rasayel hits the limit you’ve set or if you have no API quota left, most of the integration functions will be disabled.
* WhatsApp Activity Logging won’t work for ongoing conversations. Once your API quota is resumed, it will continue processing from where it left off.
* The sidebar will show an error that you’ve consumed the available API limits.
* Ownership Assignment rules will not function until the API limits are resumed.
# Automations
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-automations
[Salesforce Flows](https://help.salesforce.com/s/articleView?language=en_US\&id=sf.flow.htm\&type=5) automate your business processes and make your team more efficient. With **Flows**, you can automate certain tasks (actions) based on triggers you define.
Rasayel adds its own definition for a couple of actions to allow you to automatically send WhatsApp templates as part of your Salesforce Flows.
### Supported actions:
* Send a WhatsApp template message
* Send a proactive WhatsApp bot flow
### Start using WhatsApp template messages in Salesforce Flows
To start using the WhatsApp messages in your flows, head to your “Flows” page and:
1. Go to **New Flow** > choose **Record-Triggered Flow** > click **Create**.
2. Select a supported object (e.g. **Lead**).
3. Click the **+** to add an element > choose **Action**.
4. From the **Rasayel** category, select **Send a WhatsApp Template**.
5. Add a label and fill in the required parameters:
* **Channel**: Enter the exact name of your Rasayel channel ([find it here](https://app.rasayel.io/settings/channels)).
* **Phone number**: Use the recipient’s number or map it from the object (e.g. Lead phone).
* **Template**: Enter the name of your WhatsApp template ([find it here](https://app.rasayel.io/settings/templates)).
6. Click **Save**, label your flow, and you're done.
This way, whenever an object is created/updated/deleted, the action will execute properly and send a WhatsApp template.
There are many possibilities you can build using Rasayel’s Salesforce Flow Actions, we have only shown you one possibility as an example.
# Contact matching
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-contact-matching
Once you have successfully connected your Salesforce account to Rasayel, you will be able to see the **Salesforce** card on the conversation sidebar of each conversation.
1. **No matching Contact found**
* This means that Rasayel was unable to find a Contact or a Lead on your Salesforce account with the same **phone number.**
* Formatting is important. Your Contacts’ or Leads’ phone numbers on the CRM **must** include the country code
* If the Contact/Lead is not matched, you can:
* Link this conversation to an existing Salesforce Contact/Lead
* Create a new Contact/Lead in Salesforce linked to this conversation.
2. **Contact/Opportunity/Lead matched**
* You can click on **View in Salesforce** to be redirected to this Lead on Salesforce in a new tab.
* Note: In the matching, **Contacts take priority over Leads**, meaning that if a WhatsApp Contact matches both a Contact and a Lead, Rasayel will always display the Contact.
* Matched Contacts will always have one account associated, and therefore, only one account will be displayed.
* Matched Contacts can have more than one associated opportunity. In this case, Rasayel will display the most recently updated opportunity and will show an external link to the rest of the opportunities.
# Overview
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-overview
The Salesforce integration with Rasayel lets you connect your WhatsApp conversations to Salesforce. This makes it easy to track, automate, and optimize your customers interactions within a single platform.
### Key features
* **Lead and Contact synchronization -** Syncs Leads and Contacts between Salesforce and Rasayel automatically.
* **WhatsApp messaging within Salesforce -** Enables direct WhatsApp communication with customers from Salesforce.
* **Automated conversation assignment -** Assigns WhatsApp conversations to the right owners based on customizable rules.
* **Automated WhatsApp messaging -** Allows sending WhatsApp messages through Salesforce Flows and Rasayel’s automation.
* **WhatsApp campaigns using Salesforce data -** Filters audiences in Salesforce to send targeted WhatsApp campaigns.
* **WhatsApp activity logging -** Logs all WhatsApp messages and activities on Salesforce Lead/Contact pages.
* **Embedded conversation view -** Displays WhatsApp conversations alongside Leads, Contacts, opportunities, and accounts in Salesforce.
# Ownership assignment
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-ownership-assignment
Salesforce Ownership settings in Rasayel allow you to assign new conversations to the appropriate Lead/Contact owner in Salesforce.
You can tailor these assignments using a comprehensive set of options, ensuring each conversation is directed to the right person based on your specific criteria.
### Configuring ownership settings
1. Navigate to [Settings > Integrations > Salesforce](https://app.rasayel.io/apps/38/settings/integrations/salesforce) in Rasayel
2. Expand the **Ownership Conversation Assignment** section.
3. Modify settings to align with your team’s assignment logic.
### Understanding ownership settings
Rasayel provides you with granular control over which scenarios you’d want the automatic ownership assignment to kick in.
**Inbound settings**
Incoming messages can **start new conversations** or **open an existing closed conversation.** In this situation, you may want to assign the conversation to its respective owner.
We give you granular control on whether you want to assign the conversation to inbound messages or not. You can enable the **Assign to Owner** check box to turn the setting on.
There are two scenarios on the inbound:
* **Chatbot flow triggered -** If the incoming message triggers a bot flow, you can choose to assign the conversation to the respective owner.
* **No chatbot flow triggered -** If the message doesn’t trigger a bot, you can route it to the respective owner.
**Outbound settings**
For outbound conversations initiated from Rasayel, you can configure ownership assignment based on the following triggers:
* **Inbox -** Assigns ownership when a conversation is initiated from the Rasayel inbox.
* **Sequences -** Assigns ownership when a conversation is created from an automated sequence.
* **API or Zapier -** Assigns ownership for conversations created via integrations like Zapier or API calls.
* **Simple campaign -** Assigns ownership when a campaign is initiated. Assignment can be to:
* Owner
* Campaign Creator
* None
* **Outbound chatbot campaigns -** Assigns ownership when a conversation is created as part of a proactive bot flow. Assignment can be to:
* Owner
* Campaign Creator
* None
### Default and custom assigned owners
You can define ownership using one of the following methods:
* **Default owner entity -** Assign ownership based on the Salesforce entity associated with the Contact (e.g., Contact Owner, Opportunity owner, or Account Owner).
* **Custom ownership logic -** Use an API endpoint to define ownership dynamically.
### Fallback Owner User
Sometimes, an entity owner in Salesforce may not have an account in Rasayel. In this scenario, Rasayel needs a **fallback user** to assign the conversation to.
You get to customize the behavior in this situation. Here, you can either let the conversation get unassigned, in which case one of your sales managers can pick it up and re-assign it, or automatically assign it to one of your users.
[Implementing custom ownership logic](/1b5bc42c93ac80a2b272d92f211737c3?pvs=25#1b5bc42c93ac806aa282fe91f2756c87)
# Setup
Source: https://docs.rasayel.io/en/integrations/salesforce/salesforce-setup
### **Setting up Salesforce integration**
Rasayel Salesforce Integration does **not** support Salesforce Starter Edition. We support other Salesforce Editions: **Professional, Enterprise, Unlimited and Developer**.
### Connect your Salesforce account
* Navigate to Rasayel’s [**Integrations**](https://app.rasayel.io/settings/integrations) section.
* Select **Salesforce** and click on **Connect.**
# Capabilities
Source: https://docs.rasayel.io/en/integrations/zapier/zapier-capabilities
You can use **Rasayel** in your Zap as either a **Trigger** or an **Action**.
### Rasayel trigger events
**These trigger the Zap when something happens in Rasayel:**
* Conversation Updated
* New Channel User
* New Conversation
* New Mention
* New Message
### Rasayel action events
**These are actions Zapier performs in Rasayel:**
* Assign Conversation
* Close Conversation
* Open Conversation
* Snooze Conversation
* Create Media Message
* Create Text Message
* Create Note Message
* Create Template Message
* Create Proactive Text Message
* Create Proactive Template Message
* Create Channel User
* Create Attachment
* Find Conversation
# Overview
Source: https://docs.rasayel.io/en/integrations/zapier/zapier-overview
The Zapier integration with Rasayel lets you connect Rasayel with thousands of other apps, enabling automated workflows without writing any code. You can use Zapier to trigger actions in Rasayel based on events in other tools, or vice versa.
## Key features
* **Send WhatsApp messages –** Trigger WhatsApp messages from actions in other tools.
* **Automate workflows –** Use Rasayel in multi-step workflows with CRMs, spreadsheets, forms, and more.
* **No code needed –** Use Zapier's drag-and-drop interface to build flows
# Set up
Source: https://docs.rasayel.io/en/integrations/zapier/zapier-setup
Description of your new file.
### 1. Generate your Zapier username and password
* Navigate to Rasayel’s [API Management](https://app.rasayel.io/settings/api) section
* Click on **Create your first API Key**
* Set access mode to **read/write** and press **Create**
* After generating the API key, save the following:
* **API Key ID** (used as the **Username**)
* **API Key Token** (used as the **Password**)
### 2. Connect Rasayel to Zapier
* In Zapier, click on your preferred Rasayel action or trigger.
* Search for **Rasayel** to find our native integration node with Zapier.
* In the **right sidebar**, go to **Setup > Account > Connect new account**.
* A pop-up will appear asking for a **Username** and **Password**.
* Enter the **API Key ID** as the Username and the **API Key Token** as the Password.
# Activity logging
Source: https://docs.rasayel.io/en/integrations/zoho/zoho-activity-logging
WhatsApp interactions on Rasayel are automatically logged into a **Note** on the matched entity. This can help salespersons see the conversation history with this Lead/Contact at a glance
The first message in a conversation will create a new Note. Then, messages sent within 24 hours of every subsequent message will be part of this Note. If the time window between any two messages is more than 24 hours, a new Note will be created.
### What’s logged?
* **Message body:** contains the contents of the message.
* Text messages exchanged between your teammates and the contact.
* Type of the message sent, such as:
* Text
* Image
* Video
* Attachment
* Name of the message template used, if any.
* Information about the teammate who sent the message on Rasayel.
* Information about the conversation and the WhatsApp channel used.
# Contact matching
Source: https://docs.rasayel.io/en/integrations/zoho/zoho-contact-matching
After connecting your Zoho account to Rasayel, you will see the **Zoho contact card** on the conversation sidebar of each conversation displaying the customer’s Zoho properties.
With our Zoho integration, you can:
1. Match Rasayel contacts to your Zoho **Leads/Contacts**
2. View matched Zoho **Lead/Contact** properties, alongside their associated **Deals** and **Accounts**
3. View WhatsApp messages sent from Rasayel to your Zoho Leads/Contacts
4. Select certain Zoho properties to view in the **Contact Sidebar** on Rasayel
5. Build detailed analytics based on WhatsApp messages sent to your contacts
We automatically match Rasayel contacts to equivalent Zoho leads/contacts, and display this information on the right sidebar of your Rasayel inbox (under the contact card).
Our Zoho integration will attempt to match a Rasayel contact by the **phone number**, and will show any matched contacts or leads.
\*\*Note: \*\*Zoho Contacts take precedence over Zoho Leads during the matching, meaning that if a Rasayel contact matches both a Contact and a Lead, the Contact will be displayed.
When you activate your Zoho integration, on the right sidebar, you’ll see the **Zoho Card**:
There are different states a Rasayel contact can have:
1. **No matching contact/lead found**
* This means that Rasayel was unable to find a contact or lead on your Zoho account with the same **phone number.**
* Formatting is important. Your contacts’ or leads’ phone numbers on the CRM **must** include the country code.
2. **Matching Contact/Lead found**
* This will appear when we successfully match a Lead by phone. We’ll display the properties that we fetched directly from Zoho.
### Contact creation
In case of a new Lead reaching out to you on WhatsApp, the Lead will probably not exist yet in Zoho. In this case, you can quickly create a Zoho Lead with the click of a button!
Just click on **“Create new lead in Zoho”**
The Lead will be created properly on Zoho and will now be matched automatically.
### Linking existing leads/contacts to unmatched Rasayel contacts
In case the Rasayel contact does not automatically match an existing Lead/Contact due to the phone's missmatch, you can manually link the contact by searching for the Lead here:
Once linked, the Lead/Contact will always be shown for this Rasayel contact until it is unlinked manually. You can unlink the linked Lead/Contact by clicking **“Unlink”**.
# Engagement logging and reports
Source: https://docs.rasayel.io/en/integrations/zoho/zoho-engagement-logging-and-reports
\*\*Note: \*\*This is a Zoho Enterprise/Ultimate only feature, because it involves creating custom entities which is only supported on those tiers.
Whenever any of the Rasayel agents send messages over WhatsApp, these messages are automatically logged in a custom entity called **Rasayel WhatsApp Message.**
Each outbound message in Rasayel will have a created record on the Zoho: Rasayel WhatsApp Messages entity type. These records are beneficial because you can use them to construct detailed analytics!
To create analytics based on WhatsApp messages:
1. Head to the **Analytics** section.
2. Add a new component > chart > quick chart > choose the module as **“Rasayel WhatsApp Messages.”**
3. Select the **Measure** and **Grouping** based on the attributes mentioned before to construct the report to your liking
4. View your constructed report, for example: here is a chart counting WhatsApp Messages by their type.
### Use cases for activity logging
Activity logs provide valuable insights into customer interactions. They help you:
* **Monitor engagement trends**: Track how often customers respond and interact with your team.
* **Analyze message distribution**: Understand the balance between text, templates, and media messages.
* **Break down conversations**: Segment data by WhatsApp channel, message type, or sender.
* **Evaluate team efficiency**: Measure response times, message volume, and teammate performance.
* **Optimize messaging strategies**: Identify which templates and message formats drive the most engagement.
# Overview
Source: https://docs.rasayel.io/en/integrations/zoho/zoho-overview
The Zoho integration with Rasayel lets you connect your Zoho CRM with your Rasayel workspace. This makes it easy to track, manage, and sync your customer interactions without switching between platforms.
## Key features
* **Automatic contact matching** – Rasayel matches WhatsApp contacts with Zoho Leads or Contacts.
* **View Zoho contact details** – See Zoho Lead/Contact info, Deals, and Accounts inside Rasayel.
* **Log WhatsApp conversations** – Messages sent from Rasayel are stored as Notes in Zoho.
* **Create Leads in Zoho** – Quickly create a Zoho Lead from an unmatched Rasayel contact.
* **Manual contact linking** – If auto-matching fails, you can link contacts manually.
* **Custom analytics** – Zoho Enterprise users can track WhatsApp messages in reports.
# Setup
Source: https://docs.rasayel.io/en/integrations/zoho/zoho-setup
### Connect your Zoho account
* Navigate to Rasayel’s [Integrations](https://app.rasayel.io/settings/integrations) section.
* Select **Zoho** and click **Connect.**
* Log in to Zoho and authorize Rasayel.
* Make sure you choose the correct workspace to connect.
# Introduction
Source: https://docs.rasayel.io/en/introduction
Rasayel helps businesses connect with customers through WhatsApp Business messaging, campaigns, and integrations with your favorite tools.
## Highlights
A collaborative WhatsApp team inbox for sales and support team
Connect with customers through the world's most popular messaging platform
Create and manage automations such as chatbots, sequences, and more.
Connect Rasayel with your favorite CRM (HubSpot, Salesforce, etc.)
## WhatsApp Business
Learn the basics of WhatsApp Business with Rasayel
Create and manage reusable message templates
Learn how to effectively use templates in your communications
Create interactive conversation flows for your customers
Keep your WhatsApp Business information up to date
## Campaign management
Step-by-step guide to creating effective campaigns
Understand the different states of your campaigns
Measure the performance of your campaigns
Understand the limitations of WhatsApp campaigns
Learn about the cost structure for campaigns
## Integrations
Connect Rasayel with HubSpot CRM
Integrate with Salesforce for seamless customer management
Connect with thousands of apps through Zapier
Integrate with Pipedrive CRM
Connect with Zoho's suite of business tools
## Developers
Explore our GraphQL API documentation for developers
Explore our REST API documentation for developers
## Need help?
Our support team is ready to help with any questions
Connect with us directly on WhatsApp
# Overview
Source: https://docs.rasayel.io/en/notifications/notifications-overview
### What are push notifications?
Push notifications are a mechanism that allows you to get notified on your device when important events occur while you are away.
### Supported notification types
Here's a brief explanation of each notification type, organized into three categories: **Assigned to Me**, **Collaboration**, and **Other's Conversations**.
### Assigned to me
Notifications in this category alert you about conversations that are assigned to you.
* **A conversation is assigned to me** - You get notified when a new conversation is assigned to you.
* **A conversation assigned to me gets a new message** - You get notified about a new message in a conversation assigned to you.
* **A conversation assigned to me is closed** - You get notified when a conversation assigned to you is closed.
### Collaboration
This category keeps you informed about interactions with your team.
* **I’m mentioned** - You're notified when a teammate mentions you in an internal note.
### Other's conversations
These notifications keep you updated on conversations not directly assigned to you.
* **A new conversation starts** - You get notified when a brand new conversation begins.
* **An abandoned conversation gets a new message** - You get notified when an unassigned conversation receives a new message from a customer after three hours without a response from your team.
* **An unassigned conversation gets a new message** - You get notified when a conversation that is not assigned to anyone on your team receives a new message.
# Settings
Source: https://docs.rasayel.io/en/notifications/notifications-settings
### How to set up push notifications on Rasayel
You can always change the notification settings through Rasayel dashboard:
1. Go to [Settings > Notifications](https://app.rasayel.io/settings/user/notifications) from the navigation sidebar
2. Click on the **Notify me** button
### How to modify your list of important events
1. Go to [**Notifications**](https://app.rasayel.io/settings/user/notifications)
2. Tick the events you want to be notified about
### How to enable push notifications on your browser
Follow the instructions depending on your browser.
* **Google Chrome**
* Google Chrome will show you a prompt asking to give Rasayel permissions to send you notifications, click on **Allow.**
* **Safari**
* Safari will show you a prompt asking to give Rasayel permissions to send you notifications, click on **Allow.**
* **Firefox**
* Firefox will show you a prompt asking to give Rasayel permissions to send you notifications, click on **Allow.**
### **On mobile**
Once you sign into the app for the first time, you can turn on notifications right away. Or you can enable them later in your phone settings.
* **iPhone**
* For iPhone, go to **Settings > Notifications > Rasayel**, and make sure all notifications are enabled.
# Troubleshooting & FAQs
Source: https://docs.rasayel.io/en/notifications/notifications-troubleshooting-faq
### **I have denied/blocked permissions and I want to enable them**
In this case, you will see the **Notification permission denied** message in your notification settings.
That means you need to change the permissions to allow Rasayel to send you notifications.
Each browser does it differently, so follow the instructions for your browser:
* **Google Chrome:**
* On the left corner of your address bar, click on the arrow to display the website permissions. Then turn on the toggle and click on **Reset permission**.
* **Safari**
* Open Safari preferences by pressing **Cmd + Comma** on your keyboard and go to the **Websites preferences**.
You should see Rasayel there; click on the permission button that says **Deny** and choose **Allow.**
* **Firefox:**
* On the left of your address bar, click on the dialog icon
Then click the (**x**) icon next to the **Blocked** label.
Then you will be asked to reload your browser.
After you are done, reload the page. The red text warning should be gone, and a **Notify me** button will appear in its place.
### I enabled push notifications but they are still not working
First of all, no worries, we have a few more tips. Depending on your browser and operating system, please check the following:
**MacOS:**
* **Firefox**
* Make sure your Mac notification settings for your browser look like this:
* **Chrome**
* Make sure your Mac notification settings for your browser look like this:
* **Windows**
* Make sure that **Focus assist** is disabled
At the right bottom edge of the taskbar: Click the **Action Center** (the box that looks like dialogue). You can find **Focus Assist**.
# Conversation reports
Source: https://docs.rasayel.io/en/reports/conversation-reports
# 1. Intro
Reports are essential for **understanding how effectively your team handles customer conversations**. They reveal patterns in response speed, show when you receive the most messages, and highlight how quickly issues get resolved. By checking these metrics regularly, you can figure out where improvements are needed, whether you’re meeting service-level expectations, and how to allocate your team’s time.
You can access these reports in your dashboard under **Reports**. Depending on your permissions, you may see multiple tabs that break down overall performance, team-level metrics, or individual agent statistics. If you’re just getting started, explore each tab briefly and try adjusting filters like date ranges or conversation tags to see which view is most relevant to your goals.
# 2. Understanding Sessions
Sessions also help you control and exclude specific blocks of time, such as **non-working hours** or agent “away” periods, so your metrics aren’t skewed by factors outside actual conversation handling. You can adjust these settings in the admin panel to reflect your team’s schedule. By default, nights and weekends are considered off-duty, and any messages that arrive then won’t inflate your response or resolution times.
> 🗣️ **Scenario Example:** A customer messages on Tuesday at 10:00 AM, and an agent responds and resolves the issue by 10:30 AM. This entire interaction counts as a single session. If the customer gets back in touch on the same thread three days later, that follow-up is considered a new session once the old one has been closed.
### Inactivity and Auto-Closing Sessions
Many conversations go idle when the customer stops responding, so we use an \*\*inactivity threshold \*\*—24 hours by default— to close sessions that haven’t received any messages for that duration. This prevents your resolution times from ballooning simply because one side isn’t responding. If the conversation picks up again later, a new session begins, providing a fresh metric window.
### **How Follow-Up Time Is Excluded**
Some teams need to pause a conversation to wait for additional information, schedule a reminder, or simply follow up much later. Instead of leaving the session open indefinitely, we have two ways of excluding that time from your active metrics:
1. **Short Follow-Up (\<24 hours)** If an agent sets a follow-up within 24 hours, the session stays open, but the system **subtracts** this follow-up gap from the agent’s total handling time. That way, your resolution or response metrics don’t get inflated by unnecessary follow-up time.
2. **Long Follow-Up (>24 hours)** If the agent sets a follow-up date more than 24 hours away, the system closes the session right away to keep your metrics clean. Any message that arrives after this closure—whether from the agent or the customer—starts a **new** session. This ensures data doesn’t blend together across long waits.
### **Away Agents: Time and Auto-Reassignment**
When agents step away for lunch or end their shift, you can enable **auto-reassignment** (team settings) so that any conversation that receives new message during their absence automatically goes to someone available. This setting avoids extended customer wait times and keeps your reports accurate by attributing work only to active agents. If you prefer more manual control, you can turn auto-reassignment off but away time will still be excluded from the time metrics.
# 3. Metrics
Below is a table that explains the main metrics you’ll encounter. These definitions show how each metric is calculated and what it indicates about your team’s performance.
When referring to conversations, we do refer to the concept of conversation sessions as defined above, allowing you to have metrics that reflect active conversations exclusively.
| | **Definition & Calculation** |
| ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Messages Received** | This metric shows the total number of inbound messages received from your contacts during the selected time range. Each message is counted once, and only those received within the chosen period are included. Messages sent by agents, system notifications, or messages in deleted conversations are not counted. If a message cannot be linked to a conversation, it may be excluded from the total. The data is grouped by time buckets according to your selected reporting period. |
| **Customer Waiting Time** | Customer waiting time is calculated by aggregating, for each conversation session, the total time customers spent waiting for agent replies over the selected period. All waiting periods during the conversation are included, not just the first. Each data point on the chart represents the aggregated waiting time for all conversations in that time bucket. The aggregation method (e.g., average, median) is determined by your reporting settings. For more details on session boundaries and inclusion rules, please refer to our documentation. |
| **Resolution Time** | Resolution Time measures how long it takes for conversations to be resolved, calculated as the time between when a conversation is created and when it is marked as closed. Only conversations that have been closed are included in this metric. If a conversation is reopened and closed again, only the most recent closure is counted. Conversations that remain open, or that are deleted or merged, are excluded. This metric helps you understand how efficiently your team is resolving customer issues over time |
| **New Conversations per Hours** | Counts the number of new conversation sessions you’ve got per day and hour, allowing you to know when you have the most need to support your customers. These counts inbound and outbound conversations sessions unless filtered out via the settings. |
| **New Conversations per Channels** | This metric displays the number of new conversations initiated during the selected time range, grouped by the channel through which they started. Conversations that do not have a channel at creation or whose channel is later deleted are grouped under “Unknown Channel.” Each conversation is counted once, according to its original channel, and only conversations created within the specified period are shown. |
| **New Conversations per Teams** | This metric shows the number of new conversations started within the selected time range, grouped by the team assigned at the moment the conversation began. If a conversation does not have a team at creation or the assigned team is later deleted, it is counted under “Unknown Team.” Each conversation is only counted once, based on its initial team assignment, and only those created within the chosen period are included. |
| **New vs Closed Conversations** | This chart compares the number of new conversations started with the number of conversations closed during each period in the selected date range. A conversation is counted as "opened" in the period when it was created, and as "closed" in the period when it reached a closed status—regardless of when it was opened. Conversations that are opened but not yet closed will only appear in the "opened" count, while those opened earlier but closed during the period will appear only in the "closed" count. Deleted conversations are excluded. This comparison helps you understand whether your team is keeping pace with new demand, or if conversations are accumulating over time |
| **Response Time** | Time an agent takes to reply to a customer's inbound message, no matter who is assigned to the conversation. This metric excludes agent responses following a chatbot. |
| **First Response Time** | The time it takes for an agent to reply after a customer starts the conversation, no matter who is assigned to the conversation. |
| **Number of messages before closure** | The amount of outbound messages sent by the agent until the conversation gets closed. |
| **Number of conversations closed on first assignment** | The number of conversations an agent closed as the first agent assigned to a given conversation. |
Most of these metrics can be filtered by **date range**, **team**, **tags**, and **channels**, so you can zero in on a specific type of conversation or agent group. If you don’t see a metric you need, it might be planned for a future release, or you can check if there’s a toggle in settings that adds it to your dashboard.
**Timezones:** Times are automatically displayed based on your current UTC (Coordinated Universal Time) for consistency across regions.
**Filters:** Most of these metrics can be filtered by **date range**, **team**, **tags**, and **channels**, so you can zero in on a specific type of conversation or agent group.
# 4. Configuration
All these session features come with **adjustable settings** so you can tailor how data is captured and reported. In your **Admin** or **Settings** panel, you’ll find options to define working hours, set inactivity windows, and include or exclude outbound calls and bot interactions. By default, the system ignores these extra activities to focus on genuine agent-customer engagement.
**Key Setting Highlights:**
* **Data aggregation**: Helps you interpret your data based on average, median, min, max, or sum. Once changed, all aggregated metric on the report will be adjusted based on your selection.
* **Working Hours:** Determine which hours count toward response and resolution time.
* **Inactivity Window:** Decide when a session automatically closes (24 hours by default).
* **Outbound & Bot Exclusion:** Keep them excluded for pure agent metrics, or toggle them on if you need a comprehensive view of all interactions.
If an agent is marked “away” and a conversation gets a new message, you can **enable auto-reassignment** so another available agent can take over. This keeps customers from waiting indefinitely in an idle queue. You can also measure how often your team members switch to “away” status to understand scheduling patterns. Many teams simply stick to the defaults, but it’s worth exploring if your workflow is unique—for instance, if some agents handle weekend shifts or if outbound calls are a big part of your sales process.
# Monitoring dashboard
Source: https://docs.rasayel.io/en/reports/monitoring-dashboard
The monitoring dashboard aims at helping Managers to better understand Inbox health and team capacity in real-time.
### Access
The Monitoring Dashboard can be accessed from going to [Inbox > Monitoring:](http://app.rasayel.io/monitoring-dashboard)
Or from the Reports tab then heading to **Monitoring**:
### Permission
The Monitoring Dashboard belongs to the **“Reporting”** permission setting. Admins can control who has access to the dashboard from the [permission settings page for roles](http://app.rasayel.io/settings/users).
Roles with the **Reporting** permission set to **View** or **Manage** will be able to access the Monitoring Dashboard.
### Dashboard structure
The Monitoring Dashboard is split into two main sections - Inboxes and Users, allowing managers to decide what they want to monitor at any given time.
You can switch between the two sections by clicking on **Inbox** or **Users** at the top of the page
The two sections have similar structure.
**Inboxes Section:**
**Users Section:**
### Refresh rate
The metrics are refreshed automatically every 60 seconds while this is your active browser tab. The top left corner of the Dashboard will indicate when the dashboard is refreshing the new metrics
### Global dashboard settings
From the top right corner, admins can control their metrics view using the global dashboard settings:
The configurable metrics are:
| Setting | Description | Default value |
| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------ |
| **Metric Aggregation** | The type of aggregation used to calculate *Response Times* | Average |
| **Inactivity** | If enabled, conversations that have been inactive for more than 24hrs will be considered as a new conversation. Consequently, replies sent to those conversations, will be considered as first replies. | On |
| **Chatbots** | Whether to include messages sent by Chatbots in *Response Time* calculations | Off |
| **Outbound** | Whether to include messages sent by Campaigns, Sequences, and HubSpot Workflow in *Response Time* calculations | Off |
| **Working Hours** | Controls whether the user’s primary team schedule is taken in consideration when calculating *Response Times*. | Off |
Note: \*\*Any change to the settings affects both the ‘Inboxes’\_, \_and the ‘Users’ sections, as well as the summary cards.
\*\*Note: \*\*When **Working Hours** is enabled, the user’s primary team schedule will be taken in consideration when calculating *Response Times*. For example, if the user’s team schedule is between 9:00 AM and 5:00 PM, and a message has been received at 6:00 AM and have been replied to at 10:00 AM. Then the response time in this case will be 1 hour, which is the overlap between the team’s working hours and the reply interval.
### Section-specific settings
There are some settings by which you can control the data specific to a certain section (Inboxes or Users)
### Inbox: Filters
Under the Inbox section, there are four different filters that you can apply to zoom further into the metrics
| Filter | Value | Description |
| :---------------- | :--------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |
| Period | 5 mins, 15 mins, 30 mins, 1 hour, 4 hours, 8 hours, 12 hours, 24 hours | The time limit to apply to some of the metrics. This only affects *Response Times* and *Closed Conversations* |
| Team | One of your workspace teams | The teams to calculate the metrics for. A conversation belongs to a team if its assignee belongs to that team |
| Channel | One of your connected channels | The channel to calculate the metrics for. Only conversations that belong to selected channels will be considered |
| Conversation Tags | One of the available tags | Conversations that are tagged with certain tags are taken in consideration. |
### Users: Filters
Under the Users section, there are four different filters that you can apply to zoom further into the metrics
| Filter | Value | Description |
| :------ | :--------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Period | 5 mins, 15 mins, 30 mins, 1 hour, 4 hours, 8 hours, 12 hours, 24 hours | The time limit to apply to some of the metrics. This only affects *Response Times, Messages per conversation, and Messages per other’s conversations*. |
| Team | One of your workspace teams | The teams to calculate the metrics for. A conversation belongs to a team if its assignee belongs to that team |
| Channel | One of your connected channels | The channel to calculate the metrics for. |
| Roles | One of the available roles | Users that have a specific role, e.g. Admin or Member |
### Removing metrics from the table
You can remove some metrics from the table if they are unwanted, simply hover over the column name, click on the down arrow to open the menu, and select **Hide from table**
### Adding more metrics to the table
Not all metrics are shown by default, you can choose to preview more columns by clicking on the (➕) button at the end of the table, then choosing which metric you would like to add
## Metrics: Inboxes
To monitor Inboxes, admins can view the ‘Inboxes’ \*\*tab in the dashboard. The available metrics are:
### Opened conversations
The total number of currently ‘open’ conversations that belong to this inbox.
### Closed conversations
The number of ‘closed’ conversations belonging to this inbox has been closed in the selected period.
### Idle
The number of conversations that are considered ‘idle’. Idle conversations are conversations that haven’t received messages for more than the idle threshold. You can configure the idle threshold separately as part of your workspace settings.
### Unassigned
Number of conversations belonging to the inbox, but not yet assigned to a teammate. Team assignments are irrelevant here.
### Waiting for the first reply
The number of conversations belonging to this inbox that haven’t received any reply. This reply could be from a human agent or a bot, for instance, if a customer sends a message and the bot responds to the conversation. In this case, the conversation won’t be counted as waiting for an answer. However, if the customer sends a message after the bot has finished its flow and the agent hasn’t replied, the conversation will be counted as waiting for an answer.
### Waiting for answer
The number of conversations in this inbox that are awaiting a response. This reply could be from a human agent or a bot, for instance, if a customer sends a message and the bot responds to the conversation. In this case, the conversation won’t be counted as waiting for an answer. However, if the customer sends a message after the bot has finished its flow and the agent hasn’t replied, the conversation will be counted as waiting for an answer.
### **Following up later**
The number of conversations in an inbox that are currently set to follow up later.
### Response time
An aggregation of the time it takes users/bots to send replies to conversations belonging to the inbox. The response time is calculated when an outbound message is sent and based on the time it took to respond to the last inbound message sent by the customer.
### **First Response Time**
An aggregation of the time it takes users or bots to respond to the first inbound message in a conversation session belonging to the inbox. The response time is calculated when an outbound message is sent and based on the time it took to respond to the first inbound message sent by the customer in a conversation session. A conversation session is initiated after a conversation is opened or it counts inbound messages sent after 24 hours of the last interaction. This is configured through dashboard settings.
This is only for the first message after a conversation was marked as ‘Solved’ or after 24 hours of last interaction (customer-service window) based on the settings.
## Metrics: Users
To monitor Users, admins can view the ‘Users’ \*\*tab in the dashboard. The available metrics are:
### **Availability**
Current status of the user (Active or Away)
### **Role**
The role assigned to the user
### **Primary Team**
The primary team of the user
### **Joined since**
The join date of the user
### **Notes sent**
The count of notes sent by a user
### **Idle**
The number of conversations assigned to the user that are considered ‘idle’. Idle conversations are conversations that haven’t received messages for more than the idle threshold. You can configure the idle threshold separately as part of your workspace settings.
### **Following up later**
The number of conversations assigned to the user that are currently set to follow up later.
### **Response Time**
An aggregation of the time it takes a user to send replies to an inbound message. An outbound message is considered a reply if it was the first message sent after an inbound message. For instance, if a customer sends a message, but a bot takes over the conversation, and then an agent sends a message after the conversation ends, that message won’t be counted as a reply to the inbound message. The response time can be configured to exclude team members off times depending on their primary team schedule, this option can be configured from dashboard settings.
### **First Response Time**
An aggregation of the time it takes a user to send a first reply to conversations session in the selected period. An outbound message is considered a reply if it was the first message sent after an inbound message. For instance, if a customer sends a message, but a bot takes over the conversation, and then an agent sends a message after the conversation ends, that message won’t be counted as a reply to the inbound message. The response time can be configured to exclude team members off times depending on their primary team schedule, this option can be configured from dashboard settings.
### Waiting Time
An aggregation of the time the customer waited for a response in conversation assigned to the user. The response can be from a bot or a user. This is similar to response time but it doesn’t take into account the agent schedule.
### First Waiting Time
An aggregation of the time a customer waits for a response to their first message in a conversation session assigned to them. The response can be from a bot or a human. This metric is similar to response time but doesn’t consider the agent’s schedule. A conversation session is counted after a conversation is opened or after 24 hours from the last interaction. This information can be confirmed through the monitoring dashboard settings.
# Contact & conversation search
Source: https://docs.rasayel.io/en/search/search-contacts-conversations
### Contact
You can search for contacts using the search bar located above the conversation list. You have the option to search by name or phone number.
Also, keep in mind that search results may vary based on your conversation filters. For instance, if you are looking for closed conversations, navigate to the **Solved Conversations inbox**.
### **Conversation**
You can search for keywords inside a selected conversation. Click the magnifying icon at the top right corner and type the word you are looking for. Hit `Enter`, and the results will appear on the left side of your screen.
By clicking each of the results, you can view every message in that conversation that contains the word you searched for. Clicking a message in the results takes you to this exact message in the conversation history.
# Overview
Source: https://docs.rasayel.io/en/search/search-overview
The Search feature allows team members to find certain conversations, messages, or contacts by typing in a search query. It includes customizable sorting and filtering options to help you navigate through your search results more easily.
### Accessing search
* Click the magnifier icon on the navigation sidebar.
* Or use keyboard shortcut: `CTRL + F` or `CMD + F`.
To find a specific message or contact, type a name, number, or keyword into the search bar, and the system will instantly display all relevant results.
You can also browse your recent search queries.
### Viewing search results
When you write your search query text and trigger the search, you will get three categories of results:
* \*\*All results - \*\*Includes conversations, messages, and contacts.
* **Contacts only**
* **Conversations + messages**
### Contact search
You can search for contacts by name or phone number. The more precise your query, the better the results. In contact results, you can view past conversations, making it easy to connect contacts with their conversation history.
### Message search
Find specific messages within conversations by typing your query. Search results will list conversations and highlight messages that match your search query. Clicking a conversation in the results takes you to the exact message in the history.
### **Sorting results**
The search function allows you to customize how your results are sorted, giving you control over how you view your content. Once you've entered your search query, click on the sorting options to choose how you want your results to be displayed.
**Messages can be sorted by:**
* Relevance
* Date (oldest or newest)
You can improve your search by sorting your results by date. **Choose from the following options:**
* All Time
* Today
* This Week
* This Month
It is also possible to change the number of results to show per page.
# Connect a WhatsApp Business app number
Source: https://docs.rasayel.io/en/setup/connect
1. Go to [**Rasayel** > **Channels**](https://app.rasayel.io/settings/channels) > **WhatsApp.**
2. Click on **Connect to WhatsApp.**
3. You’ll be redirected to **Facebook.** Log in with your personal Facebook Account.
4. Click on **Get started.**
5. Check the permissions and click on **Continue**.
6. Choose your existing **Meta Business Portfolio** from the first dropdown list. Choose **Connect a WhatsApp Business app** from the second dropdown list.
7. Enter your WhatsApp Business app phone number
8. On your phone look for a WhatsApp message from Facebook official Business account and tap Scan QR code
9. If you want to sync your chat history to Rasayel click on Share chats. If you prefer not to sync WhatsApp Business app conversations to Rasayel, click on Don’t share chats
# Connect a number
Source: https://docs.rasayel.io/en/setup/setup-connect-number
### Set up your workspace and connect your number to Rasayel
1. Start by visiting [https://app.rasayel.io/signup](https://app.rasayel.io/signup), enter you name, email address and password. You must use the email address belonging to your organization.
2. Once you've signed up, you will receive a confirmation email.
3. Confirm your account, and [login](https://app.rasayel.io/) to Rasayel.
4. Fill in the form with your information and click on **Get started.**
5. Give your new workspace a name.
6. Click on **Connect my WhatsApp Number** and follow the on-screen instructions.
7. You will be redirected to Facebook. Log in with your personal Facebook Account.
8. Click on **Get started.**
9. Choose your Meta Business Account. If you don’t have a Meta account, you can create a new one right away—just choose **Create a Meta Business Account** from the drop down menu, fill in your Business Information, and click on **Next.**
10. Select **Start with a new WhatsApp phone number**. If you currently use WhatsApp Business app, and wish to share the number between Rasayel and WhatsApp app (co-existence), you can select **connect your existing WhatsApp Business app**. You may read more about it [on our blog](https://learn.rasayel.io/en/blog/whatsapp-coexistence/).
11. Create a new WhatsApp Business Account.
* Choose **Create a new WhatsApp Business Account** from the drop down menu and fill in your business details.
* *Note: these details will be visible to your customers on WhatsApp.*
12. Select **Add a new number** to register your number with Rasayel. You may also select **Get a free WhatsApp number** if you wish to proceed with Meta’s free-tier phone number. However, please note that there are some **limitations** to Meta’s free-tier phone numbers. Ex: This number cannot be migrated. Official business account is not supported on free numbers as well and some of the features may not be supported.
13. Enter the 6-digit code you receive and click on **Next.**
* **Important: Don't forget to add a payment method to your new WhatsApp Business Account.** Please note that you need to set the card as default payment method. It's done from [**Meta Billing Hub**](https://business.facebook.com/billing_hub) -> **Payment methods**, click on 3 dots next to a card and then make this card **a default.**
After completing the Signup, you can immediately:
* Respond to unlimited customer-initiated conversations (24-hour messaging windows).
* Send business-initiated conversations to 250 unique customers in a rolling 24-hour period.
* Register up to two (2) phone numbers (this limit can be scaled up once you verify your number)
### How to add more numbers to Rasayel
1. Go to [Settings > Channels >](https://app.rasayel.io/settings/channels) **Add New Channels > Select WhatsApp.**
2. Follow the steps above, starting from **Step 7.**
# Mobile app installation
Source: https://docs.rasayel.io/en/setup/setup-install-mobile
You can now download Rasayel’s mobile app and start messaging your customers on the go.
# Invite your team
Source: https://docs.rasayel.io/en/setup/setup-invite-team
1. Start by clicking on [Settings > Users and Roles](https://app.rasayel.io/settings/teams):
2. Invite your team member using their email address
3. Select the designated team and permission for the new user
4. Click on **“Send Invite”**
# Migrating your number to Rasayel
Source: https://docs.rasayel.io/en/setup/setup-migrate-number
Migrating your number is necessary if it’s registered with another service provider and you wish to keep the number and use it with Rasayel. Please note that templates, number quality rating and messaging limits are also migrated with the number. In that case please follow the steps below:
1. Make sure your Facebook Business Account is verified. Migration is **not supported** for unverified accounts.
2. Disable your 2 Factor Authentication from WhatsApp Business Manager > Phone Numbers > Settings.
3. Select **Two Step Verification > Turn Off Two Step Verification**
4. Go to **Rasayel**> **Channels** > **WhatsApp.**
5. Click on **Connect to WhatsApp.**
6. You’ll be redirected to **Facebook.**
* Log in with your personal Facebook Account.
7. Click on **Get started.**
8. Check the permissions and click on **Continue**.
9. Choose your existing **Meta Business Portfolio** from the dropdown list..
10. Fill in your business information and click **Next.**
11. Choose Start with a **new WhatsApp phone number option.**
12. Create a new WhatsApp Business Account.
* Choose **Create a new WhatsApp Business Account** in a drop down menu and fill in the details.
* *Note: these details will be visible to your customers on WhatsApp.*
* ***Make sure new WhatsApp Display name matches the existing name.***
13. On this step, do not proceed before going to [https://business.facebook.com/billing\_hub](https://business.facebook.com/billing_hub) and add a payment method to this new WABA.
14. When payment method is added, return to the embedded sign up form and complete the last steps (enter the phone number and past a 6 digit code).
# Roles and permissions
Source: https://docs.rasayel.io/en/team-management/roles-and-permissions
### Roles
There are two pre-determined roles in Rasayel: *admin* and *member*. You may click on each one of them to view its permissions. You can also assign them to new members when inviting them to Rasayel. Additionally, you can customize a specific role, give it a name, and control its permissions.
### Permissions
Rasayel offers multiple permission levels to ensure your team workflows are organized. Permission levels in Rasayel are offered on the grounds of conversations, agents, views, and features.
# Teams
Source: https://docs.rasayel.io/en/team-management/teams
Teams is a feature that allows you to group users together for easier collaboration. You can **control visibility** for each user, so that only the relevant team members can see the information they need. This makes it easier to manage large projects and keep track of progress. You can add and remove team members as needed, and adjust their visibility settings to ensure that everyone has access to the information they need to get the job done.
### Inboxes
To create a team go to [Settings > Teams](https://app.rasayel.io/settings/teams) > **Create a new tream**. Give your team a name. After creating a team, you will be able to see a shared workspace with its own dedicated inbox. By navigating to left column of Rasayel in your general workspace, you will be able to access your team’s inbox and unassigned conversations under **Shared > My team**. No need to create this folder, it will be created on its own. That way, you can ensure team transparency, higher response rate, and better visibility over each team.
### Adding Users
When a user is added to a team, they will have access to all of the channels that are associated with that team. **However, team members can also be restricted from viewing certain channels within the team.** This allows team administrators to control the information that each team member has access to, and to ensure that sensitive data is only visible to those who need to see it. By carefully managing channel visibility, teams can work more efficiently and effectively, without sacrificing security or privacy.
To add a user to a team, go to [**Settings > Teams**](https://app.rasayel.io/settings/teams)\*\* > choose a team > add users\*\*
### Teams channels
When setting up a team in Rasayel, you can link a specific WhatsApp channel to that team. This helps ensure that the right team members handle the right conversations, and that all incoming messages are properly organized and categorized.
### Team assignment
Each Team has its own assignment options, which can be set in the **Assignment** section. Currently, there are two options: **Unassigned** and **Last busy**.
If the team's assignment option is set to **Unassigned**, any conversation assigned to the team will be marked as unassigned and need to be manually picked up by a team member.
If the team's assignment option is set to Last busy, any conversation that is assigned to the team will be automatically assigned to teammates based on when the teammate was last assigned to a conversation.
### Team conversations
Each team will have its own conversations; the assigned team and member will show on every individual conversation. This makes it easier for members to identify conversations and their associated information such as tags, properties, and contact information that may be stored in your CRM.
### **Team schedule**
Teams can also set their own schedules. This allows teams to indicate their availability and office hours based on their time zone, making it easier for teams to coordinate and collaborate across different time zones, and ensures that team members are aware of each other's availability.
When team members mark themselves as "away," they won't be assigned new conversations. However, if a team member is the only one in a certain team and an incoming conversation is assigned based on a rule that includes that team, they'll still be assigned to that conversation, even if marked as "away.”
To modify a team’s schedule, follow these steps:
1. Go to the **Team Schedule** section.
2. Un-check the non working days to indicate that the team is out of office in those days
3. Add shifts for working days by clicking on the `+` button. (You can also add multiple shifts in the same day).
4. Change the starting and ending time of each day as you wish.
5. Click **Save** to save your changes.
# Folders
Source: https://docs.rasayel.io/en/views-and-folders/folders
Folders let you group Views together. This is helpful for teams with many Views or shared workflows.
### Creating a Folder
1. Go to the **Private** or **Shared** section in the sidebar
2. Click **+ Folder**
3. Name your folder and click on **Create**
### Moving Views into Folders
* Drag a View into a Folder to group them
### Making a Folder shared
1. Click the three-dot menu on a folder
2. Select **Make shared**
Now, everyone on your team can see the folder and its Views.
### Folder options
* **Rename folder** – From the three-dot menu
* **Delete folder** – Deletes the folder and all Views inside
***
## Limitations
* Each team member can have up to **25 private Views**
* Maximum of **25 folders** per workspace
* No nesting: Folders cannot contain other folders
## Summary
Views and Folders help you stay organized by surfacing the right conversations at the right time. Whether you're managing leads, tracking support tickets, or focusing on a specific tag, Views make your inbox easier to work with. Folders let you group and manage these Views so your team always knows where to look.
# Overview
Source: https://docs.rasayel.io/en/views-and-folders/overview
Views and Folders in Rasayel help you organize and manage your inbox more efficiently. Views allow you to save filtered conversations, while Folders let you group multiple Views together.
This makes it easy for teams to access key conversations — such as sales leads or open support tickets — with just a click.
## Key features
* **Save filtered conversations** using Views
* **Organize Views into folders** for easier navigation
* **Use filters** like assignee, status, channel, tags, and more
* **Private or Shared**: Choose who can see each View or Folder
* **Quick access** to important conversations without manual filtering
# Views
Source: https://docs.rasayel.io/en/views-and-folders/views
### Creating a View
1. Go to the **Views** section in the inbox sidebar
2. Click on the `+` button to create a new View
3. Give your View a name (e.g. "Sales Leads")
4. Add filters (e.g. Assignee, Channel, Tag, Status, etc.)
5. Click on **Save View**
Your new View appears in the sidebar under **Private** or **Shared**, depending on visibility.
### Editing a View
1. Select a view from the sidebar
2. Click on **Edit** at the top
3. Adjust the filters or name
4. Click on **Update View**
### Deleting a View
1. Hover over the view in the sidebar
2. Click on the three-dot menu and select **Delete View**
3. Confirm deletion (this action is permanent)
# How to use templates in Rasayel
Source: https://docs.rasayel.io/en/whatsapp-business/how-to-use-templates
### Quick templates feature
Once you register your WhatsApp number with Rasayel, we add several templates to your account. They are part of the Quick templates feature. This feature allows you to reengage with customers more easily. Once the 24-hour service window expires, quick templates will appear in the composer. You can choose between several languages and several quick templates in the top right corner.
If you need to access other templates, just click on **Browse Templates** in the bottom left corner.
You can disable this feature from [**Settings > General**](https://app.rasayel.io/settings/workspace)\*\* > Use Quick Templates\*\*
You can reply to customers with free-form messages only after they reply to your template. If you want to message them before they reply, you can only send another template.
### **Start a conversation for the first time**
If you want to send a message to a customer who has never messaged you, follow these steps:
1. Click the pencil icon at the bottom of the conversation list.
2. Start typing the customer’s name or phone number. If the contact already exists in your workspace, you can choose them from the list, if it is not yet added, we will create a new contact.
3. Select a channel you would like to message them from.
4. **Select a message template** from the list.
5. Fill in the variables if needed.
6. Click **Send message**.
While you can start a conversation with a customer for the first time, you must already have their [consent (opt-in)](https://learn.rasayel.io/en/blog/opt-ins-consent-and-whatsapp-best-practices-policies/) stating they would like to receive messages from your business over WhatsApp.
### **User opt-in and consent**
WhatsApp message templates can be sent proactively. This means you can send them to contacts who have never sent you a WhatsApp message in the past.
However, you **must** obtain and keep a record of your user's consent **before** sending them a WhatsApp message for the first time.
Even if you received consent, spamming customers with templates is highly discouraged as it could reduce your quality rating and messaging limits. In extreme cases, it could have your WhatsApp account suspended.
For more information on this, [here's Facebook's official guide on how to obtain opt-in.](https://developers.facebook.com/docs/whatsapp/guides/opt-in/)
Please note the following paragraph from the official guide:
*People can share feedback with WhatsApp or choose to stop receiving offers and announcements messages on WhatsApp from a particular business. People can also block or report a business. Our systems will rate limit businesses if the business's quality is low for a sustained period of time. We may also reactively evaluate user feedback to flag policy violations and develop additional types of enforcement over time.*
# Message templates
Source: https://docs.rasayel.io/en/whatsapp-business/message-templates
If you want to talk to a customer without them having reached out to you, you will need to use a message template. Templates are reusable messages that you create and submit to WhatsApp for approval. Once approved, you can start sending them to customers.
### WhatsApp customer service window
When a customer replies to you on WhatsApp, a 24-hour customer service window starts. During this period, you can send any type of message to a customer. Every time your customer replies, the service window resets for another 24 hours. Any communication within the 24 hours is considered a **session message.**
After the 24-hour period is over, you can only use **message templates** to contact your customer. If they respond, a new 24-hour window will open, and you will once again be able to send **session messages**.
### Template elements
Message templates can have variables in the body, text header, and URL buttons. You fill in the variables based on the customer information before sending.
Here’s an example of variables in a template:
```
“Your order for {{1}} for a total of {{2}} is confirmed. The expected delivery is {{3}}.”
```
You can use this template to send the following message to a customer:
> “Your order for five meals for a total of \$30 is confirmed. The expected delivery is in 2 days.”
### Carousel templates
Media card carousel templates let you send a single text message alongside a scrollable set of up to 10 media cards.
Each card includes a header with an image or video, body text, and up to two buttons. These buttons can be a mix of quick reply, phone number, or URL buttons.
All cards within a template must share the same structure and components.
### WhatsApp Message Template categories
You can create templates in three different categories: **Utility**, **Marketing**, and **Authentication**
#### Utility templates
Utility templates relate to a specific, agreed-upon transaction and accomplish one of the following: Confirm, suspend, or change a transaction or subscription. Any template with a mix of utility and marketing content will be classified as a marketing template.
#### Marketing templates
Marketing templates do not relate to a specific, agreed-upon transaction but may relate to the business and/or its products/services. They may include promotions or offers, welcoming/closing messages, updates, invitations or recommendations, or requests to respond or complete a new transaction.
#### Authentication templates
Authentication templates enable businesses to authenticate users with one-time passcodes (usually 4–8 digit alphanumeric codes), potentially at multiple steps in the login process (e.g., account verification, account recovery, integrity challenges).
### **Create a WhatsApp Message Template**
To create a template in Rasayel:
1. Navigate to **Settings**.
2. Click **Templates**.
3. Select your WhatsApp channel. If you have more than one WhatsApp channel, you can select any of them.
4. Click **+ Add new template**.
5. Choose template type – Standard or Carousel.
6. Write your message in the body section. If you want to include a variable, just click the `{}` button at the bottom of the template composer.
7. Optionally, choose a header from the following options: text, video, image, or document. Additionally, you can include a text-based footer.
8. If you want to add a button:
* Click **+ Add button**
* Select **Quick reply**, **URL**, or **Phone number**
* If you select **Quick reply**, you can add up to ten buttons with different messages.
* If you select **URL** or **Phone number**, you can add only three buttons — two for URLs and one for a phone number.
9. You can also connect one of your WhatsApp flows as a template button. You’ll just need to choose a flow from the drop-down menu. It’s also possible to collect flow responses by adding a URL where we will send data (phone number, conversation ID, flow ID, flow answers, etc.) whenever someone fills this WhatsApp flow. To do this, click on **Create webhook** and enter your webhook URL.
1. Once the template is ready, click **Continue**.
2. Wait until our AI processes the information. It only takes a few seconds.
* Optionally, you can edit the name, the category, and the language.
3. Click **Submit**.
### **How to check if WhatsApp has approved or rejected your template**
WhatsApp can take up to 24 hours to approve or reject a template. However, in most cases, it takes just a few minutes. You can check your template’s status by following the steps below:
1. Go to **Settings**.
2. Click **Templates**.
3. Select your WhatsApp channel.
4. Use the search feature or scroll down to find your template.
There are three possible outcomes:
* **Accepted** – you can use it immediately.
* **Under review** – you must wait for WhatsApp to approve it.
* **Rejected** – you cannot use it. You could make changes to it and submit it again or appeal the rejection.
### Reasons for rejections and how to appeal them
A rejection notification that includes the rejection reason will appear in [Business Support Home](https://business.facebook.com/business-support-home). You can view rejections in the **Business Support Home** by navigating to:
**Account Overview** → Click **View my accounts** → Choose your Meta Business Account → Choose your WhatsApp Business Account → **Rejected message templates**.
From there, you can request another review.
### How to edit templates
You can edit a template once every 24 hours, with a limit of 10 edits per 30 days.
To make changes, go to **Settings > Templates**, open the template, adjust the content, and click **Submit**. Keep in mind that any edited template will be re-reviewed by Meta.
Templates with an **Approved** or **Rejected** status can be edited, but only their content - categories cannot be changed.
You can also toggle Approved templates off to make them unavailable for use.
### How to delete templates
Go to **Settings > Templates and** find a template in the list.
Then, select the three dots located to the right of the template and click on **Delete**.
Rasayel syncs your templates with Meta every 5 minutes. If you need an update immediately, click the **Sync** button at the top of your template list to refresh manually.
# Introduction and pricing
Source: https://docs.rasayel.io/en/whatsapp-business/overview
The WhatsApp Business Platform is official, secure, and reliable method that allows businesses worldwide to engage with their customers effectively. With the WhatsApp Business Platform, your account operates entirely in the cloud and does not connect with the standard WhatsApp mobile app. It is accessible only through the Rasayel inbox.
## **WhatsApp pricing**
Businesses are charged per conversation based on a conversation category. Each conversation includes all messages delivered in a 24-hour session.
Per-message pricing will apply to all businesses starting July 1, 2025. With per-message pricing, businesses will be charged:
* Per delivered marketing template message
* Per delivered authentication template message
* Per delivered utility template message, if delivered outside of a customer service window
For more information, please refer to the [official WhatsApp pricing.](https://developers.facebook.com/docs/whatsapp/pricing/conversationpricing/)
# How to update WhatsApp profile info
Source: https://docs.rasayel.io/en/whatsapp-business/update-whatsapp-info
To change your **logo, profile details**, or **Display name**, follow these steps:
1. Go to [WhatsApp Business Manager](https://business.facebook.com/wa/manage) → Phone numbers
2. Click on the settings icon next to the phone number you want to update
3. Then, under the Profile section, you can update your photo, Display name, description, and other details.
When choosing a new name, make sure to follow [WhatsApp’s Official Name Guidelines](https://www.facebook.com/business/help/338047025165344).
**Tip:** If you don’t see your number in the list, it may be saved under another WhatsApp Account. Just open drop-down menu at the top right:
# WhatsApp flows
Source: https://docs.rasayel.io/en/whatsapp-business/whatsapp-flows
WhatsApp flows is an advanced feature designed specifically for WhatsApp Business Platform users. It allows businesses to design interactive and automated conversation pathways within WhatsApp. These pathways can facilitate everything—from allowing people to book a table in their favorite restaurant to guiding users through complex processes, all without ever leaving the app.
How to create a WhatsApp flow from Rasayel
1. Go to [Settings > Flows](https://app.rasayel.io/settings/flows) > Create a Flow
2. Give your flow a name, Select category (e.g., Survey), and a WhatsApp number, and click on Create
3. Build your flow. It can contain long and short answer fields, drop-downs, date pickers, multiple and single choice answers.
You can create more complex multi-step flows directly in WhatsApp Business Manager. We share more about flows on [our blog](https://learn.rasayel.io/en/blog/create-whatsapp-flows-using-whatsapp-manager/).
# Privacy Policy
Source: https://docs.rasayel.io/privacy
Rasayel Privacy Policy
Rasayel is a product of Rasayel, Inc. (the “Company”), hereby doing business as Rasayel (the “Web Application” or “Platform” or “System” or “app”).
[https://rasayel.io](https://rasayel.io/) is a business communication platform that helps internet business communicate with their customers through one unified platform.
Rasayel is committed to protecting your privacy. It governs the Privacy Terms of our Platform, located at [https://www.rasayel.io](https://www.rasayel.io) This Privacy Policy explains how your personal information is collected, used, stored and disclosed by our Company.
By accessing or using our Service, you announce that you have read, understood, and agree to our collection, storage, use, and disclosure of your personal information as described in this Privacy Policy and our Terms of Service.
**Definitions**
* **Personal Data:** Personal Data means data about a living individual who can be identified from those data. Personal Data is any information that directly, indirectly, or in connection with other information allows for the identification of a natural person.
* **Usage Data:** Usage Data is data collected automatically either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).
* **Cookies:** Small amount of data generated by a website and saved by your web browser. It is used to identify your browser, provide analytics, remember information about you such as your language preference or login information.
* **Data Controller:** Data Controller means a natural or legal person who (either alone or jointly or in common with other persons) determines the purposes for which and the manner in which any personal data are, or are to be processed. For the purpose of this Privacy Policy, we are a Data Controller of your data.
* **Data Processors (or Service Providers):** Data Processor (or Service Provider) means any natural or legal person who processes the data on behalf of the Data Controller. We may use the services of Service Providers in order to process your data more effectively.
* **Data Subject:** Data Subject is any living individual who is the subject of Personal Data.
* **User:** The User is the individual using our Service. The User corresponds to the Data Subject, who is the subject of Personal Data.
**What Information Do We Collect?**
We collect several types of information for various purposes to provide and improve our Service to you.
**Types of Data Collected**
* **Personal Data**
While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you and/or your company. It means - Email address, password, name, phone, address, country, company name.
* **How do we protect your information?**
We implement a variety of security measures to maintain the safety of your personal information. We offer the use of a secure server. All supplied sensitive/credit information is transmitted via Secure Socket Layer (SSL) technology and then encrypted into our Payment gateway providers database only to be accessible by those authorized with special access rights to such systems, and are required to keep the information confidential. We actually hand it off to Stripe, our payment processing partner which is a certified **PCI** Level 1 Service Provider.
After a transaction, your private information (credit card) is never kept on file. We cannot, however, ensure or warrant the absolute security of any information you transmit to Rasayel or guarantee that your information on the Service may not be accessed, disclosed, altered, or destroyed by a breach of our physical, technical, or managerial safeguards.
**Your consent**
By using our Software System, registering an account, accessing our services or products, you consent to this Privacy Policy Term.
* **Usage Data**
We may also collect information on how the Service is accessed and used (Usage Data). This Usage Data may include information such as your computer’s Internet Protocol address (IP address), browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
* **Tracking & Cookies Data**
We use cookies and similar tracking technologies to track the activity on our Service and hold certain information.
Cookies are files with small amount of data which may include an anonymous unique identifier. Cookies are sent to your browser from a website and stored on your device. Tracking technologies also used are beacons, tags, and scripts to collect and track information and to improve and analyze our Service.
You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you may not be able to use some portions of our Service.
**How do we use the information we collect?**
Any of the information we collect from you may be used in one of the following ways:
* To personalize your experience (your information helps us to better respond to your individual needs)
* To improve our Service (we continually strive to improve our application offerings based on the information and feedback we receive from you)
* To improve customer service (your information helps us to more effectively respond to your customer service requests and support needs)
* To process transactions
* To administer a contest, promotion, survey or other site feature
* To send periodic emails
* To notify you about changes to our Service
* To gather analysis or valuable information so that we can improve our Service
* To monitor the usage of our Service
* To detect, prevent and address technical issues
* To provide you with news, special offers and general information about services/products which we offer
**How do we use your email address?**
By submitting your email address, you agree to receive emails from us. You can cancel your participation in any of these email lists at any time by clicking on the opt-out link or other unsubscribe option that is included in the respective email. We only send emails to people who have authorized us to contact them, either directly, or through a third party. We do not send unsolicited commercial emails, because we hate spam as much as you do.
Email addresses submitted only through the order processing page will be used for the sole purpose of sending you information and updates pertaining to your order. If, however, you have provided the same email to us through another method, we may use it for any of the purposes stated in this Policy. Note: If at any time you would like to unsubscribe from receiving future emails, we include detailed unsubscribe instructions at the bottom of each email.
**How long do we keep your information?**
We will retain your Personal Data for a period of four (4) years. We will retain and use your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
We will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of our Service, or we are legally obligated to retain this data for longer time periods.
We will retain the information we collect from you for a period the period mentioned above or until you are an active user of the services we provide. After the expiry of this period, we undertake to delete any information we have collected from you.
## **Disclosure of data**
* **Business Transaction.** If we are involved in a merger, acquisition or asset sale, your Personal Data may be transferred. We will provide notice before your Personal Data is transferred and becomes subject to a different Privacy Policy.
* **Disclosure for Law Enforcement.** Under certain circumstances, we may be required to disclose your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g., a court or a government agency).
**Information we collect and receive**
We receive and store some information you knowingly provide to us. For example, through the registration process and/or through your account settings, we may collect Personal Information such as your name, email address and third-party account credentials (for example, your log-in credentials for Facebook, Google, Apple or other third-party sites). If you provide your third-party account credentials to us, you understand some content and/or information in those accounts (“Third-party Account Information”) may be transmitted into your account with us if you authorise such transmissions, and that Third Party Account Information transmitted to our Services is covered by this Privacy Policy; for example, if you connect with us through Facebook, Google or Apple some of your user information from those sites may be transferred as well (though you may be able to edit them later). Certain information may be required to register with us or to take advantage of some of our features.
We may communicate with you if you’ve provided us the means to do so. For example, if you’ve given us your email address, we may send you promotional email offers on behalf of other businesses, or email you about your use of the Services. If you do not want to receive communications from us, please indicate your preference by emailing us at [team@rasayel.io](mailto:team@rasayel.io)
**Information collected automatically**
Whenever you interact with our Services, we automatically receive and record information on our server logs from your browser or device, which may include your IP address, geolocation data, device identification, “cookie” information, the type of browser and/or device you’re using to access our Services, and the page or feature you requested. “Cookies” are identifiers we transfer to your browser or device that allow us to recognize your browser or device and tell us how and when pages and features in our Services are visited and by how many people. You may be able to change the preferences on your browser or device to prevent or limit your device’s acceptance of cookies, but this may prevent you from taking advantage of some of our features.
We may use this data to customize content for you that we think you might like, based on your usage patterns. We may also use it to improve the Services—for example, this data can tell us how often users use a particular feature of the Services, and we can use that knowledge to make the Services interesting to as many users as possible.
**Security of your information**
Your account is protected by a password for your privacy and security. You must prevent unauthorized access to your account and Personal Information by selecting and protecting your password appropriately and limiting access to your computer or device and browser by signing off after you have finished accessing your account.
We endeavor to protect the privacy of your account and other Personal Information we hold in our records, but unfortunately, we cannot guarantee complete security. Unauthorized entry or use, hardware or software failure, and other factors, may compromise the security of user information at any time.
**Information retention and deletion**
Through your account settings, you may access, and, in some cases, edit or delete the following information you’ve provided to us:
* Name
* Password
* Email address
* Credit card information
**Your choices**
You can always opt not to disclose information to us, but keep in mind some information may be needed to register with us or to take advantage of some of our features.
You may be able to add, update, or delete information as explained above. We may use any aggregated data derived from or incorporating your Personal Information after you update or delete it, but not in a manner that would identify you personally.
## **Legal Basis for Processing Personal Data Under General Data Protection Regulation (GDPR)**
Rasayel legal basis for collecting and using the personal information described in this Privacy Policy depends on the Personal Data we collect and the specific context in which we collect it.
Rasayel may process your Personal Data because:
* We need to perform this contract (provision of service) with you
* You have given us permission to do so
* The processing is in our legitimate interests, and it’s not overridden by your rights
* For payment processing purposes
* To comply with the law
## **Your Data Protection Rights Under General Data Protection Regulation (GDPR)**
You have certain data protection rights. Rasayel aims to take reasonable steps to allow you to correct, amend, delete, or limit the use of your Personal Data.
If you wish to be informed what Personal Data, we hold about you and if you want it to be removed from our systems, please contact us ([team@rasayel.io](mailto:team@rasayel.io)).
In certain circumstances, you have the following data protection rights:
* **The right to access, update, or to delete** the information we have on you.
* **The right of rectification.** You have the right to have your information rectified if that information is inaccurate or incomplete.
* **The right to object.** You have the right to object to our processing of your Personal Data.
* **The right of restriction.** You have the right to request that we restrict the processing of your personal information.
* **The right to data portability.** You have the right to be provided with a copy of your Personal Data in a structured, machine-readable and commonly used format.
* **The right to withdraw consent.** You also have the right to withdraw your consent at any time where Rasayel relied on your consent to process your personal information.
Please note that we may ask you to verify your identity before responding to such requests.
**CCPA/ CalOPPA/ PIPEDA**
The California Consumer Privacy Act is a law that allows any California consumer to demand to see all the information a company has saved on them, as well as a full list of all the third parties that data is shared with.
**Analytics**
* **Google Analytics, Analytics collected directly and Facebook Ads conversion tracking (Facebook pixel)**
* **Facebook Analytics for Apps**
**Contacting the User**
* **Mailing list or newsletter**
Personal Data: city; country; email address; first name; last name
* **Email contact**
Personal Data: email address
**Device permissions for Personal Data access**
* **Device permissions for Personal Data access**
Personal Data: Contact’s permission; Phone permission; SMS permission; Social media accounts permission; Storage permission.
**Handling payments**
* **Stripe**
Personal Data: Data specified in the privacy policy
**Interaction with external social networks and platforms**
* **Twitter Tweet button and social widgets and Facebook Like button and social widgets**
Personal Data: Cookies; Usage Data
**Hosting and backend infrastructure**
* **Amazon Web Services (AWS)**
Is a comprehensive, evolving cloud computing platform provided by Amazon that includes a mixture of infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS).
**Tools and Software**
* **Sentry**
Sentry is Open-source error tracking that helps developers to monitor, fix crashes in real time.
* **SparkPost**
SparkPost is an email infrastructure provider - Predictive email intelligence platform.
* **GitHub**
GitHub is Git repository hosting service. Rasayel uses GitHub to host their system’s source code.
* **CircleCI**
CircleCI is a continuous integration and continuous delivery (CI/CD) platform.
**Rasayel will use the following tools for internal purposes**
* Linear (project management)
* Notion (internal wiki)
* Slack (internal chat)
* Zoom (video, etc)
* GSuite (Gmail, Docs, etc)
* 1Password (keeping our passwords safe)
* Calendly (scheduling meetings)
**The Service is not directed to Users under the age of 18**
Users declare themselves to be adult according to their applicable legislation. Under no circumstance, persons under the age of 18 may use this service.
**Unique device identification**
This application may track Users by storing a unique identifier of their device, for analytics purposes or for storing Users’ preferences.
**User identification via a universally unique identifier (UUID)**
This application may track Users by storing a so-called universally unique identifier (or short UUID) for analytics purposes or for storing Users’ preferences. This identifier is generated upon installation of this Application, it persists between Application launches and updates, but it is lost when the User deletes the Application. A reinstall generates a new UUID.
**Governing Law**
These Terms and any separate agreements whereby we provide you service shall be governed by and construed in accordance with the laws of the United States of America.
**Data Protection Officer**
We have appointed a Data Protection Officer (“DPO”) who is responsible for overseeing questions about this privacy notice. If you have any questions about this privacy notice, including any requests to exercise your legal rights, please contacts Data Protection Officer, at [team@rasayel.io](mailto:team@rasayel.io)
**Changes to this Privacy Policy**
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this app.
We will let you know via email and/or a prominent notice on our Service, prior to the change becoming effective and update the “effective date” at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
**Contact us**
If you have any questions about this Privacy Policy, don’t hesitate to contact us.
E-mail: [team@rasayel.io](mailto:team@rasayel.io)
# Security Policy
Source: https://docs.rasayel.io/security-policy
# Overview
At Rasayel, protecting our customers’ data is a top priority. This Security Policy outlines the technical and organizational controls we have in place across our platform to prevent unauthorized access, misuse, alteration, or disclosure of customer data. Rasayel’s infrastructure is built on Amazon Web Services (AWS), and unless stated otherwise, the practices described below refer to our AWS-based environment. We also encourage you to read our Terms of Service and Privacy Policy to learn more about how we operate.
# Best Practices
**Incident Response Plan**
* Rasayel has a formal process for security events and have trained our engineers and employees on these processes.
* We have a set of Engineers always on-call. In case of a security event, immediate escalation to the on-call team happens, the team is paged and coordinated efforts are done to contain and resolve the issue quickly.
* We conduct a detailed post-incident analysis after each event.
* These reports are reviewed internally and shared across the company, accompanied by follow-up actions to improve our ability to detect and prevent similar events in the future.
* In the event of a confirmed security breach that impacts your data, Rasayel will notify you promptly via email and we will provide updates on our [status page](https://status.rasayel.io/). The notice will include details about the breach and our ongoing investigation.
**Build Process Automation**
* We have functioning, frequently used automation in place using modern CI tools and methods, so that we can safely and reliably rollout changes to our application within minutes.
* We typically ship code to production numerous times per day, so we have high confidence that we can get a security fix out quickly when required.
* We use modern IaC platforms to ensure changes to our infrastructure are always monitored and reviewed thoroughly.
**Code Reviews**
* Any new changes to our application or infrastructure has to go through a rigorous code review process. Deploying new code is always blocked until different team members have went through the changes to ensure no security threats are shipped to production.
# Infrastructure
* All of Rasayel’s systems are hosted entirely on cloud infrastructure provided by AWS. We do not manage or maintain physical hardware such as servers, routers, or DNS infrastructure.
* Our systems and customer data are hosted on AWS data centers, which are protected by AWS security. More information can be found at: [http://aws.amazon.com/security/sharing-the-security-responsibility](http://aws.amazon.com/security/sharing-the-security-responsibility).
* All of our infrastructure is spread across 3 AWS data centers (availability zones) and will continue to work should any one of those data centers fail unexpectedly. Amazon does not disclose the location of its data centers. As such, Rasayel builds on the physical security and environmental controls provided by AWS. See [http://aws.amazon.com/security](http://aws.amazon.com/security) for details of AWS security infrastructure.
* All of our servers are within our own virtual private cloud (VPC) with network access control lists (ACL’s) that prevent unauthorized requests getting to our internal network.
* Rasayel uses a backup solution for datastores that contain customer data.
# Data
* Rasayel’s platform and customer data are hosted in AWS’s US-based data centers (us-east-1).
* Customer data is stored in multi-tenant datastores; we do not have individual datastores for each customer. However strict privacy controls exist in our application code that are designed to ensure data privacy and to prevent one customer from accessing another customer’s data (i.e., logical separation). We have many unit and integration tests in place to ensure these privacy controls work as expected. These tests are run every time our codebase is updated and even one single test failing will prevent new code being shipped to production.
# Data Transfer
* All data sent to or from Rasayel is encrypted in transit using 256-bit encryption.
* Our API and application endpoints are TLS/SSL only. This means we only use strong cipher suites. We also encrypt data at rest using an industry-standard AES-256 encryption algorithm.
* All payment instrument processing for purchase of the Rasayel services is performed by Stripe. For more information on Stripe’s security practices, please see [https://stripe.com/docs/security/stripe](https://stripe.com/docs/security/stripe).
# Authentication
* Rasayel is completely served over HTTPS, following modern security best practices.
* We have two-factor authentication (2FA) and strong password policies on all of the services we use like AWS, Elastic, GitHub, and Rasayel to ensure access to cloud services are protected.
* Best practices for access management and control are implemented over our infrastructure on AWS and Elastic to prevent unauthorized access to our infrastructure.
# Application Monitoring
* On an application level, we produce logs for all network activity, ship logs to our service providers for analysis, and use AWS S3 for archival purposes.
* All access to Rasayel applications is logged and audited.
* Access to infrastructure by personnel is guarded by bastion hosts to ensure secure entry points.
# Customer Responsibilities
* Managing your internal user accounts and access roles within the Rasayel platform.
* Protecting your own account and user credentials for all of your employees accessing the Rasayel services.
* Compliance with the terms of your services agreement with Rasayel, including with respect to compliance with laws.
* Immediately notifying Rasayel if user credentials are suspected to be compromised or if there are any concerns about potential security threats to your account or the Rasayel platform.
* You may not perform any security penetration tests or security assessment activities without the consent of Rasayel.
# Terms of Service
Source: https://docs.rasayel.io/terms
Rasayel Terms of Service
Rasayel is a product of Rasayel, Inc. (the “Company”), hereby doing business as Rasayel (the “Web Application” or “Platform” or “System” or “app”).
[https://rasayel.io](https://rasayel.io/) is a business communication platform that helps internet business communicate with their customers through one unified platform.
Throughout the Platform ([https://rasayel.io](https://rasayel.io/)) the terms “we”, “us” and “our” refer to Rasayel.
By visiting our Platform and/or purchasing something from us, you engage in our “service” and agree to be bound by the following Terms (the “Terms”). These Terms apply to all users of the Platform, including without limitation users who are browsers, affiliates, vendors, customers, merchants, and/or contributors of content.
Please read these Terms carefully before accessing or using our Platform. By accessing or using any part of the Platform, you agree to be bound by these Terms. If you do not agree to all the terms of this agreement, then you may not access the Platform or use any service.
Any new features or tools which are added to the current platform shall also be subject to the Terms. You can review the most current version of the Terms at any time on this page. We reserve the right to update, change or replace any part of these Terms by posting updates and/or changes to our Platform. It is your responsibility to check this page periodically for changes. Your continued use of or access to the Platform following the posting of any changes constitutes acceptance of those changes.
**DEFINITIONS**
When the following words are used in these Terms, this is what they will mean:
**Company** : When the terms mention “Company”, it refers to Rasayel, Inc., that is responsible for the information under this Agreement.
**User** : Means any person who accesses Rasayel Platform.
**Service:** Refers to the service provided by **Rasayel** and **Third-party service** as described in the relative Agreement.
**Customer** Refers to the User who accesses our platform (the “Platform”) and purchases any products or service with us.
**Intellectual Property Rights:** Means (without limitation) any patents, rights to inventions, copyright and related rights, trade-marks and service marks, goodwill and the right to sue for passing off, rights in designs, rights in computer software, database rights, rights to use, in each case whether registered or unregistered and including all applications and rights to apply for and be granted, renewals or extensions of, and rights to claim priority from, such rights and all similar or equivalent rights or forms of protection which subsist or will subsist now or in the future in any part of the world.
**Terms:** This agreement set out in this document.
**Platform** : Computing framework on which applications may be run.
**System** : Is a collection of entities (hardware, software and liveware) that are designed to receive, process, manage and present information in a meaningful format.
**Personal Information** : **Personal data** , also known as **personally identifiable information** ( **PII** ) is any information relating to an identifiable person. For example, an individual’s name, signature, address, phone number or date of birth.
**Notification:** The email/push sent from Rasayel to a customer.
**Platform:** [https://rasayel.io](https://rasayel.io/)
**GENERAL RESTRICTIONS**
You represent, warrant, and agree that you will not use the Platform, interact with the service, in a manner that:
1. Infringes or violates the intellectual property rights or any other rights of anyone else;
2. Violates any law;
3. Is harmful, fraudulent, deceptive, threatening, harassing, defamatory, obscene, or otherwise objectionable;
4. Jeopardizes the security of your Rasayel account or anyone else’s (such as allowing someone else to log in to the service as you);
5. Attempts, in any manner, to obtain the password, account, or other security information from any other user;
6. Violates the security of any computer network, or cracks any passwords or security encryption codes;
7. Runs Mail list, Listserv, any form of auto-responder or “spam” on the service, or any processes that run or are activated while you are not logged into the service, or that otherwise interfere with the proper working of the service (including by placing an unreasonable load on the service’ infrastructure);
8. “Crawls,” “scrapes,” or “spiders” any page, data, or portion of or relating to the service or Content (through use of manual or automated means);
9. Copies or stores any significant portion of the Content; or
10. Decompiles, reverse engineers, or otherwise attempts to obtain the source code or underlying ideas or information of or relating to the service.
A VIOLATION OF THE FOREGOING IS GROUNDS FOR TERMINATION OF YOUR RIGHT TO USE OR ACCESS THE SERVICE.
**GENERAL CONDITIONS**
We reserve the right to refuse service to anyone for any reason at any time. You understand that your content (not including credit card information), may be transferred unencrypted and involve (a) transmissions over various networks; and (b) changes to conform and adapt to technical requirements of connecting networks or devices. Credit card information is always encrypted during transfer over networks. You agree not to reproduce, duplicate, copy, sell, resell or exploit any portion of the service, use of the service, or access to the service or any contact on the Platform through which the service is provided, without express written permission by us. You agree not to reproduce, duplicate, copy, sell, resell or exploit any of the products on the Platforms, the designs, brand trademarks, registered trademarks, or brand campaigns through which the service is provided, without express written permission by us.
**ACCEPTABLE USE**
You shall **not**
1. provide System passwords or other log-in information to any third-party;
2. share nonpublic System features or content with any third-party;
3. access the System in order to build a competitive product or service, to build a product using similar ideas, features, functions or graphics of the System, or to copy any ideas; or
4. engage in web scraping or data scraping on or related to the System, including without limitation collection of information through any software that simulates human activity or any bot or web crawler.
If Rasayel suspects that you have violated the requirements of this section, we may suspend your access to the System without advanced notice, in addition to other remedies we may have.
Rasayel is not obligated to take any action against you or any other System user or other third party for violating this Agreement, but we are free to take any such action as it sees fit.
**SYSTEM ACCESS**
You are responsible and liable for:
1. your use of the Platform, including unauthorised conduct and conduct that would violate the requirements of these Terms;
2. any use of the Platform through your account or passwords, whether authorized or not.
**UNAUTHORIZED ACCESS**
You agree to take reasonable steps to prevent unauthorized access to the System, including by protecting your password and other log-in information. You shall notify Rasayel immediately if you know of or suspect unauthorized use of the System or breach of its security.
**COMPLIANCE WITH LAW**
In using the Platform, you shall comply with all applicable laws, including laws governing the protection of personally identifiable information and other laws applicable to the protection of your content.
**DISCLAIMER OF LIABILITY**
Rasayel is not liable, and you agree not to hold us (owners, founder, co-founders, executive team, employees, subsidiaries, affiliates, agents) responsible for any: DAMAGES FOR LOSS OF REVENUES, PROFITS, GOODWILL, USE, DATA OR OTHER INTANGIBLE LOSSES ARISING OUT OF OR RELATED TO YOUR USE OF THE PLATFORM OR THE SERVICE, REGARDLESS OF WHETHER SUCH DAMAGES ARE BASED ON CONTRACT, TORT (INCLUDING NEGLIGENCE AND STRICT LIABILITY), WARRANTY, STATUTE OR OTHERWISE.
The service and all products and service delivered to you through the service are (except as expressly stated by us) provided ‘as is’ and ‘as available’ for your use, without any representation, warranties or conditions of any kind, either express or implied, including all implied warranties or conditions of merchantability, merchantable quality, fitness for a particular purpose, durability, title, and non-infringement. In no case shall Rasayel, our directors, officers, employees, affiliates, agents, contractors, interns, suppliers, service providers or licensors be liable for any injury, loss, claim, or any direct, indirect, incidental, punitive, special, or consequential damages of any kind, including, without limitation lost profits, lost revenue, lost savings, loss of data, replacement costs, or any similar damages, whether based in contract, tort (including negligence), strict liability or otherwise, arising from your use of any of the service or any products procured using the service, or for any other claim related in any way to your use of the service or any product, including, but not limited to, any errors or omissions in any content, or any loss or damage of any kind incurred as a result of the use of the service or any content (or product) posted, transmitted, or otherwise made available via the service, even if advised of their possibility. Because some states or jurisdictions do not allow the exclusion or the limitation of liability for consequential or incidental damages, in such states or jurisdictions, our liability shall be limited to the maximum extent permitted by law.
**DISCLAIMER OF WARRANTIES**
Rasayel disclaims all warranties, express or implied regard to this service. Rasayel does not make representations of any kind or warranties available to you through the Platform.
No oral advice or written information given by Rasayel or any of its affiliates, employees, officers, directors, agents, or the like will create a warranty.
WITHOUT LIMITATING THE GENERALITY OF THE FOREGOING: (a) Rasayel HAS NO OBLIGATION TO INDEMNIFY OR DEFEND YOU AGAINST CLAIMS RELATED TO INFRINGMENT OF INTELLECTUAL PROPERTY; (b) Rasayel DOES NOT REPRESENT OR WARRANT THAT THE SYSTEM WILL PREFORM WITHOUT INTERRUPTION OR ERROR; (c) Rasayel DOES NOT REPRESENT OR WARRANT THAT THE SYSTEM IS SECURE FROM HACKING OR OTHER UNAUTHORIZED INTRUSION OR THAT YOUR CONTENT WILL REMAIN PRIVATE OR SECURE; AND (d) Rasayel DISCLAIMS ANY REPRESENTATION OR WARRANTY CONCERNING PRODUCTS OR SERVICE PROVIDED BY OTHER USERS OF THE SYSTEM OR OTHER THIRD PARTIES.
**RISK OF EXPOSURE**
You understand and agree that using/sharing content online involves risks of unauthorized disclosure or exposure and that, in submitting your content, data to or transmitting it through the system, you assume the risks. Rasayel offers no representation, warranty, or guarantee that your data will not be exposed or disclosed through the System or through errors or the actions of third parties.
The Risks exist and are really dangerous in the online environment. It is important to be aware of the risks that subsist on the internet and how to minimize them:
1. Exposure to inappropriate material
2. Illegal activities
3. Harassment
4. Legal and financial risks
5. Identity theft
6. Cyberattack
7. Invasion of privacy
8. Data breach
9. Scams
**CYBERSECURITY AND ONLINE PLATFORM DISCLAIMER**
* **Cyber Security** is technologies, processes, procedures and controls that are designed to protect Digital Environments from Cyber Security Incidents;
* **Cyber Security Incident** is the loss or unauthorised destruction, alteration, disclosure of, access to, or control of a Digital Environment;
* **Digital Environment** is information technology systems, operational technology systems, networks, internet-enabled applications or devices and the data contained within such systems.
Rasayel has implemented administrative, physical and technical safeguards to protect Client’s Personal information. We shall ensure that all such safeguards, including the manner in which Personal Information is collected, accessed, used, stored, processed, disposed of and disclosed, comply with applicable data protection and privacy laws, as well as the terms and conditions of this Agreement.
You understand and agree that sharing content online involves risks of unauthorised disclosure or exposure and that, in submitting your content to or transmitting it through the system, you assume the risks. Rasayel offers no representation, warranty, or guarantee that your content will not be exposed or disclosed through the System or through errors or the actions of third parties.
Rasayel is not liable, and you agree not to hold us responsible for any damages or losses arising out of or in connection with this Agreement, including, but not limited to:
* Your use of or your inability to use our Platform or Site Service;
* Delays or disruptions in our Platform or Site Service;
* Viruses or other malicious software got by accessing, or linking to, our Platform or Site Service;
* Glitches, bugs, errors, or inaccuracies of any kind in our Platform or Site Service;
* Damage to your hardware device from the use of the Platform or Site Service;
* The content, actions, or inactions of third parties’ use of the Platform or Site Service;
* A suspension or other action taken regarding your Account;
**INFORMATION SECURITY EXPERTS**
1. Regularly we consult with our developers if urgent issues arise with the Platform or if there are scheduled feature releases or upgrades.
2. Hosting company will only be asked to access the data in the Platform’s event being down or server issues.
3. We may consult with security experts to ensure continuous Platform safety and compliance.
**CYBERATTACK DISCLAIMER**
A cyberattack is where an attacker tries to gain unauthorized access to an IT system for the purpose of theft, extortion, disruption on other nefarious reasons.
Normally, a cyberattack is carried out by someone who is not, or was not, a member of your organization.
Rasayel strives to protect Customers against Cyberattacks. We have implemented our system with security experts; we take different types of security measures to protect our users.
We are not liable for any Cyberattack, damage, or loss on the World Wide Web. You expressly agree and acknowledge that the use of the Rasayel Platform is at your sole risk. In no event will Rasayel, Rasayel professionals or their officers, employees, directors, parents, subsidiaries, affiliates, agents or licensors be liable for any indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of revenues, profits, goodwill, use data or other intangible losses arising out of or related to your use of the Platform or the service.
**Types of Cyberattacks we take no responsibility** :
1. **Malware** : is a type of application that can perform a variety of malicious tasks – spy on the user in other to obtain credentials or other valuable data or to cause disruption.
2. **Phishing** : is where the attacker tries to trick an unsuspecting victim into handing over valuable information, such as passwords, credit card details, intellectual property, and so on.
3. **MITM - Man-in-the-middle-attack** is where an attacker intercepts the communications between two parties in an attempt to spy on the victims, steal personal information or credentials, or perhaps alter the conversation in some way.
4. **DDoS – Distributed Denial-of-Service attack** – is where an attacker essentially floods a target server with traffic in an attempt to disrupt, and perhaps even bring down the target. A DDoS attack is able to leverage multiple compromised devices to bombard the target with traffic.
5. **SQL injection** : is a type of attack which is specific to SQL databases. The attacker can exploit the HTML form to execute queries that will create, read, modify, or delete the data stored in the database.
6. **Zero-day exploit** : is where cyber-criminals learn of a vulnerability that has been discovered in certain widely-used software applications and operation systems, and then target organizations who are using that software in order to exploit the vulnerability before a fix becomes available.
7. **DNS tunnelling** : is a sophisticated attack vector that is designed to provide attackers with persistent access to a given target. Attacker are able to insert or tunnel malware into DNS queries. The malware is used to create a persistent communication channel that most firewalls are unable to detect.
8. **BEC – Business Email Compromise** : is where the attacker targets specific individuals, usually an employee who has the ability to authorize financial transactions, in order to trick into transferring money into an account controlled by the attacker. BEC attacks usually involve planning and research in order to be effective.
9. **Cryptojacking** : is where cyber criminals compromise a user’s computer or device and use it to mine cryptocurrencies, such as Bitcoin. Organizations don’t have great visibility when it comes to this type of attack, which means that a hacker could use valuable network resources to mine a cryptocurrency without the organization having any knowledge of it.
10. **Drive by Attack** : A drive by download’ attack is where an unsuspecting victim visits a Platform which in turn infects their device with malware. The Platform in question could be one that is directly controlled by the attacker, or one that has been compromised. In some cases, the malware is served in content such as banners and advertisements.
11. **Cross-site scripting (XSS) attacks**: Cross-site scripting attacks are quite similar to SQL injection attacks, although instead of extracting data from a database, they are typically used to infect other users who visit the Platform. It can happen on the comment section on a webpage.
12. **Password attack** : is a type of cyberattack where an attacker tries to guess or cracks a user’s password. Some examples: Brute-force attack, Dictionary attack, Rainbow table attack, Credential stuffing, Password spraying and Keylogger attack.
13. **Eavesdropping attack** : Sometimes referred as “snooping” or “sniffing”, an eavesdropping attack is where the attacker looks for unsecured network communications to intercept and access data that is being sent across the network.
14. **AI-Powered attack** : AI-powered software is able to slave machines to perform a huge DDoS attack. Also, can learn what kinds of approaches work best and adapt their attack methods accordingly. They can use intelligence feeds to quickly identify software vulnerabilities, as well as scan systems themselves for potential vulnerabilities. AI-powered attacks can work around the clock, they are fast, efficient, affordable and adaptable.
15. **IOT-Based attacks** : is a type of attack where an attacker goes through an IOT (internet-of-things) device and exploit target such as medical devices, security systems, smart thermometers in order to launch large-scale DDoS attacks.
**PRIVACY POLICY**
You acknowledge the collection, use, disclosure and other handling of information described in our Privacy Policy [https://rasayel.io/privacy](https://rasayel.io/privacy) which we may update from time to time.
**CONDUCT AND BEHAVIOUR**
Without limitation other remedies, we may limit, suspend, or terminate your user account and access to our service, restrict or prohibit access to, and your activities on, our service, remove or demote, delay or remove hosted content, remove any special status associated with the account, reduce or eliminate any discounts, and take technical and legal steps to keep you from using our service if:
1. we think that you are creating problems or possible legal liabilities for us, our users, suppliers or other third parties;
2. we think that such restrictions will improve the security of the Rasayel community or reduce our or another Rasayel User’s exposure to financial liabilities;
3. we think that you are infringing the rights of third parties;
4. we think that you are acting inconsistently with the letter or spirit of these Terms or our policies or abuse our employees or users.
**ACCURACY, COMPLETENESS AND TIMELINESS OF INFORMATION**
We are not responsible if information made available on this Platform is not accurate, complete or current. Any reliance on the material on this Platform is at your own risk. This Platform may contain certain historical information. Historical information, necessarily, is not current and is provided for your reference only. We reserve the right to modify the contents of this Platform at any time, but we have no obligation to update any information on our Platform. You agree that it is your responsibility to monitor changes to our Platform.
**THIRD-PARTY LINKS**
Certain content, products and service available via our service may include materials from third-parties. Third-party links on this Platform may direct you to third-party Platforms that are not affiliated with us. We are not responsible for examining or evaluating the content or accuracy and we do not warrant and will not have any liability or responsibility for any third-party materials or Platforms, or for any other materials, products, or service of third-parties. We are not liable for any harm or damages related to the purchase or use of goods, service, resources, content, or any other transactions made in connection with any third-party Platforms. Please review carefully the third-party’s policies and practices and make sure you understand them before you engage in any transaction. Complaints, claims, concerns, or questions regarding third-party products should be directed to the third-party.
**ERRORS, INACCURACIES AND OMISSIONS**
Occasionally there may be information on our Platform or in the service that contains typographical errors, inaccuracies or omissions that may relate to product descriptions, pricing, promotions, offers, product shipping charges, transit times and availability. We reserve the right to correct any errors, inaccuracies or omissions, and to change or update information or cancel orders if any information in the service or on any related Platform is inaccurate at any time without prior notice (including after you have submitted your order). We undertake no obligation to update, amend or clarify information in the service or on any related Platform, including without limitation, pricing information, except as required by law. No specified update or refresh date applied in the service or on any related Platform, should be taken to indicate that all information in the service or on any related Platform has been modified or updated.
**INDEMNIFICATION**
You agree to indemnify, defend and hold us harmless and our parent, subsidiaries, affiliates, partners, officers, directors, agents, contractors, licensors, service providers, subcontractors, suppliers, interns and employees, harmless from any claim or demand, including reasonable attorneys’ fees, made by any third-party due to or arising out of your breach of these Terms or the documents they incorporate by reference, or your violation of any law or the rights of a third-party.
**SEVERABILITY**
In the event that any provision of these Terms is determined to be unlawful, void or unenforceable, such provision shall nonetheless be enforceable to the fullest extent permitted by applicable law, and the unenforceable portion shall be deemed to be severed from these Terms, such determination shall not affect the validity and enforceability of any other remaining provisions.
**ENTIRE AGREEMENT**
The failure of us to exercise or enforce any right or provision of these Terms shall not constitute a waiver of such right or provision. These Terms and any policies or operating rules posted by us on this Platform or in respect to the service constitutes the entire agreement and understanding between you and us and govern your use of the service, superseding any prior or contemporaneous agreements, communications and proposals, whether oral or written, between you and us (including, but not limited to, any prior versions of the Terms). Any ambiguities in the interpretation of these Terms shall not be construed against the drafting party.
**GOVERNING LAW**
These Terms and any separate agreements whereby we provide you service shall be governed by and construed in accordance with the laws of the United States of America.
**CHANGES TO TERMS**
You can review the most current version of the Terms at any time at this page. We reserve the right, at our sole discretion, to update, change or replace any part of these Terms by posting updates and changes to our Platform. It is your responsibility to check our Platform periodically for changes. Your continued use of or access to our Platform or the service following the posting of any changes to these Terms constitutes acceptance of those changes.
**CONTACT INFORMATION**
Questions about the Terms should be sent to us at [team@rasayel.io](mailto:team@rasayel.io)