LogoRainmaker Bots Documentation Library

🤖 Rainmaker Bots 101

Custom Fields, System Fields, and User Input

Custom User Fields or, CUFs

What are Custom Fields?

In Rainmaker Bots, fields are crucial for building personalized and effective chatbot interactions. Custom User Fields (CUFs) can be thought of as your chatbot's permanent memory, allowing it to store and recall important user details across multiple conversations.

This is different from {{chat_history}}, which only tracks messages within a single session.

With CUFs, your chatbot can remember user preferences, past actions, or important information for future interactions, making conversations more engaging and better experience.

Due to the large number of CUFs available across the platform, not all are listed in every dropdown menu. However, all CUFs mentioned in this document will function seamlessly wherever you use them in your chatbot flows.

Rainmaker Bots offers three main types of fields for managing and storing data:

For certain fields, like {{last_input}}, you may need to create a new Custom User Field (CUF) and use the "Set Custom Field" action to assign its value. This is necessary because fields like {{last_input}} track real-time data, such as the user’s most recent message. By setting this value in a CUF, you can save and reuse it throughout the conversation. This flexibility enables you to customize how your chatbot processes data, resulting in more personalized and engaging interactions for your users.

Types of CUFs include:

CUFs can also be combined with other CUFs to create dynamic and flexible interactions within your chatbot.

This is what the structure of the custom field inside the platform looks like:

{{custom_field_name}}

1. Creating Custom Fields

  1. Log in to your account
  2. Click on Flows
  3. Find and click on Custom Field
  4. Click on Add
  5. Define the field Name, Type, and add a Description that best fits your custom field function
  6. Continue to save the custom field

2. Using Custom Field on the Flow Builder

If you’ve already created a custom field to store user input, you’re all set. However, you can also create a custom field directly while building your chat flow.

Choose the flow where you’d like to implement the custom field feature.

Within the flow, use the “Get User Data” block to collect input from your subscribers.

When any subscriber on this flow provides the input on this user input, it will get stored on the custom field named “preferred color_laptop bags”.

The user input will be saved in the designated custom field, as mentioned before, and can be viewed on the inbox and contact pages. For example, the green color provided by the user is stored in the corresponding custom field on these pages.

3. Practical Use Cases

Custom fields on platforms offer immense value for personalization, enabling you to customize your messages and interactions for individual users, resulting in a more engaging and relevant experience.

Here are three practical examples of how you can leverage custom fields for personalization:

User Input with the Get User Data Element

1. Understanding User Input

In Rainmaker Bots, the Get User Data element helps you capture and store information provided by users, such as messages, responses, or other data.

User input is essential for chatbot interactions and can come in many forms—text messages, voice commands, button clicks, or form submissions. This input represents what users communicate to the chatbot, including their questions, preferences, or requests. Effectively capturing and using this input is critical because it allows for more personalized and relevant conversations. By understanding and responding to user input, the chatbot can offer better solutions, improve engagement, and create a more valuable experience for both the user and the business.

2. Setting Up User Input Prompts

To create successful chatbot interactions, it’s important to set up prompts that guide users to provide the information you need. Here’s how you can effectively collect and use user input:

By combining personalized greetings, product recommendations, and validation rules, you can create a chatbot experience that feels responsive, tailored, and seamless for users.

Note: To use custom fields in your chat flow, enclose the field name in double curly brackets {{ }} within a text block to reference the desired custom field. When you type the first {, a dropdown will appear in parts of Rainmaker Bots, making it easy to select a CUF. However, even if the dropdown doesn't appear, you can still use CUFs almost everywhere in the platform by manually entering the field name.

List of System Fields and Custom User Fields (CUFs) in Rainmaker Bots

Contact and Account Management

Field Variable Description
{{first_name}} The user’s first name, useful for creating personalized and friendly messages.
{{last_name}} The user’s last name, used to create a more formal personalized experience.
{{full_name}} Combines the first and last names of the user for full name usage in communications.
{{email}} The user’s email address, typically used for follow-ups and email notifications.
{{phone}} The user’s phone number, commonly used for SMS campaigns or support calls.
{{user_country}} The user’s country, helpful for location-based services, offers, or region-specific messaging.
{{user_state}} The user’s state or region, relevant for more localized interactions or offers.
{{user_city}} The user’s city, useful for ultra-local personalized messaging or promotions.
{{inbox_link}} The link to the inbox on Rainmaker Bots, allowing agents or admins to access user interactions directly.
{{gender}} The user’s gender, used for personalized messaging that can be gender-specific.
{{locale}} User’s full locale (e.g., en_US), indicating both language and regional preferences for communication.
{{locale2}} A shortened version of the locale (e.g., en) to determine the user’s preferred language only.
{{username}} The Instagram username of the user, used for social interactions or reference.
{{profile_pic}} URL of the user’s profile picture, allowing richer personalization with visual elements.
{{timezone}} The user’s timezone, enabling the bot to send time-specific messages and perform actions based on the user’s local time.
{{user_id}} A unique identifier for the user in the Rainmaker Bots system, typically used for internal tracking and API interactions.
{{subscribed_date}} The date the user subscribed or was added to the system, useful for calculating user tenure or for subscription-based campaigns.
{{fb_chat_link}} A direct link to the user’s Facebook Messenger inbox for easy access to ongoing chats.
{{me}} A link allowing users to view or delete their data to comply with GDPR regulations, ensuring transparency and user control.
{{webchat}} A webchat link that can be shared with users, allowing tracking and retrieval purposes. It is compatible with payloads and offers flexible use cases.
{{user_code}} A unique code assigned to the user, often used for tracking or identification in internal systems.
{{last_btt_title}} The title of the last button clicked by the user, useful for tracking user interactions and preferences.
{{last_interaction}} The timestamp of the user’s last interaction with the chatbot, useful for follow-ups or engagement strategies.
{{last_order}} The details of the last order made by the user, particularly relevant for e-commerce and transactional bots.
{{last_seen}} The last time the user was seen interacting with the chatbot, providing insights into user engagement.
{{last_text_input}} The last text message the user sent to the chatbot, useful for analyzing user input and providing contextual replies.
{{last_input}} The last input (text, image, video, audio, or file) sent by the user to the chatbot, offering insight into user activity.
{{last_input_type}} Specifies the type of the last input provided by the user (e.g., text, image, video), helping to categorize interactions.
{{consecutive_failed_reply}} The number of consecutive failed responses from the chatbot, used for error handling or triggering fallback messages.
{{last_ref}} Refers to the last entry point or referral link clicked by the user, helping track user sources.
{{last_ad}} The ID of the last Facebook Ad that led the user to the chatbot, used for marketing attribution and tracking.
{{user_channel}} Indicates the primary communication channel used by the user (e.g., Messenger, Webchat), helping tailor responses to the platform.
{{user_hash}} A unique hashed value of the user, offering secure tracking and identification across multiple platforms.
{{user_tags}} A list of tags applied to the user for segmentation, categorization, or targeting in campaigns.
{{user_external_id}} External user ID used for third-party platforms like Messenger or Instagram.
{{user_source}} Indicates the source from which the user originated (e.g., Ads, Facebook comment), useful for marketing analysis.
{{assigned_admin_name}} The name of the admin assigned to the user, allowing for agent tracking or task assignment.
{{assigned_admin_id}} The ID of the admin assigned to the user, useful for managing team interactions and accountability.
{{current_user_time}} The current local time of the user, based on their timezone, useful for delivering time-sensitive messages or notifications.
{{chat_history}} Returns the last 50 messages exchanged between the user and the business, useful for review or context.
{{chat_history_large}} Returns the last 200 messages exchanged between the user and the business for a more extended review of past conversations.
{{chat_history_details}} Returns the last 50 messages exchanged with the sender’s details, helpful for identifying the flow of the conversation.
{{chat_history_details_large}} Returns the last 200 messages exchanged with sender details, providing an extended history for deeper analysis.
{{last_points}} Holds the user’s most recent questionnaire score. Recommended to store in a questionnaire-specific CUF after each completion.
{{user_notes}} Returns all notes added to the user profile, including feedback, past interactions, and comments for agent reference.
{{last_user_note}} Retrieves the most recent note or comment added to the user profile, providing a quick reference to the latest activity.
{{last_call_recorded}} Contains the URL link to the most recent call recording associated with the user, useful for reviewing phone interactions. *Note: Only Twilio supports this feature at this time.
{{last_step}} Stores the STEP ID of the last executed step in a published flow, enabling tracking of the user’s progress through the flow.
{{current_step}} Contains the STEP ID of the currently active step in a published flow, showing the step the user is currently interacting with.
{{account_name}} The name of the account associated with the chatbot, often used for branding or identification purposes.
{{account_id}} The unique identifier for the account, typically used for internal tracking and system integrations.
{{account_image}} The profile image associated with the account, useful for branding or displaying account-specific visuals.
{{api_key}} The API key associated with the account, used for integrations and accessing external services.
{{webchat_parent_url}} The URL of the parent webpage where the webchat is being viewed or chat is taking place.
{{active_call_id}} AudioCodes Call ID
{{assigned_admin_email}} The email address of the admin assigned to the user. Useful for internal tracking, team accountability, or routing conversations to the right agent
{{last_input_failure}} Describes why the last "Get User Data" attempt failed. Possible values include timeout, user_skipped, or invalid_input_attempts. Helpful for error handling and fallback logic.
{{admin_name}} The name of the admin who sent the last message or flow to the user from the inbox. Useful for maintaining a personal tone in follow-ups or tracking human-agent interactions.

Instagram CUFs

Field Variable Description
{{ig_user_name}} The Instagram username of the user.
{{ig_followers}} The total follower count for the user's Instagram account.
{{ig_verified}} Indicates whether the user's Instagram account is verified (true/false).
{{ig_follow_business}} Whether the user follows the business account on Instagram (true/false).
{{ig_business_follow_user}} Whether the business follows the user's Instagram account (true/false).
{{last_story_id}} The story ID of the last Instagram story replied to by the user.
{{last_fb_comment}} The text of the user's most recent Instagram comment (cross-platform for Instagram/Facebook).
{{last_post_id}} The ID of the last post commented on by the user (cross-platform for Instagram/Facebook).
{{last_comment_id}} The ID of the user’s most recent comment (cross-platform for Instagram/Facebook).
{{total_new_tagged}} Number of users that aren’t in your contact list that were tagged in the comment. Works only on Facebook.
{{total_tagged}} Number of users that aren’t tagged in the comment. Works only on Facebook.

Facebook Messenger CUFs

Field Variable Description
{{last_fb_comment}} The text of the user's most recent Facebook comment.
{{last_post_id}} The ID of the last post commented on by the user.
{{last_comment_id}} The ID of the user’s most recent comment.
{{page_user_name}} The username of the user interacting via Facebook Messenger.
{{fb_chat_link}} A direct link to the user’s Facebook Messenger inbox for easy access to ongoing chats.
{{last_ad}} The ID of the last Facebook Ad that led the user to the chatbot, used for marketing attribution and tracking.
{{total_new_tagged}} Number of users that aren’t in your contact list that were tagged in the comment. Works only on Facebook.
{{total_tagged}} Number of users that aren’t tagged in the comment. Works only on Facebook.

Location CUFs

Field Variable Description
{{last_latitude}} The last known latitude of the user, available only if the user has shared their location.
{{last_longitude}} The last known longitude of the user, available only if the user has shared their location.

Appointment CUFs

Field Variable Description
{{booking_date}} The date of the user’s scheduled appointment.
{{booking_link}} The link to the booking confirmation or details for the appointment.
{{booking_id}} The unique identifier for the user’s appointment booking.
{{booking_calendar}} The calendar associated with the appointment, often used to view or manage the booking.

Ecommerce CUFs

Field Variable Description
{{cart_checkout_link}} Link to the user’s checkout page for completing the purchase.
{{cart_last_item_name}} Name of the last item added to the user’s cart.
{{cart_last_item_quantity}} Quantity of the last item added to the user’s cart.
{{cart_num_items}} Total number of items in the user’s cart.
{{cart_other_fees}} Additional fees associated with the user’s cart (e.g., service fees).
{{cart_shipping_cost}} Shipping cost for the items in the user’s cart.
{{cart_subtotal}} Subtotal of the user’s cart before taxes and additional fees.
{{cart_total}} Total cost of the user’s cart, including all fees and taxes.
{{shop_link}} Link to the e-commerce shop or store page.
{{money_symbol}} Currency symbol used for the transaction (e.g., $, €, £).
{{order_coupon_code}} Coupon code applied to the order, if any.
{{order_coupon_discount}} Discount applied to the order from the coupon code.
{{order_date_account_timezone}} The date of the order in the user’s account timezone.
{{order_date_timestamp}} The exact timestamp of when the order was placed.
{{order_date_utc}} The UTC time of when the order was placed.
{{order_discount}} Total discount applied to the order.
{{order_email}} The email address associated with the order.
{{order_id}} Unique identifier for the order.
{{order_name}} Full name of the person who placed the order.
{{order_payment_method}} The payment method used for the order (e.g., credit card, PayPal).
{{order_phone}} Phone number associated with the order.
{{order_products}} List of products included in the order.
{{order_shipping_type}} Type of shipping chosen for the order (e.g., standard, express).
{{order_shipping_address1}} First line of the shipping address for the order.
{{order_shipping_address2}} Second line of the shipping address (e.g., apartment number).
{{order_shipping_city}} City of the shipping address for the order.
{{order_shipping_cost}} Shipping cost for the order.
{{order_shipping_state}} State of the shipping address for the order.
{{order_shipping_zip}} Zip code of the shipping address for the order.
{{order_shipping_country}} Country of the shipping address for the order.
{{order_shipping}} Full shipping information for the order.
{{order_status}} Current status of the order (e.g., pending, shipped, delivered).
{{order_subtotal}} Subtotal of the order before taxes and shipping.
{{order_taxes}} Total taxes applied to the order.
{{order_total}} Total amount of the order, including all fees, taxes, and shipping.
{{product_name}} Name of the product, used with triggers like “Product Ordered” or “Product added to cart.”
{{product_quantity}} Quantity of the product, used with triggers like “Product Ordered” or “Product added to cart.”
{{product_id}} Unique identifier for the product, used with triggers like “Product Ordered”, “Product added to cart”, or “Product removed from cart.”
{{cart_products}} A structured list of all products currently in the user's shopping cart, including names, quantities, and pricing details. Useful for building cart summaries or dynamic reminders.

Pipelines Fields

Field Variable Description
{{last_opportunity_id}} The ID of the last opportunity (lead or deal) updated or created in the pipeline for the user. Essential for tracking CRM interactions and automating follow-ups.

3. What to Do If a System Field Isn't Visible

In the flow builder, you might not always see system fields in the suggestions list. If you need to use a system field for tasks like sending data to Google Sheets or other integrations, but it’s not showing up, you can still work around this.

Solution:

Create a custom field and use the "Set Custom Field" action to transfer the value from the system field to your custom field. This way, you can reference and use the system field data where needed, even if it's not directly available in the dropdown list.

4. Practical Use Cases

Incorporate system fields into your chatbot messages. Here is a practical example:

For dates, make sure they are entered in the correct format (e.g., MM/DD/YYYY) and fall within a sensible time range, like not being too far in the past or future. This ensures the date is usable and makes sense for your chatbot's needs.

CUFs Empower You to Build Better Chatbots

Custom User Fields (CUFs), system fields, and account fields in Rainmaker Bots are essential tools that enable you to craft more intelligent and personalized chatbot experiences. By storing and utilizing user information effectively, you can enhance interactions, make conversations more engaging, and ensure that your chatbot delivers relevant, tailored responses every time. Whether it's personalizing greetings, recommending products, or integrating with tools like Google Sheets, these fields give you the power to build better, more responsive chatbots that connect with users on a deeper level.

Create Your First Flow

Click on Flows in your Rainmaker Bots AI account.

Here in the flow, there is the generic search bar, where you can search anything inside the platform, including flows.

And you can access the menu on the left side of the page to navigate to other tabs in the platform.

Key Features:

Note:

The yellow color before the flow name indicates that the flow is unpublished and it will not show to your subscribers till it is published. Always make sure that your flow is published before making it live.

Segment Your Audience with Tags

Tags are useful and important features to segment and target Messenger subscribers for your marketing campaign.

For example, you can use this tag to group your audience for:

Common Use Cases:

Where Can I Create Tags?

You can create tags in the Flows section.

Go to: Menu > Flows > Tags Then create a new tag and give it a name.

You can also enable Sync Tags to integrate the tags that you assign to your subscribers with the Facebook Page Manager Inbox.

So this is how the tags on Rainmaker Bots will synchronize and reflect on your Facebook Page Manager Inbox.

IMPORTANT:

You won't be able to sync tags until you have agreed to the Page Contact Terms of Service. Please visit the link below to review and agree: https://business.facebook.com/latest/inbox/all/

How to Add Tags to Subscribers

Adding tags to subscribers can be done in two ways:

Add Tags Manually

Tags that you created can be assigned to your subscribers manually, but note that it is a time-consuming process.

Add Tag to Individual Subscriber
  1. Go to the Contacts tab via the main menu
  2. Select the subscriber by clicking their name
  3. Add the tag in the provided field
Add Tag to Multiple Subscribers
  1. Go to the Contacts tab
  2. Use checkboxes to select multiple subscribers
  3. Click the 'three horizontal lines'
  4. Select Add Tag to assign tags in bulk

Add Tags Automatically on the Funnel

Assigning tags can also be done automatically in the Flow Builder using Messenger chatbots.

To do this:

You can use the automatic tagging feature in three places:

a. Using the Action Tab

While creating the chat flow, use the "Add Tag" action block

To do this:

b. Using Buttons

Enable / Disable Livechat (Transfer Conversation to Human / Bot)

This feature allows for seamless switching between bot and human interaction. You can easily transfer a conversation to a human agent when personalized attention is needed, or back to the chatbot to resume automation. When live chat is enabled, the bot is paused, ensuring the conversation is exclusively handled by a human.

You Can Transfer Conversations to Human or Bot From:

📨 Inbox

👥 Contacts Section

To Enable/Disable Live Chat for One or Multiple Users:

Step 1: Go to the Contacts section and select the user(s) using the checkbox.

Step 2: Click the three horizontal lines button and choose one of the following:

This method allows bulk toggling of live chat for multiple users at once.

⚙️ Flow Builder

To transfer a conversation to human or bot inside a flow:

This allows you to automate live chat handovers directly within your funnel logic.

Keywords (formerly "Automated Responses")

Rainmaker Bots allows you to create bots capable of understanding any message related to your business even if your customers type it wrong.

When you train your bot, never worry with lowercase and uppercase since your bot will handle it for you.

There are two ways to train your bot to auto reply to customers’ messages

1 - Short Keywords

The bot will only reply if the user message contains a short keyword.

Short keywords normally haven’t any relation with your business and they are very short.

Greetings and Thank You messages like “good morning”, “good evening”, “hello”, “hi”, “How are you”, and “thank you” are good examples.

Never add long sentences as Short Keywords. We advise you to combine a maximum of 2 words as Short Keywords, otherwise use Business Frequently Asked Questions.

To add a Short Keyword, go to Keywords and click the “Add” button.

If you specify “thank you” as a User Expression, your bot will reply to “thank you man”, "any text thank you any text”, “thank youu” …

2 - Business Frequently Asked Questions (FAQ)

FAQs are questions related to your business.

The bot will only answer a FAQ if the user message is at least 98% similar to the question, otherwise, if the customer’s message includes Business Keywords, the customer will be presented with a list of all questions that contain those keywords. After that, the customer chooses the question he wants to ask and he gets the answer.

To add a FAQ, go to Keywords > click the “Add” button.

Whenever you add a FAQ, make sure the FAQ contains at least one Business Keyword.

Otherwise, identify 1 or more important words contained in the question (FAQ) and add them to the Business Keyword list.

Business Keywords are important words related to your business. For example, for Paypal, Business Keywords could be “money”, “refund”, “payment”, “account”, “transaction”, “card”, “send”, “receive”, “business”, “personal”, “fraud”, …

To add a Business Keywords, go to Keywords > Business Keywords

For example:

Practical use case of Frequently Asked Questions

You certainly have already searched on Google and despite writing wrong, Google showed the correct result.

When you use FAQ and Business keywords, your bot will be able to understand any question related to your business, regardless of how users ask the question or if they typed it with an error.

Imagine a bot, and different users ask questions like:

Thanks to the FAQ and Business Keywords you don’t need to enter several variations of the same question.

In the above scenario, you would only have to choose the first version of the question and teach your bot that Facebook, Facebok, earn, and Zuckerberg have the same meaning.

Below you will learn how to teach your bot that several words have the same meaning.

Keywords make your Frequently Asked Questions of your business easily discovered by your users.

For example, if you have a question on your bot:

“Who is the president of Facebook?”

If the above question does not contain a keyword, the user will have to type (in your bot) that question exactly as you registered the question.

But if you add Facebook as a keyword, if the user asks “president of Facebook?”, “Who is the president of Facebook”, or “CEO of Facebook” The user will discover this question and get the answer.

You can even make your bot smarter by adding variations (synonyms) of the word “Facebook” like “fb”, “Facebok”, “Facibook”… if the user asks “Who is the president of Facebok?” or “Who is president of FB” he can also discover the question above and get the answer.

Business Keywords also work in eCommerce to help your customers find your products more easily inside your chatbot.

Product names are searchable by default but you can register product names and synonyms or wrong spelling to help your customer discover products faster.

For example, a restaurant bot can register pizza as a Business Keyword and add piza as a variation.

That way if one client types “piza” the bot will understand as pizza and show him a pizza.

As you can note, the variations are normally a synonym or wrong spelling of a Business Keyword.

But sometimes you need to use related words to help your customers find the questions.

For example, you have a training phrase “What messaging platform do you support?“

But normally people ask “what about WhatsApp …”, “… Instagram ….”.

So you register messaging as keyword and you add WhatsApp, Instagram, and Telegram as variations.

When the user sends any of these words the bot will understand as messaging and show the user this question.

RMB's Structure

RMB Header and Body Section

The header, in the top left section has the account name section where you can choose to add a new account or select a different account.

The next middle section is the search bar where you can search for anything that is within the application.

The farthest top right section has two icons:

Notify Admins

Alerting admins means sending a message to the chosen administrators, letting them know there's a conversation that needs their attention.

This can happen after a certain time, when there's an order update, a purchase is confirmed, or other specific triggers in your prompts.

Go to Menu > Settings > Admins > Manage > click on the three dotted line > Edit > Notifications

Set the type of notifications you want and the Channels you wish to receive notifications.

You can also include this feature in your flow by following these steps.

Step 1: Go to Menu

Step 2: Go to the Flows section. Open a flow.

Inside the flow, search for Notify Admins tab among many other tabs.

Step 3: Fill in the flow name, select/deselect the admins who are going to receive a notification, and place the description of what this notification is about.

Step 4: Merge this into your flow.

Additionally, you can configure these notifications to also be sent as text messages (SMS) to the designated administrators' phone numbers, thus ensuring an even more direct and immediate notification.

How to notify admins via SMS

To define the steps for sending SMS to administrators:

Go to Flows - Add Content - Actions - SMS - Send SMS to Admins.

Then, click on the "Send SMS" option, enter the administrator's phone number, and personalize the notification message.

Keep your team informed instantly.

Create New Contacts

The 'Import Contact' tool is a super helpful tool that lets you bring in contacts to your Rainmaker Bots account really easily.

You can use it to add contacts from WhatsApp, SMS, and even from other chatbot platforms.

First, go to Import Contact, go to the ‘Contact’ section and click on Action > Import Contacts.

Import Channel contacts

1. Select the Channel

You can import contacts for various channels, including WhatsApp, SMS, Messenger, Telegram, and Instagram. You can choose the right channel option when prompted.

2. Prepare and Upload Your Contact File

Ensure your contact file is in .csv or .xlsx format.

Required fields for each channel:

Optional: Select 'More Options' to assign a custom field or add tags to the imported contacts.

Inbox Tab

This guide explains how the Inbox Tab is structured and what each section does, so you can navigate conversations effectively—even without visual cues.

Section Breakdown (Top to Bottom, Left to Right)

1. Active Bot Selector

2. Conversation Type Filter

3. Assign to Team (Guest Assignment)

4. Conversation Options and Follow-up

5. Guest’s Personal Information Panel

6. Guest Notes

7. Guest Tags

8. Notification Settings

9. Message Attachment Toolbar

Message Toolbar – Icon Functions (Left to Right)

When sending a message, the following icons may be available below the message box:

Guide to Properly Setting Up Handover Protocol

Purpose

This guide provides a clear, step-by-step process for correctly setting up Meta's chatbot's handover protocol. This needs to be done for both Messenger and Instagram DM to perform correctly.

Procedure

Inputs (what you need to get started)

Step 1:

Log in to the Facebook platform and navigate to your business page. Be sure to be logged in as your Page not as yourself.

Step 2:

Navigate to the settings by clicking on the left-hand side menu. Since Meta recently updated its interface, locate "Page Setup" within the settings.

Step 3:

Within "Page Setup," find "Advanced Messaging" and click on "View" to access the handover protocol settings.

Step 4:

Click on "Configure" if the handover protocol settings are empty. Select "Rainmaker Bots" and save the changes.

Step 5:

If connecting to Instagram, repeat the same process by selecting "Instagram" instead of "Rainmaker Bots."

Outputs (what you get when you're done)

FAQs

Get Data from JSON

This feature allows users to integrate external JSON data into their chatbot flows.

The "Get Data from JSON" action lets the chatbot retrieve data from a specified JSON source and utilize that data within the chatbot's conversation flow.

Real-World Use Case

Example: Real-Time Product Availability An e-commerce business can use this feature to provide real-time product availability and details to their customers. For instance, an online retail store's chatbot could pull product data from a JSON API provided by the store's inventory system. When a user inquires about a specific product, the chatbot can dynamically fetch and display the current stock status, price, and other details using the "Get Data from JSON" action. This ensures that the information provided is accurate and up-to-date.

Steps to Implement

1. Select the Action: In the flow builder, navigate to the action list and select "Get Data from JSON".

2. Configure the JSON Source: Specify the JSON data source (e.g., a URL to the e-commerce API endpoint) and define the JSON path to extract the required product information.

3. Map the Data: Map the extracted JSON data to custom fields in the chatbot, which can then be used in messages or further logic.

4. Handle Success and Failure: Define the chatbot's response for successful data retrieval and any fallback actions in case of failure.

Implementation Example

This feature allows e-commerce chatbots to be more dynamic and responsive by leveraging external data sources, enhancing user interaction with timely and relevant product information.

Supported Channels for Rainmaker Bots AI

Rainmaker Bots AI allows businesses to engage with customers across multiple communication channels.

By integrating all these channels into a unified contact database, businesses can manage and streamline customer interactions efficiently.

Below is a list of supported channels, each of which contributes to building a comprehensive, centralized contact list.

Supported Channels:

This unified approach to contact management ensures consistency and efficiency across all communication channels, helping businesses deliver a seamless customer experience.

Supported Integrations for Rainmaker Bots AI

Rainmaker Bots AI offers a wide range of integrations designed to help businesses streamline operations, automate workflows, and manage customer interactions efficiently.

These integrations span various categories, including payment gateways, CRM tools, scheduling apps, and machine learning platforms.

By connecting these systems within the chatbot, businesses can deliver a seamless customer experience across multiple touchpoints.

These integrations also work hand in hand with supported channels such as SMS, email, and voice, ensuring centralized customer data and better engagement.

Below is a list of available integrations and their benefits:

Supported Integrations:

Integrating these tools with Rainmaker Bots AI allows businesses to build a unified and efficient operation across multiple functions, including workflow automation, transaction handling, and customer interaction management.

Rainmaker Bots AI’s unified approach leads to a consistent customer experience across all platforms, while also optimizing internal operations through automation.

With machine learning integrations like Google Dialogflow, businesses can ensure their chatbots continuously improve, delivering smarter and more intuitive interactions over time.

Agents (formerly Prompt Templates)

Overview

Agents are custom instructions for LLM prompts that enhance your chatbot’s capabilities, building on OpenAI’s latest SWARM framework.

By using Agents, you can create adaptable and context-rich conversations within Default Agent (Formerly Auto-GPT) or Flow Builder.

Each Agent allows you to set precise instructions that guide the LLM to ensure accurate and on-brand responses.

Setting Up Agents

How to Use an Agent by Default & in the Flow Builder

Agent Key Benefits

Building Agents in Rainmaker Bots AI unlocks advanced capabilities, enabling precise, goal-focused conversations within your chatbot workflows.

Bonus: AI Assistant vs. AI Agent

Adding Functions to a Custom Default Message

Purpose

The purpose of this guide is to provide a clear, step-by-step process for adding functions to a custom default message.

Procedure

Inputs (what you need to get started)

Step 1:

Navigate to the flow section where your default message is located.

Step 2:

Find the default message you built, for example, "AI default message," and open it.

Step 3:

Identify the part of the flow where the AI is managed. This is typically indicated by the presence of OpenAI or a similar LLM tool.

Step 4:

Under 'Functions' (sometimes named as 'AI Tools') - click on the box to review the existing functions. When you select the dropdown, anything in blue is already added. To add a new function, click on the uncolored function option. This is likely the new function you want to include.

Step 5:

After adding the function, provide a prompt note to instruct the AI on when and how to trigger the function.

Example: When the user wants to book an appointment, trigger the function book_appointment.

This is a very important step that sometimes people miss—without telling the AI when to trigger the function, even if you have it enabled, it won't know when to trigger it. Always be sure to instruct it properly.

Outputs (what you get when you're done)

FAQs

How to Create a Welcome Message for Your AI Agent or AI Assistant Chatbot

Creating a friendly welcome message is a great way to make a good first impression when users interact with your chatbot. Follow the simple steps below to set up a custom welcome message using your rainmaker bots’s Flow editor. We’ll go through both a basic static welcome message and an AI-generated one.

Step 1: Open Your Dashboard and Access the Flows

Step 2: Create a New Flow (If Needed)

Step 3: Set Up a Basic Static Welcome Message (Optional)

If you’d like a simple, non-AI greeting:

This static message works well, but now let’s explore how to leverage AI to generate your welcome message.

Step 4: Add an AI-Generated Welcome Message

Step 5: Provide Instructions for the AI

Step 6: Connect and Display the AI’s Response

Step 7: Publish and Test Your Welcome Message

Step 8: Fine-Tune Your AI Prompt (Optional)

If the message feels too long or too short:

Congratulations! You’ve successfully created a custom welcome message for your AI chatbot. Whether you choose a static greeting or leverage AI for a dynamic introduction, you now know how to set the perfect first impression for your customers.

How to Create Default Agents and Default Flows Tutorial

How to Create a Default Flow for Your AI Chatbot

After setting up a welcome message, the next essential component of your AI chatbot is the Default Flow.

The Default Flow ensures that whenever a user asks a question outside the context of a specific flow, your bot can respond intelligently and consistently.

This tutorial guides you through creating a Default Flow, customizing its prompts, and integrating technologies like Agents, Assistants, Dialogflow, traditional chatbot logic, or a hybrid mix.

Step 1: Understand the Default Flow vs. Default Agent and Assistant

Default Flow

Default Agent

Default Assistant

Step 2: Review Your Current Setup

Check the Default Agent

Test Your Agent

Step 3: Create a New Default Flow

Step 4: Add an AI-Generated Reply Node

Step 5: Add a Send Message Step

Step 6: Publish and Activate Your Default Flow

Step 7: Test Your Default Flow

Step 8: Fine-Tune Your Responses Using an Agent

Integrate Additional Technologies

Enhance Your Default Flow

Example Workflow:

Quick Recap

Feature Function Best For
Default Flow Custom fallback with media/buttons and logic Branded and flexible fallback responses
Default Agent Quick response using set instructions Simple, fast answers
Default Assistant Access uploaded content for detailed responses Data-driven queries needing document references

Congratulations! You've successfully created and activated a Default Flow for your AI chatbot. With a welcome message and Default Flow, plus Agents and Assistants, you’ve ensured a smart, branded, and engaging user experience every time.

Sponsored Messages Deprecation Notice

As of May 2024, Meta removed the Sponsored Messages ad type from the Marketing API and Ads Manager, with support ending in August 2024. To adapt, we recommend using Meta’s Marketing Messages and our built-in drip campaign feature to engage customers effectively.

Recommended Strategy: Collect User Information

Focus on gathering key details from users during chatbot interactions:

Why Use Marketing Messages?

Meta’s Marketing Messages let you send personalized, permission-based updates, offers, and notifications. This approach is compliant and builds trust with your users.

Steps to Implement

Benefits

Meta Marketing Messages

Meta’s Marketing Messages feature allows your Facebook Page to send messages to people who have given you permission, even outside the standard messaging window. Personalized outreach helps you build relationships with interested individuals at scale with Rainmaker Bots.

Currently, Marketing Messages is a free, optional feature, but Meta plans to introduce charges in the future, similar to the WhatsApp Business API. You’ll receive advance notice before any pricing changes.

Requirements

Limitations

Best Practices

Message Frequency

After a person opts in, you can send messages based on the frequency they selected during opt-in (daily, weekly, or monthly).

Requesting Permission to Send Marketing Messages

A person must opt in to receive Marketing Messages from your Facebook Page. The Messenger Platform offers multiple ways to obtain opt-in, including:

Managing Pipelines (Kanban Boards) in Rainmaker Bots

Overview

Pipelines (Kanban Boards) are your powerful, visual workspace for organizing and tracking opportunities with ease. Whether you're managing sales, support tickets, or custom workflows, Pipelines give you complete control. With an intuitive interface, drag-and-drop functionality, and automation capabilities, you can streamline your processes and boost productivity like never before! With Rainmaker Bots, managing pipelines is seamless and efficient, empowering you to automate and scale your workflow effortlessly.

How to Create a Custom Pipeline

Step 1: Accessing Pipelines

Step 2: Selecting a Pipeline Type

Step 3: Setting Up Your Board

Once your new pipeline is created:

Adding a New Opportunity

Step 1: Selecting or Creating a Contact

Creating Opportunities from Inbox

Step 2: Filling in Opportunity Details

Step 3: Additional Settings

Managing Opportunities

Trigger and Action Automation

Automate actions using triggers:

Automating via Flow Builder

Use Flow Builder for automated workflows:

Filtering and Sorting Opportunities

Drag-and-Drop Functionality

Moving or Deleting Opportunities

Viewing and Adding Comments

Customizing Your Pipeline

Rename, Duplicate, or Delete a Pipeline

Add More Stages

Rename a Stage

Customize Pipeline Settings

Conclusion

The Pipelines (Kanban Boards) feature in Rainmaker Bots is a game-changer for organizing and tracking workflows. By leveraging automation, drag-and-drop management, and seamless customization, you can transform your workflow into an efficient, structured powerhouse! Get started now and supercharge your pipeline management with Rainmaker Bots!

⚙️ Marketing Automations

Drip Campaigns

Important Notice: Complying with Meta's 24-Hour Rule for Drip Campaigns

Meta, the parent company of Facebook Messenger, enforces a 24-hour rule for promotional messaging. This regulation applies to any marketing or promotional messages delivered through Messenger, a core component of Rainmaker Bots.

Key Takeaway: You can only send promotional messages to users who have interacted with your business within the past 24 hours on Messenger. Interactions include subscribing to your bot, clicking on a button, or initiating a conversation. Failing to comply with this rule can result in limitations on your ability to send messages through Messenger.

Drip Campaigns

Drip campaigns are a marketing powerhouse, allowing you to nurture leads, engage customers, and ultimately drive conversions. By delivering automated sequences of personalized messages, you can build relationships with your audience and keep your brand top-of-mind. This guide will equip you with the knowledge to create effective drip campaigns within Rainmaker Bots. We'll walk you through the process step-by-step, from crafting compelling content to scheduling your messages and setting up the all-important subscription flow.

1. Craft Your Compelling Flows

Imagine your drip campaign as a series of personalized messages spread over time. Start by designing individual chatbot flows for each stage of your campaign.

Example:

Each flow can include text messages, images, buttons, or interactive elements like quizzes or polls.

2. Navigate to Drip Campaigns

3. Build Your Drip Campaign

4. Schedule Your Messages

Note:

This setup ensures the Day 1 flow is sent immediately after subscription. Day 2 follows one day later, and so on.

5. Create a Subscription Flow

Putting it All Together

Once a user interacts with your subscription flow, they'll be enrolled in the drip campaign. The system triggers the "Day 1" flow immediately, followed by others based on your timing.

Bonus Tip

Rainmaker Bots allows you to personalize messages based on user actions and behavior, sending more relevant content and increasing engagement. For example, target messages to users interested in a specific product category.

Best Practices for Meta Compliance

Expanding Beyond Messenger

While Meta's rule applies to Messenger, Rainmaker Bots supports omnichannel marketing — including Telegram, SMS, Email, and Webchat — allowing you to nurture leads across platforms. Drip campaigns do not apply to phone calls, as those are for direct communication.

By following these steps and leveraging Rainmaker Bots' multi-channel capabilities, you can create effective drip campaigns that nurture, engage, and convert.

The Questionnaire Tool: A Comprehensive Guide for Rainmaker Bots

Introduction

The Questionnaire Tool in Rainmaker Bots is a versatile feature that enables you to conduct surveys, and quizzes, and gather user feedback directly within your chatbot. Integrating questionnaires into your chatbot allows you to collect valuable insights, refine your products or services, and offer more personalized user experiences.

Video Guide: Watch the Video Guide Here

Step-by-Step Guide

1. Designing the Post-Questionnaire Flow

Before creating the questionnaire itself, it's essential to design the flow your users will experience once they complete the survey. This flow will determine the messages or actions your chatbot will take after receiving the questionnaire responses.

2. Creating the Questionnaire

Now that you have the post-questionnaire flow set up, let's create the actual questionnaire.

3. Integrating the Questionnaire into a Flow

To make the questionnaire accessible to your users, you need to integrate it into a flow within your chatbot.

4. Viewing Questionnaire Applicants and Responses

After users complete the questionnaire, you can view their responses and information.

Conclusion

By following these steps, you can effectively use the Questionnaire Tool in Rainmaker Bots to gather valuable insights from your users, improve your chatbot's functionality, and provide personalized experiences.

Setting Up Automated Comment Responses with Context Using an External API

Overview

This guide details the steps to integrate your Facebook page with Rainmaker Bots for automated, context-aware comment replies. By utilizing Facebook’s Graph API and OpenAI’s capabilities, you can enhance your bot’s ability to respond with tailored, on-brand replies based on post captions and user comments.

Step 1: Set Up a Facebook App

Step 2: Add Permissions

Core Permissions:

Instagram and WhatsApp:

Extended Facebook Page Permissions:

Save Changes : After adding all permissions, click Generate access token

Step 3: Generate and Assign Access Token

Step 4: Create the Flow in Rainmaker Bots

Create a New Flow

Add an External Request Node

Step 5: Add OpenAI Integration

Step 6: Configure Facebook Comment Reply

Step 7: Test and Optimize

Part 2: Managing Facebook Access Tokens for Rainmaker Bots

Step 1: Convert a Short-Lived Token to a Long-Lived Token

Pro Tips for Success

Token Expiration

Error Handling

Analytics

⚙️ Core Automation Features

External Requests

Understanding External Requests

External requests are your chatbot's means of communicating with other software or services on the internet. It enables your chatbot to retrieve information from these services or share information with them seamlessly. Essentially, it's your chatbot's way of asking questions or exchanging information with the broader digital world. The External Request feature enables interaction with external services, APIs (Application Programming Interfaces), or websites to retrieve data or perform actions. It allows you to fetch data from any other system and present it to the user within your Chatbot.

Types of External Requests

There are two main types of external requests: HTTP GET and HTTP POST, each serving distinct purposes. Let's delve into these types and understand when to employ each:

HTTP GET:

HTTP POST:

Setting up the External Request

On the Flow Builder, add Actions > External API Request.

How to save data to a custom field?

You can use Response Mapping to save data from API to a Custom Field If the API returns data in JSON format. Many times you may want to get data from an API and show the data to the user.

For example, we will use a currency exchange API to show how you could save the data returned from an API to a custom field.

Below is the response from the API.

{
"success": true,
"timestamp": 1519296206,
"base": "EUR",
"date": "2021-03-17",
"rates": {
"AUD": 1.566015,
"CAD": 1.560132,
"CHF": 1.154727,
"CNY": 7.827874,
"GBP": 0.882047,
"JPY": 132.360679,
"USD": 1.23396
}
}

If you want to display the value in US dollars (USD), you'll need to use exchange rates to convert from another currency to USD. To do this, you can test your request, copy the response you receive, and use a service that helps you extract the right data using JSONPath (a way to navigate and extract data from JSON format). This service can also verify if your JSONPath is correct. You don't need to begin your JSONPath expression with "x" when using this service. It's a tool to make sure you're getting the right information from the data you receive.

There are two ways to show the data you get from an API to the user in your chatbot:

You can select the method that best aligns with your chatbot's requirements and the API's structure.

How to get the HTTP status code or the whole response body?

In response mapping, you can use the following elements to work with the API response:

Dynamic Content

Dynamic content in your chatbot empowers you to generate and display content directly from your server, ensuring compatibility across all communication channels. The system automatically adapts the content to the appropriate format for the user's channel in real-time. However, a crucial limitation exists: You can only employ the Dynamic Content feature if you own and manage the API providing the data. If you lack control over the API, you can still work with its data by saving it into a Custom Field using Response Mapping. Subsequently, you can display that data to the user in your chatbot's flow using the Custom Field.

The response format for Dynamic Content typically looks like this:

{
"messages": [],
"actions": []
}

Messages contain messages sent to contacts. You can send any message supported by Messenger Bots. For additional capabilities, refer to Facebook documentation. Rainmaker Bots includes the 'X-USER-ID' header in every request, and using quick_replies is optional.

You can send a text message as follows:

{
"messages": [
{
"message": {
"text": "Hello world",
"quick_replies":[]
}
}
]
}

Sending more than a single message

{
"messages": [
{
"message": {
"text": "Hello world"
}
},
{
"message": {
"text": "This is the second Message",
"quick_replies":[]
}
}
]
}

Sending a text message with buttons (up to 3 buttons)

{
"messages": [
{
"message": {
"attachment": {
"payload": {
"buttons": [
{
"title": "Open Website",
"type": "web_url",
"url": "your_URL"
},
{
"title": "Send Flow",
"payload": "FLOW_OR_STEP_ID",
"type": "postback"
},
{
"title": "Call Number",
"type": "phone_number",
"payload": ""
}
],
"template_type": "button",
"text": "Hello world"
},
"type": "template"
},
"quick_replies":[]
}
}
]
}

Payloads for buttons or quick replies

You can use any flow or step ID as a payload. For example, if you want to take someone to a specific conversation when they click a button, you can use the conversation's ID as the payload. When sending a message, you can add quick replies to it. Quick replies work with different types of messages like text, files, and galleries. Facebook lets you include up to 11 quick replies in a message. The payload you use for quick replies is similar to what you use for buttons. If you have more than 11 options, use the “Multiple Choice” option from the Get User Input action in a message block.

{
"messages": [
{
"message": {
"text": "Hello world",
"quick_replies":[
{
"content_type": "text",
"title": "Quick Reply 1",
"payload": "FLOW_OR_STEP_ID"
},
{
"content_type": "text",
"title": "Any Text Here",
"payload": "FLOW_OR_STEP_ID"
}
]
}
}
]
}

The structure for payloads on quick replies and buttons is the same.

To send media (image, video, audio, or file)

{
"messages": [
{
"message": {
"attachment": {
"type": "image",
"payload": {
"url": ""
}
},
"quick_replies":[]
}
}
]
}

Single card with title, subtitle, image

{
"messages": [
{
"message": {
"attachment": {
"payload": {
"elements": [
{
"title": "Card Title",
"subtitle": "Card Subtitle",
"image_url": "image_url"
}
],
"template_type": "generic"
},
"type": "template"
},
"quick_replies":[]
}
}
]
}

Single card with buttons (up to 3)

{
"messages": [
{
"message": {
"attachment": {
"payload": {
"elements": [
{
"title": "Card Title",
"subtitle": "Card Subtitle",
"image_url": "image_url",
"buttons": [
{
"title": "Button Label",
"type": "web_url",
"url": "your_URL"
},
{
"title": "Button Label",
"payload": "FLOW_OR_STEP_ID",
"type": "postback"
},
{
"title": "Button Label",
"type": "phone_number",
"payload": "+your_phone_number"
}
]
}
],
"template_type": "generic"
},
"type": "template"
},
"quick_replies":[]
}
}
]
}

Sending a Gallery (up to 10 cards)

{
"messages": [
{
"message": {
"attachment": {
"payload": {
"elements": [
{
"title": "Card Title 1",
"subtitle": "Card Subtitle 1",
"image_url": "image_url 1",
"buttons": []
},
{
"title": "Card Title 2",
"subtitle": "Card Subtitle 2",
"image_url": "image_url 2",
"buttons": []
}
],
"template_type": "generic"
},
"type": "template"
},
"quick_replies":[]
}
}
]
}

Sending messages supported only by WhatsApp

WhatsApp supports various message types that aren't compatible with Messenger bots, including List, Contacts, Locations, or Catalogs Messages. However, with Rainmaker Bots, you can send any message type supported by WhatsApp. You just need to use the message structure outlined in WhatsApp's documentation, and Rainmaker Bots will handle the "To" parameter automatically for you.

{
"messages":[
{
"messaging_product":"WhatsApp",
"recipient_type": "individual",
"to": null,
"type": "interactive",
"interactive": {
"type": "button",
"body": {
"text": "ANY TEXT"
},
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "FLOW_OR_STEP_ID",
"title": "BUTTON_TITLE_1"
}
},
{
"type": "reply",
"reply": {
"id": "FLOW_OR_STEP_ID",
"title": "BUTTON_TITLE_2"
}
}
]
}
}
}
]
}

Actions

The "Actions" field is optional, meaning you don't have to include it. Actions allow you to do things like adding or removing tags, setting or unsetting custom fields, and sending a flow.

Add Tag

{
"messages": [],
"actions": [
{
"action": "add_tag",
"tag_name": "..."
}
]
}

Remove Tag

{
"messages": [],
"actions": [
{
"action": "remove_tag",
"tag_name": "..."
}
]
}

Set Custom Field

This action not only lets you use any custom field name, but it also allows you to modify system fields such as phone number, email, full name, first name, and last name.

{
"messages": [],
"actions": [
{
"action": "set_field_value",
"field_name": "...",
"value": ""
}
]
}

Unset Custom Field

{
"messages": [],
"actions": [
{
"action": "unset_field_value",
"field_name": "..."
}
]
}

Send Flow

To find the flow ID, go to the list of flows, click the three dots, and select "Get Link." The flow ID is the numeric value in the link. It's always a number. You can combine as many actions as you need.

{
"messages": [],
"actions": [
{
"action": "send_flow",
"flow_id": "..."
}
]
}

Combine Multiple Actions

You have the flexibility to combine multiple actions in a single request, which enables you to execute several actions simultaneously. For instance, you can set a custom field and trigger a flow with just one request.

{
"messages": [],
"actions": [
{
"action": "set_field_value",
"field_name": "...",
"value": ""
},
{
"action": "send_flow",
"flow_id": "..."
}
]
}

Use Actions as a Payload of Buttons and Quick Replies

To use an action as a payload on buttons, you can follow this format. However, keep in mind that a payload is typically a string. So, you'll need to convert your actions object to a JSON string. If you're using PHP, you can use the json_encode function to transform your actions object into a string representation.

{
"actions": [
{
"action": "send_flow",
"flow_id": "..."
}
]
}

Used as a payload of the button:

{
"messages": [
{
"message": {
"attachment": {
"payload": {
"buttons": [
{
"title": "Click Here",
"payload": "{\"actions\":[{\"action\":\"send_flow\",\"flow_id\":\"FLOW_OR_STEP_ID\" } ]}",
"type": "postback"
}
],
"template_type": "button",
"text": "Hello world"
},
"type": "template"
},
"quick_replies":[]
}
}
]
}

Appointment Scheduling Manager

The Appointment Scheduling Manager enables you to book and schedule appointments and meetings. This feature enables your business to let others know about available appointments, information which they can then use to book a time slot. If you connect your Google Calendar or Outlook calendar, the appointment manager syncs your calendars to ensure there are no double bookings, and it sends automated confirmations and reminders to participants.

Follow this guide to get started with scheduling appointments.

1. Create your Calendar Inside Rainmaker Bots

Go to Marketing > Appointment Scheduling and click the Add button.

The most important thing you should provide is your availability.

Our system will automatically create the confirmation flow and reminder flow.

If you want to edit the confirmation message and reminder message, go to flows and edit the flows related to your calendar.

2. Connect Google Calendar or Outlook Calendar (optional)

Once your calendar is connected, the appointment is automatically updated in your Calendar once a user schedules one. Also, we check your calendar events to avoid overbooking. Be sure to collect the user’s email address before the user schedules an appointment to automatically send the user a calendar invitation through email.

3. Share the scheduling link during the bot conversation

  1. Get the scheduling link by going to Marketing > Appointment Scheduling and clicking the three dots on the Calendar you want to share the scheduling link.
  2. Use the scheduling link as a button link for channels that support buttons that open a website.
  3. For channels that don’t support a button that opens a website link SMS channel, you can send the scheduling link as a TEXT message.
  4. Share the scheduling link from the inbox

Sometimes, you may need to send the scheduling link to the user manually through the inbox. Click the Calendar Icon to send the scheduling link to the user.

4 - View Scheduled Appointments

Go to Tools > Appointment Schedule > Appointments

It's important to note that past time slots visible on the calendar are NOT bookable; they are shown for informational purposes only as part of the system's current design.

Common Errors and their Solutions

Here, we provide a list of commonly encountered issues by channel along with their respective solutions, empowering you to address and rectify your errors immediately.

MESSENGER / INSTAGRAM CHANNEL

WHATSAPP CHANNEL

OTHER ERRORS

How to setup

How to test

Custom domain works with external client-facing links. These are:

Note:

The bot simulator is NOT part of the custom domain package.

Contact us by emailing us at support@rainmakerbots.ai with the information below to set up your custom domain.

Email Subject: Custom Domain Setup Request

Hello Support Team,

I hope this message finds you well. I am reaching out to request the setup of a custom domain for my business account.

Below, you'll find the necessary information for the process:

Upon submission of this information, we shall set up your custom domain within 48 hours.

Entry Point Links and Referral Parameters (Payload)

Entry Points Links are bot links that allow your customers to easily reach your bot.

In addition, they enable you to invoke a specified conversation flow when the link is opened and track the most effective links.

You can use bot links on your website, email newsletters, and more.

In addition to linking your customers to your bot, Entry Point Links also support passing arbitrary parameters via these links. This can be used for many purposes, such as tracking different links placed in different channels, invoking specific conversation flows when the link is opened, or tying a user to a session or account in an external app.

How to create an Entry Point Link

Go to Menu > Marketing > Entry Point Links and click the “Add” button.

After you create your Entry Point Link, click the three dots and select the Get Link option.

Depending on the channel, the link will look like this:

How to save payload data to a custom field

When you create an Entry Point Link, you can specify that your link may contain data that is saved to a user’s custom field once the link is opened.

Show user_external_identifier

You can append any data to an Entry Point Link, and when a user opens your link, the data is saved into the user’s custom field. Append “–payload” at the end of the link, where the payload is any data you want to save to a custom field.

In the example below, we used a Messenger link, but this concept applies to all channels.

https://m.me/FB_PAGE_ID?ref=giveaway--456

In this link, 456 is the payload. When a user opens this link, 456 is saved to the customer field user_external_identifier.

How to pass multiple payloads in an Entry Point Link

You can append as many values as needed to save them to multiple custom fields. Ensure that you are NOT using the custom field name, as only built-in system fields will work by name. Instead, simply use the custom field ID. To find this ID, head over to Flows > Custom Fields > Find Custom Field > click on the three dots to the right > copy the ID.

You should pass an array of IDs and values, e.g.: [{id: "email", value: "...@gmail.com"}, {id:000000, value: "value_here"}]

In the example below, we used a Messenger link, and this concept applies to other channels as well:

https://m.me/<FB_PAGE_ID>?ref=giveaway--value1--738--value2--514--value3

In this link:

To get a Custom Field ID, go to Menu > Flows > Custom Fields, click the three dots, and select Get ID.

Example 2:

“{{webchat}}&ref=FLOW_ID_HERE--email--{{email}}--account_id--CUF_ID_HERE--full_name--{{full_name}}”

In this link:

Just like in other examples:

The structure can be expanded to include additional values, for example:

Use Dynamic Multiple Choice Options

Dynamic Multiple Choice empowers your bot to engage users with questions and generate options in real time. It achieves this by fetching data from APIs or Google Sheets. This feature proves invaluable for businesses aiming to craft quizzes or pose qualifying questions to potential leads.

To create Dynamic Multiple Choice, you use the Get User Data.

Get User Data

The reply type should be Multiple Choice. All your options must be stored in a single custom field.

Format of data for Dynamic Multiple Choice

Let’s imagine you want to ask the question “What’s your favorite fruit?” and you could offer the option Apple, Banana, Orange, Berry, Melon

1 – Separate options with a comma: Apple, Banana, Orange, Berry, Melon

You can get data from any source like Google Sheets where the options are separated by a comma.

2 – Array of options (From API): ["Apple", "Banana", "Orange", "Berry", "Melon"]

You can use our External Request feature to get data from any API and use response mapping to extract the data you need.

In the response below, you use response mapping to save the data to the custom field that is used to store the options.

{  data: ["Apple", "Banana", "Orange", "Berry", "Melon"]  }

Check what option the user chose

Use Condition to check what option the user chose. Also, you can always personalize your messages with the option that the user chose.

Develop a Chatbot Template and Launch It

Develop a Chatbot template and launch it. You can also build a template to give that to your clients with 100% protection.

Creating and launching the templates is easy and the rest is based on your creativity level.

To access the templates section, go to Marketing > Templates.

This is what the template creation section looks like.

The table in this section will give you the template details like the name and number of installs.

Also, you can sort the templates based on installation numbers.

Create a Chatbot Template

Requirements:

Now, follow these steps to create a chatbot template on your own.

Select the “Add Template” button in the Create Template section.

Then, you will get the setup wizard like the image below.

In this template creation, fill in the required details:

After filling all these fields with sufficient details, click the Save button.

Your template has been created and you can share this with your client by getting the link on the three dots on the right side of the particular template as shown in the image below.

Note:

You can easily incorporate an Agent into a template, you only need to include it in a flow, such as the default flow. It's important to remember that this function is exclusive to Agents; Assistants (files) are not compatible.

Bot Simulator

Bot Simulator is a powerful tool that showcases your bot in action on any website without the need to integrate code.

This is particularly valuable for agencies looking to provide clients with a dynamic bot demo directly on their websites.

Imagine the impact of testing the bot simulator on a client's website, bringing the experience to life.

You can explore the Bot Simulator in action on the localpie.com website HERE.

Using the Bot Simulator Tool

Navigate to Menu > Marketing > Bot Simulator and just provide the website address you want to see how the bot will look like.

Generate the Link

There are many situations where you may need to manually generate the bot simulator link.

For example, you may have a bot where you ask your potential clients for their website, and you could generate the link inside the bot to let them know how the chatbot will work on their website.

Messenger

https://app.rainmakerbots.ai/bots/ACCOUNT_ID/sm/?url=LINK

Webchat

https://app.rainmakerbots.ai/bots/ACCOUNT_ID/sw/?url=LINK

Advanced

You can change the color and specify the flow that is triggered when a person interacts with the bot.

Also, it is possible to use options available to customize the webchat by appending the option to the end of the generated link.

For example, if you want to hide the header on the webchat, use the below configuration.

https://app.rainmakerbots.ai/bots/ACCOUNT_ID/sw/?url=LINK&hideHeader=true

Note:

This tool will not work with all websites.

How to Collect a Phone Number

When a user sends an SMS to your business phone number, the chatbot will automatically save the user's number.

However, you can proactively ask your customers for their phone numbers from any channel and subsequently send them an SMS.

To initiate this process, ensure you have the user's phone number.

If you lack this information, you can prompt users to provide their phone numbers using the "Get User Data" block.

Save the obtained phone numbers into the "Phone" system field for future interactions, including sending SMS messages.

Allow your Customer to Find Places / Locations Near to Them

Businesses with multiple locations can enable their bot to assist customers in finding a location near them.

User shares their location inside the bot, and the bot finds the location closest to the user.

Supported Channels

Not all channels allow users to share their location with the bot. Currently, this feature is supported by WhatsApp, Telegram, and Messenger (Android).

To Register your business locations inside the bot:

You need to register all your business locations inside the bot to allow your bot to help your customers find locations near them.

Navigate to MENU > Marketing > Places Near Me

Click Add

As seen in the image above, you must know the Latitude and Longitude of your business location.

You can find both on Google Maps. To find your location on Google Maps, click on your location, and you will see the Latitude and Longitude of your location.

Setup the Flow

You need to use the Get User Data to ask for the user's Location.

You can save the user location in any custom field.

After the user shares the location, use Action > More Options > Find locations near me

Find categories of locations (Advanced use case)

It is possible to add many types of locations to a single bot and allow your contacts to find a specific category of location near them.

For instance, you can add restaurants, Conference Centres, and ATMs to a single bot and allow your contacts to select what type of location they are looking for.

For such a case, you should create a category and associate each location with a category.

Create a category here

After you create a category, you will see more options when you are creating a location.

On the flow builder, if you click the action “Find places near me”, you will see the option to create a category.

Formatting Date and Time

Formatting date and time will be useful for anyone who has customers in multiple nations and regions.

Because the date & time format is not the same in every place.

You can change the format of the date & time to your needs.

Follow the steps below to learn how to format the date and time for your convenience:

Step 1: Go to the flow that you want to edit.

Get the date (this is one way of getting date and time to be formatted)

Step 2: Among many options on the builder choose the “Action” option and select “Format Date/Date & Time” on the list.

Step 3: Now select the option on the builder to:

In addition, you can choose the time zone of this formatted date & time for the page (or) the user’s time zone.

You can download a flow template that uses the same format and features here.

Table explaining the parameters of the date & time formats:

Character Description Values
Day
d Day of the month, 2 digits with leading zeros 01 to 31
D A textual representation of a day, three letters Mon through Sun
j Day of the month without leading zeros 1 to 31
l A full textual representation of the day of the week Sunday through Saturday
N ISO-8601 numeric representation of the day of the week 1 (Monday) through 7 (Sunday)
S English ordinal suffix for the day of the month "st, nd, rd or th"
w Numeric representation of the day of the week 0 (Sunday) through 6 (Saturday)
z The day of the year (starting from 0) 0 through 365
Week
W ISO-8601 week number of year, weeks starting on Monday Example: 42
Month
F A full textual representation of a month January through December
m Numeric representation of a month, with leading zeros 01 through 12
M A short textual representation of a month, three letters Jan through Dec
n Numeric representation of a month, without leading zeros 1 through 12
t Number of days in the given month 28 through 31
Year
L Whether it’s a leap year 1 or 0
o ISO-8601 week-numbering year 1999 or 2003
Y A full numeric representation of a year, 4 digits 1999 or 2003
y A two-digit representation of a year 99 or 03
Time
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds with leading zeros 00 through 59
U Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)

This format is very important because it allows you to get the date as total of seconds. With seconds you can do a lot of maths. For example a quiz bot would save the start date a user starts the quiz and also save the date the user finishes the quiz. The bot would calculate the total minutes the user takes to finish the quiz with ({{stop}} – {{start}})/60.

Your Own Chatbot Translations

Customizing your bot is a great way to make it uniquely yours! In the settings section, you can tweak the bot's content, default settings, and e-commerce flows to match your preferences and language.

This feature allows you to create a Messenger bot in any language that Facebook supports.

To learn how to make these customizations, check out our step-by-step guide in this knowledge-based article.

Let's get started!

First, head over to the Menu > Settings > Customizations.

Right at the top of the list, you'll see the 'Translations' field.

Now, it's time to add your translations to the bot.

We'll use a .csv spreadsheet for this and don't worry, we've got a default template ready for you.

You can simply replace the content with your preferred language and then upload it back onto our platform.

Getting the default spreadsheet is easy!

Just go to the 'Translation' field description, like you see in the image above.

From there, you can make a copy for yourself.

You have two options: you can edit it directly online or download the sheet, make your changes, and then upload it back to our platform.

Remember, when you download the spreadsheet, make sure it's in .csv format, just like in the image below.

Then, update the 'Text' column with your language content, and simply upload the file back using the 'upload file' button on the platform.

Automation Rules

Triggers and Actions help your bot activate actions when certain events occur in your bot.

If something happens in your Messenger bot, it will make the bot do a specific action through automation.

You can use these rules to make tasks happen automatically, such as:

To make your own special rule, go to Menu > Marketing Tools > Automation Rules and click "Add" to create a new one.

The table below the “Add” button will show you the details of every rule which you had created and its status whether it is active or not.

You can also rename, move to folder or delete the rules by selecting the 3 dots located next to the rule name in the table.

Now, pick a name for your new rule in the "Add New" popup.

Just choose a name you like for this automation.

Create a Rule

After you press the "Add New" button on the main page in the "Triggers and Actions" part, our platform will guide you to a setup page that resembles the image below:

On this page, there are two columns – Triggers and Actions.

Triggers

You can pick a trigger by clicking the green “+ Triggers” button.

In Rainmaker Bots platform, there are more than 30 trigger options:

Actions

Actions are the tasks your chatbot will do when a specific trigger (rule) happens.

You can pick any action based on your needs by clicking the orange “+ Actions” button.

Choose the action that fits the trigger, and start making the rules automatic by saving the process.

With these automation rules, you are ready to make the most of automation in Rainmaker Bots and take your processes to the next level.

Math Calculations Inside your Bot

Explore beyond fundamental operations such as addition, subtraction, multiplication, and division. Dive into the realm of intricate mathematical and scientific calculations using advanced functions (listed below). Unlock the potential with practical examples that guide you through the process. Follow the step-by-step instructions to master the art of incorporating complex calculations seamlessly into your chatbot. Elevate your bot's capabilities and provide users with a sophisticated mathematical experience.

Step 1:

Choose the Flow you want to include calculation operations.

Step 2:

Select Action on the block builder and choose Set Custom Field.

Step 3:

Choose "Custom Field" in your flow. Then, select the custom field where your values are stored as numbers. Opt for a custom formula and define it in the Value field. This way, you can easily customize calculations to fit your specific needs within the chatbot flow.

Step 4:

Then save, that’s it.

We know that it might confuse you a bit, let me explain this procedure with one simple example.

Example 1: Performing (A+B)*(A-B) calculation

Get the values of A & B from user input as numbers.

Now set the calculation formula on the flow.

For that, choose action on the basic builder and select the set custom field.

Then, setup the wizard by choosing the custom field (number) in which you want to store the calculated values (here, we created that as “amount_paid”).

Now, the interesting part. Set the formula on the Value field (here we used the formula ( {{value a}} - {{value b}} ) * ( {{value a}} + {{value b}} ) to do the above said calculation.

That’s it, if you take A as 4 and B as 2, the result will be shown by a chatbot as 12 (as per the calculation).

Calculation on Web chatbot example

Here are some basic math examples that you can do:

Here is the example of formats with syntax:

1         // A term can consist of just a number
(1+((2))) // Usage of obsolete brackets is allowed
00001     // Prefixing a number with obsolete zero digits is possible
.1        // Omitting a zero digit before a period character is okay

Here are some awesome list to provide more value for this article:

Operators:

Functions:

Constants:

Others:

Mark a Conversation as a Follow-Up

Mark a conversation as a follow-up in Flow Builder.

Select Action > Inbox > Mark conversation as follow-up

Google & Outlook Calendar Integration

Optimize your appointment management by connecting your Google and Outlook calendars directly to our platform. This integration allows you to centralize your availability, avoid scheduling conflicts, and simplify the way you schedule meetings.

To set up the integration, go to the Marketing Tools section, then to Appointment Scheduling, and finally to Integrations.

How to integrate your additional calendars

Select your calendar platform

Choose either Google Calendar or Outlook Calendar, depending on the platform you wish to integrate.

Connect your account and grant permissions

Select the email account you want to use to connect your calendar. Follow the instructions to grant the necessary permissions to the platform.

Once these steps are completed, your additional calendars will be synced and ready for use.

Benefits:

Entry Links Use Case: Referral

Expanding your contact list can be as simple as having your customers recommend your bot to their friends.

Rainmaker Bots offers a feature that enables your bot to automatically keep track of referrals and carry out specific actions when a user refers your chatbot to someone new or to an existing user.

It's important to note that a user cannot refer themselves.

At the conclusion of this article, you'll find a link to a referral template that's ready for you to use.

To get started with the built-in referral system, just follow these straightforward steps:

Creating a Shareable Link

In this guide, we'll be using a Messenger Entry Point Link as an example. However, the same principles apply to all other channels. To understand how Entry Point Links vary across different channels, you might want to check out this article.

To enable your users to refer friends, your bot needs to provide each user with a unique link. Let's say your Entry Point Link is named 'EXAMPLE1.' To create a unique link for the referral system, simply add '--RMB{{user_id}}' to the end of any Entry Point Link.

For example:

https://m.me/FB_PAGE_ID?ref=EXAMPLE1--RMB{{user_id}}

Sharing a Referral Link

The referral link should be distributed to the user by your chatbot.

Increasing Points and Rewarding Users

Whenever a user refers someone to your bot, either the "User referred a new contact" or "User referred existing contact" trigger is activated. You can set up these triggers by navigating to Menu > Marketing > Automation Rules.

Each time a user refers your bot to someone, you should increase (not set a new value for) a custom field that tracks the user's points.

Then, initiate a flow that checks if the user's total points have reached a threshold that qualifies them for a reward.

The following image demonstrates how to increase user points. Click on the "+Action" button, then select "Set Custom Field."

The flow that determines whether a user is rewarded should be similar to the image shown below.

Essentially, you'll need a flow that sends the user their referral link, a trigger to increase the user's points, and another flow to evaluate the user's points and provide a reward.

If you wish, you can create two separate triggers to award different points for referring a new user versus an existing user.

Google Speech to Text Integration

Go to Setting > Integration > Google Speech to Text > Connect

ElevenLabs Integration

Go to Settings > Integration > ElevenLabs > Connect

Magic Links Documentation

Overview

Magic Links elevate the utility of printed QR codes by allowing their associated URLs to be updated anytime within your Rainmaker Bots platform, significantly enhancing their longevity and value.

Key Concepts

Step-by-Step Guide

1. Accessing Marketing Tools

Find the Magic Links option in the Marketing tools section of the Rainmaker Bots platform.

2. Creating a Magic Link:

3. Managing Your Magic Links:

Important Notes

By leveraging Magic Links, your marketing materials are empowered with lasting relevance, ready to adapt to your business's evolving digital landscape.

How to Use Conditions in RMB: A Step-by-Step Guide

This guide empowers you to leverage the power of Conditions within Rainmaker Bots (RMB).

Conditions allow you to personalize user journeys by directing them to specific parts of the flow based on pre-defined criteria.

What are Conditions?

Conditions act like decision points within your flow. You set a specific criterion, and depending on whether the user meets that criterion, they are directed down a particular path within the flow. This enables you to create more dynamic and personalized chatbot interactions.

Getting Started

Navigate to Flows > Add Flow. Name your Flow according to its purpose (e.g., "Welcome Flow with Email Capture").

Understanding Conditions through Examples

Example 1: Targeting Recent Interactions

Scenario: You want to send a specific message to users who interacted within the last 24 hours.

Steps:

Example 2: Capturing Missing Email Addresses

Scenario: You want to collect email addresses from users who haven't provided one yet.

Steps:

Example 3: Leveraging User Tags

Scenario: You want to personalize the flow based on a specific user tag.

Steps:

Exploring a Wider Range of Conditions

RMB offers a variety of conditions you can utilize to personalize your flows. Here are some additional options:

Experiment and Discover

By experimenting with different conditions, you can unlock the full potential of creating personalized and engaging chatbot experiences for your users.

How To Make Links Clickable

Overview

In Rainmaker Bots, creating clickable links is essential for providing users with easy access to websites, contact information, and other resources. This documentation explains how to make various types of links clickable within your chatbot, such as website URLs, phone numbers, email addresses, and more.

Supported Clickable Link Types

Creating Clickable Links

1. Clickable Website URLs

<a href="https://www.example.com" target="_blank">Example Website</a>

Example:

<a href="https://www.pizzahut.com" target="_blank">Pizza Hut</a>

2. Clickable Phone Numbers

<a href="tel:+18001234567">Call Us</a>

Example:

<a href="tel:+18006927753">1-800-MY-APPLE</a>

3. Clickable Email Addresses

<a href="mailto:support@example.com">Email Us</a>

Example:

<a href="mailto:support@microsoft.com">support@microsoft.com</a>

4. Clickable SMS Links

<a href="sms:+18001234567">Send a Text</a>

Example:

<a href="sms:+18001234567">Send a Text</a>

5. Clickable Google Maps Locations

<a href="https://maps.google.com/?q=Location+Name">View on Google Maps</a>

Example:

<a href="https://maps.google.com/?q=Pizza+Hut">Pizza Hut Location</a>

6. Clickable Social Media Links

<a href="https://www.socialmedia.com/profile" target="_blank">Social Media</a>

Example:

<a href="https://twitter.com/pizzahut" target="_blank">Pizza Hut Twitter</a>

Using the Prompt Template Section in Rainmaker Bots

Rainmaker Bots provides a Prompt Template section that simplifies adding instructions and formatted examples for training your bot.

In the Prompt Template section, you can easily:

Best Practices

Example Conversations to Include in your Prompt:

By following this documentation, Rainmaker Bots users will be able to successfully integrate clickable links into their chatbot conversations, enhancing user engagement and providing a seamless experience.

How to Make Your Bot Respond to Only Valuable Messages

In some scenarios, it’s important to streamline your chatbot so that it focuses on responding to high-priority or valuable messages.

This not only improves user experience but also helps manage resources, ensuring your bot doesn’t respond to irrelevant or trivial inputs.

How to Set It Up:

Step 1: Set Up a Default Flow (Formerly Default Reply)

Start by setting up your Default Flow. This will serve as the backbone of your bot’s ability to filter out valuable messages from irrelevant ones.

Step 2: Analyze User Messages

Once the conversation is transferred to a human agent and a wait block is in place:

Step 3: Transfer Conversation Back to Bot

After OpenAI has analyzed the message:

Step 4: Create a Continuous Feedback Loop

Why Use {{chat_history}}?

Benefits of This Approach:

Example Use Case:

Scenario: A user sends:

Key Takeaways:

By following these steps, you can fine-tune your chatbot to respond only to high-value interactions, ensuring a more efficient and user-focused experience.

Media Format and File Size Guide

Introduction

When developing chatbots for different messaging platforms, it’s important to understand the specific file formats and size limitations that each channel supports. This knowledge ensures that your media content is properly optimised for delivery to users.

Below is a detailed breakdown of the supported media types, file formats, and maximum sizes for Instagram, Messenger, WhatsApp, and Telegram.

Instagram Channel

Instagram is primarily focused on image and video sharing, making it a popular platform for businesses to engage visually with their audience. It supports several media types, but file size limitations are in place to ensure smooth and quick transfers.

Media Type Supported Format Maximum Size
Audio aac, m4a, wav, mp4 25MB
Media Document
Image png, jpeg, gif 8MB
Video mp4, ogg, avi, mov, webm 25MB

Messenger Channel

Messenger, part of the Facebook ecosystem, allows for a wide range of media and document-sharing options. With relatively high file size limits, Messenger is versatile in supporting business interactions through multimedia and documents.

Media Type Supported Format Maximum Size
Audio aac, m4a, wav, mp4 25MB
Media Document Any valid MIME-type 25MB
Image png, jpeg, gif 25MB
Video mp4, ogg, avi, mov, webm 25MB

WhatsApp Channel

WhatsApp is popular for personal and business communication, with limits that are slightly stricter compared to other platforms. However, it supports larger document files, making it useful for sharing important business documents.

Media Type Supported Format Maximum Size
Audio aac, m4a, ogg, mp4, mp3, amr 16MB
Media Document Any valid MIME-type 25MB
Image png, jpeg 5MB
Video 3gp, mp4 16MB

Telegram Channel

Telegram offers support for a wide range of media types, making it highly flexible. It allows for slightly larger file sizes for audio and documents, making it suitable for media-rich content sharing.

Media Type Supported Format Maximum Size
Audio mpeg 20MB
Media Document Any valid MIME-type 20MB
Image png, jpeg, webp 5MB
Video mp4 20MB

This breakdown provides an in-depth view of the unique media limitations for each platform, enabling businesses to optimize their chatbot interactions based on the capabilities of the channels.

How to Calculate the Difference Between Two Dates

Introduction

Calculating the difference between two dates is a common requirement in chatbot applications. For instance, in reservation bots, you may need to determine the number of days between a customer's check-in and check-out dates. This guide will walk you through the steps to compute the difference between two dates, or between a specific date and the current date, using Rainmaker Bots.

Prerequisites

Steps Overview

Step 1: Collect the Dates

First, ensure that you have collected the two dates you want to compare. These dates can be:

Step 2: Convert Dates to Total Number of Seconds

Convert each date into a numerical format representing the total number of seconds since January 1, 1970 (the Unix epoch).

Conversion Process

Step 3: Store the Converted Seconds in Custom Number Fields

Create custom number fields:

Step 4: Calculate the Difference in Seconds

Step 5: Convert Seconds to Days

Why Divide by 86,400?

Step 6: Output the Result

Use the difference_in_days field in a message block:

Your stay is for {{difference_in_days}} nights.

Advanced Usage

Calculating Age

Countdown Timers

Frequently Asked Questions

Additional Resources

Conclusion

By following these steps, you can accurately calculate the difference between two dates in Rainmaker Bots. This method enhances chatbot interactivity, supports scheduling automation, and enables personalized user experiences. To simplify your workflow, you can utilize our pre-built template for calculating the difference between two dates.

Import the template into your account by using this link

Activating Push Notifications on iOS - Rainmaker Bots

Step-by-Step Guide to Activating Push Notifications on iOS for Rainmaker Bots

Internal push notifications in Rainmaker Bots provide an efficient way to streamline communication and workflow within the platform. By receiving real-time alerts, team members can instantly stay updated on important tasks, user interactions, or chatbot performance. This real-time capability reduces response delays, which can be especially valuable for managing high-priority tasks like customer inquiries or troubleshooting urgent issues.

Push notifications also enhance team coordination. When admins or team members receive instant alerts about assigned tasks or updates, they can respond promptly without having to check inboxes or dashboards constantly. This feature empowers faster decision-making, enabling smoother collaboration, especially in time-sensitive scenarios, and contributes to a more seamless user experience overall.

Step 1: Sign Up and Select Your Channel

Step 2: Add Rainmaker Bots to Your Home Screen

Step 3: Open Rainmaker Bots as an App

Step 4: Enable Notifications in Inbox

Step 5: Sign Out and Log Back In (Crucial Step)

Step 6: Final Notification Check

Step 7: Testing Notifications

In Rainmaker Bots, internal push notifications offer a significant boost to efficiency, team communication, and user experience. By keeping team members informed and responsive, notifications support both individual productivity and collaborative effectiveness, enabling a proactive and streamlined approach to chatbot management and customer interaction.

How to Format Date and Time in Rainmaker Bots

Step-by-Step Guide to Formatting Dates in Your Chatbot

Imagine your chatbot greeting users with a warm, localized “Good morning!” or reminding them of their last interaction. Clear and accurate time displays help personalize messages, set reminders, and keep conversations relevant.

In Rainmaker Bots, time data is often stored as a Unix timestamp (e.g., 1735665749), which isn’t user-friendly. But don’t worry! This guide will help you convert those timestamps into readable formats like December 31, 2024, 12:22 PM, so your bot can shine.

Benefits of Formatting Date and Time

Common System Fields for Date and Time

Tip:

You can store formatted versions of these fields in custom user fields for better organization.

How to Format Dates With AI Actions

Formatting dates helps your chatbot turn inputs like “next Monday at 9 am” into clear formats like MM/DD/YYYY HH:MM.

Steps to Format a Date:

Example User Inputs and Formatted Outputs:

Pro Tip:

Always use {{current_user_time}} to avoid misinterpreting relative dates.

How to Format Dates Without AI

1. Choose Your Flow

Decide where to display or use the date/time.

2. Add a “Format Date” Action

3. Select the Field to Format

Choose a system field like {{current_time}}, {{last_interaction}}, or {{current_user_time}}.

4. Set Your Date/Time Format

Example Pattern: l, F jS, Y, g:i a → Tuesday, December 31st, 2024, 12:22 pm

Pattern Breakdown:

5. Choose a Time Zone (Optional)

6. Save the Formatted Output

Store it in a field like {{formatted_time}}.

Format Patterns and Use Cases

Category Character Description Example
Day d Day (2 digits) 01
Day j Day (no leading zero) 1
Day l Full textual day Tuesday
Day D Three-letter day Tue
Day S Ordinal suffix 31st
Month F Full month December
Month m Numeric month (2 digits) 12
Month n Numeric month (no leading zero) 12
Month M Three-letter month Dec
Year Y Full year 2024
Year y Short year 24
Time a Lowercase am/pm pm
Time A Uppercase AM/PM PM
Time g 12-hour format (no leading zero) 12
Time h 12-hour format (leading zero) 09
Time G 24-hour format (no leading zero) 0–23
Time H 24-hour format (leading zero) 00–23
Time i Minutes (leading zero) 00–59
Time s Seconds (leading zero) 00–59

Using Formatted Fields in Messages

Before Formatting:

“Current time is {{current_time}}. Last interaction was {{last_interaction}}.”

Output:

“Current time is 1735665749. Last interaction was 2024-12-31 12:21.”

After Formatting:

Use {{formatted_time}} with pattern l, F jS, Y, g:i a.

Updated Message:

“The time is now {{formatted_time}}.”

Example Output:

“The time is now Tuesday, December 31st, 2024, 12:22 pm.”

Extra Tips

Example Flow

Conclusion

By formatting date and time in Rainmaker Bots, you can transform raw timestamps into clear and engaging displays. Using built-in system fields and CUFs ensures consistent, professional formatting across your chatbot. With these techniques, your bot can communicate time naturally and intuitively—just like a human.

Agentic Workflow for Splitting Long Responses

Implementing Dynamic JSON Parsing in an Agentic Workflow for Splitting Long Responses

This guide outlines how to build an agentic workflow that dynamically splits a long AI-generated message into smaller, sequentially displayed individual messages using structured JSON parsing.

1. Introduction

This workflow is designed to:

2. Workflow Structure

An agentic workflow for splitting long messages includes:

3. Step-by-Step Implementation

Step 1: Configure the OpenAI: Generate Text Node

Step 2: Use the Get Data from JSON Action to Extract Sections

Step 3: Display the Extracted Sections as Split Messages

4. Best Practices

5. Example Workflow

User Input: “Can you explain the steps to improve focus and productivity?”

AI JSON Output:

{
"part1": "Step 1: Set clear and achievable goals.",
"part2": "Step 2: Minimize distractions by creating a focused workspace.",
"part3": "Step 3: Use techniques like the Pomodoro method to stay productive.",
"part4": "Step 4: Take breaks to avoid burnout and maintain focus."
}

Displayed Output:

6. Conclusion

This agentic workflow effectively splits long responses into smaller, user-friendly messages, ensuring clarity and engagement. By using structured JSON parsing, you can control how information is presented, delivering a smooth and intuitive user experience. To get started quickly, use this free template: Dynamic Message Splitting Workflow Template .

Prompt-Driven Dynamic Agents (MCP Servers & Functions)

Creating Agents with Strict-JSON Prompt Engineering

Why this matters

Rainmaker Bots now lets you launch full-featured agents without the visual Flow Builder. Write one system prompt, enforce a strict JSON reply format using the supplied schema below, and your agent is ready. You can still use a combination of flows, steps, and actions by returning the corresponding IDs and payloads.

The required JSON wrapper

Every reply must be one JSON object with a top-level key "messages":

{
"messages": [
{
"message": {
"text": "…or use an attachment/template here…",

/* Quick replies are OPTIONAL. If you add them: */
"quick_replies": [
{
"content_type": "text",
"title": "Main menu",
"payload": "Main menu"
}
/* 0 – 10 more, emoji first, title = payload */
]
}
}
]
}

Key points:

Copy-and-paste system prompt and Sample Reply Below

(sample brand: AutoZone) You are a helpful assistant for a car-parts retailer (sample brand: AutoZone).

1. Persona

2. Output format (MANDATORY)

3. Capabilities

4. MCP Servers

mcp.checkStock({ "sku": "" }) → { "in_stock": bool, "nearest_store": string }

5. Functions

getOrderStatus(order_number: string) → status, eta

6. Safety

Sample model reply

User: “Do you carry floor mats for a 2017 Ford F-150?” Assistant:

{
"messages": [
{
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "button",
"text": "🛻 We found matching floor mats. Tap below to browse options.",
"buttons": [
{
"type": "web_url",
"title": "View Floor Mats",
"url": "https://www.autozone.com/searchresult?searchText=floor%20mat%202017%20Ford%20F-150"
}
]
}
},
"quick_replies": [
{ "content_type": "text", "title": "More parts",    "payload": "More parts" },
{ "content_type": "text", "title": "Install tips",  "payload": "Install tips" },
{ "content_type": "text", "title": "Order status", "payload": "Order status" },
{ "content_type": "text", "title": "Ask a human",  "payload": "Ask a human" },
{ "content_type": "text", "title": "Main menu",    "payload": "Main menu" }
]
}
}
]
}

IMPORTANT:

You must always reply in the most helpful way with your text responses and the quick reply labels. Never recommend any AutoZone competitor and always keep the conversation on relevant topics related to AutoZone.

Note:

Feel free to remove the "quick_replies" block — or any other optional elements — entirely if you don’t want to use them.

Launch Dynamic AI Agents without building a single flow in five steps

Prompt once, deploy anywhere. Advanced agents—no flows required.

Go here for LLM friendly markdown version →

🛒 Shopify Integration

Integrate Shopify with MCP Server

Introduction

Looking to bring your Shopify store to life with AI-powered automation? With MCP (Multi-Channel Proxy), you can connect your Shopify storefront directly to Rainmaker Bots and enable powerful features like product search, cart management, and dynamic policy responses — all through conversational AI.

This guide walks you through how to set up and activate MCP, and shows you everything your bot can do with it.

Step 1: Add Your Shopify Store as an MCP Server

  1. Go to Rainmaker Bots AI Tools.
  2. Click the “Add” button.
  3. In the URL field, enter:
    https://yourshopifystore.com/api/mcp

    (Replace yourshopifystore.com with your actual Shopify domain.)

  4. For Name, enter:
    brandname_mcp
  5. Set Authentication to None.
  6. Click Save.

Note:

After clicking Save, you’ll see the five main MCP functions pre-checked. Leave them selected and click Continue to finalize.

You can also enable only specific tools your chatbot will use or create separate MCP entries for each function for modular control.

Step 2: Enable MCP Inside Your Flow or Master Prompt

  1. Open your Flow Builder, Agent, or Master Prompt.
  2. Go to the AI Tools section.
  3. Find your new server (e.g., brandname_mcp).
  4. Toggle the switch to enable it.

What Your Bot Can Do with MCP

🔍 1. search_shop_catalog

Purpose: Search your Shopify product catalog using natural language or filters.

Examples:

Tips:

🛒 2. get_cart

Purpose: Retrieve and manage the customer’s cart in real time.

What your bot can do:

Examples:

🛠️ 3. update_cart

Purpose: Modify cart directly in conversation.

Examples:

📋 4. search_shop_policies_and_faqs

Purpose: Answer customer questions about policies and FAQs.

🔎 5. get_product_details

Purpose: Fetch detailed product info by ID and variant.

Benefits of the Shopify MCP Integration

🛒 E-Commerce

E-Commerce

Businesses can showcase and share their products and services with customers directly inside WhatsApp for them to browse items and add to a cart without leaving the chat. WhatsApp commerce is fully integrated with Rainmaker Bots allowing your business to easily sell your products inside your WhatsApp bot.

Setup

Follow the below guides

1 – Create a Meta Catalog:

All products used on WhatsApp Commerce must belong to a Facebook Catalog. If a business already has a Facebook catalog set up, we suggest that you leverage that catalog for WhatsApp commerce use cases. If you don’t have a Facebook catalog, follow this documentation to learn how to create it.

2 – Connect Your Catalog to a WABA:

Follow this documentation to learn how to connect your Catalog to your WhatsApp Business Account. Please be aware that you can only connect one Catalog to a WABA. A Catalog can be connected to multiple WABA.

3 – Connect Rainmaker Bots to your Catalog:

Navigate to Menu > Tools > Ecommerce and click the “Connect Meta Catalog” button and follow the instructions.

4 – Link Rainmaker Bots products to Catalog products:

We automatically import all products from Facebook Catalog when you connect your bot to Catalog, but Facebook doesn’t allow apps to get product SKUs from their API. All communications with WhatsApp Commerce are through SKU (Content ID in Facebook Catalog). You will need to manually copy the Content ID in Facebook Catalog and set it as SKU. Copy the Content ID for each Product and edit your Rainmaker Bots Product. For products with variants, you will need to repeat the above process for all variants. Please be aware that inside the WhatsApp bot, only variants can be sent due to WhatsApp limitations. You can’t send the main product that contains variants.

Send products during a conversation.

1 – Collection:

You can use the Collection element on the flow builder to send a product to a user. Please be aware that with the collection, you can’t send products with variants on WhatsApp.

2 – Send Products:

If you choose WhatsApp as the message type, you see the Send Products element. The Send Product element will only show products that are ready to be sent in WhatsApp, including a variant of a product. Please be aware that if a product or variant doesn’t have an SKU defined, it can’t be sent to users on WhatsApp.

3 – Send products from the inbox:

From the inbox, you can easily select products and send them to the user.

Platform behaviour when a user asks a question about a product

1 – The question and the product are shown in the Inbox.

2 – The Platform triggers the “User Asked About a Product“. You can learn more about this new trigger in the session “Trigger and Actions” on this documentation.

3 – Automated responses are triggered. Please be aware that the default reply is triggered if the bot does not know how to respond to the user’s question.

Platform behaviour when a user sends a shopping cart

1 – The shopping is shown in the Inbox.

2 – The Platform triggers the “WhatsApp Shopping Cart Sent“. You can use this trigger to notify admins.

3 – The user receives a message with the shopping cart information ready to checkout. Please be aware that an order is created only after the user completes the checkout. If you want to create an order every time a customer sends a shopping cart, use the trigger “WhatsApp Shopping Cart Sent” and use the E-commerce action “Mark Order As Paid”.

Checkout

Rainmaker Bots has a built checkout page that allows your business to accept payments using Stripe, Paypal, or Razorpay. After the user sends a Shopping cart in WhatsApp, our platform will automatically ask the user to check. You can use a flow as a checkout option.

Abandoned cart recovery message

Our platform will automatically send an abandoned cart recovery message if the user sends a shopping cart and doesn’t checkout within a certain amount of time based on your configuration. You can disable or change the delay of the abandoned cart recovery message by navigating to Tools > E-commerce > Settings > General > Abandoned cart message Scroll down to the abandoned cart message You can use Triggers and Actions if you want to have more control over the abandoned cart recovery message.

Product discovery

By default, your product names are searchable, meaning that your customers can send messages to automatically find products. We automatically handle this process for you with our built-in AI. You can disable searching at the product level or at the account level. Products with variants aren’t searchable inside WhatsApp. To disable search in your account navigate to Tools > E-commerce > Settings > General > Search Products

Triggers and Actions

All triggers related to e-commerce work in WhatsApp commerce except “Product Add to Cart” and “Category Add to Cart“. Also, we introduced two new triggers that work only with WhatsApp commerce.

Checkout Settings

The eCommerce settings are divided into 4 main sections for customization:

Go to Tools > Ecommerce > Settings > Checkout.

In this checkout settings,

Add or Import Products

Add Product

Import Product From Google Sheet/CSV File

Import Products from Meta Catalog (WhatsApp Commerce)

Import Products from your WooCommerce Store

Import Products from .CSV with External Checkout Links

In Rainmaker Bots, you can easily import products into your chatbot using a .CSV file. This feature allows you to add multiple products, each with an external checkout link. The chatbot will use this data to recommend products or direct users to the external checkout page.

CSV Format Requirements

Your .CSV file must include the following headers, formatted exactly as shown:

Example CSV:

Name,Price,Category,Short Description,Image,Link
Wireless Headphones,49.99,Electronics,High-quality wireless headphones,http://imageurl.com/headphones,http://checkouturl.com/headphones
Smart Watch,99.99,Accessories,Stylish smartwatch with health tracking,http://imageurl.com/smartwatch,http://checkouturl.com/smartwatch

Importing Process:

Delivery Cost Based on Location

Setting delivery costs based on location is a straightforward process within our platform, taking only minutes to configure diverse delivery costs for various locations.

Step-by-Step Guide

1. Create a Google Sheet or Microsoft Excel Document Download the Google Sheets template here

2. Fill-in Details:

3. Configure Delivery Costs:

This streamlined process ensures precise control over delivery costs, enhancing your eCommerce customization. Customize delivery charges effortlessly based on location with our platform.

The image below provides a sample guide to implementing diverse delivery costs for different states.

Formatting Notes

Uploading Your File

After entering your data in the file:

Important Notes

Webshop

Webshop allows your customers to easily place orders online. The webshop works on all channels. No matter if your customers use Messenger, SMS, WhatsApp, Telegram… they can buy from your business.

Setup Instructions

Setting up a webshop is very easy:

Sharing the Webshop Link

Change the Product View

You can customize how your products appear on the webshop:

Available Views:

Load Webshop on a Specific Category

Use the following format to link directly to a category:

{{shop_link}}&t=CATEGORY_ID

To get a CATEGORY ID:

Example: If your CATEGORY ID is 2000, your link will be: {{shop_link}}&t=2000

WooCommerce Integration

Go to Settings > Integration > WooCommerce > Connect

Stripe Integration

Go to Settings > Integration > Stripe > Connect

Linking Products to External Product Pages

With our recent update, you can now link products directly to the product page on your website using the new dropdown in the e-commerce section. Here’s how you can make the most out of this feature:

How It Works

Displaying Products

Benefits

Example

Imagine you are selling a “Prompt Engineer Cap.” You set up the product in the dashboard, and users can view it in the chat. When they click to purchase, they are taken to your website’s product page to complete the transaction. This new feature enhances the user experience by providing a smooth transition from Browse to buying, leveraging the capabilities of both the chatbot and your website.

Integrating PayPal Payments into Your Chatbot

Introduction

PayPal is a leading international payment gateway that allows businesses and eCommerce stores to accept payments from customers worldwide. By integrating PayPal with your Rainmaker Bots account, you can empower your chatbots to capture payments globally, expanding your customer reach and sales potential.

Prerequisites

Before integrating PayPal with Rainmaker Bots, ensure you have the following:

Obtaining PayPal Client ID and Secret Key

Step-by-Step Integration Process on Rainmaker Bots

Testing the Integration

Post-Integration Steps

After successfully integrating your PayPal account, customers interacting with your Messenger chatbots built on Rainmaker Bots can pay securely through PayPal for your products or services. All payments will be received directly into your connected PayPal Business account.

Troubleshooting

🧠 OpenAI Integration

Functions (formerly ChatGPT Triggers)

Functions provide a means to seamlessly integrate ChatGPT with your automation tools and external systems. These Functions enable you to effortlessly gather user information and initiate predefined flows. The triggered flow has the capability to execute various automations, retrieve data from external sources, and relay the information back to ChatGPT. Rainmaker Bots has included a pre-configured trigger that allows the user to stop bot automation and talk with a human agent. This Function is already active on all accounts.

How to create a ChatGPT Function

Navigate to Settings > Integrations > Prompt Engineering (Formerly OpenAI ChatGPT ) > Functions and click the Manage button.

On the Functions page, click the Add Button

Name

The best practice is to Name your Function in a way that it allows you, and others, to know exactly what it does at first sight. For example, instead of using “weather” as a name, use “get_current_weather”.

Tip:

Always include a verb in the name (book, get, set) and avoid any special characters such as: ', &, á or ñ.

What Does This Trigger Do?

This field should clarify even more what the purpose of the Function is. Always start with “Allows the user to …”. For example, “Allows the user to book an appointment”. This section should help OpenAI to match "intention" with the "function." If a user "wants to book an appointment," it will use the Trigger Name and this description to find the best match.

Tip:

If you are working in more than one language, please keep each function in a single language.

If choosing a different language than English, keep in mind this works just as a prompt, and you might need to test and make modifications.

Tip:

If you are having issues with Functions not saving special characters correctly, you can try telling it to handle all user data with UTF-8 encoding in the field "what does this trigger do?”, and that worked like a charm.

What Data to Collect?

Naming must be clear and specific. For example, if you want your function to collect user email, use “email”.

Tip:

Keep in mind, Bot will wait until user provides all requested data BEFORE it triggers.

What Flow is Triggered?

You can trigger any flow that you have already created. For the best user experience, if the response depends on the data collected, set the final response in a single custom field and use it in the "What is the output message?" below. Go to "Examples" below to see some use cases.

What is the Output Message?

The result of triggering this Function. For example, “Your booking was confirmed”. The output message will not be sent exactly as specified. OpenAI will rewrite and send it to the user.

Tip:

This step it's optional, leave it empty if you need/want to ONLY trigger the flow and skip the AI generated text from the Default Response.

Examples

Enable a Function

After creating your Function, you need to attach it to the OpenAI action or attach it to the OpenAI Settings.

Important notes

Connect your own OpenAI API Key (use GPT 4.0)

To connect to your own OpenAI API Key, go to https://platform.openai.com and log in with your account.

In your dashboard, select API keys.select API keys.

Here you're going to Create new secret key. Give it a name and copy your Key.

Go back to your Rainmaker Bots account.

Go to Settings > Integrations > OpenAI. Click Connect and paste in your API key.

If you want your bot to just provide your basic business information to your customers, this is the easiest place to do it.

Go to Settings > Integrations > OpenAI. Then click Edit.

Put all your information in the Business Information (Prompt) section and click Continue.

Make sure as well that the 'Automated Response' is turned on.

You can now test your chatbot in any channel your chatbot is connected to.

To test it in webchat, go to Settings > Channels > Web Chatbot, then click Manage.

You can customize your web chatbot. Once done, choose Get Link and click Copy.

Paste the copied URL into your browser and you can now test your chatbot.

Here are some key points to keep in mind:

Convert Text to Speech with OpenAI

To transcribe speech using the Rainmaker Bots, initially, link OpenAI in the 'Integration' segment. Refer to the documentation on how to integrate with OpenAI. After establishing the connection, proceed with the following steps:

Retrieve the prompt

Use a 'Get User Data' block to acquire the audio file for conversion to text. Save it in a designated custom field, as illustrated below.

Configure OpenAI Action

Configure OpenAI for 'Convert Speech to Text':

Refer to the image below for guidance.

Click inside the "Action #1" Flow and proceed as indicated in the image below.

After setting up actions for OpenAI, proceed as shown below:

Section 3: Apply Output Custom Field in a Text Block

To utilize the converted text, follow these steps:

Prompt Engineering

Prompting in the Flow Section

The most convenient way of prompting your business information to your bot is in the message block during flow building. To do this, you will first have to integrate Open AI. To learn more about Open AI integration Click Here.

Once integrated you can always instruct AI to perform a specific role that suits the purpose of the flow you are building. You achieve this when instructing your flow to Generate an IA Message.

Note:

Start by creating the necessary Custom Fields where the AI output message will be saved. If you want to capture data from the user and prompt the AI to respond to that specific information, create an additional Custom Field to store the user’s response.

Once these fields are set up, you can proceed with the following steps:

1. Business Information Prompt

This is where you instruct OpenAI. In this section, you will tell OpenAI what it is, what role it plays, how it interacts with users and even examples of how such role you want it to perform is done.

2. User Message

Examples of these have been covered in the images above.

3. Select Custom Field

This is where you select the custom field where the AI Output message will be saved.

4. Specify Functions

This is where you specify the functions to undertake once the AI message is generated and sent.

5. Memory

You can choose to remember the conversation or not.

6. Temperature

This is where you choose how creative AI can be in the message it generates.

7. Token

Here you can specify the maximum number of tokens in the AI-generated message. It determines how long or short the generated message is. This can also be specified in the User Message section.

Prompting in the Settings Section

Go to Settings > Integration > Prompt Engineering

Click Edit

In the Custom Instructions (Business Information Prompt) section, you can define the personality, tone, and role you want your bot to embody. Use the example below as inspiration for crafting your own personalized prompt.

AI Assistants

You can also prompt AI by creating custom assistants in the Settings section.

Go to Assistants > Add

Create custom instructions that align with the Assistant’s purpose, incorporating key details like business information and response style. You can upload PDF files in the Files section and instruct your assistant to use such files as their knowledge base. Once done, remember to save. The save button is on the upper right section of your screen.

Agents (formerly known as Prompt Templates)

Go to Agents > Add

Use Agents (previously known as Prompt Templates) to guide your bot’s responses to frequently asked questions. Once you create an Agent, it will appear as a selectable option during flow building.

How to enable OpenAI Assistant

On your dashboard go to Assistants from the left menu

Then add the Assistant.

Name your assistant and provide the necessary instructions and files tailored to your use case.

Click Save and your assistant is all set.

OpenAI Success / Failed Built-in Condition

The "OpenAI Success/Failed" built-in condition is a powerful feature designed to provide real-time feedback on the success or failure of AI content generation requests within Rainmaker Bots. This feature enables users to dynamically respond to the outcome of AI content generation processes, ensuring seamless integration of AI capabilities into their workflows.

Use the "OpenAI Success/Failed" condition to automate decision-making processes based on AI content generation outcomes, streamlining your operations and enhancing efficiency. Rainmaker Bots will automatically evaluate the outcome of the request. If the request is successful, indicating that the desired content has been generated effectively, the condition will follow the "success" path. Conversely, if the request fails to produce the intended content, the condition will follow the "failed" path.

Monitor the success rate of AI content generation requests over time to identify trends, patterns, or areas for improvement in AI model performance.

Get Started

To leverage the "OpenAI Success/Failed" built-in condition, simply add an OpenAI action step and configure personalized responses or actions based on the outcome of AI content generation requests. With real-time feedback and customizable responses, you can optimize your AI-powered content generation processes for maximum effectiveness and efficiency.

How to use OpenAI ChatGPT Assistant in RMB: A Comprehensive Guide

This guide empowers you to leverage the power of OpenAI Assistant within Rainmaker Bots (RMB). It allows your chatbot to personalize responses based on your business data, creating a seamless and efficient communication experience for your users.

What is OpenAI Assistant?

OpenAI Assistant is a powerful feature that integrates seamlessly with RMB. It allows you to upload relevant business data files, enabling your chatbot to access and utilize that information to provide personalized responses to user queries.

Getting Started

Navigate to Settings > Integrations > OpenAI > Manage. Click "Add" and name your Assistant. Choose a name that reflects the Assistant's purpose (e.g., "Product Information Assistant").

Customizing Your Assistant

Here's where you define your Assistant's capabilities:

Note:

Combining Functions and Files requires a GPT-4 model.

Using Your Assistant

There are two ways to integrate your Assistant into RMB:

Using the Assistant in the Main System Prompt

This activates the Assistant for all user queries.

Using the Assistant from Flows

Additional Tips

By following these steps and leveraging the power of OpenAI Assistant, you can create a more personalized and informative chatbot experience for your users.

Turn Default Agent (Formerly Auto-GPT) On and Off

Summary

This guide provides a clear, step-by-step process for turning Default Agent on and off, allowing users to activate or pause their AI assistant effectively.

Procedure

Inputs (what you need to get started)

Step 1: Access Account Settings inside your Rainmaker Bots Account

Navigate to your account settings within the platform. Once in the settings menu, locate and click on the Integrations tab.

Step 3: Locate Default Agent Settings

Within the Integrations menu, find the option for OpenAI. Under OpenAI settings, you will see the option for Default Agent.

Step 4: Activate Default Agent

If you wish to activate Default Agent, ensure you have prepared your prompts or knowledge base. Click on the Default Agent option, then navigate to OpenAI to input your prompts or knowledge base. Save your settings to activate Default Agent.

Step 5: Deactivate Default Agent

To deactivate Default Agent, simply return to the Default Agent settings within Integrations and toggle the option off. Confirm your action, and Default Agent will be paused.

Outputs (what you get when you're done)

FAQs

AI Appointment Scheduling Integration Guide

Using Appointment Scheduling Actions in the Flow Builder

(Functions, aka AI Triggers across our agency and enterprise partner platform networks)

This guide shows you how to integrate appointment scheduling into Rainmaker Bots so your customers can easily reserve time with you. It covers connecting your calendar, creating custom fields (CUFs), and setting up flows and Functions.

Tip:

If you are already using custom user fields and actions to manually handle your Start and End times, there’s no need to use AI. In that scenario, you can create a flow with fixed date ranges to manage appointments without OpenAI, Claude, Google Gemini, or Grok.

1. Set Up Your Calendar

Make sure your calendar is connected to Rainmaker Bots (e.g., Google Calendar, Outlook). This integration allows the system to automatically check availability and book appointments. Please read this documentation to learn how to set up your calendar.

2. Create Custom Fields

Go to Flows > Custom Fields and set up the following fields to handle appointment data. You can think of each field as a labelled container for key information:

3. Create a Flow to Check Availability

In the Flow Builder, create a new flow (for example, “Check Availability”). Add an Actions > Appointment action and select Check Availability. This flow is responsible for querying your calendar to find free slots in the user’s specified date range, e.g., “sometime next week.”

4. Create a Function to Check Availability

If you’d like AI to interpret general date references (e.g., “sometime next week” or “maybe tomorrow morning”):

When someone says, “I’m free Tuesday or Wednesday,” this Function captures the user’s date_start and date_end, triggers the Check Availability flow, and populates the available_slots field with available times.

5. Create a Function to Book an Appointment

If a user provides an exact date/time—like “Book me for a haircut next Tuesday at 11 AM”:

When triggered, it creates an event on your calendar at the specified date/time.

More Examples of Function Setup and Fields

Name What it does Data to Collect Book on Calendar Flow Triggered Output Message Example Use Case
check_availability_to_book_appointment Checks for available slots within a given date range (if user doesn't specify an exact time). - start_datetime → date_start - end_datetime → date_end None Check Availability {{available_slots}} "I'm free Tuesday or Wednesday. What times do you have?"
book_appointment Directly books an appointment on your calendar for the specified date/time. - date → appointment_date My Calendar None Success "Book me for a haircut next Tuesday at 11 AM" or "Schedule me for a follow-up on May 10th at 2 PM."

6. Enable Your Functions

After configuring these Functions, activate them in your AI provider’s settings (OpenAI, Claude, Google Gemini, or Grok) or reference them within the OpenAI/Gemini/Claude/Grok action in the Flow Builder. This integration ensures that when a user says, “I’m free all day Wednesday,” the system knows which Function to invoke—Check Availability or Book.

Optional Prompt Guidance

You may include the following paragraph in your system prompt if you like:

“Always check for availability when the user indicates they want to book an appointment on a day like Monday, tomorrow, morning, or afternoon without giving a specific time.”

Summary of Steps

By leveraging AI (OpenAI, Claude, Google Gemini, or Grok) to interpret users’ messages, scheduling becomes more conversational and user-friendly. However, if you are already using custom user fields and actions to manually handle Start and End times, AI is not mandatory.

Note:

Past time slots visible on the calendar are NOT bookable; they are shown for informational purposes only as part of the system's current design.

🔗 Make, Zapier & Pabbly Integrations

Integration with Zapier

Integration with Zapier enables the transmission of data from your chatbot to various other applications on the Zapier platform. Additionally, you have the capability to send data from any external application to your chatbot through Zapier.

Locate and Link the Rainmaker Bots Zapier App

Go to Settings > Integration > Zapier

Transmit Data from Your Chatbot to Zapier

Rainmaker Bots provides numerous triggers enabling the transfer of data from your bot to Zapier. For instance, you can automatically send contact data whenever:

For a comprehensive list of triggers available in Rainmaker Bots Zapier, please refer to Zapier. Additionally, there is a specific trigger allowing you to send data from your bot to Zapier at any point during your automation:

After configuring the flow that sends data to Zapier, proceed to Zapier and employ the "Trigger a Zap" event trigger.

Transmit Data from Zapier to Your Chatbot

From Zapier, you can:

Below is a comprehensive list of all available actions on Zapier that enable you to send data to Rainmaker Bots or initiate automation from Zapier.

Connect Zapier to Rainmaker Bots

Make sure you've allowed Zapier to access Rainmaker Bots.

To find your API Key:

Once you have your key, paste it into Zapier.

Make Integration

Make integration allows you to send data from your bot to any other apps on Make. Also, you can send data from any other app to your bot using Make.

Find and Connect

Send Data: Bot to Make

We offer a variety of triggers enabling you to effortlessly send data from your bot to Make. These triggers include actions such as:

For a comprehensive list of triggers, please refer to Make to explore the full functionality of our Make App. There is a special trigger that allows you to send data from your bot to Make at any time during your automation:

After you set up your flow that will send the data to Make, go to Make and use the "Watch New Trigger Make" event trigger.

Send Data: Make to Bot

From Make, you can:

Below are actions available on Make for sending data to Rainmaker Bots.

Make Integration Guide: Send Data from Rainmaker Bots to Google Sheets

This guide will show you, step-by-step, how to leverage Make to seamlessly send data collected by your Rainmaker Bots chatbot to various applications. We'll use Google Sheets as a practical example, but the core process applies to most apps supported by Make's vast library.

Preparation:

Step 1: Connecting Rainmaker Bots to Make

Step 2: Building a Flow in Rainmaker Bots

Step 3: Creating a Scenario in Make

Step 4: Integrating Google Sheets

Step 5: Testing and Activation

Conclusion

Congratulations! You've successfully connected your Rainmaker Bots chatbot to Make, allowing seamless data transfer to apps like Google Sheets. This method can be replicated to integrate your chatbot with countless other apps using Make’s extensive library.

Important Note:

For a faster, more efficient Google Sheets integration, we recommend using the native Google Sheets integration within Rainmaker Bots. This avoids the need for external tools like Make.

Pabbly Connect Integration

Pabbly Connect integration empowers you to effortlessly send data from your bot to any other apps on Pabbly Connect. Conversely, you can also send data from any other app to your bot using Pabbly Connect, creating a seamless flow of information between your bot and various applications.

Find and Connect Pabbly Connect App

Send Data: Bot to Pabbly Connect

Rainmaker Bots offers numerous triggers that enable you to effortlessly send data from your bot to Pabbly Connect. Whether it's automatically sending contact data when a tag is applied, when a custom field value changes, or when a conversation is transferred between human and bot, these triggers cater to various scenarios.

For a comprehensive list of triggers, please refer to the Pabbly Connect documentation.

Manual Trigger Option

There is a special trigger that allows you to send data from your bot to Pabbly Connect at any time during your automation:

Once you've configured your flow to send data to Pabbly Connect, head over to Pabbly Connect and utilize the "New Trigger Pabbly Event" trigger to initiate the event. This seamless integration ensures a smooth and automated data transfer process.

Triggers Available

Below are triggers available that allow you to send data from your bot to Pabbly Connect:

Send Data: Pabbly Connect to Bot

From Pabbly Connect, you can:

Actions Available

Below are actions available on Pabbly Connect that allow you to send data to your bot or trigger automation from Pabbly Connect:

This two-way data integration streamlines and automates workflows between Rainmaker Bots and your broader app ecosystem.

📊 Google Sheets Integration

Integrate Google Sheets

The Google Sheets integration enables seamless data exchange—send data, get data, get a random row, and generate dynamic galleries from Google Sheet.

Connecting to Google Sheets

Step 1: Go to Menu > Settings

Step 2: Go to Settings and Select Integrations on the top menu.

Step 3: Look for the Google Sheets Integration field and click the Connect button.

Step 4: From here, you need to choose the account associated with the Google Sheet.

Step 5: Once you have connected your Google Sheet, you will get the integration window like this image below.

Note:

You can disconnect the Google Sheets with Rainmaker Bots anytime by pressing the button.

Google Sheet Integration in Action

How to find the Google Sheets actions

To use the Google Sheets integration you need to use this in a flow.

From your menu go to Flows. Once you arrive at the flows overview press the top right button Add Flow.

Once you reach the flow editor you can press the message block that you start with, select Action > Google Sheets.

What kind of actions does the Google Sheets integration have?

Below are the options currently supported:

Setting up your Google Sheet

Before using any of the above actions you need to create a Google Sheet with some preset information. Suppose you want to gather subscriber data such as name, email, and phone number and then export it to a Google Sheet. In that case, set up a few headers within the Google Sheet to organize and export the data. Create a Google sheet like “Subscriber’s Data”. Then create the Headers for each Column. Use Full Name, User ID, Email, and Phone Number. You will be required to create Custom Fields to store the data that you need to send/get from Google Sheets.

IMPORTANT

Whenever you connect your Google Sheet with Rainmaker Bots you need to take into account that whenever you change the name of the worksheet or spreadsheet you need to redo that Google Sheet action. The integration is configured to operate with the sheet's name rather than its ID. Any changes to this may result in the integration ceasing to function.

Send Data to Google Sheets

Once you collected all the information, use the Google Sheets action Send Data.

Choose the action (Send data to Google Sheets), select the name of the spreadsheet and worksheet you want to export the data to.

Now match the Rainmaker Bots data you collected to the Google column titles. You can select any of the custom fields, subscriber's data, or bot data.

Once the subscriber has gone through your flow and you used the Google Sheet action Send Data at the end of that flow, all the data should be nicely exported.

Get Row (Value)

This lets you get data from a Google Sheet and display that information inside the bot for the subscriber to see.

Example: A client has a food truck and changes location a few times a week. Instead of updating the bot, just update the Google Sheet and the bot will fetch the most recent location. Create two botfields:

Create a Google Sheet with the same titles. Fill in the information. In the Flow Builder: Google Sheets > Get Row > Select sheet > Select Worksheet > Select lookup column > Map data from sheets to bot. The lookup column will be Current Location. Set the search to “must be equal to.” Insert botfield Current Location.

Getting Random Row

Useful for generating dynamic combinations.

Example: A bot that provides cat & dog names. Google Sheet with columns:

Ask the subscriber if they want a cat or dog name using a user input block. Store the answer in a custom field. Use this field as the lookup. The column Lookup Value will be the source. The sheet will then return a random name from the appropriate column.

Update Google Sheets Row

Useful for updating existing subscriber data.

Example: You already exported basic subscriber info like Name, User ID. Later you gather their email or phone number. Instead of adding a new row, just update the existing one using Update Row. User ID is used as the lookup value since it is unique. Use the Update Row action to fill in new data in the existing row.

Clear Row On Google Sheet

Useful for removing subscribers who unsubscribed. Use the Google Sheets > Clear Row action. Choose spreadsheet > worksheet > lookup column (typically User ID). This action clears the row of all data.

Create Dynamic Galleries

This feature has been updated and simplified while even providing much more powerful features. You can find the documentation about dynamic galleries in the next section

Conclusion

Rainmaker Bots Google Sheet integration provides extensive support for automating the import and export of your data with Google Sheets. Offering flexibility, it continues to evolve with regular feature updates. In case of any additions, this documentation will be promptly updated, ensuring you grasp new features effortlessly for seamless implementation.

Creating Dynamic Gallery from any Google Sheet

It’s possible to create a dynamic gallery from any Google Sheet you have created. This feature creates a ton of options that enable you to have the full power of Google Sheets available.

Connect your Google Sheets account

The first step is to connect your Google Sheets account if you haven’t already.

Creating the Dynamic Gallery

Go to your flow builder and use the action: Google Sheets -> Generate Dynamic Gallery from any Google Sheet

From here, connect your spreadsheet and the worksheet you want to use. You will then see a gallery card appear.

From it you can customize your own gallery card.

As you can see it is a really visual way of creating your gallery card.

To populate the image URL, title, and subtitle, use the columns available in your Google Sheet. By pressing the curly bracket { or variable icon, you can easily see your columns by name, simplifying the selection process.

Click the Add button

You can select the correct columns very easily. Make sure that when selecting the column for the image, you have inserted a correct URL inside that column. Otherwise, you might get an error when trying to view the gallery card.

You will also have access to all other variables if you want more customization or personalization.

Once you’ve selected your desired columns, you can also add a button if you wish.

When pressing the button you will have a few options to choose from just like when you create a normal button.

Those options are:

When you choose an option, you will also be able to perform additional actions.

There are no restrictions to the amount of actions you can set up.

However, Facebook sets one limitation, which is discussed later.

How to Provide Dynamic Information Based on Chosen Option

Let’s take a look at a sample sheet

We have two items here that display a Plain Frappuccino and Caramel Frappuccino.

Depending on the choice the subscriber takes, we want to show the detailed description matching that choice.

To set this up:

See how easy it is to show information that is stored in any column inside your Google Sheet?

Just use the action Set Custom Field and set the value to the column that will contain the information.

If you want to show multiple columns you can do so by just adding them after the first one.

Example: {{A}}{{B}}

Additional Actions Examples

To show you how easy it is to use this new integration, here is an example of the additional actions you could use to make it a really powerful combination.

Segmenting your audience

It is very easy to segment your audience based on their last viewed product or item in the dynamic gallery.

To enable this:

Note:

It is not advisable to use tags when segmenting subscribers. Tags cannot be set up dynamically like the action Set Custom Field can.

After the button press, you could add a condition that checks a user's choice by using the last custom field action you set up.

That will look similar to this:

If last_viewed_product equals "Plain Frappuccino", then...

Segmenting your audience is important as it allows you to send personalized follow-ups that increase conversions and engagement.

Facebook limitation with additional actions

Facebook has a 1000 characters per custom field limitation. This is only a limitation if you store large data to a custom field.

Factor this in when setting a custom field with values inside your Google Sheet.

🧑‍💻 Customer Service Bots

Improve customer service with OpenAI ChatGPT

To create a top-notch chatbot for your business, focus on crafting a clear and well-written prompt (Business Information). Your prompt is essentially the brain of the chatbot, guiding its interactions and responses. Make sure your prompt is carefully composed to ensure effective communication.

Connect OpenAI

1 – Get your OpenAI API Key HEREhttps://beta.openai.com/account/api-keys

2 – Go to Settings > Integrations > Prompt Engineering (Formerly OpenAI)

3 – Click the Connect button and provide your API KEY.

Triggering an Action

You may often want ChatGPT to trigger a flow or actions instead of or before providing a text response. In this case, you can set Functions.

Disable ChatGPT Default Agent (Formerly Auto-GPT)

Every time a user sends a message to your chatbot, your chatbot will automatically use ChatGPT to respond to the user’s message. You may want to work with only OpenAI actions on the flow builder. You can disable this behavior by going to Settings > Integrations > Prompt Engineering (Formerly OpenAI) and then disable the Default Reply option.

Generate text completion from prompt

Rainmaker Bots offers an action on the flow builder that allows you to input some text as a prompt, and OpenAI will generate a text completion that attempts to match whatever context or pattern you gave it.

Generate Images using OpenAI

OpenAI allows you to generate an image from a text description. On the flow builder, go to Actions -> OpenAI > Generate Image.

Improve customer service with Google Gemini

Rainmaker Bots has integrated Google Gemini, providing businesses with an opportunity to enhance customer service efficiency and reduce costs associated with human resources. By training Google Gemini to address customer inquiries related to their business, businesses can ensure instant and 24/7 customer support through chatbots. This not only leads to increased customer satisfaction but also offers a cost-effective solution by minimizing the need for additional human resources in customer support operations. The crucial element in developing an effective chatbot is to create a well-crafted prompt, specifically centered around business information. The prompt serves as the brain of the chatbot, and it's essential to ensure clarity and quality in its content.

Connect Google Gemini to Rainmaker Bots

First, get your Gemini API key. Click here for that

Visit Rainmaker Bots > Settings > Integrations > Google Gemini

Click the connect button and add your API key

Triggering a Flow

To learn how to trigger a flow using AI, read here.

Transfer a Conversation to a Human

We have introduced an integrated AI trigger that automatically halts bot automation and redirects the conversation to a human agent when the user expresses a desire to interact with a human.

Priority of Automation

Upon linking Google Gemini to Rainmaker Bots, your chatbot will seamlessly engage users using AI without any manual intervention required on your part. Automation priority is as follows:

Whenever a user sends a message to your chatbot, it will automatically utilize Gemini to craft responses. To focus solely on Gemini actions in the flow builder, you have the option to disable this feature. Simply navigate to Settings > Integrations > Google Gemini and turn off the Automate Responses option.

Improve customer service with Claude

Claude allows businesses to improve customer service while drastically saving costs and human resources. Businesses can train Claude to respond to any customer questions related to their business. A chatbot enables businesses to respond instantly to their customers around the clock, resulting in heightened customer satisfaction. Moreover, it is a cost-effective solution, reducing the need for additional human resources in customer support operations. The key to creating an excellent chatbot for your business is to create a good prompt (Business Information). The brain of your chatbot is your prompt. Your prompt must be clear and well-written.

Connect Claude to Rainmaker Bots

1 – Get your Claude API Key HEREhttps://console.anthropic.com/settings/keys

2 – Go to Rainmaker Bots > Settings > Integrations > Claude

3 – Click the Connect button and provide your API KEY.

Triggering a Flow

To learn how to trigger a flow using AI, please check Functions (formerly ChatGPT Triggers).

Transfer a Conversation to a Human

We implemented a built-in AI trigger that automatically stops the bot automation and transfers a conversation to a human when the user wants to talk with a human agent.

Priority of Automation

Once you connect Claude to Rainmaker Bots, your chatbot will automatically communicate using AI every time a user sends a message to your chatbot. You don't need to do anything on your side.

Disable Automatically Triggering Claude

Every time a user sends a message to your chatbot, your chatbot will automatically use Claude to respond to the user’s message. You can disable this behavior by going to Settings > Integrations > Claude and disabling the Automate Responses option.

To learn how to trigger a flow using AI, you can check Functions (formerly ChatGPT Triggers).

📱 WhatsApp Integration

Get started with WhatsApp Automation

Rainmaker Bots allows you to easily create WhatsApp bots for free to automate conversations between your business and your customers using the official WhatsApp API (WhatsApp Cloud API). Currently, WhatsApp Cloud API is open to everyone that wants to create WhatsApp automation for their own business.

Are my client’s compliance needs met by the WhatsApp Cloud API?

The WhatsApp Cloud API is GDPR compliant and has SOC 2 certification. Servers are hosted in North America.

Business verification

It isn’t required to complete Facebook business verification to start automating messages on WhatsApp. Without business verification, your business will be able to:

You will need to complete business verification if you want to initiate more than 50 business-initiated conversations in a rolling 24-hour period. Businesses can initiate Business Verification (BV) only when they are ready to scale business-initiated conversations or request to become an Official Business Account.

Phone Numbers

When choosing a phone number, consider the following:

For now, businesses are required to create their own Facebook App in order to access WhatsApp Cloud API because Facebook allows only a Facebook App belonging to the same Facebook business to create a WhatsApp Business Account. Soon Facebook will allow apps like Rainmaker Bots to create WhatsApp Business Accounts and simplify the process.

Setup WhatsApp Cloud API

Each business needs to create a Facebook app to get access to the Official WhatsApp API. Follow the steps below:

You can now begin testing WhatsApp automation.

Create a WhatsApp Bot on Rainmaker Bots

Use Your Own Business Phone Number

Once you’re ready to go live:

WhatsApp Template Messages

Templates are pre-approved messages for customer notifications such as reminders, updates, etc. After approval, go to:

WhatsApp Business Platform Pricing

Uses a conversation-based pricing model. First 1,000 conversations/month are free.

Types of Conversations

Each 24-hour session counts as 1 charge regardless of the number of messages. Pricing varies by recipient’s country code.

Free Tiers

Free Entry Point Conversations

Conversations are not charged when:

Only the first message from the user is free — subsequent conversations are charged. Ad clicks are still charged by Facebook Ads Manager.

Billing & Insights

Display Names

Default Account

Official Business Account

WhatsApp Commerce

Businesses can showcase and share their products and services with customers directly inside WhatsApp for them to browse items and add to a cart without leaving the chat. WhatsApp commerce is fully integrated with Rainmaker Bots allowing your business to easily sell your products inside your WhatsApp bot.

Setup

Follow the below guides:

1 – Create a Meta Catalog

All products used on WhatsApp Commerce must belong to a Facebook Catalog. If a business already has a Facebook catalog set up, we suggest that you leverage that catalog for WhatsApp commerce use cases. If you don’t have a Facebook catalog, follow this documentation to learn how to create it

2 – Connect Your Catalog to a WABA

Follow this documentation to learn how to connect your Catalog to your WhatsApp Business Account. Please be aware that you can only connect one Catalog to a WABA. A Catalog can be connected to multiple WABA.

3 – Connect Rainmaker Bots to your Catalog

Navigate to Menu > Tools > Ecommerce and click the “Connect Meta Catalog” button and follow the instructions.

4 – Link your products to Catalog products

We automatically import all products from Facebook Catalog when you connect your bot to Catalog, but Facebook doesn’t allow apps to get product SKUs from their API. All communications with WhatsApp Commerce are through SKU (Content ID in Facebook Catalog). You will need to manually copy the Content ID in Facebook Catalog and set it as SKU in Rainmaker Bots. Copy the Content ID for each Product and edit your Product. For products with variants, you will need to repeat the above process for all variants. Please be aware that inside the WhatsApp bot, only variants can be sent due to WhatsApp limitations. You can’t send the main product that contains variants.

Send products during a conversation

1 – Collection

You can use the Collection element on the flow builder to send a product to a user. Please be aware that with the collection, you can’t send products with variants on WhatsApp.

2 – Send Products

If you choose WhatsApp as the message type, you see the Send Products element. The Send Product element will only show products that are ready to be sent in WhatsApp, including a variant of a product. Please be aware that if a product or variant doesn’t have an SKU defined, it can’t be sent to users on WhatsApp.

3 – Send products from the inbox

From the inbox, you can easily select products and send the user.

Platform behavior when a user asks a question about a product

1 – The question and the product is shown in the Inbox.

2 – The Platform triggers the “User Asked About a Product“. You can learn more about this new trigger in the section “Trigger and Actions” on this documentation.

3 – Automated responses are triggered. Please be aware that the default reply is triggered if the bot does not know how to respond to the user’s question.

Platform behavior when a user sends a shopping cart

1 – The shopping is shown in the Inbox.

2 – The Platform triggers the “WhatsApp Shopping Cart Sent“. You can use this trigger to notify admins.

3 – The user receives a message with the shopping cart information ready to checkout. Please be aware that an order is created only after the user completes the checkout. If you want to create an order every time a customer sends a shopping cart, use the trigger “WhatsApp Shopping Cart Sent” and use the E-commerce action “Mark Order As Paid”.

Checkout

Rainmaker Bots has a built-in checkout page that allows your business to accept payments using Stripe, Paypal, or Razorpay. After the user sends a Shopping cart in WhatsApp, our platform will automatically ask the user to checkout. You can build your own checkout page or use a flow as a checkout option.

Abandoned cart recovery message

Our platform will automatically send an abandoned cart recovery message if the user sends a shopping cart and doesn’t checkout within a certain amount of time based on your configuration. You can disable or change the delay of the abandoned cart recovery message by navigating to Tools > Ecommerce > Settings > General > Abandoned Cart Message You can use Triggers and Actions if you want to have more control over the abandoned cart recovery message.

Product discovery

By default, your product names are searchable, meaning that your customers can send messages to automatically find products. We automatically handle this process for you with our built-in AI. You can disable searching at the product level or at the account level. Products with variants aren’t searchable inside WhatsApp. To disable search in your account navigate to Tools > Ecommerce > Settings > General > Search Products

Triggers and Actions

All triggers related to e-commerce work in WhatsApp commerce except “Product Add to Cart” and “Category Add to Cart“. Also, we introduced two new triggers that work only with WhatsApp commerce.

Send a WhatsApp Template Message from the Inbox

This feature allows you to send WhatsApp Template Messages directly from the Inbox.

Send WhatsApp Template Message from Inbox

Click on Send Flow Icon > Template Message > WhatsApp Template Message of your choice > Click Send.

Get User’s Location on WhatsApp and Telegram

RainmakerBots provides an excellent tool to quickly request and get your customer’s location via WhatsApp and Telegram channels, as you need to get your customer’s location at one point or another in the customer journey.

RainmakerBots also provides two system fields you can use to perform actions on the contact’s geological data.

To get the user’s location, follow the steps below

Request the user’s location

Once the user shares his/her location, the user’s entire geographical data (location) will be saved in the custom field you used on the Get User Data block. You can access the entire geographical data (location) in the custom field you used on the Get User Data block (You can access both latitude and longitude)

Advance

To get the URL of the user’s location, click here --> https://www.google.com/maps/search/?api=1&query={{last_latitude}}%2C{{last_longitude}}

Note:

The URL will work based on the last location shared by the user/contact.

Send a Broadcast Message to WhatsApp Contacts

The broadcast tool allows you to send messages to multiple contacts simultaneously in an automated manner. It helps businesses send their contacts announcements, discounts, updates, and other notifications.

To send the broadcast message to your WhatsApp contacts, create and publish your broadcast flow.

Create your broadcast flow

Send your flow to your contact list

Sending WhatsApp Template Message

To send messages to contacts that did not interact with your bot in the last 24hrs, you must send a WhatsApp Template Message. To send a WhatsApp template message on broadcast, create and publish your WhatsApp template message flow.

Creating a Permanent Token for WhatsApp API

Creating a permanent token for the WhatsApp Business API is an essential process to maintain a stable and continuous connection with the platform. Temporary tokens can cause service interruptions when they expire, so it is crucial to configure a token that does not have an expiration date.

Steps to Create the Permanent Token

Step 1: Access Business Facebook.

Step 2: Go to the Settings - Users section and select System Users.

Step 3: If you don’t have a system user, create one and assign it the Administrator role.

Step 4: Once created, select the option Assign Assets.

Step 5: Navigate to the Apps section on the left-hand side panel.

Step 6: Find and select the App you created when registering your WhatsApp number.

Step 7: Grant that App full permissions (Full Control).

Step 8: Generate a new token. To do this:

Step 9: On the same screen, locate the Permissions option. It’s important to select all available checkboxes.

Step 10: Generate the token and save it in a secure location. Note that you won’t be able to view it again after closing.

Step 11: Connect the token to your RMB account:

Step 12: Paste the WABA ID and Access Token.

You can find the WABA ID in the API configuration, in the section where your phone number is displayed. Look for the option "WhatsApp Business Account ID ." Also, input the token you generated.

Note:

By following these steps, you should be able to connect your WhatsApp number with a permanent access token. This permanent token will allow you to maintain a stable and continuous connection with the platform without worrying about periodic renewals.

🌐 Webchat Installation & Customization

The Complete Guide to Custom Webchat: AI-Powered Business Conversations from Rainmaker Bots

Transform your website with a custom webchat powered by Rainmaker Bots – unlike generic chatbots, this intelligent assistant is trained specifically on your business data and custom instructions to deliver personalized customer interactions. Here's how this advanced webchat solution adapts to your needs:

1. Smart Chat Bubble

The classic interface reimagined with AI. Your custom-trained chatbot lives in an unobtrusive bubble that can proactively engage visitors based on your business rules. It understands your products, services, and unique business context to provide informed responses.

2. Embedded Custom Chat

Take full design control by integrating your AI-powered webchat anywhere on your site. Whether it's a branded button, a custom chat interface, or a seamless part of your webpage design, your business-trained chatbot maintains its intelligence while matching your aesthetic perfectly.

3. Immersive Full-Page Experience

Deploy your custom chatbot as a dedicated conversational interface, perfect for complex interactions where your AI assistant can showcase its deep knowledge of your business.

Beyond the screen, your custom webchat extends to the physical world through QR codes and NFC tags. Restaurants are revolutionizing contactless service by embedding their menu-trained chatbots in table tags – customers simply tap to start ordering through an AI that knows every dish, modification, and special. This isn't just another website chatbot – it's a custom web-based AI solution that thinks and speaks like your business, available wherever your customers need it.

1 – Use the Main Navigate Menu and Click “Manage Webchats” or go to Settings > Channels > Web Chatbot > Manage

Ready to set up or modify your webchat? Head to the main navigation bar and click "Manage Webchats" – or if you prefer, go through Settings > Channels > Manage Webchat.

Now for the important part – keeping your chatbot secure. Think of this like setting up a digital security gate that ensures your chatbot only appears on websites you've approved. In the Authorized Websites section, simply add your website's domain (like "yourcompany.com") or specific subdomains (like "shop.yourcompany.com"). Your chatbot will then automatically restrict itself to only these approved sites. This means:

This simple but powerful security step ensures your custom-trained chatbot stays exclusively yours, appearing only where you want it to.

Adding Custom Webchat to Your Website: Complete Guide

Basic Website Integration

Copy this code snippet into your website's body or footer section:

<script src="https://app.rainmakerbots.ai/webchat/plugin.js?v=5"></script>
<script>
ktt10.setup({
id: "YOUR-ID-HERE",        // Your webchat ID
accountId: "YOUR-ID-HERE", // Your account ID
color: "YOUR-COLOR-HERE"   // Your brand color (like #36D6B5)
});
</script>

You'll need to get your two IDs and pick a color:

Want a Full-Page Chat Experience?

Perfect for dedicated chat interfaces or customer service portals. Just use this URL format:

https://app.rainmakerbots.ai/webchat/?p=YOUR_ACCOUNT_ID&id=YOUR_WEBCHAT_ID

(Replace YOUR_ACCOUNT_ID and YOUR_WEBCHAT_ID with your actual IDs)

Making It Match Your Brand

The color code above sets your basic theme, but for full customization, use our Visual Webchat Editor. It lets you style everything from bubble size to chat backgrounds – just add your custom CSS in the designated section. No coding expertise needed – see your changes live as you make them.

Quick Setup Tips

Switching Webchat Templates

Include the following script in your website:

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
pageId: "YOUR_ACCOUNT_ID",
color: "#007BFF",
hideHeader: true,
template: "template1"
});
</script>

Displaying the Account Profile Picture as a Persona

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
pageId: "YOUR_ACCOUNT_ID",
showPersona: true
});
</script>

Modifying the Chat Bubble Icon

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
id: "YOUR_WEBCHAT_ID",
accountId: "YOUR_ACCOUNT_ID",
showPersona: true,
icon: "YOUR_IMAGE_URL"
});
</script>

Replace "YOUR_IMAGE_URL" with the URL of your desired image.

General Webchat Settings

Option Name Description Possible Values Default
type Determines how the chatbot appears on the page floating / window / container floating
template Choose the template for the webchat appearance template1 / template2 template1
color Sets the primary color of the webchat interface Any color name or hex code #36D6B5
headerTitle The title displayed on the webchat header Any text Account Name
hideHeader Option to hide the header section containing the business name true / false false

Webchat Position Settings

Option Name Description Possible Values Default
element "Specifies the HTML element in which the chatbot will be embedded (only applicable if type is ""container"") " Any valid HTML element ID or class
right Distance of the chat icon from the right edge of the screen "Any valid CSS unit (e.g., px, em) " 20px
bottom Distance of the chat icon from the bottom edge of the screen "Any valid CSS unit (e.g., px, em) " 20px

Webchat Behavior Settings

Option Name Description Possible Values Default
loadMessages Load past conversations with the contact when the webchat is opened true / false true
hideComposer Option to hide the message input area (composer) true / false false
showPersona Display the account profile image as a persona within the chat true / false false

Advanced Webchat Actions

Option Name Description Possible Values Default
ref Automatically sends a specific flow or step ID when the chat icon is clicked Any ref/flow/step ID
setCustomFields "Allows setting multiple custom fields, including system fields like email, phone, etc. " CUFs and System Fields

Webchat Chat Bubble Icon Customization

Option Name Description Possible Values Default
icon URL for a custom chat bubble icon URL of the image
chat-avatar CSS to adjust the size and appearance of the chat avatar Custom CSS string
avatarDisplay Show/hide avatar inline-block, none inline-block
avatarShape Shape style 50% for circle 50%

Routing Conversations from Any Channel into a Feature-Rich Webchat Experience

How It Works

Example

User (via SMS): “Hi, can you tell me more about the ‘Greenfield Gardening Kit’? I’m really interested in seeing what it looks like or maybe a quick video demo before I buy.”

Assistant (via SMS): “Absolutely! We’ve got a great interactive demo with product images, a short video, and full details available in our webchat. Just click the link to learn more: {{webchat}}&ref=111111

Example Code to Load and Auto-Open Webchat After 4 Seconds

<script src="https://app.rainmakerbots.ai/webchat/plugin.js?v=5"></script>

<script>
ktt10.setup({
id: "uxZ1a5Wvqj3TpqlgNaZ",
accountId: "YOUR-ID-HERE",
color: "#36D6B5"
});
</script>

<script>
setTimeout(function() {
ktt10Btn.click();
}, 4000);
</script>

Adjust the 4000 value (in milliseconds) to your desired delay time.

IFrame Integration (Optional)

<div style="width:100%; padding-bottom:56.25%; position:relative;">
<iframe src="{{Your Published Flow Link Here}}" style="position:absolute; top:0px; left:0px; width:100%; height:100%; border:none; overflow:hidden;"></iframe>
</div>

Note:

Using iframe loses access to features like the webchat microphone due to cross-domain restrictions. Preferred method is script embed.

Customizing Webchat 2.0

Comprehensive Guide for Customizing Your Webchat

Introduction

Rainmaker Bots Webchat allows you to easily integrate a chatbot on your website without needing third-party platforms. This guide will help you set up and customize your webchat, including changing the chat bubble icon and controlling its size, with easy-to-follow steps for non-coders and beginners.

Embedding the Webchat Code into Your Website

Steps to Embed Webchat

1. Navigate to Settings (Inside Your RMB Account) Go to Settings > Channels > Web Chatbot > Manage inside your RMB account.

2. Add Authorized Websites (Inside the Manage Webchat Section) Inside the Manage Webchat section, add your website domain or subdomain to the authorized websites list. The chatbot will only load on these authorized sites.

3. Get the Webchat Code (Inside the Manage Webchat Section) After creating and saving your Webchat inside your RMB account, click the three dots in the Manage Webchat section to get the code.

4. Insert the Code into Your Website Warning: Always ensure that both IDs (YOUR-WEBCHAT-ID and YOUR-ACCOUNT-ID) provided in the Webchat section are included in the script.

Example code to insert:

<script src="https://app.rainmakerbots.ai/webchat/plugin.js?v=5"></script>
<script>
ktt10.setup({
id: "YOUR-WEBCHAT-ID",  // Webchat ID
accountId: "YOUR-ACCOUNT-ID",  // Account ID
color: "#36D6B5"
});
</script>

This code will embed the webchat on your website, ensuring proper functionality with both required IDs.

Webchat Customization Table

Follow the instructions below to insert the necessary CSS or scripts into the designated areas of your Webchat Editor in RMB for customizing your chatbot interface. CSS customization table omitted for brevity — full list includes 81 classes and their respective styling and usage.

Switching Webchat Templates (Inside the Webchat Editor in Your RMB Account)

Warning:

Insert the following code into the designated script area inside your Webchat Editor.

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
pageId: "YOUR-ACCOUNT_ID",
color: "#007BFF",
hideHeader: true,
template: "template1"
});
</script>

Displaying the Account Profile Picture as a Persona (Inside the Webchat Editor in Your RMB Account)

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
pageId: "YOUR_ACCOUNT_ID",
showPersona: true
});
</script>

Modifying the Chat Icon (Inside the Webchat Editor in Your RMB Account)

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
pageId: "YOUR_ACCOUNT_ID",
icon: "YOUR_IMAGE_URL"
});
</script>

Replace "YOUR_IMAGE_URL" with the URL of your desired image.

Open the Webchat after a Defined Time (timeout)

Substitute YOUR_WEBCHAT_ID with your unique webchat ID, and YOUR_ACCOUNT_ID with your account ID. This ensures that your webchat will automatically open after 3 seconds, using the correct identifiers for seamless integration.

Example code:

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
id: "YOUR_WEBCHAT_ID",  // This is your webchat ID
accountId: "YOUR_ACCOUNT-ID",  // This is your account ID
color: "#36D6B5"
});
setTimeout(function() {
ktt10Btn.click();
}, 3000);  // Automatically open after 3 seconds
</script>

Best Practices for Formatting Text in Webchat

Common HTML Formatting for Webchat Content in RMB

You can use the following guidelines to format your text in Rainmaker Bots’ webchat. Please remember to use both conversation examples and instructions to follow the show-and-tell method, which demonstrates proper formatting through clear examples alongside explanations. This approach will help users better understand how to structure and present their content effectively in the webchat.

Important note :

If you are looking for how to ensure your links in Webchat are properly linked, click here.

1. Headings (H1-H6)

Use to define the hierarchy of content.

Code :

<h1>Main Heading (H1)</h1>
<h2>Subheading (H2)</h2>
<h3>Sub-subheading (H3)</h3>

2. Paragraphs

Use for blocks of text.

Code :

<p>This is a paragraph of text.</p>

3. Bold Text

Emphasize important words.

Code :

<b>This is bold text.</b>

4. Italic Text

Use for emphasis or titles of works.

Code :

<i>This is italicized text.</i>

5. Lists (Ordered and Unordered)

Organize content into lists.

Unordered List Code :

<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>

Ordered List Code :

<ol>
<li>First item</li>
<li>Second item</li>
</ol>

6. Links (Anchors)

Create clickable links to other pages or resources.

Code :

<a href="https://example.com">Click here to visit Example.com</a>

7. Images

Embed images.

Code :

<img src="image.jpg" alt="Description of image">

8. Divs

Create container sections to group elements together.

Code :

<div>
<h2>Section Heading</h2>
<p>Content inside the div.</p>
</div>

9. Span

Inline container for text or content, mainly for styling purposes.

Code :

<span style="color: red;">This text is red.</span>

10. Tables

Display data in tabular format.

Code :

<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
</tr>
</table>

Line Spacing

Control line spacing using CSS:

Code :

<style>
p {
line-height: 1.5;
}
</style>

Helpful Table for HTML Elements

Element Purpose Example
CSS Reset for Width Ensures all elements stay within the parent container's width <style>#root, #root * { max-width: 100% !important; }</style>
Headings (H1-H6) Define content hierarchy <h1>Main Heading</h1>
Paragraphs Block of text <p>This is a paragraph.</p>
Bold Text Emphasis <b>This is bold.</b>
Italic Text Emphasis or titles <i>This is italic.</i>
Lists Organize items <ul><li>Item</li></ul>
Links Clickable URLs <a href=""url"">Link</a>
Images Embed visual content <img src=""img.jpg"" alt="""">
Divs Group content <div><p>Text</p></div>
Span Inline styling <span style=""color:red;"">Text</span>
Tables Display data <table><tr><td>Data</td></tr></table>
Buttons Trigger actions <button onclick=""..."">Click</button>
Iframes Embed media or sites <iframe src=""url""></iframe>
Audio/Video Multimedia playback <audio controls>...</audio>
Line Breaks (BR) Insert breaks Line1<br>Line2
Horizontal Rule (HR) Section breaks <hr>
Blockquote Quote text <blockquote>Quote</blockquote>
Code Display code <code>let x = 5;</code>
Preformatted Text (PRE) Preserve spacing <pre>Text</pre>

Wrapping It Up

By following these guidelines and examples, you’ll ensure your content is structured, visually appealing, and compatible with Rainmaker Bots’ webchat. Whether it’s enhancing readability with proper headings or ensuring functional links and images, these HTML formatting techniques will elevate the user experience in your webchat.

Rainmaker Bots AI Webchat Installer Wordpress Plugin

Follow these steps to install and configure the Rainmaker Bots Webchat plugin on your WordPress site:

Step 1: Set Up Webchat in Rainmaker Bots

Log in to Rainmaker Bots:

Navigate to Webchat Settings:

Create or Edit a Webchat:

Get the Webchat Code:

Download Free WordPress Plugin Here

Step 2: Install the Official RMB Webchat WordPress Plugin

Download the Plugin ZIP File:

Upload and Activate the Plugin:

Step 3: Configure the Webchat Script in WordPress

Go to Settings > Rainmaker Bots Webchat in your WordPress admin dashboard:

For example:

{
"home": "<script>...home script...</script>",
"about": "<script>...about page script...</script>",
"/contact": "<script>...contact page script...</script>"
}

In the JSON configuration, specify the script for each page. Use "home" for the home page, the page name (e.g., "about") for specific pages, or the URL path (e.g., "/contact") for specific page URLs.

Quick Recap:

Once completed, the Rainmaker Bots Webchat will be live on your website, allowing your users to interact seamlessly.

Visual Webchat Editor

Rainmaker Bots AI's New Visual Editor for Webchat

Rainmaker Bots is excited to introduce the Visual Editor for Webchat, a revolutionary tool that empowers users to customize their chatbot interfaces effortlessly. Say goodbye to complex coding and hello to an intuitive platform where you can adjust colors, fonts, layouts, and more to bring your chatbot's appearance to life.

Key Features of the Visual Editor

Getting Started with the Visual Editor

Tips for Effective Customization

Launcher and Icon Customization

Example: Custom Chat Bubble Icon and Launcher Color

<script src="https://app.rainmakerbots.ai/webchat/plugin.js"></script>
<script>
ktt10.setup({
"pageId": "YOUR_PAGE_ID",
"headerTitle": "Your Chatbot Title",
"ref": "YOUR_REF",
"icon": "https://yourdomain.com/your-icon.png",
"color": "#YOURCOLOR",
"template": "template1"
});
</script>

Replace YOUR_PAGE_ID, Your Chatbot Title, YOUR_REF, https://yourdomain.com/your-icon.png, and #YOURCOLOR with your actual values.

Auto-Open Webchat After a Specified Time

<script src="https://app.rainmakerbots.ai/webchat/plugin.js?v=5"></script>

<script>
ktt10.setup({
id: "uxZ1a5Wvqj3TpqlgNaZ",
accountId: "YOUR-ID-HERE",
color: "#36D6B5"
});
</script>

<script>
setTimeout(function() {
ktt10Btn.click();
}, 4000);
</script>

Adjust the 4000 value (in milliseconds) to your desired delay time.

Customization Options Summary

Category Option Name Description Possible Values Default
Colors --primaryColor Button/highlight color Hex #36d6b5
--secondaryColor Background/text secondary color Hex #ffffff
Font Settings --fontFamily Font type CSS fonts "Helvetica, Arial, sans-serif"
--fontWeight Text boldness "bold, normal" bold
Header Settings --headerTextSize Header font size CSS size 18px
--headerTextColor Header font color Hex #ffffff
--headerBackgroundLayers Header background CSS/Hex #36d6b5
--headerHeight Header height CSS size 60px
--headerTextAlign Header text alignment "left, center, right" center
--cornerStyle Header corner radius CSS radius 20px
--headerPaddingLeft Header left padding CSS size 20px
Chat Area Settings --chatAreaBackgroundColor Chat background color Hex #f8f9fa
--chatAreaBackgroundImage Chat background image URL none
--chatAreaBackgroundPosition Image position CSS position center
--chatAreaBackgroundRepeat Repeat image? "repeat, no-repeat, etc." no-repeat
--chatAreaBackgroundSize Background sizing "cover, contain" cover
Message Settings --messageTextSize Message font size CSS size 14px
--messageCornerStyle Bubble radius CSS radius 20px
--botMessageTextColor Bot message color Hex #212529
--botMessageBg Bot background Hex #eeeeee
--userMessageTextColor User text color Hex #ffffff
--userMessageBg User background Hex #36d6b5
Avatar Settings --avatarSize Avatar size CSS size 50px
--avatarBorderColor Avatar border color Hex #36d6b5
--avatarImageURL Avatar image URL URL placeholder
--avatarDisplay Show/hide avatar "inline-block, none" inline-block
--avatarShape Shape style 50% for circle 50%
Chat Input Settings --chatInputBackground Input background Hex #ffffff
--chatInputTextFieldBg Field background Hex #f1f1f1
--chatInputTextFieldTextColor Text color Hex #333333
--chatInputBorderRadius Border radius CSS radius 18px
Icon Settings --iconsDisplay Show/hide icons "inline-block, none" inline-block
Button Styles --buttonTextSize Button text size CSS size 14px
--buttonFontWeight Button font weight "bold, etc." bold
--buttonPadding Padding inside buttons CSS size 10px 20px

Conclusion

With Rainmaker Bots' best-in-class Visual Editor for Webchat, you can now customize your chatbot’s design without writing a single line of code. Personalize every element of your interface—from colors to fonts, layouts to icons—to align perfectly with your brand and enhance user engagement. Try it now and see your chatbot come to life in real-time!

Dynamic URL Detection with Webchat

How to Enable Automatic URL Tracking with Webchat

With Rainmaker Bots, your webchat agent can now automatically detect the current URL of the page it’s embedded on. This functionality enables your bot to deliver more contextual responses, gather page-specific analytics, and streamline user interactions. Below are two primary ways to leverage this feature, along with notes on how to reference the captured URL inside your bot’s scripts.

1. Default Usage (Simple Script Embed)

By default, you can embed the Rainmaker Bots script as shown below. No further configuration is needed for basic functionality:

<script src="https://app.rainmakerbots.ai/webchat/plugin.js?v=6"></script>

<script>
ktt10.setup({
id: "ko7Oedc9lPy",
accountId: "1970516",
color: "#36D6B5"
});
</script>

How the URL is Tracked:

2. Advanced Usage (Dynamic Script Loading)

If you need greater control over how the chatbot script operates—such as dynamically loading the script, managing specific states, or automatically opening the chat—you can use a custom initialization function.

Custom Webchat Initialization:

<script>
let webchatInitialized = false;

function initializeWebchat() {
if (webchatInitialized) return;
webchatInitialized = true;

const parentURL = encodeURIComponent(window.location.href);
const script = document.createElement('script');
script.src = `https://app.rainmakerbots.ai/webchat/plugin.js?v=6&parent=${parentURL}`;

script.onload = () => {
window.ktt10.setup({
id: "C7rHYMsMXUh",
accountId: "1970516",
color: "#36D6B5",
type: "container",
element: "#FGZiRJTkavlYm2",
headerTitle: "Get in Touch",
hideHeader: false,
loadMessages: true,
showPersona: false
});

window.ktt10.open();
};

document.head.appendChild(script);
}

window.addEventListener('DOMContentLoaded', initializeWebchat);
</script>

3. Optional Iframe Embedding

If you embed the chatbot within an <iframe>, you must manually pass the parent parameter to the webchat URL:

<iframe src="https://app.rainmakerbots.ai/webchat/?v=6&p=1970516&hideHeader=true&parent=ENCODED_URL"
width="400"
height="600">
</iframe>

Where: ENCODED_URL = encodeURIComponent(window.location.href)

Referencing the Current URL ({{webchat_parent_url}})

Inside your chatbot’s flows, logic, or custom scripts, use the {{webchat_parent_url}} field to retrieve the current page URL.

Quick Reference Table

Scenario Embed Method Script URL URL Access
Default Setup Inline <script> with ktt10.setup https://app.rainmakerbots.ai/webchat/plugin.js?v=6 Automatically sets {{webchat_parent_url}}
Advanced / Dynamic Dynamically loaded <script> https://app.rainmakerbots.ai/webchat/plugin.js?v=6&parent=ENCODED_URL Encode window.location.href manually
Iframe Embedding <iframe> https://app.rainmakerbots.ai/webchat/?v=6&parent=ENCODED_URL Pass parent in query string

Important Notes & Best Practices

🗣️ Voice Bots

Voice Automation with AudioCodes

Voice Automation allow businesses to automate customer services through Conversational Voice bots.

With Voice Bots, Businesses provide instant customer support and save a lot of money and human resources with customer service.

We integrate with AudioCodes to allow you to build voice bots.

AudioCodes creates a communication hub between Rainmaker Bots, any telephony system, and any cognitive speech service.

It supports any voice bot use case, such as virtual agent, conversational IVR, agent assist, and outbound calling.

Based on a best-of-breed approach, VoiceAI Connect allows you to pick the best provider for speech services.

Sign up for AudioCodes

Follow this link to create your account.

Create your bot on AudioCodes

Token: provide anything you want.

Bot URL: https://app.rainmakerbots.ai/webhooks/audiocodes.php?acc={{ACCOUNT_ID}}-{{ACCOUNT_KEY}}

You can get the ACCOUNT_ID and ACCOUNT_KEY by going to Settings > General.

You will find it at the bottom of the page.

Example: If your account ID is 1234 and the account key ABCD, the Bot URL will be: https://app.rainmakerbots.ai/webhooks/audiocodes.php?acc=1234-ABCD

Add phone number to AudioCodes

To add an existing phone number, you will need to contact AudioCodes support.

Also, AudioCodes allows you to easily buy a phone number from their dashboard.

Connect your phone number to your AudioCodes bot

After you add your phone number to AudioCodes, you need to connect the phone number to your AudioCodes bot.

Go to Routing and click the Add button.

Connect AudioCodes bot to Rainmaker Bots

Go to Settings > Channels > Voice and click the connect button.

Provide the phone number that you added to AudioCodes.

Allow your bot to make outbound calls (Optional)

You can skip this step if you want your bot to handle only inbound calls or if you don’t have permission to make outbound calls.

If your bot can make outbound calls, you need to provide more information when connecting your AudioCodes bot to Rainmaker Bots.

NOTE:

The use of this feature requires approval from AudioCodes.

Setup the Welcome Message

The welcome message is the first message the user will hear when a user calls your number.

The Welcome message must clearly let the user know how they can use your bot.

If you don’t set the Welcome Message, your bot will not send anything until the user speaks with your bot.

To set a Welcome Message, go to Settings > Channels > Voice.

Building Voice flows

On the voice channel, the user can only receive text messages (that are converted to Speech and sent to the user).

Users can also Speak (that is converted to text and sent to the bot).

Your bot can also collect user input when the user clicks on any number during the calls.

Hangup a call

Your bot can hang up a call anytime during a conversation by using the Actions > Voice > Hang up.

Transfer a call to another phone number

Your bot can transfer a call to another phone number anytime during a conversation by using the Actions > Voice > Transfer Call.

Voice Automation with Twilio

Voice Automation enables businesses to automate customer service using Conversational Voice bots.

With Voice Bots, businesses can offer instant customer support, saving significant costs and human resources.

We integrate with Twilio to empower you to build voice bots.

AudioCodes establishes a communication hub between Rainmaker Bots and any telephony system, supporting various voice bot use cases like virtual agents, conversational IVR, agent assist, and outbound calling.

Sign up

Follow this link to create your account

Buy a phone number

Now you can continue to buy a phone number from Twilio.

If you want to use your existing phone number, you will need to port your phone number to Twilio.

In this case, you will need to contact Twilio support.

Connect your phone number

Go to Settings > Channels > Voice and click the connect button.

Go to your Twilio console here to get the Account SID and Auth Token https://www.twilio.com/console

Setup the Welcome Message

The welcome message is the first message the user will hear when a user calls your number.

The Welcome message must clearly let the user know how they can use your bot.

If you don’t set the Welcome Message, your bot will not send anything until the user speaks with your bot.

To set a Welcome Message, go to Settings > Channels > Voice.

Building Voice flows

On the voice channel, the user can only receive text messages (that are converted to Speech and sent to the user).

Users can also Speak (that is converted to text and sent to the bot).

Your bot can also collect user input when the user clicks on any number during the calls.

Hangup a call

Your bot can hang up a call anytime during a conversation by using the Actions > Voice > Hang up.

Transfer a call to another phone number

Your bot can transfer a call to another phone number anytime during a conversation by using the Actions > Voice > Transfer Call.

Click here to select your Twilio Voice

Recording Calls with Twilio in Rainmaker Bots

Overview:

In Rainmaker Bots, users can integrate Twilio & AudioCodes for call management, including call recording.

This feature allows you to automate the start and stop of recordings, trigger follow-up flows based on call events, and store the recordings for later review.

While Twilio supports call recordings in the Flow builder today, AudioCodes functionality is coming soon and will include advanced features like automatic triggers when users are silent, call forwarding from your current phone provider, and more!

How to Use Twilio Call Recording in Flows:

Inside the Flow Builder, open the actions tab and select from the Voice options.

Choose Start Recording to begin recording a call.

This action immediately starts recording, and the file will be saved to the system, allowing for later retrieval.

This is a great action to use in the very beginning of the Phone Channel’s Welcome Message.

Ending the Call and Triggering Automation:

Use Automation Rules to trigger actions when a call ends.

This can help automate follow-up processes or start another flow.

In the Automation Rules section of the Marketing tab, you can create rules to trigger upon events like Call Ended.

For example, after a call ends, you might trigger a flow to send a follow-up message, update the user profile, or record notes about the call.

Saving the Recorded Audio:

Once the call ends, the recording is automatically saved in the Custom User Field (CUF) {{last_call_recorded}}.

This field stores the URL of the most recent call recording, allowing your team to easily access and review past phone interactions.

Creating Additional Custom Fields for Recordings:

To efficiently manage multiple call recordings, we recommend creating a new Custom User Field within your flow.

Each recording URL can be stored in its own CUF, enabling easy tracking of different interactions over time.

After each call, the flow can save the recording URL into a CUF you specify, such as {{call_recording_date}} or {{call_recording_date}}.

Automation Rules and Flow Integration:

Automation Rules is a powerful tool located in the Marketing section of Rainmaker Bots, which allows you to automate processes and trigger actions based on specific events, like when a call ends.

These rules can be set up to work seamlessly with Twilio, and with AudioCodes.

Examples of Automation Rules for Twilio:

Automation Rules for AudioCodes:

💬 Telegram Bots

Send a Broadcast Message to Telegram Contacts

The broadcast tool lets you send automated messages to multiple contacts at once.

It's useful for businesses to share announcements, discounts, updates, and other notifications with their contacts.

To send the broadcast message to your WhatsApp contacts, create and publish your broadcast flow.

Create your broadcast flow

Navigate to Menu > Flows and select the Add button.

Refer to this video for guidance on creating a flow.

Send your flow to your contact list

Telegram Bot Messaging Guidelines and Policy

Bot Messaging Guidelines

Ecosystem

Telegram provides an API enabling third-party developers to craft bots.

These bots function as specialized Telegram users, allowing interactions from your chat list, inclusion in groups, or utilization of an "inline" interface for specific features.

Engaging in these actions involves sharing data with the respective third-party bot developers.

Data Reception by Bots

Interaction with bot developers can result in the transmission of data through various means:

Types of Data Bots Receive

In any of the aforementioned scenarios, automated user (bot) developers can access your public account data (refer to section 3.1): including your screen name, username, and profile picture(s).

Bots may also acquire additional data during interactions:

Independence of Bots from Telegram

Apart from Telegram's own bots, no affiliation exists between Telegram and other third-party bot developers.

These developers operate independently, requiring your explicit permission before accessing or using your data.

Getting Started with Telegram Automation

Rainmaker Bots allows your business to automate conversations on Telegram by creating a Telegram bot.

Follow the below steps by step to create and connect your bot to Rainmaker Bots.

1 – You will need to chat with the official Telegram BotFather (https://t.me/botfather) to create your bot.

Use the /newbot command to create your bot. You can learn more here.

After you created your bot, you will receive your bot API token.

2 – Setup Telegram on Rainmaker Bots.

Navigate to Settings > Channels > Telegram.

You only need to specify your Telegram bot token and Rainmaker Bots will automatically integrate with Telegram and your bot is ready to respond to users.

3 – On the flow builder, you will use Telegram or Omnichannel as a message type.

We recommend that you use Omnichannel whenever possible.

To test your flow, create a training phrase like “test” on Keywords that triggers your Telegram flow.

Telegram Business on Rainmaker Bots

Telegram Business can seamlessly connect with Rainmaker Bots to create a cohesive and interactive messaging experience for your subscribers.

With this integration, you can automate responses, manage live chats, and interact with your customers directly from your personal business Telegram account.

Why Use Telegram Business?

By linking your Telegram Business account with Rainmaker Bots, you can:

Setting Up Your Telegram Business with Rainmaker Bots

To get started, you need:

Step 1: Configure Your Bot in BotFather

Step 2: Link Your Personal Telegram Business Account

Step 3: Sync with Rainmaker Bots

Managing Conversations and Flows

Once connected, your Telegram Business messages will appear in Rainmaker Bots' Channels section. You can:

For an enhanced experience, we recommend disabling auto-replies directly in Telegram by navigating to Settings > Telegram Business > Greeting Messages, and disabling Away Messages.

Automate Telegram Channel Messages from the Telegram Bot

This document guides you through the process of setting up your Telegram bot to automatically send messages to a Telegram channel.

Please note that you must have already created your Telegram bot.

I. Creating a New Telegram Channel

Log in to Telegram : Open the Telegram application on your device.

This is crucial for the bot to be able to post messages.

Obtain the Channel ID

Important :

Include the hyphen "-" when you copy the ID.

II. Configuring Rainmaker Bots

Go to your Rainmaker Bots platform.

Navigate to Flows > Actions > External API Request.

Base URL and Endpoint

The base URL for interacting with the Telegram Bot API is:

https://api.telegram.org/botYOUR_TOKEN/sendmessage

Replace YOUR_TOKEN with the actual token of the bot you created using BotFather.

External API Request Body

Use a JSON structure like this:

{
"chat_id": "-CHANNELID",
"text": "Hello, this message is a test from RMB"
}

Replace -CHANNELID with the channel ID you obtained.

The "text" field contains the message you want to send.

Using Custom User Fields (CUFs)

If you want to send a message stored in a Custom User Field (CUF), replace the text in the JSON body with the CUF name enclosed in double curly braces:

{
"chat_id": "-CHANNELID",
"text": "{{my_cuf}}"
}

Triggering the Message Flow

You can trigger the flow that contains the External API Request using Keywords or through a rule.

We hope this guide is helpful for automating sending messages to your Telegram channel.

✉️ SMS Texting

SMS Automation Using Twilio

SMS channels allow your business to communicate with your clients over SMS. SMS channel is available worldwide.

No matter where your business is located or where your customers are, you can use the SMS channel to generate more results for your business.

We integrated with Twilio to let you send and receive SMS.

Twilio doesn’t provide phone numbers for all countries, but if there is no phone number available for your country, you can buy a phone number from a supported country and communicate with customers worldwide.

We handle all the complexity for you. Your customers can easily opt out of SMS with the “STOP” keyword.

1 – Connect your Twilio account to Rainmaker Bots

If you don’t have a Twilio account, you can create a new account here for free http://www.twilio.com/

You will need to enable send SMS to the countries you want to send SMS to here -->

SMS Automation Using ClickSend

Follow this step-by-step guide to set up your ClickSend SMS account and register your toll-free number for 2-way business text messaging.

Step 1: Sign Up for ClickSend

Go to the following link and sign up for your ClickSend account: https://clicksend.com/?u=578322

Step 2: Add Credit to Your Account

After logging in, click the "+" sign at the top right corner.

Click "Top Up" and choose to add $20 (recommended starting balance).

Click Confirm, then close the popup.

Step 3: Purchase a Toll-Free SMS Number

In the left-hand menu, click “Sender ID’s”.

Click “Buy A Number” under the Sender ID section.

Use the drop-down menu to select your Country.

Under the "Use For" field, select "SMS & MMS".

Choose "Toll-Free Number" as the number type.

Click “Register + Buy” to purchase the number.

Note:

ClickSend randomly assigns toll-free numbers. If you want a different number, refresh the page and click “Register + Buy” again.

Step 4: Register for A2P Messaging

Once you've purchased the number, go back to "Sender ID's" and click "Manage Senders".

A2P (Application-to-Person) registration is required for 2-way messaging in the US and Canada.

Our team will handle this step on your behalf.

Step 5: Provide Business Info for A2P Approval

To proceed with the A2P registration, please email us the following:

We will log in and ensure your Privacy Policy, Terms of Service, and Opt-in Consent Page are all up to compliance standards.

If missing, we will create these pages for you.

Where to Send Your Info

Email the details to: support@rainmakerbots.ai Subject line: ClickSend SMS Approval For [Your Business Name]

📸 Instagram Automations

Instagram Automation

With Instagram Automations, businesses on Instagram can efficiently manage their Direct Messages (DMs) through a chatbot. To enable this feature, ensure your Instagram Business Account is connected to a Facebook Page. For seamless integration, Instagram Business Accounts must activate the connected tools toggle under message control settings to enable Rainmaker Bots to manage Instagram messages effectively.

How to Build Instagram Flows

The process of building funnels for all channels is the same.

We recommend you to always use the Omnichannel message type.

Important Notes

Connect Instagram Business Account

Connecting your Instagram account to our platform is a breeze. Just follow these simple steps to get started:

Getting Started with Instagram Automation

Instagram Automation allows Instagram Businesses to use a chatbot to manage their Instagram DMs.

An Instagram Business Account must be connected to a Facebook Page for Instagram automation to work.

Instagram Automation is available for the following accounts:

To manage Instagram Messages via Rainmaker Bots, Instagram business accounts must enable the connected tools toggle under message control settings.

In your Instagram Account, go to:

Connect your Instagram Professional Account to Rainmaker Bots

Go to Settings > Channels > choose Instagram.

How to Build Instagram Flows

The process of building flows for all channels is the same.

We recommend you always use the Omnichannel message type.

Important Notes!

Instagram Comments Auto-Reply

Comments Auto-Reply You can Auto-reply to users' comments on your post and send automatic replies to their Direct Messages when users comment on your social media page and posts. This tool helps to increase social media engagement and presence. To enable this tool, go to Tools > Instagram Comment Automations.

Create a New Automated Reply Tool

Click "Add". You will find a page similar to the images below:

Create and name your new Facebook/Instagram Comment Automation Tool. Click "Continue" and you will get to a page similar to the image below.

In the Setup Window:

More Options (Optional)

Here you can give additional power to your Messenger or Instagram chatbot using this Comment Automation Tool.

Guide to Using Rainmaker Bots to Create an Instagram Lead Magnet

Traditionally, marketing lead generation has relied on collecting email addresses or phone numbers. While effective, this approach doesn’t guarantee ongoing engagement. Rainmaker Bots introduces a fresh twist: users must follow your Instagram account to access your resource. This ensures you’re not just collecting leads but also building an engaged audience. Even better, you can still collect additional data like name, email, and phone number for more comprehensive lead generation—all while guaranteeing a new follower.

Overview of the Process

This flow combines traditional lead generation with Instagram growth. It ensures users follow your Instagram account as a condition to access your resource, such as an app, a PDF, or a checklist. You can also customize the flow to collect additional details, like name and email, making it an even more powerful tool.

Step-by-Step Instructions

1. Set Up Your Resource

Decide on the resource you want to share with your audience:

2. Create an Attention-Grabbing Offer

Design Instagram posts, stories, or ads promoting your resource. Use clear and engaging messaging to draw interest. For example:

3. Build the Flow in Rainmaker Bots

Step 1: User Enters the Flow

Users click or comment on your post or ad and are directed to the chatbot flow.

Step 2: Retrieve User Data

The flow automatically retrieves the user’s Instagram information to check their follower status.

Step 3: Check Follower Status

The flow determines if the user is following your account:

Optional: Collect Additional Information

You can enhance this process by asking for the user’s name, email, and phone number before delivering the resource.

Example:

Step 4: Deliver the Resource

Once the user meets the follow condition (and provides any additional info, if requested), they are granted access to the resource.

4. Test the Flow

Run through the flow yourself to ensure it works smoothly. Test both paths (follower and non-follower) and optional data collection steps.

Why This Works

1. Grow Your Instagram Following

Traditional lead generation typically doesn’t guarantee long-term engagement. By requiring a follow, this method ensures your audience remains connected to your content.

2. Automate Engagement

The process is fully automated, allowing you to grow your followers and deliver resources with minimal effort.

3. Collect Valuable Data

Along with the guaranteed follower, you can still collect user details like name, email, and phone number, providing additional opportunities for remarketing.

4. Build a Loyal Audience

Users who follow your account to access valuable resources are more likely to engage with future posts and content.

Best Practices for Success

1. Highlight the Unique Value

Communicate how your resource will benefit your audience:

2. Promote Consistently

Share your offer across Instagram posts, stories, reels, and even email campaigns for maximum visibility.

3. Customize for Your Needs

Decide whether you want to focus only on gaining followers or also collect additional lead data like email or phone number.

4. Track and Optimize

Monitor the performance of your flow and tweak it to improve conversions.

💬 Facebook Messenger

Core Components of a Messenger Bot

After connecting your Facebook page, you can start building your bot for your business.

To “Get Started”, you need to configure three basic things for every bot:

These are the first messages that will be shown to your audience when they interact with your bot. So, you need to write them in a clear, comprehensive and customized manner to make your users know what your Facebook Page is about.

Explore this article to configure a lively greeting message for your Messenger chatbot: "Greeting Message – Greet your Subscribers with Fun."

Additionally, dive into this guide on setting up a welcome message for your Messenger chatbot: "Welcome Message for your Messenger Chatbot."

To gain insights into conversation starters and their effective use in your Messenger chatbot, this article is a valuable resource: "Conversation Starters – Ways to start the conversation."

Ensure you configure other essential features like the Persistent Menu, serving as navigation for your Messenger chatbot, resembling the menu on your website.

Also, take a moment to configure the OpenAI feature in the Rainmaker Bots platform: "Improve customer service with OpenAI ChatGPT."

These features, when configured and utilized adeptly, create the best first impression for your Messenger chatbot, making interactions fun, engaging, and impactful.

Welcome Message

The Welcome Message is the initial message your user receives from your Messenger bot.

It is triggered when the user first interacts with the bot by clicking the 'Get Started' button.

The Welcome Message is supported only on the Messenger Channel.

The image below serves as a perfect example of how a welcome message appears:

The first message (grey color) on the right side image, is the welcome message.

Follow the below steps to set the Welcome Message for your Messenger bot:

1 – Create your welcome flow

2 – Navigate to Menu > Settings > Channels > Messenger > Welcome Message.

Select the flow that you created in 1.

Conversation Starters (Ice Breakers)

Ice Breakers provide a way for users to start a conversation with a business with a list of frequently asked questions.

Your users will see questions related to your business instead of the generic “Get Started” button.

We recommend you to use the Icebreaker feature.

It will help the audience to start a conversation with your business.

To create an ice breaker for your business, navigate to Menu > Settings > Channels (Messenger/Instagram) > Conversation starter and click the “Edit” button.

Input your business frequently asked questions and add a response accordingly.

After inputting the question and adding the response flow, click on the + icon to add and click on save on the top right.

This is how the Icebreakers look in the mobile view.

Greeting Message

The greeting message serves as the initial message visible to your audience when they engage with your Messenger chatbot for the first time.

Your Messenger chatbot's greeting message acts as a brief business description, displayed to your audience in the image provided.

Utilize this feature to convert visitors into subscribers and provide a concise overview of your business.

Follow the steps below to set greeting messages in different languages:

Go to Menu > Settings > Channels > Greeting. Click on Edit to customize your greeting message.

This flexibility allows you to tailor greetings to the language preferences of your diverse audience.

Then, enter your greeting message on the given field and save the process. That’s it.

If you want to use multi-language greeting messages, select “+ Language” drop-down menu and choose the languages as per your requirement.

You can create “n” number of greetings with multiple languages which are supported by Facebook.

How to Quickly Connect my AI Bot to my Facebook Ads? (NO code)

If you are new to AI Bots or Ads Manager, Message Templates is the best way to get started

Your first step would be to Create Click to Message Ad on in Meta's Ads Manager

After you have created your Ad, scroll down to Message Template and Create new Start Conversations and click Edit

We recommend starting with a FAQ's instead of forms. Make sure to have a greeting and at least one FAQ.

You do not need to set up a response.

Copy-Paste that FAQ(s) and create Keywords in Rainmaker Bots using that FAQ(s) as "Keywords".

You can choose to trigger a Specific Flow. Here you can choose how to answer or what happens to the user after interacting with your Ad.

Facebook Comments Auto-Reply

You can Auto-reply to users' comments on your post and send automatic replies to their Messenger inbox when users comment on your social media page and posts. This tool helps to increase social media engagement and presence. To enable this tool, Go to Tool > Facebook Comment Automation .

Create a New Automated Reply Tool

Go To Tools > Facebook Comment Automation > Add .

You will find a page similar to the image below:

In the "Add" button above the table. Create and name your new Facebook Comment Automation Tool.

You will get a page similar to the image below

In the Setup Window,

Get the JSON Code for Facebook Ads

What is JSON?

JSON Tool allows you to send an Opt-in message to every user who clicks on your ad.

JSON is a code that's directly connecting the ad to Flow in the bot!

You can learn more about JSON at Facebook Help Center here

Rules

Meta has some rules you must follow in order to use JSON code in your Click to Message Ads.

Some you should consider while building your flow are:

Where do I find MY JSON Code?

Each Flow has its unique JSON Code. To get your code please follow these instructions:

Step 1: Select Flows on the left sidebar of the platform.

Step 2: Open the flow you want to generate a JSON code from.

Step 3: Click on the three-dot button in the upper right corner of the flow builder.

Step 4: Click Get JSON for Messenger Ads and let the bot handle the rest (if you had created a flow to handle the sales).

Where to paste the JSON Code?

Go to your Ads Manager and create a Click to Message Ad.

On Ad level, go to Message Template > Partner app > Enter JSON Code .

REMOVE ALL the placeholder code, then paste the one from your flow, now you can save.

You can learn more about Click to Message Ads at Facebook's Help Center

Messenger List – Marketing Messages (formerly Recurring Notifications)

Messenger List allows your businesses to send recurring notifications on a topic a user has opted-in to receive. During the 24-hour messaging window, a business can request to send users notifications daily for some time. Once a user has opt-in, your bot can send Recurring Notifications related to ongoing promotions and campaigns the user is interested in. Recurring Notifications are an excellent way for your business to build relationships with customers and keep them apprised of updates. Your contacts can easily opt out of receiving your notifications at any time.

Requesting a 'One-time notification' feature (Recurring Notification) on your Facebook page

You must request the One-time notification feature on your Facebook Page before you can use the Messenger List feature. To request this feature, go to:

Facebook Page Settings > New Pages Experience > Advance Messaging > Requested features > One-time notification

How do users opt-in to your Messenger List?

Before you can send your contact recurring notifications, the contact needs to opt-in to receive your messages. Follow this step to get user consent. On the flow builder, select Messenger as the message type. Add the “Notification Request” content. Choose or Add a new topic and briefly describe your Recurring Notification. The topic name is visible only to admins. Upload an image and put a Title on your notification request. The image and title will be visible to the user. Send a broadcast to your Messenger List

After a user subscribes to your Messenger List, you can send them a broadcast message in the future. Follow this step to send a broadcast to your Messenger List. Create your recurring notification flow and select your Topic as the message type. Navigate to Menu > Broadcasts and click the Send button. Choose the Messenger channel, select the Messenger List option, and choose your topic. Select the flow you want to send, when to send the message, and click on send. You can also subscribe your contacts to a drip campaign and send them messages using Messenger List. Drip campaigns are a great way to educate your leads by sending them sequences of valuable content over some time.

Best Practices

Your business should send people relevant, valuable messages to create a high-quality user experience by doing the following:

Limitations

Marketing Messages (formerly Recurring Notification) Meta Documentation: https://developers.facebook.com/docs/messenger-platform/marketing-messages/

Persistent Menu

The Persistent Menu allows you to have an always-on user interface element inside your bot conversations. This is an easy way to help people discover and access the core functionality of your bot at any point in the conversation. The menu is always available to users. This menu should contain the top-level actions that users can use at any time. Having a menu easily communicates the basic capabilities of your chatbot for beginners and returned users.

Supported Channels

Currently, the persistent menu is supported on Messenger, Instagram, and Webchat.

Creating the Persistent Menu

Navigate to Settings > Channels > Facebook Messenger/Instagram > Persistent Menu .

After clicking the “Edit” button on the persistent menu settings, you will get a setup wizard similar to the image below.

If you don’t want your users to send a text message, you can disable the message composer by unchecking the “Allow Keyboard Input“ .

Meta Guidelines and Policy on the use of Automated Bots

Responsiveness Guideline

The policy regarding responsiveness mandates that automated bots promptly engage with all user inputs, encompassing freeform text, quick replies, CTA buttons, and persistent menu clicks. It's essential to note that the exclusion from this requirement applies specifically to the Get Started (welcome screen) button. Even in cases where the composer is disabled, automated bots are expected to respond to any other available inputs. To ensure a seamless conversational experience, automated bots must reply to user inputs within a 30-second timeframe.

Applicability to Bots

This responsiveness policy pertains to all bots identified as "automated" (as opposed to "hybrid" or "human") submitted for approval via the App Dashboard or the Discover submission form on the Messenger Platform.

Defining "Automated" Bots

The Messenger Platform classifies bots into three categories based on their communication style:

Notifications for Policy Violations

In the event of a bot violating the functionality policy, Page admins will receive notifications through the Page Support Inbox. This notification will include a link to this documentation and instructions for rectifying the non-compliance.

Addressing Policy Violations

For bots designed to deliver an automated experience, adherence to responsiveness requirements is imperative. If a bot operates as a "hybrid" or "human" experience, updating the bot's response settings in Page Settings > Advanced Messaging is recommended.

Split Traffic

Enables the random distribution of subscribed contacts along various paths.

For instance, it facilitates experimentation with Welcome Messages to discover variants enhancing conversions or testing diverse call-to-actions within Opt-In Messages of Growth Tools.

Users have the option to craft up to six variations and manage the distribution percentages.

Facebook Lead Ads Automation

Facebook Lead Ads is a specialized advertising solution tailored to streamline the acquisition of user information such as contact details. Through our integration, businesses can seamlessly append each fresh Facebook lead to their contact roster and initiate automated processes promptly. A primary application involves dispatching a pre-designed WhatsApp message to each incoming lead, leveraging WhatsApp's efficacy as a channel for businesses to efficiently assess their Facebook leads without manual intervention. Additionally, alternative scenarios include distributing content via email. For instance, a business may employ a Facebook Lead Ad campaign to gather email addresses for sending out a complimentary e-book.

Please note:

This feature is best suitable for WhatsApp and SMS

Essential Instructions:

Setting Up:

Please Note:

It is imperative to dispatch a WhatsApp Template Message as you are initiating interaction with the Lead.

📧 Email Integration

Seamless Email Integration in Rainmaker Bots (SMTP)

Rainmaker Bots allows you to use any email services providers to send emails to your subscribers.

Normally email services providers provide a feature called SMTP to let you send email from any platform that offers SMTP integration.

We recommend setting up your email address using SendGrid for maximum deliverability & efficiency.

If you want to use other email service provider, follow the steps below to set up email connection with your email service provider.

1 – Connect your email account

If your email service provider is not listed, choose others .

You will need perform additional action if you are using these email service providers:

Important Note:

Do NOT use your Gmail account's actual password when connecting. You MUST use your App Password as instructed above. This is a common mistake that results in the Gmail account not properly connecting.

2 – Collect email address and consent

Before you send an email to a user, you need to collect his email and the person needs to give you consent to send an email.

Now every user has a field called “Email” that is used for Email Marketing.

You can ask your users for their email address with “Get User Data” block and save the user email in the “Email” field.

To save the user consent to send Emails, you need to use the “Set Email Opt-In” action.

You can find this action in the “Actions” block.

We advise you to use this action when the user presses a button to give consent.

Your Email will not be sent if you do not set the user consent using the “Set Email Opt-In” .

The flow can be similar to this.

3 – Send Email

You need to use the email step to email to your subscribers.

You will find the email step by clicking on the big “+” inside the flow builder.

Recommended: How To Integrate Emails With SendGrid

This guide walks you through how to send emails using SendGrid with your Rainmaker Bots account, including optional but highly recommended domain authentication for better deliverability.

Step 1: Sign Up for a SendGrid Account

Create your SendGrid account here: https://sendgrid.com

Step 2: Integrate SendGrid with Rainmaker Bots

Watch the full video walkthrough here:

Integration Checklist:

Step 3: Authenticate Your Domain (Optional but Recommended)

Note:

Domain authentication is not mandatory unless you're sending over 5,000 emails/day, but we strongly recommend doing it to improve deliverability and inbox placement.

Watch the authentication guide here:

Domain Authentication Checklist: