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 |
|---|---|
| Building Blocks | Send Message, Question, Condition Branch, Delay, Tag, Set Field |
| LINE CRM Integration | Update Rich Menu, Send LINE Notification Message, Set HubSpot Property, Create HubSpot task |
| Automation & Integration | Register to HubSpot Workflow, Send Webhook, Send Custom Event, Customer Agent |
The HubSpot actions appear when a HubSpot integration is set up.
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 |
|---|---|
| Content to send | Choose "Text" or "Auto-send message" |
| Message | When you choose Text, enter what to send. You can send up to three messages at once |
The text field has "Insert variable", "Emoji", and "LINE Emoji" buttons, so you can drop in variables such as the friend's display name, or emoji. When you add a LINE Emoji, you'll also see its preview on the node in the canvas.
Choosing "Auto-send message" as the content to send
You can call up an Auto Send Message item you created in advance and send it. Instead of typing frequently used guidance every time, you can reuse it as a template.
From the settings panel, you can move to the screen for reviewing or creating Auto Send Messages. If you don't yet have the content you want to send, create the Auto Send Message item first and then select it.
If the Auto Send Message you picked is stopped or deleted, a warning appears on the node. When you see "The auto message is stopped and will not be sent", either set the Auto Send Message back to "Active" or pick a different one. A deleted message gets the same kind of warning. The Workflow itself still runs, but no message goes out from this node.
Send LINE Notification Message
This action selects an Auto Send Message that contains a LINE Notification Message and sends it. You can send a LINE Notification Message — which can reach users even before they add you as a friend — from a Workflow.
| Setting | Description |
|---|---|
| Auto Send Message | Select the Auto Send Message that contains a LINE Notification Message |
A LINE Notification Message is a notification-only message that can reach even non-friends when their phone number matches the number registered with their LINE account. Use it for transactional notifications such as purchase completed or shipment completed. Using it requires application to and approval from LY Corporation.
This action also shows a warning on the node when the Auto Send Message you picked is stopped or deleted. No message goes out while the warning is showing, so check the status of what it points to.
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, fields, or properties in an external service.
Where answers are saved
Start by choosing "Save to". There's no separate answer-format setting — the type of save destination decides how the question is asked.
| Save destination | Description |
|---|---|
| Tag | Each tag you select becomes an answer button, and the chosen tag is assigned to the friend |
| Field | Saves the answer to a friend's field. Picking "Email address (ID linking)" or "Phone number (ID linking)" at the top of the list saves the answer to the customer's Lumo profile and uses it for ID linking |
| External service | Saves the answer to a HubSpot contact property or a Klaviyo profile property. This option appears only when a service is integrated, and you pick the service and property under "Destination service" |
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.
The save destination decides the answer format
How the friend is asked (selection, free input, or date) follows the type of the save destination.
| Save destination and type | Answer format |
|---|---|
| Tag | Selection (the selected tags become answer buttons) |
| Field: text | Free input |
| Field: number, email, or phone | Free input (validated automatically to match the type) |
| Field: date | Date (the LINE date picker) |
| Field: select or status | Selection (the field's options become the answer buttons, and the latest options are loaded each time the question is sent) |
| Email address (ID linking) / Phone number (ID linking) | Free input (the format is validated automatically) |
| HubSpot property: enumeration | Selection (you can edit the display labels freely; answers are saved as HubSpot's option values) |
| HubSpot property: date | Date (the LINE date picker) |
| HubSpot property: anything else | Free input |
| Klaviyo property: date | Date (the LINE date picker) |
| Klaviyo property: anything else | Free input (check "Ask with answer buttons" to set up choices manually) |
Options whose value contains ";" aren't sent as answer buttons. Change the value on the field's edit screen.
Answer button type
When you have friends answer with choices, you can choose how the choices are displayed on LINE.
| Answer button type | Description |
|---|---|
| Card | Displays the choices together on a single card (the default) |
| List | Displays choices as vertically stacked buttons |
| Two-choice | Displays a two-option confirmation button (exactly two choices are required) |
| Carousel | Displays choices as cards that scroll horizontally |
| Quick reply | Displays buttons arranged horizontally at the bottom of the message |
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.
Date picker settings (when the destination is a date type)
When the save destination is a date-type field or property, the friend sees the LINE date picker. You can decide the wording on the button and the range of dates they can pick.
| Setting | Description |
|---|---|
| Picker button label | The wording the friend sees on the button (up to 20 characters, "Select date" by default) |
| Initial date | The date already selected when the picker opens. Choose "Today" or "Fixed date" |
| Earliest selectable date | Blocks dates before this. Choose "No limit" or "Today" |
| Latest selectable date | Blocks dates after this. Choose "No limit" or "Today" |
When you only want future dates, such as a visit reservation, set the earliest selectable date to "Today". When you only want past dates, such as a birthday, set the latest selectable date to "Today". A date answer can be saved to a date-type field, a HubSpot date property, or a Klaviyo date property.
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 don't match the format.
| Validation | Description |
|---|---|
| None | No validation. Accepts any text |
| 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 |
When the save destination is a number, email, or phone field, or "Email address (ID linking)" / "Phone number (ID linking)", validation that matches the type is applied automatically. The validation selector doesn't appear, and you can only change the error message.
Setting "Cancel button on input error" to show puts a cancel button on the validation error message. When a friend keeps sending answers that don't match the format, they can bow out of the question themselves.
Update unanswered property
When you turn ON "Update unanswered property", the "LINE Last Reply Message" and "LINE Unanswered" properties on the HubSpot contact are updated every time you receive an answer from a friend. Use it when you manage follow-ups for unanswered friends on the HubSpot side. This setting appears only when HubSpot is integrated.
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 don't (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 data source
For property conditions, you can choose the source from which the value used for evaluation is taken (the data source). You can base conditions on an external service linked to the friend or on values from the LINE Profile.
| Data source | Value used for evaluation |
|---|---|
| HubSpot Property | The value of a HubSpot contact property |
| Klaviyo Property | The value of a Klaviyo profile property |
| Shopify Customer Data | The value of Shopify customer data |
| LINE Profile | The friend's display name, status message, and first/latest acquisition route (type, QR code name, category, and page URL) |
To use a property from an external service, that service must be connected. A condition that selects a service you have not connected is treated as not matching. With LINE Profile, you can also use the friend-add route as a condition — for example, "First acquisition route page URL" contains "/pages/spring".
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 doesn't 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 |
| Greater Than or Equal | When the number is greater than or equal to the specified value |
| Greater Than | When the number is greater than the specified value |
| Less Than or Equal | When the number is less than or equal to the specified value |
| Less Than | When the number is less than the specified value |
| 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 |
|---|---|
| True branch percentage | 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 don't have a tag yet, create the tag first and then select it.
Set Field
This action automatically updates the value of a friend's field (a custom field) within a Workflow. You can rewrite a friend's attribute partway through the flow and use it for later condition branches or for creating Segments in a Message Broadcast.
| Setting | Description |
|---|---|
| Field to set | Select the friend field whose value you want to update |
| Value to set | Specify the value to set for the field |
For example, you can update the membership rank of a friend who used a coupon. What you update here is a friend's field, which is a different action from updating an external service's property (Set HubSpot Property / Set Klaviyo Property).
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 "Relative time" (such as after X minutes or X hours) or "Scheduled time" |
| Delay duration | Specify in days, hours, and minutes (up to 7 days later) |
| When the same friend is already waiting | Choose "Do not add again" or "Add multiple times". We generally recommend "Do not add again" |
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 "Waiting friends" list shown in the settings panel, click the trash can icon on the row of the friend you want to remove
- Click "Unsubscribe" 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 "Waiting friends" list shows up to 10 people. If there are more than 10 friends waiting, friends who don't appear in the list can't 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) |
| Enabled tools | Selects the tools the AI can use. Enabling "Shopify product data" (when Shopify is integrated) lets the AI search the integrated product data and answer with it. Enabling "Do not reply under specific conditions" lets the AI end the conversation without sending any reply when a case defined in the System Prompt applies (no operator handoff or notification occurs) |
| 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 |
| Message when AI cannot answer | Sets the message sent when the AI could not produce an answer |
| Close Button Label | Sets the label of the button friends use to end the conversation |
| Handoff Button Label | Sets the label of the button for handing off to an operator |
| Hide handoff button | When ON, the handoff button isn't shown to friends |
| Send a message after 1-hour timeout | The conversation ends automatically one hour after the last message. Check this to send a message you set when it ends |
| Property to save question | Overwrites the selected HubSpot contact property with the latest question to the AI (when HubSpot is integrated) |
| Property to save answer | Overwrites the selected HubSpot contact property with the AI's latest answer (when HubSpot is integrated) |
| External AI Agents | Sets up external AI agents that connect via the A2A protocol |
Don't leave "Message when AI cannot answer" blank. If it is blank, a default English message goes out to the friend on an error or a timeout. When you run the agent in another language, always fill it in with your own words.
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.
Set HubSpot Property
Updates a HubSpot contact property. Beyond replacing the value, you can also add values to or take them away from a multi-select property.
| Setting | Description |
|---|---|
| Property to set | Selects the HubSpot property to update |
| Change type | Chooses how the value changes |
| Value to set | Enters the value to set |
There are five change types.
| Change type | Behavior |
|---|---|
| Set value | Overwrites with the value you specify (the default) |
| Append values | Keeps the current value and adds the value you specify |
| Remove values | Takes only the value you specify out of the current value |
| Adjust value | Adds the number you specify to the current value (a negative number subtracts) |
| Clear value | Empties this property when the action runs |
"Append values" and "Remove values" appear only when you pick a property that holds multiple values (a checkbox type). The input field changes to "Values to append" and "Values to remove" to match. Choosing "Clear value" hides the value field. Picking a different property resets the change type to "Set value".
"Adjust value" appears only when you pick a number-type property. The input field changes to "Amount to adjust by", and a property with no value yet starts counting from 0.
Create HubSpot task
Creates a task for an owner in HubSpot. You can turn an inquiry from a friend into a HubSpot task assigned to the right person.
| Setting | Description |
|---|---|
| Task recipient | Chooses who the task is assigned to: "Contact owner", "Account owner", or "Specific owner" |
| Owner | When you choose "Specific owner", selects the owner to assign |
The task body contains the received message (or the answer, when it follows a Question action) and a link to the chat. No task is created for a contact without an owner. The account owner is specified in the HubSpot integration settings.
Register to HubSpot Workflow
Enrolls a contact in a Workflow on the HubSpot side.
| Setting | Description |
|---|---|
| Workflow | Selects the HubSpot Workflow to enroll in |
Send Custom Event
Records any event you like on the Lumo friend activity timeline and sends it to the destinations you configure (HubSpot / Klaviyo) as well. Things you want to analyze later, such as a catalog request or a completed assessment, can be kept as an event under a name of your choosing.
| Setting | Description |
|---|---|
| Event name | The name of the event to record. An English verb in the past tense (for example, Requested Catalog) is recommended. You can use variables with {{ }} |
| Value (optional) | Records a number such as an amount. You can also specify a variable |
| Currency (optional) | A 3-letter ISO 4217 code (for example, JPY) |
| Destinations | Turn sending to HubSpot and Klaviyo on and off individually. The event is always recorded on the Lumo activity timeline |
How to name your events and how to put them to use in external services are covered in the "How to Use the Send Custom Event Action" article. Note that the previous "Send Klaviyo Event" action has been merged into this one. Existing actions you have already configured keep working as they are.
Set Klaviyo Property and Add to Klaviyo List actions you set up before
Set Klaviyo Property and Add to Klaviyo List actions you set up before keep working as they are, but they can no longer be added as new actions. To update a Klaviyo property, use the Question action's save destination (External service → Klaviyo); to record an event, use Send Custom Event.
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.