TeleMeetUp at Digital Front Door
TMUDFD Help
Getting Started
Introduction
TeleMeetUp at Digital Front Door (TMUDFD) is an AI- and speech-enabled conversational chatbot with real-time automatic language translation. It’s designed to virtualize and automate how businesses engage with visitors and clients directly on their webpages.
Easily deployable with just one line of code on your website, TMUDFD emulates in-person experiences by handling routine queries, retrieving information, and completing transactions reducing human error and significantly improving customer response time.
Workflow Creation Tool
The Workflow Creation Tool within TMUDFD is designed to simplify the process of building custom conversational AI bots. It allows users to easily create and manage workflows that define how the bot interacts with visitors, automates responses, and integrates with live agents. This intuitive tool empowers you to design seamless communication experiences tailored to your needs, enhancing user engagement and support.
The TMUDFD platform provides a clean and intuitive interface to manage your AI bot ecosystem. Designed for ease of use, it includes everything needed to build, deploy, and manage smart, multilingual, voice-enabled AI agents — all without writing code.
Set Up a Bot
Making a bot is simple and intuitive. With a few straightforward steps, you can set up a bot and have it help the visitors at your webpages.
1. Create the bot
Refer to Bots.
2. Add knowledge sources for the AI to use to provide information (if needed).
Refer to Knowledge Sources.
3. Configure the workflow of the bot
Refer to Flow.
4. Configure the look of the bot
Refer to Themes.
5. Test the bot
Refer to Emulator.
6. Publish the bot
Refer to Publish a Bot.
Bots
To start building your AI assistant, click Bots in the menu on the left to create a new bot. At the top right of the Bots screen, click the + Add Bot button. A panel will appear with three tabs: General, Features, and Advanced.
Properties
General
This is for configuring the core identity of the bot.
- Bot Avatar: Select an avatar or click ➕ to upload your own to give the bot a visual identity.
- Bot Name: A unique, descriptive name for the bot. This is just for your information, not displayed on the bot.
- Bot Description (Optional): A short description to explain the bot’s purpose. This is just for your information, not displayed on the bot.
- Languages: These are the languages of the messages in the bot flow. Users can select their preferred language, and if translation is enabled, the bot will automatically translate the messages to that language. You can either write the translated messages yourself or have the AI do the translation. (The messages generated by the AI may have additional cost and may be in a different language depending on the configuration.)
- Default Language: The main language the bot will use.
- Supported Languages: Add all the languages the bot will support for multilingual interaction.
- Bot Origins: The domain(s) where the bot will be deployed (for example, www.example.com or example.com/en).
- Allow Widget on URL Subpaths: If enabled, the bot will work across multiple subpages of your domain.
Features
Here, you can enable or disable powerful AI-driven functionalities:
- Text to Speech (TTS): Allow the bot to speak responses aloud to users. For higher quality, enable $ External API, which has additional cost per character, and select male or female Voice gender. Otherwise disable it, and the system will use the browser's text to speech function, which has no additional cost.
- Speech to Text (STT): Allow users to speak instead of type their inputs. For higher quality, enable $ External API, which has additional cost per minute. Otherwise disable it, and the system will use the browser's speech to text function, which has no additional cost.
To use this function in the bot: Press and hold the Microphone button at the bottom of the bot while speaking, and this will record your message. When you release the Microphone button, your message will be processed, and the bot will respond.
Or if Realtime AI node is used, you can have a natural conversation with the bot, and instead of pressing the Microphone button to record the messages, you can speak directly to the bot. Refer to Realtime AI Node.
Note: WhatsApp and Telegram interfaces do not support realtime converstion, only recorded audio messages. - Translate Flow Content: Automatically translate conversation flows to all supported languages for multilingual users. This has additional cost per character. To avoid additional cost, you can translate the flow content yourself and set the translated text in each node.
These features make the bot more interactive, accessible, and globally friendly.
Advanced
You can connect the bot to external communication platforms like WhatsApp or Telegram. Users can access the bot from these platforms, not just from your webpages.
- WhatsApp Configuration
- WhatsApp Token: Your WhatsApp API token.
- WhatsApp Phone ID: The phone ID connected to your WhatsApp Business account.
- Telegram Configuration
- Telegram Token: Your Telegram bot token.
Final Step: Save
Once you've filled in the required fields and enabled the features you need, click Save to create the bot. You can always return later to edit or enhance it by clicking the bot's Settings button.
Publish a Bot
To publish the bot, add <script defer src="https://admin.tmudfd.com/botflow-0.1.js"></script> to your webpage inside the <head> section of your HTML like this:
<DOCTYPE html>
<html>
<head>
    <title>My Page</title>
    ...
    // Your Bot script goes here
    <script defer src="https://admin.tmudfd.com/botflow-0.1.js"></script>
</head>
  <body>
    ...
  </body>
</html>
Export/Import a Bot
You can make a copy of a bot by exporting and importing it.
To export a bot, click its Settings button, click the Advanced tab, and click Export, and a .zip file will be downloaded to your device.
To import a bot, click Import Bot at the top right of the Bots screen, click Upload, browse to the exported .zip file, and click Open. In the bot properties, enter the bot name and bot origin, and if desired, edit the other properties, and click Import.
Flow
Flow Overview
Click Flow in the menu on the left. The Flow Editor provides various nodes that allow you to design comprehensive bot workflows. Each node serves a specific function within the conversation, enabling flexibility and precision in creating interactive experiences.

Flow Interface
- Flow dropdown list at the top left: Select the flow you want to work on.

- Flow Template dropdown list at the top left: You can create reusable flow templates (subflows) within the bot.
- To create a flow template, click the Flow Template dropdown list enter the flow template name, and click the ➕ button.
- To edit a flow template, click the Flow Template dropdown list and select the flow template. "main" is the name of the primary (parent) flow.
- To delete a flow template, click the Flow Template dropdown list and click the X button beside the flow template.
- i (Bot Info & Help) at the top left: Quick reference guide with helpful information on How to Use Variables, Predefined Variables, etc.

- Nodes at the top right: The building blocks of your workflows. Each node represents a specific action, condition, or interaction within the conversation. By connecting different nodes, you can define how the bot responds, collects information, branches into different paths, or triggers external actions. To add a node to the workspace, click the Node button and select the desired node type (for example, Basic, API, etc.) from the dropdown list.


Steps for Building the Workflow
Select a Flow
From the dropdown list at the top left of the Flow screen, select the desired flow (bot).
Add a Node
Click the Node button at the top right of the Flow screen.
From the dropdown list, select the desired node type (for example, Basic, API, etc.).
The node will appear in your workspace.
To move a node, click it and drag to the desired location. To zoom in and out on the flow, move the mouse scroll wheel up and down. To pan, click any blank area and drag.
Configure the Node
Click the node, then click the Edit button at the top right of the Flow screen to open the node's components panel where you can customize the node's behavior according to your needs, or double-click the node to edit it. Click the Confirm button to save the changes.
Repeat this step for each node you want to include in the flow.
Connect Nodes
To define the flow between nodes:
- Click the right-side connector of a node.
- Drag and link it to the left-side connector of the next node.
This creates a logical flow between actions or interactions.

If you need to remove a connection between nodes:
- Click the connecting line between them.
- Click the 🗑️ Delete button to remove it.

Save the Flow
Click the Publish button in the top right of the Flow screen to save the current changes to your workflow.
To manage a node, click the node and click the control buttons at the top right of the Flow screen:
- Delete: Remove the node from your workflow.
- Edit: Open the node settings to define variables, set conditions, and configure inputs.
- Duplicate: Make a copy of the node.
You can also use the two arrows (↩️/↪️) at the top right of the workspace to undo or redo your changes as you build your flow.
Basic Node
The Basic Node is a flexible tool used to create custom interactions within your workflow. It allows you to define variables, set conditions, and choose whether the bot should wait for user input or continue automatically.
- Language: The language of the content within the node. (The available languages are the ones that you set in the General tab of the bot properties.) The bot will display the messages in the user's selected language. If you do not provide the translated message for a language, the bot will just display the message in the default language. Or you can have the AI translate the messages. Refer to Properties.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- Add Element: This section lets you add text, images, variables, videos, carousels, and delays. You can stack multiple elements in the node. Fill the element's fields, and click the Add button, and it will be added to the Elements list. Repeat this for each element you want to add in the node.
Element Type:Text
To display a message or any static text in the flow, use the Text element. This is useful for presenting information, instructions, or any content the user should read.
- Content Title: A label to identify the text block (not shown to the user but helpful for organizing your flow).
- Content: The actual text you want to display. A built-in text editor is available, allowing you to apply:
- Headings
- Text styles (bold, italic, underline, strikethrough)
- Hyperlinks
- Numbered and bulleted lists
- No formatting (clear the formatting)

Image
To display an image in the flow, use the Image element. This is useful for visual explanations, product photos, diagrams, or any visual content to enhance the user experience.
- Image title: A label to identify the image element (not shown to the user but helpful for organizing your flow).
- Image source: You can either:
- Click From Device and upload an image directly by dragging and dropping it or by browsing your files, or

- Click From URL and provide an image URL

- Click From Device and upload an image directly by dragging and dropping it or by browsing your files, or
Variable
To add a variable for use in other parts of the flow, use the Variable element.
- Value type: The kind of data the variable will store.
- Text
- Number
- Boolean
- JSON
- File
- Variable (referencing another variable)
- Password (this hides the characters the user enters by displaying them as *****)
- Variable name: A unique name used to identify this variable in your workflow. Reference the variable as "${{VARIABLE_NAME}}", such as ${{FirstName}}.
- Default value: An initial value assigned to the variable unless overridden by user input or other logic.
- Wait for input: A toggle to specify whether the bot should pause and wait for the user to provide input before proceeding or just use the default value.

- Value type: The kind of data the variable will store.
Video
To embed a video, use the Video element. This is useful for tutorials, demonstrations, or any rich media content.
- Video link: The URL of the video (for example, YouTube, Vimeo, or a direct video file link).
- Video title: A label to identify the video (not shown to the user but helpful for organizing your flow).
Once the link is added, the video will be displayed directly inside the node.

Carousel
To display multiple images in a scrollable format, use the Carousel element — ideal for showcasing products, visual instructions, or any series of related visuals.
- Image source: You can add images in several ways:
- From device
Upload an image directly by dragging and dropping it or by browsing your files.

- From URL:
Provide an image URL.

- From JSON Array:
- Select the Variable containing the array
- Set the Target attribute path to locate the list of images inside the JSON structure
- Define the Target attribute name for each image element

- From file variable: Select a file variable that was previously defined in your workflow to use its contents as the image source.

- From device
- Carousel title: A label to identify the image carousel (not shown to the user but helpful for organizing your flow).
- Image source: You can add images in several ways:
Delay
To pause the flow for a few seconds before moving to the next step, use the Delay element. This can help create a more natural, human-like interaction or give users time to read content.
Enter the Delay in seconds. The flow will wait for the specified time before continuing to the next node.

Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.
Enter the condition and click the ➕ button to add it. Repeat for each condition you want to add. There is a built-in "Else" condition for anything that does not match one of the specified conditions.
Example: Support Topic Routing
Suppose you have a variable called
user_query_topic, which stores a keyword extracted from the user's message (for example, using NLP or predefined options).You can set conditions to route the conversation based on the topic:
- If
user_query_topicequals"order", → Go to node "Track Order" - If
user_query_topicequals"refund", → Go to node "Refund Policy" - If
user_query_topicequals"technical", → Go to node "Technical Support" - Else, → Go to node "General Inquiry"


This allows the bot to handle multiple types of questions intelligently and direct the user to the most relevant part of the conversation flow.- If
Choice Node
Choice node is designed to present users with multiple options and guide the conversation based on their selection. It is useful for situations where the user needs to make a decision or select a preference.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- Options message: The message displayed to the user, asking them to make a selection. A built-in text editor is available, allowing you to apply:
- Headings
- Text styles (bold, italic, underline, strikethrough)
- Hyperlinks
- Numbered and bulleted lists
- No formatting (clear the formatting)
- Choices: The possible choices (answers). Click Add choice to add each choice. There is a built-in "On No Match" for answers that do not match one of the specified choices.
- Choice name: The label on the button that the user can select.
- Choice keyword: Unique keyword(s) that matches the choice, which the user might input instead of clicking the button. Click Add to add each keyword.

The user's answer is stored in ${{USER_LAST_INPUT}} variable. "On No Match" can be linked to another node to handle this input, for example, an AI node for intent recognition or a Basic node for saying "Invalid choice". Or "On No Match" can be looped back to its Choice node to force the user to select one of the given choices.

API Node
The API Node connects the bot to external services, allowing it to retrieve or send data via API calls. It is essential for integrating real-time information or performing actions, such as, fetching weather updates, submitting forms, or interacting with external databases and systems.
- Language: The language of the content within the node. (The available languages are the ones that you set in the General tab of the bot properties.) The bot will display the messages in the user's selected language. If you do not provide the translated message for a language, the bot will just display the message in the default language. Or you can have the AI translate the messages. Refer to Properties.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- API Request Settings
- Method: The type of HTTP request (
GET,POST,PUT,DELETE). - Endpoint:URL of the external API.
- Method: The type of HTTP request (
- Request Headers (Optional): Add key-value pairs to pass necessary metadata, for example, authentication tokens, content type. Click Add header to add each header.
- Header
- Value
- Query Parameters (Optional): URL parameters used to send extra information in the request.
- Parameter Name
- Parameter Value
- Request Body (for POST and PUT requests): Choose the body type to send data to the API.
- JSON:
- Enter the JSON body content directly (key-value pairs in JSON format).

- Enter the JSON body content directly (key-value pairs in JSON format).
- FormData:
Add each form field with the following and click Add Data:
- Name
- Type: Text or File
- Content:
- For Text, specify a value

- For File, select a file variable

- For Text, specify a value
- On API Response
- Show API result to user: If enabled, the bot displays the raw API response directly to the user; useful for debugging or detailed information output. Generally this should be disabled before publishing the bot.
- Store variable name: Variable for storing the entire API response for use in later steps.
- Store status code: Variable for storing the status code, such as 200, 201, 400, for use in later steps.
- Success Target Attribute: If the API request succeeds, this triggers the next step.
- Success or Failure Target Attribute: If the API request fails, this triggers the next step.
- JSON:

Wizard Node
The Wizard Node is used to collect multiple sets of structured input in a loop, perfect for cases where you need to gather the same type of information repeatedly. For example, collecting names, birthdays, and phone numbers for multiple people one after another.
This node simplifies repeated data collection by automating iteration and grouping responses in a list.
- Language: The language of the content within the node. (The available languages are the ones that you set in the General tab of the bot properties.) The bot will display the messages in the user's selected language. If you do not provide the translated message for a language, the bot will just display the message in the default language. Or you can have the AI translate the messages. Refer to Properties.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- Iterations configuation:
- Storing variable:Variable for storing the list of inputs collected from each iteration for example,
wizard_list. - Number of iterations: How many times the form should repeat, for example, 3 people.
- Counting start from: Usually starts from 1, used for display like "Person 1", "Person 2", etc.
- Default Counter
${{wizardCounter}}: Variable used in questions to indicate which iteration is currently active.
- Storing variable:Variable for storing the list of inputs collected from each iteration for example,
- Wizard steps:
You can add as many input fields as needed, and they will be repeated across all iterations. Add each entry with the following and click Add question:
- Step sentence: Question or instructions to the user, for example, "Enter the full name of person
${{wizardCounter}}." - Attribute name: Variable for storing the input, for example,
fullname,birthday,gender. - Step Type: Select the data type for the user’s input:
- Text input
- Number input
- Email input
- Password input: Use this to hides the character the user enters by displaying them as *****.
- Date input
- Time input
- URL input
- Phone input
- Boolean switch: Use this if you are collecting a yes/no answer. Define the following:
- True Option Text: The text shown to the user for True, for example, “Yes”.
- False Option Text: The text shown to the user for False, for example, “No”.
- Options: Use this to create a dropdown or multiple choice input. Define the following:
- Option label: Name of the option shown to the user, for example, "Male".
- Option value: Internal value stored, for example, "m".
- Step sentence: Question or instructions to the user, for example, "Enter the full name of person

AI Node
AI Node is designed to process user input and respond intelligently using Natural Language Processing (NLP). It analyzes the query, uses AI to determine relevant actions or information, and stores the response for further use in the workflow.
- Language: The language of the content within the node. (The available languages are the ones that you set in the General tab of the bot properties.) The bot will display the messages in the user's selected language. If you do not provide the translated message for a language, the bot will just display the message in the default language. Or you can have the AI translate the messages. Refer to Properties.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- AI prompt: A prompt that guides the AI on what to look for in the user query and how to respond.
- Wait for user query: If enabled, the bot waits for user input before proceeding to the next steps.
- Show user message: If enabled, the bot prompts the user to input something. If disabled, the bot does not prompt the user but does something internally, behind-the-scenes, such as filtering intents, formatting text, or calculating data, and the user is unaware this node is executing. Or if the flow already obtained the user's question in a previous step, it does not need to ask again and can use the ${{USER_AI_QUERY}} variable in the AI prompt.
- Ask user for query: Message to display to the user when Show user message is enabled, for example, “How can I help you today?”
- Knowledge Sources: If enabled, the bot answers the user's query using the files, websites, and videos you uploaded to the Knowledge Sources (refer to Knowledge Sources). Select the ones you want to apply to this bot. This is helpful in knowledge-based assistants.
- Hide AI response: If enabled, the AI’s reply is not shown to the user but can still be stored internally and used later in the workflow.
- Storing response: Variable for storing the AI-generated output. This is useful when you want to reuse or display the AI result in another node.
- Expect JSON response: If enabled, the bot treats the AI’s output as structured JSON, allowing you to extract specific keys/values for advanced logic or conditional flows.
- Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.

The AI can be used to filter the user's intent by prompting it to return a specific keyword (for example, "weather", "news") based on the user's message, which then routes the flow to different paths. For example, the AI prompt could be
1. "get_news"
When the user asks for agricultural news or updates.
When the user requests recent farming-related information.
2. "request_call"
When the user explicitly asks to talk to an agent or requests human assistance.
When the user asks for a call with support.
When the user types "call me", "call support", or similar phrases.
When the user says "I want to speak to a person".
When the user mentions needing direct help from an agent.
3. "get_weather_forecast"
When the user asks about weather conditions or forecasts.
When the user inquires about temperature, rain, or wind predictions.
When the user asks "will it rain today?" or similar weather questions.
query_action == "request_call"
query_action == "get_weather_forecast"

The AI might return values sometimes as string and sometimes as number. You can instruct the AI how to handle the data type in the AI prompt, but it might not comply reliably. To increase accuracy, you can use both string and number types in the Conditions, for example,
project_id == "2"
project_id == 1
project_id == 2
Realtime AI Node
The Realtime AI Node enables highly dynamic and intelligent conversations by instantly reacting to user queries using AI logic, APIs, and knowledge sources configured within the flow. Unlike traditional nodes that follow predefined paths, this node makes decisions on the fly, making it ideal for creating responsive, context-aware assistants. When triggered, it analyzes the user’s input in real time based on a custom AI prompt. It then activates relevant logic such as API calls, knowledge source lookups (including documents, links, files, or videos), and condition-based workflows. The node immediately generates and delivers a precise, relevant response — all without relying on rigid rules or predefined buttons.
Users can have a natural conversation with the bot. Instead of pressing the Microphone button to record the messages, they can speak directly to the bot.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- AI prompt: A prompt that guides the AI on what to look for in the user query and how to respond.
- Wait for the user to say something to start the interaction: If enabled, the flow pauses until the user inputs a message.
- Knowledge Sources: If enabled, the bot answers the user's query using the files, websites, and videos you uploaded to the Knowledge Sources (refer to Knowledge Sources). Select the ones you want to apply to this bot. This is helpful in knowledge-based assistants.
- Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.

Call Node
The Call Node is used to initiate a live voice or video call between the user and a human agent directly from within the bot workflow. It’s ideal for seamlessly transitioning from automated assistance to real-time human support.
The calls are sent to the TMUDFD/TMU accounts of the selected call provider by default. If you are logged in at https://app.telemeetup.com, the app will ring. If you are not logged in, you will be notified by email, or if you have the TMU PWA installed, you will receive a notification. Refer to the TMU Help for details on TMU.
- Language: The language of the content within the node. (The available languages are the ones that you set in the General tab of the bot properties.) The bot will display the messages in the user's selected language. If you do not provide the translated message for a language, the bot will just display the message in the default language. Or you can have the AI translate the messages. Refer to Properties.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- Call setup:
- Message to display while user waits for agent: A message shown to users while they wait for the agent to join the session.
- Call provider: The system or platform that will host the live call.
- Caller name: The user's name or other identifier of the call session. This may be a variable collected in a previous node.
- Call subject: A short summary of the purpose of the call. This may be a variable collected in a previous node.
- Call description: Additional details or context about the call, which can help agents understand the user's needs before joining. This may be a variable collected in a previous node.
- Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.

Language Node
Language Node allows the workflow to dynamically switch the language of interactions based on user preferences or other conditions. For example, the user could be asked to select a language in a Choice node, and each choice links to a Language node to set the user's preferred language.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- Language: The language you want the bot to switch to. Once triggered, all subsequent messages and interactions will be in the selected language.

Device Permission Node
Device Permission Node is used to request and manage permissions from the user's device, such as access to location, camera, or other hardware. It collects the necessary information to proceed with operations that require user consent.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- What permission should be requested?: The type of permission required from the user’s device.
- Variable mapping: Variable(s) for storing the response. For example, for Geolocation permission, provide the Latitude variable name and Longitude variable name.
- Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.

If the user grants permission, the variables are set, and "On Success" can be linked to the next step to continue the flow. If the user denies permission, the variables are not set, and "On Failure" can be linked to a node to handle this, for example, ask the user for the city if the coordinates are not obtainable.

Notification Node
The Notification Node is used to send notifications to the user within a workflow.
- Language: The language of the content within the node. (The available languages are the ones that you set in the General tab of the bot properties.) The bot will display the messages in the user's selected language. If you do not provide the translated message for a language, the bot will just display the message in the default language. Or you can have the AI translate the messages. Refer to Properties.
- Node title: A descriptive name for the node to help you easily identify it in your workflow.
- Notification Configuration
- Type of notification: The kind of notification being sent.
- Message content sent to users: The content of the notification that will be displayed to the user.
- Timing options
- When should the notification first start?: The time when the notification should begin.
- Repeat notification every X hours: A repeating interval in hours for the notification to be sent again, or 0 for no repeat.
- Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.

Flow Template Node
The Flow Template Node is used to run a template.
- Flow template: The template to run.
- Conditions: Conditions enable you to define specific criteria that influence how the workflow progresses. Based on the data received or set, you can direct the conversation in different directions. Refer to Variables and Conditions.

Variables and Conditions
Variables are in the format ${{my_variable}}. They can be used inside text content, for example,
Hello Mr. ${{my_variable}}. How are you?
Variables can hold an object or array, for example,
There are ${{products.3.availability}} units left for ${{products[3].product_name}} that come in ${{products[3]["dimensions"].small}}.
Variables can be used or mixed with other data (URLs, JSON, images, etc.), for example,
https//image.com/${{product_image}}
or ${{image_url}}
Variables can be used inside conditions directly without wrapping with ${{}}, for example,
user_country == 'Canada' and user_age >= 18
or for variables that contain object or arrays,
customer.subscribed == True or !customers.0.expired_card
Logic operators are
andor&&oror||notor!
Strings can be double quotes "" or single quotes ''.
These reserved keywords can be used for comparison:
TrueortrueFalseorfalseNullornull
You can compare variables with other variables, for example,
product.country != user_country
The bot automatically generates some predefined variables:
| Variable name | Type | Description | Example |
|---|---|---|---|
| ${{ENVIRONMENT}} | string | method of accessing the bot | web, whatsapp, telegram |
| ${{USER_LAST_INPUT}} | string | user's last input, allowing the system to track and reference the user's last answer | I want to check my balance. |
| ${{USER_AI_QUERY}} | string | user's previous AI query, allowing the system to track and reference what the user has asked in earlier interactions | What is today's temperature in Tokyo? |
| ${{AI_RESPONSE}} | string | previous AI response, ensuring that the system can recall its latest output in case it needs to reference or build upon it in the next interaction | It is 20 degrees celcius. |
| ${{WA_NUMBER}} | string | user's WhatsApp number | +15566778899 |
In a POST request, string variables in the JSON body must be enclosed in double quotes " ".
In WhatsApp, to reset and restart the conversation with the bot, type Restart at any point during the chat. The bot will then ask you to
confirm or cancel the restart.
To control the Text To Speech function's pronunciation, add this pattern inside the text:
[[how a word should be displayed:how the same word is spelled for the Text To Speech to pronounce correctly]]
Hyperlinks are in the format [[link title="TITLE TO BE SHOWN"]]URL[[\link]], for example,
[[link title="Help"]]www.tmu.ai/tmuhelp.html[[\link]]
You can see these notes about the variables and conditions by clicking the i (Bot Info & Help) button at the top of the screen.
Emulator
To test your flow, use the built-in bot emulator at the bottom right of the Flow screen. Click the Run flow button at the top right of the Flow screen or click the emulator icon to open it and start a conversation with the bot. This allows you to simulate and validate the flow in real time, ensuring that all nodes, responses, and connections work as expected.


Example Flow
This example is for a language recognition flow using various nodes:
Basic Node:
The bot begins by asking the user how it can assist them.
AI Node:
This node analyzes the user's input and provides an action ID (for example, plant identification, weather forecast).
Choices Node:
Based on the action ID provided by the AI node, the Choices Node selects the appropriate action.
AI Node:
The AI detects the language the user is speaking and provides the language information based on the input.
Basic Node:
The bot gives the final result to the user.

Theme
Click Themes in the menu on the left. This allows you to customize the visual appearance of the bot interface. This helps you maintain brand consistency and enhance the user experience.
From the dropdown list at the top left of the Theme screen, select the desired bot. Click on any specific part of the chat preview to customize it.
Header (TMU BOT bar)
- Bot title
- Bot title font size
- Show avatar when chat is closed
- Header font color
- Header background color
User messages
- User chat background color
- User chat font color
Bot messages
- Bot chat background color
- Bot chat font color
Choices (Buttons)
- Choice font color
- Choice background color
- Selected choice background color
- Selected choice font color
Conversation
In addition to individual message customization, you can also configure the overall conversation theme:
- Conversation font size: The size of text used throughout the chat.
- Bot avatar: Upload your own bot image by dragging and dropping an image or by browsing to select one.
- Right-to-left layout: Enable RTL support for languages like Arabic or Hebrew.
- Chat background color: Background color for the entire chat window.
- Time color: Color of the timestamps shown in the conversation.
Saving Your Theme
After making your changes, click the Save button at the top right of the screen to apply the new theme across the bot.
Knowledge Sources
Click Knowledge Sources in the menu on the left. This allows you to enhance the bot’s understanding by providing it with custom content such as documents, links, or videos. These sources act as a knowledge base that the NLP engine can use to generate more relevant and accurate responses.
Files
To add a new file, click the Files tab and click the Add file button.
- Document
- Upload Document: Click the Upload button and select the file and click the Open button.
- File language: Language of the content.
- Plain Text
- Title: A descriptive name for the content to help you easily identify it.
- Plain text: The content.
- File language: Language of the content.

Click Save to apply your changes, or click Undo Changes or Cancel to discard edits.
Links
To add a new link, click the Links tab and click the Add link button.
- Link name: A descriptive name for the link to help you easily identify it.
- Link: URL of the website or webpage.
- Recursive?: If Yes, this gets the content on all the webpages under the specified link. If No, this gets the content of the single webpage of the specified link only.
Click Save to apply your changes, or click Undo Changes or Cancel to discard edits.
Videos
To add a new video, click the Videos tab and click the Add video button.
- Platform: Online video platform, for example, YouTube.
- Link: URL of the video.
Click Save to apply your changes, or click Undo Changes or Cancel to discard edits.
Managing Your Sources
You can use the search bar to quickly locate files, links, and videos by name. Additionally, you can preview or delete files as needed.
Using Knowledge Sources with NLP
Once saved, the files, websites, and videos can be used by the bot's NLP engine to answer questions based on the information you've provided, turning them into active knowledge sources. You can select the specific files, websites, and videos to apply to the bot in the AI node settings of the bot (refer to AI Node and Realtime AI Node).
Notifications
Click Notifications in the menu on the left. This allows you to create, manage, and schedule custom notifications that will be sent to users through the bot. This feature ensures your audience receives timely reminders, alerts, or promotional messages.
To add a new notification, click the Add notification button. A panel will appear with two tabs: General and Templates.
General
This is for configuring the core identity of the notification.
- Notification status: Active or Inactive.
- Notification title: A descriptive name for the notification to help you easily identify it.
- Description: Details about the purpose of the notification.
- Start at: Date and time when the notification should begin.
- Notification stop date: Date and time when the notification should stop, which may be Forever or Limited. If Limited, set the date and time when the notification should stop.
- Repeat minutes: Repeating interval in minutes for the notification to be sent again, or 0 for no repeat.
- Number of notifications: Number of times to send the notification, which may be Unlimited or Limited. If Limited, set the Repeat limit.
- Time zone: Time zone of the Start at and Stop at times.
Templates
This is for configuring the content/actions of the notification.
- Template only or Entire bot: Select whether to run a flow template or an entire bot.
- Template or bot: Select the flow template or bot.
Final Step: Save
Once you've filled in the required fields and enabled the features you need, click Save to create the notification. You can always return later to edit or enhance it by clicking the notification's Settings button.