TukuManual

DM flows

Build the conversation the bot sends after a trigger fires — single messages, branching questions, and handoffs.

A flow is the sequence of messages the bot sends after a trigger fires. Flows live in Flows and are reused across triggers.

Block types

BlockWhat it does
MessageSends a text DM. Supports emoji and line breaks.
QuestionSends a message and waits for the user's reply. The reply is captured to a field (e.g. shade, size, address).
Quick repliesSends a message with up to four tappable buttons. User's tap is captured like a question answer.
BranchSplits the flow based on a captured field or a previous quick-reply choice.
HandoffStops the bot and notifies the inbox that a human should take over. See Human handoff.
WaitPauses the flow for N seconds or minutes. Use sparingly — TikTok DMs feel fast.
TagAdds a tag to the contact (e.g. vip, shade-too-light). Used in analytics and future targeting.

Anatomy of a good flow

A flow that actually converts usually looks like this:

  1. Acknowledge. One short line in the user's language confirming you heard them.
  2. Answer the obvious question first. If they commented PRICE, give the price before anything else. Don't make them ask twice.
  3. Qualify, only if needed. Ask one question to narrow the product (What shade are you? / 30ml or 50ml?). Skip if irrelevant.
  4. Point to the next step. One line telling them how to order — your team will follow up to close, or send them to the link in your profile.
  5. Offer a human. A quick-reply button like คุยกับแอดมิน that triggers a handoff.

Avoid: long opening greetings, multi-paragraph product descriptions, more than two qualifying questions, "Did that help?" follow-ups. Every extra message is an exit point.

Tone

Tuku is your brand's voice in the DM. The bot should:

  • Sound like a human typing on their phone. Short sentences. Real emoji, not stickers. One emoji per message at most.
  • Use the same language as the comment. Don't reply in English to a Thai comment.
  • Be specific. ฿890 for 30ml, ฿1,490 for 50ml lands better than Pricing varies — message us.
  • Never sound automated. Avoid Thank you for your message!, Our team will get back to you shortly, Please find the link below.

When in doubt: read it out loud. If it sounds like a corporate auto-reply, rewrite it.

Branching example

A shade-match flow for a foundation product:

Trigger: keyword SHADE
└─ Message "Hi! ขอบคุณที่สนใจ Foundation ของเรานะคะ 🌿"
└─ Question "ปกติใช้สีอะไรของแบรนด์อื่นคะ?" → save to shade_reference
└─ Quick replies "หรือเลือกจากนี้เลย:"
   ├─ "Fair"     → tag shade-fair    → handoff to admin
   ├─ "Light"    → tag shade-light   → handoff to admin
   ├─ "Medium"   → tag shade-medium  → handoff to admin
   └─ "ไม่แน่ใจ" → handoff to admin

Testing a flow before you publish it

Every flow has a Preview button. It opens a chat window that runs the flow against you, with placeholder TikTok user metadata. You can step through every branch without spamming a real account.

If you want a real end-to-end test, comment on one of your own videos from a second account — the trigger will fire and you'll see the real DM.

Editing a live flow

You can edit a flow that's wired to an active trigger. Tuku:

  • Applies your edits to new conversations immediately.
  • Lets in-progress conversations finish on the version they started on.

You'll see a small v3 next to the flow name to track versions.

On this page