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 CRMsHubSpot 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.
- Fallback: Define how the flow continues if the contact creation fails.
- 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).
- 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

- 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.
- 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.