Step reference
What each of the 29 flow steps does, how to set it up and what to watch for, grouped as in the step library. The “?” in step settings opens this page.
Send a message
Text
When to use: Send a text message, such as a greeting or your opening hours.
How it works
Sends a text message to the customer. Fields you insert in the text are replaced with this customer’s values when it’s sent, such as their name. Use “Then” to send another message right after, and “Quick replies” to show tappable options under this one.
Settings
Text to send Required
What the customer reads, up to 1,000 characters, with a counter below. Type “@” to insert a field. The limit follows Instagram’s 1,000 characters (LINE allows 5,000, Messenger 2,000) and applies on every platform.
Example: Hi! Welcome to Good Taste Brunch. What would you like to know?
Next
- Then: The step that follows right after this message is sent. Leave it empty and the flow ends here.
- Quick replies: Choose a “Quick replies” step; its options appear under this message.
Examples
Opening hours
When a customer taps “Opening hours”, send “Good Taste Brunch is open Tuesday to Sunday, 8:00–15:00, closed on Mondays.” and attach quick replies for “See the menu” and “Book a table”.
Image
When to use: Send a picture, such as a menu or a promo poster.
How it works
Sends a picture to the customer, such as a menu or a promo poster. Upload an image file or paste a public image URL; the file is copied into your project. Publishing creates the preview image LINE needs.
Settings
Image Required
Use the upload button to pick an image, or paste an image URL starting with https:// into the box. “Remove” clears the current image. Up to 8 MB (Instagram’s limit; LINE allows 10 MB, Messenger 25 MB).
Next
- Then: The step that follows right after the image is sent. Leave it empty and the flow ends here.
- Quick replies: Choose a “Quick replies” step; its options appear under this image.
Examples
This week’s menu
When a customer taps “See the menu”, send Good Taste Brunch’s menu for the week, then a text message on how to book.
Video
When to use: Send a video, such as a product intro or a how-to.
How it works
Sends a video to the customer, such as a product intro or a how-to. Upload a video file (MP4) or paste a public video URL. Publishing makes a preview image from the video.
Settings
Video Required
Use the upload button to pick an MP4 video, or paste a video URL. “Remove” clears the current video. Up to 25 MB (the limit of Messenger and Instagram; LINE allows 200 MB).
Next
- Then: The step that follows right after the video is sent. Leave it empty and the flow ends here.
- Quick replies: Choose a “Quick replies” step; its options appear under this video.
Examples
A look inside
When someone adds Good Taste Brunch, send a 30-second video of the café.
Audio
When to use: Send a voice clip or a piece of music.
How it works
Sends a voice clip or a piece of music to the customer. Upload an audio file (MP3) or paste a public URL to one. Publishing reads the clip’s length, which LINE needs to send audio.
Settings
Audio Required
Use the upload button to pick an MP3 file, or paste its URL. “Remove” clears the current audio. Up to 25 MB (the limit of Messenger and Instagram; LINE allows 200 MB).
Next
- Then: The step that follows right after the audio is sent. Leave it empty and the flow ends here.
- Quick replies: Choose a “Quick replies” step; its options appear under this audio.
Examples
A hello from the owner
When someone adds Good Taste Brunch, send a short welcome recorded by the owner.
Card carousel
When to use: Show several products or plans at once; each card can have buttons.
How it works
Sends a row of swipeable cards, each with a title, text, an optional image and buttons, to show several products or plans at once. When a customer taps a button, the flow goes to the step that button connects to under “Next”. After the cards are sent, the flow pauses here until the customer taps a button.
Settings
Cards (up to 10) Required
Select a number to edit that card, and “+” (Add card) to add one, up to 10. There is always at least one card; “Delete card n” removes the card you are editing. All cards need the same number of buttons, so adding or deleting a button applies to every card. Images and titles must be on every card or on none.
Title Required
Every card needs a title, because Messenger and Instagram need one to show the card. Up to 40 characters. Type “@” to insert a field.
Text Required
The card’s description, up to 60 characters. Type “@” to insert a field.
Image
Optional. Upload one or paste an image URL; the best ratio is 1.51:1. Up to 10 MB and 1,024 px wide.
Buttons (up to 3) Required
1 to 3 buttons per card, each up to 20 characters. “Add option” adds one; buttons can be moved up, moved down or deleted, except the last one left. Where each button leads is set under “Next”.
Alt text Required
Under “Advanced”. Shown in notifications and on phones that can’t display this message. Type “@” to insert a field.
Next
- Button: One row per button on every card, shown as Button “Card title / Button text”. Choose the step that follows when a customer taps it. Connect it to an “Open a link” step and the tap opens the web page directly.
- Quick replies: Choose a “Quick replies” step; its options appear under the cards.
Examples
Signature dishes
Three cards show Good Taste Brunch’s eggs Benedict, French toast and avocado salad, each with “Details” and “Book a table” buttons.
Image carousel
When to use: Send a row of swipeable pictures; each one can be tapped.
How it works
Sends a row of swipeable pictures, each with one button on it. When a customer taps a picture’s button, the flow goes to the step that picture connects to under “Next”. After the pictures are sent, the flow pauses here until the customer taps one.
Settings
Images (up to 10) Required
Use the arrows to move between images and “Add image” to add one, up to 10. There is always at least one; with two or more, “Delete image n” removes the one you are editing.
Image 1, Image 2… Required
Every image needs a picture: upload one or paste an image URL. Up to 10 MB and 1,024 px wide.
Button text on the image Required
Needed on every image, up to 12 characters.
Example: See desserts
Alt text Required
Under “Advanced”. Shown in notifications and on phones that can’t display this message. Type “@” to insert a field.
Next
- Image: One row per image, shown as Image “Button text”. Choose the step that follows when a customer taps that image’s button. Connect it to an “Open a link” step and the tap opens the web page directly.
- Quick replies: Choose a “Quick replies” step; its options appear under the images.
Examples
Seasonal desserts
Good Taste Brunch sends photos of four seasonal desserts; each “See desserts” button leads to that dessert’s description.
Ask the customer
Choices
When to use: Let customers answer by tapping a button, such as “See menu” or “Book a table”.
How it works
Sends a question with a few buttons so the customer can answer by tapping, such as “See the menu” or “Book a table”. Type the options in, each leading to its own next step, or build them from a list field. After it’s sent, the flow pauses here until the customer taps an option; if they type instead, their message is handled like any other message.
Settings
Question for the customer Required
The text above the buttons, up to 60 characters. Type “@” to insert a field.
Example: What would you like to do?
Options from
“Typed in” by default.
- Typed in : Type each option yourself; each one leads to its own next step.
- A list field : Every item in a list field becomes an option, and all options lead to the same next step.
Options Required
Shown with “Typed in”. Each option’s text is up to 20 characters and can be moved up, moved down or deleted. “Add option” adds one, up to 20, with an “n of 20” count beside it. On LINE, up to 4 options go out as a regular buttons message and more than 4 as a vertical list of buttons; Messenger and Instagram show only the first 3.
Example: See the menu
List field Required
Required with “A list field”: choose a list field; each item in it becomes an option.
Option text from
When each item in the list is an object, enter the name of the item’s key to use as the option text (such as name). Leave it empty to use each item itself.
Saved value from
The value saved when a customer taps an option, set the same way; empty uses each item itself. It is saved to the system field “Previous step’s result”, which later steps can use.
Title Required
Under “Advanced”. Required with “Typed in”, because Messenger and Instagram need a title to show the options. Up to 40 characters. Type “@” to insert a field.
Cover image
Under “Advanced”, optional. Upload one or paste an image URL; up to 10 MB and 1,024 px wide.
Alt text Required
Under “Advanced”, required with “Typed in”. Shown in notifications and on phones that can’t display this message. Type “@” to insert a field.
Next
- Button: With “Typed in”, one row per option, shown as Button “Option text”. Choose the step that follows when a customer taps it. Connect it to an “Open a link” step and the tap opens the web page directly.
- After the customer picks: With “A list field”: the step that follows whichever option the customer taps.
- Quick replies: Choose a “Quick replies” step; its options appear under this message.
Examples
Main menu
Good Taste Brunch asks “What would you like to do?” with “See the menu”, “Book a table” and “Opening hours”, each leading to its own flow.
Quick replies
When to use: Show tappable suggestions above the keyboard; tapping one sends it as the customer’s reply.
How it works
Shows a row of tappable options under a message. Tapping one sends it like the customer’s own reply, and the flow goes to the step that option connects to. Quick replies can’t stand alone in a flow: connect them from a message step’s “Quick replies”.
Settings
Options from
“Typed in” by default.
- Typed in : Type each option yourself; each one leads to its own next step.
- A list field : Every item in a list field becomes an option, and all options lead to the same next step.
Options (up to 13 on LINE) Required
Shown with “Typed in”. Each option’s text is up to 20 characters and can be moved up, moved down or deleted. “Add option” adds one, up to 13.
Example: Book a table
Icon
Each option can have a small icon: upload one or paste an image URL. Up to 1 MB (LINE’s limit) and at least 24×24 px (the minimum for Messenger and Instagram).
List field Required
Required with “A list field”: choose a list field; each item in it becomes an option.
Icon URL from
When each item in the list is an object, enter the name of the item’s key that holds the icon URL.
Option text from
When each item in the list is an object, enter the name of the item’s key to use as the option text (such as name). Leave it empty to use each item itself.
Saved value from
The value saved when a customer taps an option, set the same way; empty uses each item itself. It is saved to the system field “Previous step’s result”, which later steps can use.
Next
- Option: With “Typed in”, one row per option, shown as Option “Option text”. Choose the step that follows when a customer taps it.
- After the customer picks: With “A list field”: the step that follows whichever option the customer taps.
Examples
Options under the welcome message
Good Taste Brunch’s welcome message connects this step from its “Quick replies”, showing “See the menu”, “Book a table” and “Getting here” underneath.
Ask for input
When to use: When you need information from the customer, such as party size, a date, a phone number or an email. The answer is saved to a field.
How it works
Asks the customer a question, waits for the reply and saves the answer to the field you choose, such as party size, a date, a phone number or an email. With an answer type set, the bot only accepts answers in that format and asks again when the format is wrong. Once the answer is saved, the flow continues at “Then”.
Settings
Question for the customer Required
The question sent to the customer, up to 1,000 characters. Type “@” to insert a field.
Example: How many people?
Answer type
“Text” by default. Below it, the panel explains what each type accepts and what kind of field it saves to. Number, Date, Phone number and Email treat full-width digits and symbols like regular ones, so answers typed with a Chinese keyboard work too.
- Text : Saves whatever the customer replies, exactly as typed. Saved to a text field.
- Number : Accepts numbers only, such as 4, 2.5, -3 or 1,200 (thousands separators are removed). A reply with words in it, like “4 people”, isn’t accepted. Saved to a number field.
- Date : Accepts 10/4, 2026/10/4, 2026-10-04, 10/4/2026, Oct 4, October 4th 2026 and 4 Oct 2026, 2026.10.4, as well as Chinese forms such as 10月4日, 10月4號 and 2026年10月4日, and Taiwan (Minguo) years such as 115/10/4, 115年10月4日 and 民國99年1月1日. Slash dates put the month first; a weekday in brackets after the date is ignored. A date without a year is the nearest one: if this year’s date is more than about half a year ago, it’s next year’s. A two-digit year (26/10/4) counts as 20xx up to two years ahead, otherwise as a Minguo year (45/3/2 is 1956). Saved to a date and time field, at midnight Taiwan time on that day.
- Phone number : Accepts 8 to 15 digits, optionally starting with +. Spaces, dashes, brackets and dots are removed, so 0912-345-678 is saved as 0912345678. Saved to a text field.
- Email : Accepts email addresses only, such as name@example.com (up to 254 characters). Saved to a text field.
Save the answer to Required
Choose a regular field whose type matches the answer type: Text, Phone number and Email save to a text field, Number to a number field, Date to a date and time field. Only matching fields are listed; fixed fields and system fields can’t be chosen. If you change the answer type and the chosen field no longer fits, it shows “… is the wrong type. Choose another field.” Need a new field? Add it first under “Fields” › “Add field” in the flow toolbar. Later steps can use this field, for example inside a message.
Next
- Then: The step that follows once a valid answer is saved, such as a confirmation or the next question.
Examples
Booking details
Good Taste Brunch asks “How many people?” (Number, saved to “Party size”), “Which day?” (Date, saved to “Booking date”) and “What number can we reach you on?” (Phone number, saved to “Phone”), then repeats the details in a text step.
Decide what’s next
Condition
When to use: Take different paths based on the customer’s answer or data, such as members and non-members.
How it works
Checks the value of a field and picks a path: one path when it matches, another when it doesn’t. You can add several conditions, then choose whether “All conditions match” or “Any condition matches”. It checks the value the field holds when the customer reaches this step, such as an answer saved by “Ask for input”.
Settings
Field to check Required
For each condition (“Condition 1”, “Condition 2”…), first choose the field to check: a field, a fixed field or a system field. You can’t type a value here. “How to compare” appears once a field is chosen. Click “Add condition” to add another condition. Object fields have no ways to compare.
Example: member_level
How to compare Required
The choices depend on the field’s type. “Compare with” appears once you choose one.
- equals : Number fields: the same number.
- doesn’t equal : Number fields: a different number.
- is greater than : Number fields.
- is at least : Number fields.
- is less than : Number fields.
- is at most : Number fields.
- is : Text and date and time fields: exactly the same.
- isn’t : Text and date and time fields: not the same.
- contains : Text fields: the text includes this text. List fields: the list has this item.
- doesn’t contain : Text fields: the text doesn’t include this text.
- starts with : Text fields.
- ends with : Text fields.
- is before : Date and time fields: an earlier time.
- is after : Date and time fields: a later time.
Compare with Required
The value to compare against. Type it, or choose a field. Its type must suit the way you compare: a number for numbers, text for text, a date and time for dates; a list’s “contains” takes a value of any type. A value of the wrong type stops you from publishing.
Example: VIP
When it matches
Appears only when there are two or more conditions. The default is “All conditions match”.
- All conditions match : Every condition must hold to take “When it matches”.
- Any condition matches : One condition holding is enough to take “When it matches”.
Next
- When it matches: Where the flow goes when the conditions hold.
- Otherwise: Where the flow goes when they don’t.
Examples
Send large parties to a person
Good Taste Brunch checks whether the “party_size” field “is greater than” 6: “When it matches” leads to “Hand off to a person”; “Otherwise” carries on with online booking.
Branch by field
When to use: Take a different path for each text value of a field, such as the branch the customer picked.
How it works
Splits the flow into paths by the value of one text field. Paths are checked from the top, and the flow takes the first one that matches; a path with an empty value catches everything. If nothing matches, the flow ends at this step.
Settings
Branch by field
Only text fields can be chosen (a field, a fixed field or a system field); you can’t type a value. Without a field, this step leads nowhere. “How to compare” appears once a field is chosen.
Example: branch
How to compare
The paths appear once you choose one. Without it, this step leads nowhere.
- Exactly matches : The field’s text is exactly the path’s value.
- Contains : The field’s text includes the path’s value.
- Starts with : The field’s text begins with the path’s value.
- Ends with : The field’s text ends with the path’s value.
When the text is
The value for each path (“Path 1”, “Path 2”…). Type text or choose a text field. The label follows “How to compare”: “When the text contains”, “When the text starts with” or “When the text ends with”. Click “Add path” to add a path. A path with an empty value catches everything, so to use it as “anything else”, put it last.
Example: Taipei store
Next
- Path 1, Path 2…: One row per path, followed by its value if it has one, such as “Path 1 “Taipei store””. Where the flow goes when that path matches.
Examples
Opening hours by branch
Good Taste Brunch branches by the “branch” field with “Exactly matches”: Path 1 “Taipei store” and Path 2 “Taichung store” each lead to that store’s opening hours.
Random
When to use: Send customers down different paths at random, in the proportions you set — for A/B tests or prize draws.
How it works
Sends customers down one of several paths at random, in the proportions you set — for A/B tests or prize draws. It draws again every time a customer reaches the step. It can also pick a random number, or a random item from a list, and save it to a field for later steps.
Settings
Paths Required
A new Random step starts with two paths, each with a share of 50. Click “Add path” to add another (its share starts at 50). A random split needs at least two paths, so you can’t delete a path when only two are left. Set where each path leads under “Next”.
Share Required
Shares are relative: 50 and 50 is half each; 3 and 1 is 75% and 25% — a path’s share divided by the total of all shares. Below it you see “About N% of customers”, in whole percents that add up to 100%. A share must be greater than 0; a path with 0, a negative number or nothing is never taken (it shows 0%) and stops you from publishing.
Example: 3 and 1
Also save a random value
Check it to show “How to pick” and “Save the result to”. For example a prize number: pick a number from 1 to 100 and save it to a field for later steps. The value and the path are drawn separately. Unchecking it clears “Save the result to”.
How to pick
When you check “Also save a random value”, it starts as “Whole number in a range”.
- Whole number in a range : A whole number from “Minimum” to “Maximum”; both ends can come up.
- Decimal number in a range : A decimal number from “Minimum” up to, but not including, “Maximum”.
- Random item from a list : A random item from the “List field”.
Minimum Required
Required for whole and decimal numbers. It can’t be larger than “Maximum”.
Example: 1
Maximum Required
Required for whole and decimal numbers.
Example: 100
List field Required
Required for “Random item from a list”. Choose a list field.
Save the result to Required
Required when “Also save a random value” is checked. Only fields can be chosen, not fixed fields. Whole and decimal numbers go to number fields only; an item from a list can go to a field of any type.
Example: prize_number
Next
- Path 1 · 50%, Path 2 · 50%…: One row per path, followed by its chance. Where the flow goes when that path is drawn. Every path must be connected.
- Then: Shown only on an older Random step without paths: customers always go here.
Examples
Compare two welcome offers
Good Taste Brunch gives Path 1 and Path 2 a share of 50 each, leading to a “buy one, get one free” message and a “10% off” message, then compares which brings more bookings.
Prize number
Check “Also save a random value”, use “Whole number in a range” from 1 to 100 and save it to “prize_number”, then use “Condition” to see whether the customer won.
Work with data
Set field
When to use: Save a value to a field or do math on it, such as remembering the plan the customer chose.
How it works
Saves a value to a field, or does math on a field — such as remembering the plan a customer chose or adding 10 points. A step can hold several settings; they run from the top down, and then the flow goes on to “Then”.
Settings
Field Required
For each setting (“Setting 1”, “Setting 2”…), first choose the field to change. Only fields can be chosen: a fixed field’s value can’t change in a flow. “What to do” appears once a field is chosen. Click “Add setting” to add another.
Example: points
What to do Required
The choices depend on the field’s type. “Value” appears once you choose one.
- Set to : Any type: replace the field with the value, which must be of the same type.
- Convert from text : Number fields: turn text (such as “12”) into a number.
- Add : Number fields: add the value.
- Subtract : Number fields: subtract the value.
- Multiply by : Number fields: multiply by the value.
- Divide by : Number fields: divide by the value.
- Remainder after dividing by : Number fields: what is left after dividing by the value.
- Set to the length of a list : Number fields: save how many items the list in “Value” has.
- Convert from a number : Text fields: turn a number into text.
- Append text : Text fields: add the value after the current text.
- Convert from text : List fields: the value must be JSON text, such as ["A", "B"].
- Add an item : List fields: add the value to the end of the list; it can be of any type.
- Remove the item at a position : List fields: remove the item at that position, counting from 0.
- Join another list : List fields: add every item of the list in “Value” to the end.
- Set to a flattened list : List fields: save the list in “Value” with its inner lists flattened one level.
- Set to a transposed list : List fields: the value is a list of rows (such as what a Google Sheets read returns); save it with rows and columns swapped.
- Split into groups of : List fields: split the field’s own list into groups of N items; N must be a positive whole number.
- Convert from text : Object fields: the value must be JSON text.
- Convert from text : Date and time fields: such as 2026/10/04 18:30:00, read as Taiwan time.
- Add seconds : Date and time fields: move later by that many seconds; 3600 is one hour.
- Subtract seconds : Date and time fields: move earlier by that many seconds.
Value Required
Type it, or choose a field (a fixed field or a system field works too). Its type must suit “What to do”: “Add” needs a number, “Convert from text” needs text, “Set to the length of a list” needs a list, and “Add an item” takes any type. A value of the wrong type stops you from publishing.
Example: 10
Next
- Then: Where the flow goes after every setting has run.
Examples
Remember the set meal and add points
After a customer picks a set meal, Good Taste Brunch uses Setting 1 to set “plan” to “Brunch set” and Setting 2 to add 10 to “points”.
Extract data
When to use: Take one value out of a list or object into a field, such as an order status from a lookup.
How it works
Takes one item out of a list or an object and saves it to another field. Use a position (from 0) for a list and a name for an object. Each step takes one item from one level; to take several items, or something nested deeper, chain several “Extract data” steps.
Settings
Take from field Required
Choose a list or object field; a fixed field or a system field works too.
Example: booking_rows
Item to take Required
Use a position (from 0) for a list, a name for an object. Type it, or choose a text or number field.
Example: 0
Save to Required
The field that gets the value. Only fields can be chosen, not fixed fields.
Example: booking_status
Next
- Then: Where the flow goes once the value is saved.
Examples
Take the first row of a sheet
A Google Sheets read saved its result to the list field “booking_rows”, where each row is a list too. “Extract data” takes position 0 from “booking_rows”: the first row.
Repeat for each item
When to use: Run the same steps once for every item in a list.
How it works
Runs the steps under “For each item” once for every item in a list, in order. Each round first saves the item to the field you chose; when those steps finish, the next item starts. After the last item, the flow goes on to “After every item”.
Settings
List to go through Required
Choose a list field (a field, a fixed field or a system field), or type a list such as ["A", "B"].
Example: todays_specials
Save the current item to Required
Each round’s item is saved to this field, so the steps under “For each item” can use it. Only fields can be chosen, not fixed fields.
Example: current_dish
Next
- After every item: Where the flow goes after the last item.
- For each item: The first step to run for every item; the flow follows on from it until those steps end. Required to publish.
Examples
Introduce today’s specials one by one
Good Taste Brunch passes its list of specials to “Repeat for each item”, saving each to “current_dish”. “For each item” leads to a “Text” step that sends the dish’s name, and “After every item” leads to “Choices” asking whether to book.
Write to Google Sheets
When to use: Save bookings or sign-ups to your spreadsheet, or read data from it.
How it works
Adds a row to a connected Google spreadsheet, such as a booking or a sign-up, or reads ranges from it into a list field. Connect Google Sheets under “Apps” first. When it’s done, the flow goes on to “Then”.
Settings
What to do
A new step starts with “Read content”. Switching clears the columns or ranges you filled in.
- Add a row : Adds a row to the chosen sheet, filling in each column in order.
- Read content : Reads one or more ranges and saves the result to a list field.
Spreadsheet Required
Choose one under “Connected spreadsheets”, or under “Spreadsheet ID from a field” choose a text field that holds a spreadsheet ID; that spreadsheet must be connected too. If the list is empty, connect a spreadsheet under “Apps” first. Changing the spreadsheet clears “Sheet”.
Sheet Required
Only for “Add a row”; it appears once a spreadsheet is chosen. For a connected spreadsheet, choose the sheet; when the spreadsheet comes from a field, type the sheet’s name.
Example: Sheet1
What goes in each column
For “Add a row”, “Column 1”, “Column 2”… fill the row in order. Type each value, or choose a field, a fixed field or a system field. Click “Add column” to add one. An empty column writes an empty cell. Values are written as they are, never as formulas; date and time fields are written in Taiwan time, such as 2026/10/04 18:30:00 (just the date when the time is 00:00).
Ranges to read Required
For “Read content”, give each of “Range 1”, “Range 2”… a range such as A1:C10; “How to write a range” opens Google’s guide. Type it, or choose a field. Click “Add range” to add one; every range must be filled in, so delete the ones you don’t need.
Example: A1:C10
Read by column
Only for “Read content”. Unchecked, each item of the result is a row; checked, each item is a column.
Save the result to Required
Only for “Read content”. Choose a list field (not a fixed field). Everything read from all ranges is joined into one list in order, and each item is itself a list (the cells of one row or column).
Example: booking_rows
Next
- Then: Where the flow goes after the write or read.
Examples
Save bookings to a sheet
Once a customer has given their booking details, Good Taste Brunch uses “Add a row” on the “Bookings” sheet: Column 1 “name”, Column 2 “party_size”, Column 3 “date”.
Read today’s menu
“Read content” reads A2:B20 into the list field “todays_menu”, then “Repeat for each item” sends each dish to the customer.
Hand off
Hand off to a person
When to use: Let a person take over the chat; the customer first sees your waiting message.
How it works
Hands the conversation to your team: the customer first gets your waiting message, the conversation becomes “Handled by a person”, and the bot stops replying to this customer until it is returned to the bot. The flow stops at this step.
Settings
Waiting message Required
The customer sees this before a person takes over. Up to 5,000 characters. Type @ to insert a field, such as the customer’s name.
Example: One moment, someone will reply soon
Next
- Then: It is listed under “Next”, but the flow stops at “Hand off to a person”, so a step connected here doesn’t run.
Examples
Private events go to the manager
When a Good Taste Brunch customer taps “Private event”, the flow goes to “Hand off to a person” with the waiting message “One moment, our manager will reply soon”, and the manager takes over in “Chats”.
Let AI answer
When to use: End the flow and let AI answer the customer from your knowledge base.
How it works
The flow ends here and AI answers the customer from your knowledge base. The AI answers the customer’s latest message, such as the text of the button they tapped or what they typed for “Ask for input”.
Next
The flow ends here; there is no next step.
Examples
Other questions go to AI
Good Taste Brunch’s “Choices” step has three buttons: “See menu”, “Book a table” and “Other questions”. “Other questions” leads to “Let AI answer”, so AI answers from the knowledge base.
Open a link
When to use: Open a web page for the customer, such as an order page or a map.
How it works
Opens a web page, starts a phone call or opens a LINE link when a customer taps a button or option. “Open a link” can only follow a button or option, and it ends the flow.
Settings
URL Required
Starts with https:, http:, line: or tel:, up to 1,000 characters.
Example: https://example.com/booking
Next
The flow ends here; there is no next step.
Examples
Book online or call
In Good Taste Brunch’s “Choices” step, the “Book online” button leads to an “Open a link” step with the booking page URL, and the “Call us” button to one with a tel: phone number.
Triggers
On follow
When to use: Starts when a customer adds you or starts chatting for the first time.
How it works
“On follow” is where things start the first time a customer meets your bot: when they add you on LINE, open website chat for the first time, or start a conversation on Messenger, the bot sends the step under “Starts with”. A project has one starting point. You can also send a reminder when the customer doesn’t reply for a while (LINE only).
Settings
Start here when a customer adds you
Check it to make this step the project’s starting point. A project has one starting point; checking this replaces the current one, and “On follow” steps that aren’t checked never run. When you add the first “On follow” flow in “Story”, it’s checked for you.
Remind after no reply for
Under “Advanced”, set “hours” and “minutes” (minutes 0–59). The clock starts when the welcome is sent. When time is up, the step under “Reminder if the customer doesn’t reply” is sent only if the customer hasn’t sent anything, hasn’t blocked you, and the chat isn’t “Handled by a person”; once they reply, no reminder goes out. If a reminder step is connected but the wait is 0, you can’t publish: set at least 1 minute.
Example: 0 hours 30 minutes
Next
- Starts with: The first step sent after a customer adds you. You can’t publish until it’s connected.
- Reminder if the customer doesn’t reply: The step sent when the wait is over and the customer still hasn’t replied. Optional; leave it empty for no reminder.
Examples
Welcome with a reminder
Good Taste Brunch connects a greeting with “See menu / Book a table” choices under “Starts with”, and this week’s brunch deal under “Reminder if the customer doesn’t reply”, with a 30-minute wait.
When a customer mentions…
When to use: Starts when AI sees the customer asking about this topic.
How it works
“When a customer mentions…” lets AI answer a customer with a flow you designed. When AI decides a flow fits better than your knowledge, it compares what the customer wants with the “When to start here” text of every “When a customer mentions…” step, picks the closest one and sends that flow’s messages in full, adding nothing of its own. If none is close enough, no flow runs. You can have many, one for each situation.
Settings
When to start here Required
AI uses this description to decide whether a question fits this flow, so say clearly when customers ask and how they put it. You can’t publish without it. A changed description takes effect on LINE and other channels after you publish; “Test” uses the draft right away.
Example: When customers want to book, ask about tables or change a booking.
Write it with AI
Writes a description from the messages in this flow and replaces the current text. Choose the starting step under “Next” first. When you first connect the starting step and the description is still empty, one is written automatically.
Next
- Starts with: The step this flow starts at when AI picks it. You can’t publish until it’s connected.
Examples
Booking flow
Good Taste Brunch writes “When customers want to book, ask about tables or change a booking.” and connects steps that ask for party size and date. When a customer asks “Any tables free on Saturday?”, AI runs the booking flow.
Started from a menu or template
When to use: Lets this flow start from a menu, a template or website chat.
How it works
“Started from a menu or template” is a flow you can call up and send at any time; the step never starts on its own. After you publish, you can send it while replying in “Chats” with “Choose a message template”. Turn on “Let AI use this flow when answering” under “Advanced”, and AI can also send it as its reply when it fits, exactly as you designed it.
Settings
Let AI use this flow when answering
Under “Advanced”. When checked, AI can decide on its own to send this flow while answering a customer. The three settings below appear once it’s checked.
When to use it Required
Written for AI: what customer need this flow is for. Without it, AI never uses the flow.
Example: When a customer asks about takeout or delivery, send the takeout menu.
Fields AI can fill in
For each checked field, AI fills in a value from the conversation, and the flow uses that value wherever it reads the field. The values are used for this one send only and are never saved to the customer’s fields. A project without fields shows “No fields yet.”.
Only on these platforms
Limits where AI may use this flow. Leave all unchecked to allow every platform. Test is never limited.
- LINE
- Website chat
- Messenger
Next
- Starts with: The first step that runs when the flow is sent as a message template, used by AI, or started from website chat. You can’t publish until it’s connected, and until then it isn’t in the message template list.
Examples
Takeout menu
Good Taste Brunch makes a “Takeout menu” flow with a menu image and an order button. You send it from “Chats” with “Choose a message template” while you’re handling a chat; with AI use turned on, “When to use it” says “When a customer asks about takeout or delivery, send the takeout menu.”.
Rich menu
When to use: The picture menu at the bottom of a LINE chat; each area can start a flow.
How it works
A “Rich menu” is the picture menu at the bottom of a LINE chat. Its image is split into 1, 3 or 6 areas by the layout; when a customer taps an area, the step connected to it starts. An area can also lead to “Open a link” to open a web page directly. After you publish, the default rich menu shows for every LINE customer.
Settings
Make this the default rich menu
A project has one default rich menu; checking this replaces the current one. Customers only see a rich menu that isn’t the default after a “Switch rich menu” step gives it to them.
Menu bar text Required
The text customers see at the bottom of the chat, up to 14 characters. You can’t publish if it’s empty or longer.
Example: Tap for menu
Layout
How many areas the image is split into. Switching layouts keeps the settings of areas that no longer fit, so switching back restores them, but only the areas in the current layout work.
- 1 × 1 : The whole image is one area.
- 1 × 3 : One row of three areas.
- 2 × 3 : Two rows of three, six areas in all.
Menu image Required
800–2500 px wide, at least 250 px tall, up to 1 MB, and the width must be at least 1.45 times the height. You can’t publish without an image or with one that doesn’t fit. The image is divided evenly into the layout’s areas.
Name of each area
Areas A, B, C… run left to right, top to bottom. The name tells areas apart under “Next”; on LINE, it is also recorded as the customer’s message when they tap the area.
Example: See menu
Next
- Area: One row per area, such as “Area A “See menu””. Choose the step that starts when a customer taps the area, or “Open a link”. Every area in the current layout must be connected before you can publish.
Examples
Main menu
Good Taste Brunch uses the 2 × 3 layout: See menu, Book a table, This week’s deals, Takeout, Find us and Contact us. “Find us” leads to “Open a link” with a map; each of the others starts a flow.
Persistent menu
When to use: The always-on menu in Messenger and Instagram chats.
How it works
A “Persistent menu” is the always-on menu in Messenger and Instagram chats. Each button can start a flow or lead to “Open a link” to open a web page. After you publish, the default persistent menu is set on your connected Messenger and Instagram.
Settings
Make this the default persistent menu
A project has one default persistent menu; checking this replaces the current one. Only the default is shown to customers; if you uncheck it and publish, the menu Chatbotta set is removed.
Buttons (up to 20) Required
Add buttons with “Add option” and reorder them with the up and down arrows. Each button needs text, up to 30 characters; it’s what customers see in the menu. More than 20 buttons, or empty or too-long text, blocks publishing.
Example: See menu
Next
- Button: One row per button, such as “Button “See menu””. Choose the step that starts when a customer taps it, or “Open a link”. Every button must be connected before you can publish.
Examples
Messenger menu
Good Taste Brunch sets three buttons: “See menu” and “Book a table” each start a flow, and “Order online” leads to “Open a link” with the ordering page.
Advanced
LINE Flex message (JSON)
When to use: Design a custom layout with LINE Flex Message JSON; shown on LINE only.
How it works
Designs a custom message layout with LINE Flex Message JSON, such as a member card or an illustrated menu. Design it in LINE’s Flex Message Simulator and paste the JSON here. LINE shows the layout; Messenger and Instagram can’t show Flex messages, so customers there only get the “Alt text”.
Settings
LINE Flex Message JSON Required
Paste the Flex Message JSON; its top-level type must be bubble or carousel. Mistakes show right under the box: “The JSON has an error. Check the brackets and quotes.” or “The top-level type must be bubble or carousel.” You can type “@” inside the JSON’s text to insert a field, which is replaced with the customer’s value when sent.
Alt text Required
Shown in notifications and on phones that can’t display this message. Customers on Messenger and Instagram see only this text, so write a sentence that makes sense on its own. Type “@” to insert a field.
Example: Your Good Taste member card: 8 points so far
Next
- Then: The step that follows right after this message is sent. Leave it empty and the flow ends here.
- Quick replies: Choose a “Quick replies” step; its options appear under this message.
Examples
Member stamp card
Good Taste Brunch builds a stamp card as a Flex message with the “Points” field inserted in the JSON, and the alt text “Your Good Taste member card: @Points points so far”.
Switch rich menu
When to use: Switch to another LINE rich menu, such as a members’ menu after sign-in.
How it works
“Switch rich menu” changes this customer’s LINE rich menu to another one, then carries on. Use it to show different menus by customer, such as a members’ menu after sign-up.
Settings
Switch to rich menu Required
Choose one of the project’s rich menus; the default rich menu is listed first, and choosing it switches the customer back to the default. Works on LINE only; other platforms skip this step. You can’t publish without a choice.
Next
- Then: The step that runs after the menu is switched. Optional; without it the flow ends here.
Examples
Members’ menu
When a Good Taste Brunch customer finishes signing up with their phone number, “Switch rich menu” gives them the members’ menu with “My points”, then a welcome-to-membership text follows.
Switch persistent menu
When to use: Switch to another Messenger persistent menu.
How it works
“Switch persistent menu” changes this customer’s Messenger persistent menu to another one, then carries on. You can no longer add this step from the steps panel; existing ones keep working and can still be edited.
Settings
Switch to persistent menu Required
Choose one of the project’s persistent menus; the default persistent menu is listed first, and choosing it switches the customer back to the default. You can’t publish without a choice.
Next
- Then: The step that runs after the menu is switched. Optional; without it the flow ends here.
Tool
When to use: Let AI call this flow during a conversation and use the result (for advanced users).
How it works
A “Tool” turns a flow that only works with data into a tool AI can use. When the AI that answers customers needs it, it calls the tool: it fills in the fields you allow, the flow runs, and the result from a “Return value” goes back to the AI, which tells the customer in its own words. The flow never sends messages to the customer. The tool is called by the AI that answers customers, not by Copilot.
Settings
Let AI use this flow when answering
AI only uses the tool when this is checked. The three settings below appear once it’s checked.
When to use it Required
Written for AI: what customer need the tool is for and what it returns. Without it, AI never uses the tool.
Example: When a customer asks about the delivery fee, work it out from the distance.
Fields AI can fill in
The checked fields are what AI fills in from the conversation when it calls the tool, such as party size or distance. When the flow reads these fields it gets AI’s values; they are used for this call only and never saved to the customer’s fields.
Only on these platforms
Limits where AI may use the tool. Leave all unchecked to allow every platform. Test is never limited.
- LINE
- Website chat
- Messenger
Next
- Starts with: The first step that runs when AI uses the tool. It can only be a data step (Set field, Condition, Branch by field, Random, Extract data, Repeat for each item, Write to Google Sheets, Switch rich menu, Switch persistent menu) or a “Return value”. You can’t publish until it’s connected.
Examples
Delivery fee
Good Taste Brunch’s tool lets AI fill in “Delivery distance”. A “Condition” checks for 3 km or less and leads to a “Return value” with a fee of 0; otherwise “Set field” sets the fee to 60 and then a “Return value” follows.
Return value
When to use: End a tool flow and hand the result back to the AI that called it.
How it works
“Return value” ends a tool flow and hands the results you list back to the AI that called the tool. AI reads them and replies to the customer in natural words; the results themselves are never sent to the customer. Every path of a tool flow must end at this step.
Settings
Name Required
The name of each result, so AI knows what the value is. Add more with “Add result”. You can’t publish while a name is empty.
Example: Delivery fee
Value Required
Type a value or choose a field; the field’s value at the moment the flow reaches this step is returned. You can’t publish while a value is empty.
Next
The flow ends here; there is no next step.
Examples
Return the delivery fee
Good Taste Brunch’s fee tool ends at a “Return value” whose Result 1 is named “Delivery fee” with the field “Delivery fee” as its value. AI then tells the customer “Delivery to you is NT$60.”