Components are the basic building blocks of a flow. You can orchestrate multiple components and configure their data to create automated data flows. This topic describes each component in the flow editor and its configuration.
Components
The following table summarizes each component. For details, click the component's link in the References column.
Component category | Icon | Name | Description | Configuration | References |
Basic |
| Conditional Branch | Routes a flow into different branches based on conditional rules. | Define how conditions are evaluated by adding rules or rule groups:
Supported rule variables:
Supported matching conditions:
| |
| Jump to Step | Jumps to any other step within the flow. | Specify a target component and a maximum number of jumps. The flow jumps to the target until the maximum count is reached, after which the component proceeds to the next step instead of jumping. | ||
| Set Variables | Creates or modifies custom variables for use in subsequent steps of the flow. | Add a variable and optionally assign it a value. Other components in the flow can then reference the variable. | ||
| Wait | Pauses the flow for a specified period. | Set a duration for the pause. The flow resumes after the specified time has elapsed. | ||
| Recognize a Phone Number | Identifies the country calling code and the two-letter ISO country code from a phone number in international format. | Outputs the calling code or country code from an incoming phone number. This component supports branching based on the result. For example, for the number 8613012345678, the component can output the calling code 86 and the ISO country code CN. | ||
| Recognize Language from Text | Identifies the language of a message and saves it as a variable for use in subsequent steps. | Automatically identifies the language of a user's Mobile Originated (MO) message and outputs the language as a variable. | ||
| Recognize Entities in Text | Identifies and extracts specific information (entities) from text. You can then reuse the extracted data. | Configure the component to identify entities from a source text or variable. It currently supports identifying phone numbers and email addresses. | ||
| HTTP Request | Sends an HTTP request to a specified URL. | Supports two request methods:
You can also add a failure branch to define separate actions for successful and failed requests. | ||
| Call a Function | Calls a custom function that you created in Alibaba Cloud Function Compute. Use this component to implement custom business logic in your flow, such as data processing, remote service invocation, message delivery, and data storage. | To use this component, you must first activate the Function Compute service and configure a function in the Function Compute console. | ||
| Branch by Date/Time | Directs the flow based on multiple date and time conditions. | Specify conditions based on date, time range, and day of the week. Time zone settings are also supported. | ||
| Random Branch | Directs the flow into a random branch based on a defined probability. Use this for sending varied messages or for A/B testing. | Set the probability for each branch. The sum of all branch probabilities must be 100%. | ||
| Forward to Flow | Forwards the session to another flow and immediately ends the current flow. | Select a published flow. | ||
Message |
| Send a WhatsApp Message | Sends a WhatsApp message. Users can reply by using WhatsApp-specific features. | Supports two actions:
Both actions support the following message types:
| |
| Send a WhatsApp Typing Indicator | Shows a typing indicator to the user, signaling that a response is being prepared. | No configuration is required. This component applies only to WhatsApp messages and must be used with the Send a WhatsApp Message or Wait for a WhatsApp/Viber/Instagram Response component. | ||
| Wait for a WhatsApp/Viber/Instagram Response | Waits for a user to reply to a WhatsApp, Viber, or Instagram message. | Set a timeout duration for the user's reply. You can enable a timeout branch for when no reply is received. You can also define output variables for use in subsequent components. | ||
| Send a Viber Message | Sends a Viber message. Users can reply by using Viber-specific features. | Supports two actions:
Supported message types:
Note Fixed Send: Sends a message from a selected channel or parameter to a specified number or parameter. | ||
| Send a Messenger Message | Sends a Messenger message. Users can reply by using Messenger-specific features. | Supports two actions:
Both actions support the following message types:
| ||
| Send an Instagram Message | Sends an Instagram message. Users can reply by using Instagram-specific features. | Supports two actions:
Both actions support the following message types:
| ||
| Send an SMS Message | Sends an SMS message. | After you select a Sender ID, you can send three types of SMS messages:
| ||
| Send an Email | Sends an email. | Select an email channel and a message template to send the email. | ||
AI |
| Natural Language Dialog | Connects to a large language model (LLM) to maintain a continuous conversation by queuing incoming messages and processing them while awaiting the model's response. | You can configure a model or an application to enable natural language dialog. | |
| Sentiment/Topic Classification | Classifies text with custom sentiment or topic labels. | Analyzes text from an incoming variable or direct input and assigns a custom label. You can branch the flow based on the assigned label. This component requires an Alibaba Cloud large language model service. | ||
| Natural Language Generation (NLG) | Uses a large language model for multi-turn conversations, knowledge retrieval, and content generation. | Configure a model or an application to use this component. | ||
Contact |
| Add to Group | Adds a user to a specified group. | Adds a user's phone number and name to the specified group. | |
| Remove from Group | Removes a user from a specified group. | Specify the group from which to remove the user. |