A Workflow action is the processing that runs after a trigger fires. You can combine actions such as sending messages, asking questions, and branching by condition to design your automation flow.
What Are Actions?
Actions are the individual processing steps that run in order after a trigger fires. You connect multiple actions together to build a complete automated response.
In the settings panel, actions are organized into the following three categories.
| Category | Included actions |
|---|---|
| Basic actions | Send message, Auto Send Message, question, condition branch, delay, tag, and more |
| Automation & integration | Customer Agent, send Webhook, run code, and more |
| LINE CRM integration | Updating HubSpot/Klaviyo properties, adding to lists, and more |
You can leave the design of the entire Workflow to the Marketing Agent. Just tell it your goal, such as "Send a coupon three days after someone adds us as a friend," and the agent prepares a draft with the necessary actions lined up. If you want to fine-tune things yourself, add nodes in the editor and configure each action.
Send Message
This action sends a message such as text or an image directly to your friends. Use it when you want to send fixed content on the spot, such as a greeting or an announcement.
| Setting | Description |
|---|---|
| Message content | Enter the message, such as text or an image |
You can also configure multiple messages together and send them all at once.
Auto Send Message
This action calls up an Auto Send Message item you created in advance and sends it. Instead of typing frequently used guidance every time, you can reuse it as a template.
| Setting | Description |
|---|---|
| Auto Send Message | Select the Auto Send Message item to send |
From the settings panel, you can move to the screen for reviewing or creating Auto Send Messages. If you do not yet have the content you want to send, create the Auto Send Message item first and then select it.
Question
This action sends a question to your friends, then collects and saves their answers. Use it for surveys or to gather attribute information, and the answers can be stored as tags or as properties in an integrated service.
Answer Format
Choose from two ways of receiving answers.
| Answer format | Description |
|---|---|
| Choices | Have friends select from choices you prepared in advance |
| Free input | Friends answer by entering text freely |
Answer Button Type
When you have friends answer with choices, you can choose how the choices are displayed on LINE.
| Answer button type | Description |
|---|---|
| Carousel | Displays choices as cards that scroll horizontally |
| Buttons | Displays choices as vertically stacked buttons |
| Quick reply | Displays buttons arranged horizontally at the bottom of the message |
| Confirm | Displays a two-option confirmation button (exactly two choices are required) |
Due to LINE's specifications, there are limits on the number of choices and the character count of labels. Anything over the limit is truncated when sent, so adjust your settings to stay within the guidelines shown in the settings panel.
Input Validation (for Free Input)
For free input, you can validate the format of the content you accept in advance. You can display an error message for answers that do not match the format.
| Validation | Description |
|---|---|
| None | No validation. Accepts any text |
| Email address | Accepts only the email address format |
| Phone number | Accepts only the phone number format |
| Katakana | Accepts only katakana |
| Custom | Validates with any pattern you specify |
Where Answers Are Saved
Collected answers can be saved to one of the following.
| Save destination | Description |
|---|---|
| Tag | Assigns the answer content to the friend as a tag |
| HubSpot property | Saves the answer to a HubSpot contact property (when HubSpot is integrated) |
| Klaviyo property | Saves the answer to a Klaviyo profile property (when Klaviyo is integrated) |
What you assign here is a Friend Tag. It is a different concept from a broadcast Segment, so please be careful not to confuse them.
Condition Branch
This action splits the flow into two based on a condition. You can run different actions for friends who match the condition (True) and friends who do not (False).
Condition Type
Choose the condition used for the evaluation.
| Condition type | Description |
|---|---|
| Tag condition | Splits based on whether the friend has a specific tag |
| Segment condition | Splits based on whether the friend is included in a specific Segment |
| Property condition | Splits based on whether the friend's property matches a specified value |
| Random | Randomly assigns to True or False at a specified ratio |
The tag condition uses Friend Tags for evaluation, while the Segment condition uses broadcast Segments. Tags and Segments are different concepts, so choose the one that suits your purpose.
Property Condition Operators
For property conditions, you specify how values are compared using operators.
| Operator | Description |
|---|---|
| Equals | When the value matches exactly |
| Does not equal | When the value does not match |
| Contains | When the specified string is included |
| Does not contain | When the specified string is not included |
| Starts with | When it begins with the specified string |
| Ends with | When it ends with the specified string |
| Is empty | When no value is set |
| Is not empty | When a value is set |
| Is known | When a value exists |
| Is unknown | When no value exists |
Configuring the Random Condition
The random condition assigns friends who reach this point into two groups, True and False, at a specified ratio. Use it when you want to split by probability, such as for a lottery or an A/B Test.
| Setting | Description |
|---|---|
| Ratio that proceeds to True | Specify the probability of proceeding to True from 0% to 100%. The remainder proceeds to False |
Splitting Into Three or More Groups With the Random Condition
A single random condition node splits into two options, True and False, but you can achieve a split into three or more groups by connecting condition branches in sequence. The trick is to connect the next random condition to the False side of each node and raise the ratio little by little.
When splitting into six groups roughly evenly, the guideline for each node's True ratio is as follows.
| Branch node | True ratio | Approximate odds |
|---|---|---|
| 1st | 17% | About 17% (one in six) |
| 2nd (False side of 1st) | 20% | 20% of the remaining 83% ≒ about 17% |
| 3rd (False side of 2nd) | 25% | 25% of the remaining 67% ≒ about 17% |
| 4th (False side of 3rd) | 33% | 33% of the remaining 50% ≒ about 17% |
| 5th (False side of 4th) | 50% | 50% of the remaining 33% ≒ about 17% |
| 6th (False side of 5th) | — | Everyone remaining (about 17%) |
Using this method, you can run a lottery campaign or deliver different message patterns.
Tag
This action adds a tag to or removes a tag from a friend. You can record an attribute in the middle of a flow and use it for later condition branches or for creating Segments in a Message Broadcast.
| Setting | Description |
|---|---|
| Tag operation | Choose "Add" or "Remove" |
| Tag selection | Choose the tag to operate on |
What is handled here is a Friend Tag. It is different from the tag you attach to a conversation in the Chat screen or the Segment that narrows down broadcast recipients, so please be careful not to mix them up. If you do not have a tag yet, create the tag first and then select it.
Delay
This action waits for a specified amount of time before the next action. Use it when you want to space out the interval between messages, or when you want to send a reminder after a certain period.
| Setting | Description |
|---|---|
| Delay type | Choose "Specify by elapsed time" (such as after X minutes or X hours) or "Specify by time of day" |
| Delay duration | Specify in days, hours, and minutes (up to 7 days later) |
| When the same friend is already waiting | Choose "Do not add" or "Add multiple times." We generally recommend "Do not add" |
Unenrolling an Individual Friend Who Is in a Delay
You can remove a specific friend who is waiting at a delay node from the Workflow partway through. Use it when a test friend has been enrolled repeatedly, or when you want to stop subsequent broadcasts for a specific friend only.
Unenroll using the following steps.
- Click the target delay node in the Workflow editor
- From the Friends in delay list shown in the settings panel, click the trash can icon on the row of the friend you want to remove
- Click Unenroll in the confirmation dialog
Behavior After Unenrolling
An unenrolled friend is removed from that Workflow's execution.
- Their waiting state is canceled
- Even when the set time arrives, subsequent steps such as sending a message are not executed
- If the same Workflow's trigger fires again, the friend is enrolled in the Workflow once more (the fact that they were previously removed is not carried over)
Notes on Unenrolling
Please keep the following in mind when unenrolling.
- The Friends in delay list shows up to 10 people. If there are more than 10 friends waiting, friends who do not appear in the list cannot be unenrolled from this screen
- Once you unenroll, it cannot be undone
- Even if a friend blocks you on LINE, the Workflow itself keeps progressing. If you want to remove them completely from the Workflow, use this unenrollment
Customer Agent
This action launches an AI agent and starts automated responses with the friend. The Customer Agent answers questions and hands off to an operator as needed.
| Setting | Description |
|---|---|
| System prompt | Sets the AI's basic behavior and response policy. You can also reset it to the default |
| Knowledge Base | Selects the Knowledge Base the AI references (multiple selections allowed) |
| AI name | Sets the AI's display name (within 20 characters) |
| AI avatar image | Sets the AI's icon image |
| Greeting message | Sets the message sent when the response begins |
| End button label | Sets the label of the button friends use to end the conversation |
| Human handoff button label | Sets the label of the button for handing off to an operator |
The Customer Agent node has two branches, True and False. When a friend taps the end button, they proceed to the True branch; when they tap the human handoff button, they proceed to the False branch. You can connect a different action after each branch.
Update Rich Menu
This action switches the Rich Menu displayed to a friend, or removes it. You can show different menus as the flow progresses.
| Setting | Description |
|---|---|
| Rich Menu | Select the Rich Menu to switch to. Selecting remove takes the Rich Menu away from that friend |
Select the Rich Menu from those already applied to LINE in advance. If there is no synced Rich Menu, apply the Rich Menu to LINE first.
External Service Integration Actions
These actions integrate with HubSpot or Klaviyo to reflect a friend's information in an external service. They are available when an integration is set up.
HubSpot Property Setting
Updates a HubSpot contact property.
| Setting | Description |
|---|---|
| Property to set | Selects the HubSpot property to update |
| Value to set | Enters the value to set |
HubSpot Workflow Enrollment
Enrolls a contact in a Workflow on the HubSpot side.
| Setting | Description |
|---|---|
| Workflow | Selects the HubSpot Workflow to enroll in |
Klaviyo Property Setting
Updates a Klaviyo profile property.
| Setting | Description |
|---|---|
| Klaviyo property to set | Selects the Klaviyo property to update |
| Value to set | Enters the value to set |
Add to Klaviyo List
Adds a profile to a Klaviyo list.
| Setting | Description |
|---|---|
| Klaviyo list | Selects the Klaviyo list to add to |
Send Klaviyo Event
Sends a custom event to Klaviyo.
| Setting | Description |
|---|---|
| Klaviyo event name | Enters the name of the event to send |
Send Webhook
This is an advanced action for developers that sends data to an external service. Use it when you want to integrate with an internal system or another tool.
| Setting | Description |
|---|---|
| Webhook URL | Enters the destination URL |
| HTTP method | Choose from POST, GET, PUT, PATCH, or DELETE |
| Request body | Enters the data to send. If it is valid JSON format, it is sent as JSON |
Because configuration requires specialized knowledge, set it up while checking the specifications of the integrated service.
Execute Code
This is an advanced action for developers that runs JavaScript code. Use it when you need custom processing that is difficult with the standard actions.
| Setting | Description |
|---|---|
| Code | Enters the JavaScript code to run |
The execution result can be used in subsequent actions. Because specialized knowledge is required, set it up in consultation with your own developers.