Flexkub Documentation v3.0

คู่มือการใช้งาน Flexkub — แพลตฟอร์มสร้าง LINE Flex Message ด้วย Visual Editor และ Data Pipeline แบบ Drag & Drop

อัปเดตล่าสุด: 18 กุมภาพันธ์ 2026 อ่าน ~15 นาที

Visual Editor

สร้าง Flex Message ด้วย Drag & Drop โดยไม่ต้องเขียน JSON

Data Pipeline

เชื่อมต่อข้อมูลจาก API, Excel แล้วสร้างข้อความอัตโนมัติ

LINE Integration

ส่ง Flex Message ถึง Followers ของ LINE Official Account โดยตรง

สร้างบัญชี

Flexkub รองรับการสมัครสมาชิก 2 วิธี: อีเมล + รหัสผ่าน หรือ Google Account (Single Sign-On)

1

เข้าหน้า Register

ไปที่ /register หรือคลิก "สมัครสมาชิก" จากหน้า Login

2

กรอกข้อมูล

ใส่อีเมล, รหัสผ่าน (อย่างน้อย 6 ตัวอักษร) และยืนยันรหัสผ่าน
หรือกดปุ่ม Google เพื่อสมัครผ่าน Google Account ทันที

3

ยืนยันอีเมล

เช็คอีเมลของคุณและคลิกลิงก์ยืนยัน (เฉพาะสมัครด้วยอีเมล)

Tip

การสมัครผ่าน Google จะเร็วกว่าเพราะไม่ต้องยืนยันอีเมล

สร้างโปรเจกต์แรก

โปรเจกต์คือที่รวม Flex Messages และ Pipelines ทั้งหมดของคุณ เหมาะสำหรับแยกตาม LINE OA แต่ละบัญชี หรือแยกตามแคมเปญ

1

เข้า Dashboard

หลังล็อกอินจะเข้า Dashboard อัตโนมัติ หรือไปที่ /dashboard

2

กดปุ่ม "สร้างโปรเจกต์"

กดปุ่ม + สร้างโปรเจกต์ใหม่ จะมี dialog ให้ใส่ชื่อและคำอธิบาย

3

เริ่มสร้าง Flex Message

คลิกเข้าโปรเจกต์ แล้วกด + สร้าง Flex Message เลือกประเภท Bubble หรือ Carousel

Quick Start Guide

สร้าง Flex Message แรกของคุณภายใน 2 นาที:

ใช้ Template สำเร็จรูป

กด Templates → เลือก template ที่ชอบ → แก้ไขข้อความ/รูป → บันทึก

ใช้ AI สร้างให้

กด AI สร้าง → เลือกหมวดหมู่และสไตล์ → AI สร้าง Flex Message ให้ทันที

Interactive Tutorial Guide

ผู้ใช้ใหม่จะเห็น Interactive Guide แนะนำการใช้งานระบบแบบ Step-by-Step ไกด์จะ Highlight ส่วนต่าง ๆ ของหน้าจอพร้อมคำอธิบาย ครอบคลุม 14 ขั้นตอน ตั้งแต่ Dashboard ไปจนถึง Pipeline Editor

  • Dashboard — รู้จักปุ่มสร้างโปรเจกต์, การ์ด, สถิติ
  • Flex Editor — เรียนรู้ Palette, Canvas, Properties, Tree View
  • Pipeline — รู้จัก Node Palette, Graph, Config Panel
เปิดอีกครั้ง

สามารถเปิด Interactive Guide อีกครั้งได้จากเมนูบนหน้าจอ


แดชบอร์ด — ภาพรวมโปรเจกต์

Dashboard แสดงโปรเจกต์ทั้งหมดของคุณเป็น Card พร้อมสถิติจำนวน Flex Messages และ Pipelines ในแต่ละโปรเจกต์

Dashboard — ภาพรวมโปรเจกต์ทั้งหมด
Dashboard — ภาพรวมโปรเจกต์ทั้งหมด

จัดการโปรเจกต์

สร้างโปรเจกต์ใหม่ CREATE

กดปุ่ม + สร้างโปรเจกต์ใหม่ ที่มุมขวาบน จะมี Dialog ให้กรอก:

  • ชื่อโปรเจกต์ — ตั้งชื่อที่จำง่าย เช่น "ร้านกาแฟ Line OA"
  • คำอธิบาย (ไม่บังคับ) — รายละเอียดโปรเจกต์
แก้ไข / เปลี่ยนชื่อ / ลบโปรเจกต์ UPDATE / DELETE

ที่การ์ดโปรเจกต์ จะมีเมนู สำหรับ:

  • เปลี่ยนชื่อ (Rename) — เปลี่ยนชื่อโปรเจกต์ได้ทันทีบนการ์ด (Inline Rename) กด Enter เพื่อบันทึก หรือ Escape เพื่อยกเลิก
  • แก้ไข — เปลี่ยนชื่อหรือคำอธิบายผ่าน Dialog
  • ลบ — ลบโปรเจกต์พร้อม Flex Messages และ Pipelines ทั้งหมด (ยืนยันก่อนลบ)
Inline Rename

การ์ด Project, Flex Message และ Pipeline ทุกตัวรองรับ Inline Rename — กดเมนู ⋮ → Rename → พิมพ์ชื่อใหม่ → Enter

ระวัง

การลบโปรเจกต์จะลบ Flex Messages และ Pipelines ทั้งหมดในโปรเจกต์ด้วย ไม่สามารถกู้คืนได้

จัดการ Flex Messages ในโปรเจกต์ FLEX

ในหน้าโปรเจกต์จะเห็น Flex Messages ทั้งหมด พร้อมฟีเจอร์:

  • สร้างใหม่ — เลือก Bubble (ข้อความเดี่ยว) หรือ Carousel (หลายข้อความเลื่อนได้)
  • Duplicate — คัดลอก Flex Message ที่มีอยู่
  • เปลี่ยนชื่อ — Inline Rename บนการ์ด
  • ลบ — ลบ Flex Message (ยืนยันก่อนลบ)
  • Pipeline Badge — ดู Pipelines ที่เชื่อมต่อกับ Flex Message นี้
จัดการ Pipelines ในโปรเจกต์ PIPELINE

การ์ด Pipeline ในหน้าโปรเจกต์มีฟีเจอร์เพิ่มเติม:

  • รัน Pipeline — รัน Pipeline ได้โดยตรงจากการ์ด ไม่ต้องเข้า Editor (ต้องมี Output/Preview Node)
  • ดูผลลัพธ์ — หลังรันสำเร็จ กดดูผลลัพธ์ได้ทันที (Preview, JSON, Code)
  • เปลี่ยนชื่อ — Inline Rename บนการ์ด
  • ลบ — ลบ Pipeline (ยืนยันก่อนลบ)
Project Detail — จัดการ Flex Messages และ Pipelines
หน้าโปรเจกต์ — จัดการ Flex Messages และ Pipelines

Flex Message Editor — ภาพรวม

Flex Message Editor เป็นเครื่องมือ Visual แบบ Drag & Drop สำหรับสร้าง LINE Flex Message โดยไม่ต้องเขียน JSON ด้วยมือ

Flex Message Editor — 3-Panel Layout
Editor Layout: Component Palette (ซ้าย) → Canvas (กลาง) → Properties Panel (ขวา)

Editor ประกอบด้วย 4 ส่วนหลัก:

Component Palette (ซ้าย)

รายการ Components ทั้งหมดที่ลากวางได้ แบ่งเป็น Layout, Content, Action

Canvas (กลาง)

พื้นที่ Preview แบบ Real-time เห็นหน้าตาเหมือนจริงบน LINE

Properties Panel (ขวา)

แก้ไข Properties ของ Component ที่เลือก เช่น สี ขนาด ข้อความ

Tree View (ล่าง)

แสดงโครงสร้าง Component เป็นต้นไม้ ลากเพื่อจัดลำดับ

Component Palette

Components ที่ลากวางได้มี 3 หมวดหมู่:

Layout 2 components

Componentรายละเอียด
BoxContainer สำหรับจัดกลุ่ม Components — รองรับ vertical, horizontal, baseline layout
Fillerช่องว่างยืดหยุ่น สำหรับดัน Components ให้ห่างกัน

Content 5 components

Componentรายละเอียด
Textแสดงข้อความ — ปรับสี ขนาด น้ำหนัก จัดตำแหน่ง ตัดบรรทัด
Imageแสดงรูปภาพ — ปรับ Aspect Ratio, Size, Mode (cover/fit)
Videoแสดงวิดีโอพร้อม Preview Image และ Play Button
Iconไอคอนขนาดเล็ก ใช้ประกอบข้อความ เช่น ดาว, หัวใจ
Separatorเส้นแบ่ง แนวนอนหรือแนวตั้ง

Action 1 component

Componentรายละเอียด
Buttonปุ่มกดได้ — ตั้ง Action เช่น เปิด URL, ส่งข้อความ, Postback
วิธีเพิ่ม Component

ลาก Component จาก Palette ไปวางบน Canvas หรือ Tree View ได้เลย หรือคลิกขวาที่ Box ใน Tree View แล้วเลือก "Add Child"

Canvas Controls

Canvas มีเครื่องมือช่วยจัดวางและนำทาง:

Zoom — ซูมเข้า/ออก 50% – 300%
  • กดปุ่ม + / - บน Toolbar เพื่อซูมทีละ 10%
  • Alt + Scroll เพื่อซูมด้วย Mouse Wheel
  • กดตัวเลข % เพื่อ Reset เป็น 100%
Pan — เลื่อนดู Canvas
  • กดค้าง Space + ลาก Mouse เพื่อเลื่อน
  • กด H เพื่อสลับเป็น Hand Tool ถาวร
  • ใช้ 2 นิ้วบน Trackpad เพื่อ Pan
Grid — ตารางช่วยจัดวาง
  • กดปุ่ม Grid (ไอคอนตาราง) เพื่อเปิด/ปิด Grid
  • เลือกขนาดกริด: 10, 20, 50, 100 px
  • เลือกสีกริด: แดง, น้ำเงิน, เขียว, ขาว, ดำ
  • เปิด Ruler เพื่อแสดงไม้บรรทัดด้านบนและซ้าย
  • เปิด Crosshair เพื่อแสดงพิกัดเมาส์

Properties Panel

คลิก Component ใดก็ได้บน Canvas หรือ Tree View เพื่อแก้ไข Properties ที่ Panel ด้านขวา Properties ที่แสดงจะต่างกันตาม Component ที่เลือก

Text Properties 15+ options
Propertyรายละเอียด
Textข้อความที่แสดง — รองรับ Variable {{name}}
Colorสีข้อความ — เลือกจาก Color Picker
Sizexxs, xs, sm, md, lg, xl, xxl, 3xl, 4xl, 5xl
WeightRegular หรือ Bold
AlignStart, Center, End
Wrapเปิดให้ตัดบรรทัดอัตโนมัติ
Max Linesจำกัดจำนวนบรรทัดสูงสุด
Actionตั้ง Action เมื่อกดข้อความ
Image Properties 10+ options
Propertyรายละเอียด
URLURL ของรูปภาพ — เปิด Image Picker เพื่อเลือกจาก Gallery
Aspect Ratio1:1, 1.51:1, 1.91:1, 4:3, 16:9 และอื่นๆ
Aspect ModeCover (เต็มพื้นที่) หรือ Fit (เห็นทั้งรูป)
Sizexxs ถึง 5xl หรือ Full
Background Colorสีพื้นหลังเมื่อรูปไม่เต็ม
Box Properties 20+ options
Propertyรายละเอียด
LayoutVertical, Horizontal, Baseline
Spacingระยะห่างระหว่าง Children
PaddingAll, Top, Bottom, Left, Right, Start, End
Backgroundสีพื้นหลัง หรือ Background Image URL
BorderWidth, Color, Corner Radius
PositionRelative หรือ Absolute พร้อม Offset
Justify / Alignจัดตำแหน่ง Children ใน Box
Action Configuration 5 types

ตั้ง Action ได้กับ Button, Text, Image, Box ทุกประเภท:

Actionรายละเอียด
URIเปิด URL ในเบราว์เซอร์
Messageส่งข้อความกลับในแชท
Postbackส่งข้อมูลกลับเซิร์ฟเวอร์ (ซ่อนจากผู้ใช้)
Datetime Pickerเปิดปฏิทินเลือกวันที่/เวลา
Clipboardคัดลอกข้อความไปยัง Clipboard

Tree View

Tree View แสดงโครงสร้าง Component เป็น Hierarchy ด้านล่างของ Sidebar คลิก Component ใน Tree เพื่อเลือก ลากเพื่อจัดลำดับภายใน Parent เดียวกัน

  • คลิก เพื่อเลือก Component
  • ลาก เพื่อจัดลำดับ ย้ายตำแหน่งภายใน Parent
  • คลิกขวา ที่ Box เพื่อเพิ่ม Child Component (Box, Text, Image, Video, Button, Icon, Separator)
  • กดลูกศร ▶ เพื่อ Expand/Collapse

Templates Library

เลือก Template สำเร็จรูปจาก 7 หมวดหมู่ เพื่อเริ่มต้นอย่างรวดเร็ว:

Product

สินค้าพร้อมรูป ราคา ปุ่มซื้อ

Receipt

ใบเสร็จรายการซื้อ

Ticket

ตั๋วอีเว้นท์ / บัตรเข้างาน

Coupon

คูปองส่วนลด

Booking

การจองนัดหมาย

Profile

โปรไฟล์บุคคล

Carousel

หลายข้อความเลื่อนได้

Tip

หลังเลือก Template สามารถแก้ไขทุกส่วนได้เลย ไม่ต้อง stuck กับ design เดิม

AI Generator

ให้ AI สร้าง Flex Message ให้อัตโนมัติจากคำอธิบาย:

1

กดปุ่ม "AI สร้าง"

ที่ Toolbar ด้านบน จะเปิด Dialog ให้เลือก Template และ Style

2

เลือก Template Preset

มี 20 หมวด แบ่ง 5 กลุ่ม:

  • Commerce — Product, Receipt, Menu, Cart
  • Events & Booking — Ticket, Booking, Appointment, Itinerary
  • Promotions — Coupon, Flash Sale, Loyalty, Newsletter
  • Information — Profile, Order Status, Notification, Survey, Location
  • Multi-card — Carousel, Step Carousel, Custom
3

เลือก Style Preset

มี 21 สไตล์ + Custom แบ่ง 6 กลุ่ม:

  • CleanModern Minimal Corporate
  • DarkDark Neon, Midnight
  • ColorfulColorful Pastel, Candy
  • Effects — Gradient, Glass, Aurora
  • Bold — Bold, Retro, Sport
  • Themed — Nature, Ocean, Sakura, Christmas, Luxury

เลือก Custom เพื่อพิมพ์สไตล์เองได้อิสระ

4

กด Generate

AI จะ Stream สร้าง Flex Message แบบ Real-time เห็นผลทันทีบน Canvas

AI Component Editor

แก้ไข Component ด้วย AI — เลือก Component แล้วกดปุ่ม ที่ Properties Panel จะมีช่องพิมพ์คำสั่งและ Quick Action Chips

Quick Action Chips แบ่ง 3 หมวด: Text Style Layout

ComponentQuick Action Chips
Textเปลี่ยนข้อความ, สี, Bold, ขนาด, Align, Wrap, Link, Highlight, Badge
ImageURL, Aspect Ratio, Size, Fit/Cover, สีพื้นหลัง, Link, Full Width
ButtonLabel, สี, Style, ความสูง, URI Action, Message Action, Primary, Link Style
BoxLayout, สีพื้นหลัง, Spacing, Padding, Border, Corner, Gradient, Flex Row, Center, Card Style
Separatorเปลี่ยนสี, Margin, Subtle Style
Creative Chips

AI จะเสนอการปรับเพิ่มเติมเอง เช่น เปลี่ยนสีพร้อมเพิ่ม gradient, ปรับ padding ให้ balance — ไม่ได้ทำแค่สิ่งที่สั่งอย่างเดียว

Import / Export JSON

Import JSON

กดปุ่ม นำเข้า ที่ Toolbar → วาง JSON ลงใน textarea → กด Import

ระบบจะตรวจสอบ syntax ก่อน — ถ้า JSON ไม่ถูกต้องจะแสดง error

Export JSON

กดปุ่ม ส่งออก ที่ Toolbar เลือก:

  • Copy JSON — คัดลอก JSON ไปยัง Clipboard
  • Download JSON — ดาวน์โหลดเป็นไฟล์ .json

Variable System

ใช้ตัวแปรในข้อความเพื่อเชื่อมกับข้อมูลจาก Pipeline:

templateสวัสดีคุณ {{customerName}} 🎉
สินค้า: {{productName}}
ราคา: {{price}} บาท
  • ใช้ syntax {{variableName}} ในช่อง Text หรือ URL
  • Variables จะ highlight สีเขียวในช่อง input
  • กด dropdown ที่ช่อง input เพื่อเลือก Variable จากรายการ
  • ดู Preview ที่ Variable Preview Panel เพื่อเห็นผลลัพธ์จริง

Pipeline Editor — ภาพรวม

Pipeline Editor คือเครื่องมือสร้าง Data Flow แบบ Visual ด้วย Node Graph เชื่อมต่อแหล่งข้อมูล → แปลงข้อมูล → ใส่ลงใน Flex Template → ส่งออก

Pipeline Editor — Visual Node Graph
Pipeline Editor — ลาก Node มาวาง เชื่อมเส้นเพื่อสร้าง Data Flow

ประเภท Node

Pipeline มี 5 หมวด Node ทั้งหมด 16 ประเภท:

Data Source — แหล่งข้อมูล

Nodeรายละเอียด
REST APIดึงข้อมูลจาก HTTP API — ตั้ง URL, Method, Headers, Auth
Excel/CSVอัปโหลดไฟล์ Excel หรือ CSV — ระบบอ่าน Schema อัตโนมัติ
Google Sheetsดึงข้อมูลจาก Google Sheets — ใส่ URL + API Key สำหรับ Public Sheets
Static JSONพิมพ์ JSON ด้วยมือ — เหมาะสำหรับทดสอบ

Transform — แปลงข้อมูล

Nodeรายละเอียด
Filterกรองข้อมูลด้วยเงื่อนไข เช่น price > 100
Map/Renameเปลี่ยนชื่อ Field หรือ แปลงค่า
Sortเรียงลำดับข้อมูลตาม Field ที่เลือก
Calculateคำนวณค่าใหม่ เช่น total = price × quantity
Custom Codeเขียน JavaScript เอง — มีปุ่ม Run ทดสอบผลทันที

Logic — ตรรกะ

Nodeรายละเอียด
Conditionแยก Flow ตามเงื่อนไข — True / False
Loopวนลูปข้อมูลใน Array

Template — แม่แบบ

Nodeรายละเอียด
Flex Templateเชื่อมข้อมูลกับ Flex Message — Double-click เพื่อเข้า Binding Mode

Output — ส่งออก

Nodeรายละเอียด
LINE Pushส่ง Flex Message ไปยัง LINE Followers
LINE Previewทดสอบส่งข้อความไป LINE ของตัวเอง
Previewดู Preview ผลลัพธ์บนหน้าจอ
JSON Exportดาวน์โหลดผลลัพธ์เป็น JSON

การเชื่อมต่อ Node

เชื่อมต่อ Node ด้วยการลาก Handle (จุดกลม) จาก Output ของ Node หนึ่งไปยัง Input ของอีก Node:

1

ลาก Output Handle

คลิกค้างที่จุดกลมด้านขวาของ Source Node

2

ลากไปยัง Input Handle

ลากเส้นไปวางที่จุดกลมด้านซ้ายของ Target Node

3

ข้อมูลจะไหลตามเส้น

เมื่อรัน Pipeline ข้อมูลจะไหลจาก Source → Transform → Template → Output ตามลำดับ

ตั้งค่า Node

คลิกที่ Node เพื่อเปิด Config Panel ด้านขวา แต่ละ Node มี Config ต่างกัน:

Data Source — ตั้งค่าแหล่งข้อมูล

REST API — ดึงข้อมูลจาก HTTP API SOURCE
ฟิลด์รายละเอียด
URLURL ของ API endpoint (จำเป็น)
MethodGET, POST หรือ PUT
HeadersCustom HTTP Headers แบบ key-value (เพิ่ม/ลบได้)
BodyRequest Body สำหรับ POST/PUT
Auth TypeNone, Bearer Token, Basic Auth หรือ API Key
Response PathDot-path เพื่อดึงข้อมูลจาก Response เช่น data.items
Timeoutเวลาหมดอายุ Request (มิลลิวินาที)
ตัวอย่าง — ดึงรายการสินค้าจาก API
ฟิลด์ค่า
URLhttps://api.example.com/v1/products
MethodGET
Auth TypeBearer Token
Response Pathdata.products

ถ้า API ส่ง Response เป็น {"data":{"products":[...]}} — ระบบจะดึงเฉพาะ Array products ออกมาใช้

Test Connection

กดปุ่มทดสอบเพื่อตรวจสอบ API และดู Schema ที่ระบบตรวจพบอัตโนมัติ — ระบบจะแสดงข้อมูลตัวอย่างและ Field ที่ตรวจพบ

CORS

API ที่ไม่รองรับ CORS จะต้องใช้ผ่าน Proxy ของระบบ — กดเปิด "Use Proxy" ใน Config

Excel/CSV — อัปโหลดไฟล์ SOURCE
ฟิลด์รายละเอียด
File Uploadลากไฟล์วาง หรือคลิกเลือก — รองรับ .csv, .tsv, .xlsx, .xls
Sheet Nameสำหรับไฟล์ Excel ที่มีหลาย Sheet (dropdown อัตโนมัติ)
Has Headersแถวแรกเป็น Header หรือไม่ (ค่าเริ่มต้น เปิด)
Delimiterสำหรับ CSV — ระบบตรวจจับอัตโนมัติ (comma หรือ tab)
Skip Rowsข้ามแถวแรกจำนวนกี่แถว
Max Rowsจำกัดจำนวนแถวสูงสุดที่อ่าน
Schema อัตโนมัติ

หลังอัปโหลดไฟล์ ระบบจะตรวจ Schema อัตโนมัติ — แสดงชื่อ Column, ประเภทข้อมูล (string, number, date) และข้อมูลตัวอย่าง

ขนาดไฟล์

รองรับไฟล์สูงสุด 10MB — สำหรับไฟล์ใหญ่กว่านี้ แนะนำใช้ Google Sheets หรือ REST API แทน

Google Sheets — ดึงข้อมูลจาก Google Sheets SOURCE

เชื่อมต่อ Google Sheets สำหรับ Sheets ที่ตั้งเป็น Public (Anyone with the link):

ฟิลด์รายละเอียด
Spreadsheet URLวาง URL จาก Google Sheets (ระบบดึง ID อัตโนมัติ)
API KeyGoogle Cloud API Key (สร้างจาก Google Cloud Console)
Sheet Nameชื่อ Sheet Tab (ค่าเริ่มต้น "Sheet1")
Rangeระบุ Range เช่น "A1:Z1000" (ไม่ระบุ = ดึงทั้งหมด)
Has Headersแถวแรกเป็น Header หรือไม่
Test Connection

กดเพื่อทดสอบดึงข้อมูลและดู Schema ที่ตรวจพบ

Static JSON — พิมพ์ข้อมูลเอง SOURCE
ฟิลด์รายละเอียด
JSON Dataพิมพ์หรือวาง JSON Array เช่น [{"name":"A"},{"name":"B"}]
ตัวอย่าง
JSON[
  { "name": "สมชาย", "email": "somchai@mail.com", "age": 28 },
  { "name": "สมหญิง", "email": "somying@mail.com", "age": 25 }
]

ระบบตรวจสอบ Syntax แบบ Real-time — ถ้า JSON ไม่ถูกต้องจะแสดง Error ทันที

เหมาะสำหรับทดสอบ

ใช้ Static JSON เพื่อทดสอบ Pipeline ก่อนเชื่อมต่อ API จริง — ข้อมูลจะถูกบันทึกไว้ใน Node ไม่ต้องอัปโหลดซ้ำ

Transform — ตั้งค่าแปลงข้อมูล

Filter — กรองข้อมูล TRANSFORM
ฟิลด์รายละเอียด
Conditionsเงื่อนไขกรอง — เลือก Field, Operator และ Value
LogicAND (ทุกเงื่อนไขต้องเป็นจริง) หรือ OR (เงื่อนไขใดเงื่อนไขหนึ่ง)

Operators ที่รองรับ: = ≠ > ≥ < ≤ contains not_contains starts_with ends_with is_null is_not_null

ตัวอย่าง — กรองสินค้าราคาเกิน 100 บาท
FieldOperatorValue
price>100

ผลลัพธ์: เหลือเฉพาะ record ที่ price > 100

หลายเงื่อนไข

กดปุ่ม + เพื่อเพิ่มเงื่อนไข — ใช้ AND เมื่อต้องการให้ตรงทุกเงื่อนไข, ใช้ OR เมื่อต้องการให้ตรงเงื่อนไขใดเงื่อนไขหนึ่ง

Map/Rename — เปลี่ยนชื่อ Field TRANSFORM
ฟิลด์รายละเอียด
Source FieldField เดิม (เลือกจาก Dropdown)
Target Fieldชื่อ Field ใหม่
ตัวอย่าง — เปลี่ยนชื่อ Field เป็นภาษาไทย
SourceTarget
product_nameชื่อสินค้า
unit_priceราคา
Auto-Populate

กดปุ่ม Auto-Populate เพื่อสร้าง 1:1 mapping จาก Schema อัตโนมัติ — จากนั้นแก้เฉพาะ Field ที่ต้องการเปลี่ยนชื่อ

Sort — เรียงลำดับข้อมูล TRANSFORM
ฟิลด์รายละเอียด
Fieldเลือก Field ที่ต้องการเรียง
DirectionAscending (น้อยไปมาก) หรือ Descending (มากไปน้อย)
ตัวอย่าง

เรียงสินค้าตามราคาจากมากไปน้อย: Field = price, Direction = Descending

ค่า null

ข้อมูลที่เป็น null หรือ undefined จะถูกเรียงไว้ท้ายสุดเสมอ

Calculate — คำนวณค่าใหม่ TRANSFORM
ฟิลด์รายละเอียด
Output Fieldชื่อ Field ผลลัพธ์ใหม่
Expressionสูตรคำนวณ เช่น price * quantity หรือ Math.round(total * 1.07)
ตัวอย่างสูตร
Output FieldExpressionคำอธิบาย
totalprice * quantityราคารวม
totalWithVatMath.round(total * 1.07)ราคารวม VAT 7%
discountprice * 0.1ส่วนลด 10%
แทรก Field

คลิกชื่อ Field ที่แสดงเป็น Chip เพื่อแทรกลงในสูตร — รองรับ + - * / % และฟังก์ชัน Math.round, Math.floor, Math.ceil, Math.abs

Format — จัดรูปแบบข้อมูล TRANSFORM
ฟิลด์รายละเอียด
Fieldเลือก Field ที่ต้องการจัดรูปแบบ
Format TypeNumber, Date, Currency หรือ Percentage
Patternรูปแบบ เช่น #,##0.00, ฿#,##0, DD/MM/YYYY
Localeรหัสภาษา เช่น th-TH (ไม่บังคับ)
ตัวอย่างรูปแบบ
ข้อมูลเดิมFormat Typeผลลัพธ์
1500.5Currency (฿#,##0)฿1,501
0.15Percentage15%
2025-02-21Date (DD/MM/YYYY)21/02/2025
ใช้กับ Flex Template

จัดรูปแบบราคาเป็นสกุลเงินก่อนส่งให้ Template — ข้อความใน Flex Message จะแสดงผลสวยงาม

Custom Code — เขียน JavaScript เอง TRANSFORM
ฟิลด์รายละเอียด
Codeเขียน JavaScript function — รับ data (array) เป็น input, return array ที่แปลงแล้ว
ตัวอย่าง — รวม field firstName + lastName
JavaScript// เพิ่ม field fullName จาก firstName + lastName
return data.map(item => ({
  ...item,
  fullName: item.firstName + ' ' + item.lastName
}))
ตัวอย่าง — กรองและคำนวณ
JavaScript// กรองสินค้าราคา > 100 แล้วเพิ่ม field discountPrice
return data
  .filter(item => item.price > 100)
  .map(item => ({
    ...item,
    discountPrice: Math.round(item.price * 0.9)
  }))
ข้อจำกัด

Code ต้อง return Array เสมอ — ห้ามใช้ fetch, import, หรือ async function เนื่องจากรันใน Sandbox

Console.log

ใช้ console.log(data) เพื่อดู input data ก่อนเขียน logic — ดูผลลัพธ์ได้ที่ Browser DevTools

Transform Preview

Node ประเภท Transform ทุกตัว (Filter, Sort, Calculate, Map, Custom Code) มีปุ่ม ▶ Run ให้ทดสอบผลลัพธ์ทันทีโดยไม่ต้องรัน Pipeline ทั้งหมด

Logic — ตั้งค่าตรรกะ

Condition — แยก Flow ตามเงื่อนไข LOGIC
ฟิลด์รายละเอียด
Conditionsเงื่อนไขตัดสินใจ — เลือก Field, Operator, Value
LogicAND หรือ OR สำหรับรวมหลายเงื่อนไข

Operators: = ≠ > ≥ < ≤ contains not_contains is_empty is_not_empty

ตัวอย่าง — แยกสินค้าตามสถานะ
FieldOperatorValue
status=active

Node มี 2 Output:

  • เส้น True (สีเขียว) → ส่งเฉพาะ record ที่ status = active
  • เส้น False (สีแดง) → ส่ง record ที่ไม่ตรงเงื่อนไข
แยก Pipeline 2 ทาง

ลากเส้น True ไป Template A และเส้น False ไป Template B — สร้าง Flex Message ต่างกันตามเงื่อนไข

Loop — วนลูป Array LOGIC
ฟิลด์รายละเอียด
Array Fieldเลือก Field ที่เป็น Array (dropdown อัตโนมัติ)
Item Variableตั้งชื่อตัวแปรสำหรับแต่ละ item เช่น item
Max Itemsจำกัดจำนวนรอบ (1–1000, ไม่บังคับ)

ดูรายละเอียดเพิ่มเติมที่ Loop / Repeat

ใช้คู่กับ Carousel

ต่อ Loop → Flex Template (Carousel mode) เพื่อสร้าง Bubble จากแต่ละ item ใน array โดยอัตโนมัติ

Template — ตั้งค่า Template

Flex Template — เชื่อมข้อมูลกับ Flex Message TEMPLATE
ฟิลด์รายละเอียด
Flex Messageเลือก Flex Message จากโปรเจกต์ (dropdown)
Generation ModeSingle — สร้าง Bubble เดียว / Carousel — สร้างหลาย Bubble จาก Array
Max Bubblesจำนวน Bubble สูงสุดใน Carousel (1–12, LINE limit)

Double-click ที่ Node เพื่อเข้า Binding Mode — ผูกข้อมูลกับ Component, ตั้ง Visibility, Repeat, Conditional Props

Variable Bindings

คลิก Field จากฟิลด์ข้อมูล แล้วคลิก Component ที่ต้องการผูก — ระบบจะใส่ {{'{{variableName}}'}} ให้อัตโนมัติ

Output — ตั้งค่าส่งออก

Preview — ดูตัวอย่างผลลัพธ์ OUTPUT

แสดง Preview ของ Flex Message ที่ Pipeline สร้างได้ — ดูผลลัพธ์บนหน้าจอทันทีโดยไม่ต้องส่งไป LINE

วิธีใช้งาน
  1. ลาก Preview node ไปวางบน Canvas
  2. ลากเส้นจาก Flex TemplatePreview
  3. กดปุ่ม ▶ Run Pipeline
  4. ดูผลลัพธ์ Flex Message ใน Preview Panel ที่แสดงขึ้น
ใช้ระหว่างพัฒนา

แนะนำให้ต่อ Preview ไว้ตลอดระหว่างสร้าง Pipeline เพื่อดูผลลัพธ์ได้เร็วโดยไม่ต้องรอส่ง LINE

JSON Export — ดาวน์โหลด JSON OUTPUT

ส่งออกผลลัพธ์เป็น Flex Message JSON ที่พร้อมใช้งาน — Copy หรือ Download ไฟล์ .json

รูปแบบ Output
  • Single Bubble — JSON object เดียว (type: bubble)
  • Carousel — JSON object ที่มี contents เป็น array ของ bubbles (type: carousel)
ใช้กับ LINE Messaging API

JSON ที่ได้สามารถนำไปใช้กับ POST /v2/bot/message/push ได้โดยตรง — วางใน flexMessage.contents

Code Export — สร้าง Code สำเร็จรูป OUTPUT

สร้าง Code Snippet พร้อมใช้งานใน 3 ภาษา สำหรับส่ง Flex Message ผ่าน LINE Messaging API

ภาษารายละเอียด
Node.jsใช้ axios — พร้อม headers, body, error handling
Pythonใช้ requests — พร้อม headers, json payload
cURLCommand line — พร้อม Copy ไปรันได้เลย
ใส่ Token เอง

Code ที่ได้จะมี placeholder YOUR_CHANNEL_ACCESS_TOKEN — ต้องเปลี่ยนเป็น Token จริงก่อนใช้งาน

LINE Preview — ส่งทดสอบไป LINE ตัวเอง OUTPUT
ฟิลด์รายละเอียด
LINE Profileเชื่อมต่อ LINE ผ่าน OAuth — กด Connect LINE เพื่อ Login

หลังเชื่อมต่อแล้ว เมื่อรัน Pipeline ระบบจะส่ง Flex Message ไปยัง LINE ของคุณเพื่อทดสอบ

LINE Push — ส่ง Flex Message ถึง Followers OUTPUT
ฟิลด์รายละเอียด
Output TypePush (Multicast) — เลือกส่งเฉพาะบาง Followers / Broadcast — ส่งถึงทุกคน
Followersเลือก Followers ที่ต้องการส่ง (checkbox) — มีปุ่ม Select All / Deselect All
ต้องตั้งค่า LINE OA ก่อน

ต้องเชื่อมต่อ LINE Official Account ในหน้า Project Settings ก่อนจึงจะส่งข้อความได้

Template Binding Mode

Binding Mode คือโหมดเต็มจอสำหรับเชื่อม Data Fields กับ Components ใน Flex Template เปิดโดย Double-click ที่ Flex Template Node

มี 3 ระบบหลัก:

Variable Binding

ผูก Data Field กับ Component เช่น ผูก name กับ Text

Visibility Rules

ซ่อน/แสดง Component ตามเงื่อนไข เช่น แสดงราคาลดเฉพาะเมื่อมี discount

Repeat Rules

วนซ้ำ Component ตาม Array เช่น แสดงรายการสินค้าหลายชิ้น

Loop / Repeat — วนซ้ำข้อมูล

ระบบรองรับการวนซ้ำ (Loop) ใน 2 ระดับ — Pipeline Level (Loop Node) และ Template Level (Repeat Rule) ใช้สำหรับสร้าง Component ซ้ำตามจำนวนข้อมูลใน Array

Level 1 — Loop Node (Pipeline Graph)

Loop Node อยู่ในหมวด Logic — ใช้สำหรับวนลูปข้อมูลใน Array ที่ระดับ Pipeline ก่อนส่งต่อให้ Node ถัดไป

ตั้งค่า Loop Node CONFIG
ฟิลด์รายละเอียด
Array Fieldเลือก Field ที่เป็น Array จากข้อมูลขาเข้า เช่น items, products
Item Variableตั้งชื่อตัวแปรสำหรับ item แต่ละตัว เช่น item → ใช้อ้างอิงได้ เช่น item.name
Max Itemsจำกัดจำนวนรอบสูงสุด (1–1000) เช่น LINE Carousel รองรับสูงสุด 12 bubbles
Loop Node vs Repeat Rule

Loop Node ทำงานที่ระดับ Pipeline (วน Array แล้วส่งข้อมูลทีละ item ไปยัง Node ถัดไป) ส่วน Repeat Rule ทำงานที่ระดับ Template (วนสร้าง Component ซ้ำภายใน Flex Message)

Level 2 — Repeat Rule (Template Binding)

Repeat Rule ใช้ภายใน Binding Mode — กำหนดให้ Box component วนซ้ำตาม Array เช่น แสดงรายการสินค้าหลายชิ้นจากข้อมูลที่ส่งมา

ตั้งค่า Repeat Rule BINDING
ฟิลด์รายละเอียด
Array FieldPath ไปยัง Array ในข้อมูล เช่น items, order.products
Item Aliasชื่อตัวแปรสำหรับ item แต่ละตัว เช่น item
Max Itemsจำกัดจำนวนซ้ำสูงสุด (ไม่บังคับ) — เช่น LINE Flex รองรับ child สูงสุดไม่เกิน 50
Per-Item Bindingsผูกตัวแปรกับ field ของ item เช่น itemNameitem.name
Repeat ใช้ได้เฉพาะกับ Box

Repeat Rule ใช้ได้กับ component ประเภท Box เท่านั้น เพราะ Box เป็น container ที่จะถูก clone ซ้ำพร้อม children ทั้งหมด

ตัวอย่าง — แสดงรายการสินค้า

สมมติมีข้อมูล:

JSON{
  "items": [
    { "name": "กาแฟลาเต้", "price": 75 },
    { "name": "ชาเขียวมัทฉะ", "price": 85 },
    { "name": "โกโก้เย็น", "price": 65 }
  ]
}

ตั้งค่า Repeat Rule:

ฟิลด์ค่า
Array Fielditems
Item Aliasitem
Binding 1itemNameitem.name
Binding 2itemPriceitem.price

ผลลัพธ์: Box จะถูกสร้างซ้ำ 3 ครั้ง โดยแต่ละรอบ {{itemName}} และ {{itemPrice}} จะถูกแทนที่ด้วยข้อมูลของ item นั้นๆ

1

เลือก Box ที่ต้องการวนซ้ำ

ใน Binding Mode — คลิก Box component ที่เป็น "แถว" ของรายการ

2

เปิด Repeat Rule

ใน Component Rules Panel — กดเปิด Repeat จากนั้นเลือก Array Field และตั้ง Item Alias

3

เพิ่ม Per-Item Bindings

กด + Add Binding เพื่อผูกตัวแปรกับ field ของ item แต่ละตัว

4

ใช้ตัวแปรใน Text Component

ใน Text ลูกของ Box ให้ใช้ {{itemName}} หรือ {{itemPrice}} — เมื่อรัน Pipeline ระบบจะแทนค่าอัตโนมัติ

ข้อจำกัดของ LINE Flex

LINE Flex Message มีข้อจำกัดเรื่องจำนวน Component — Carousel รองรับ Bubble สูงสุด 12 ตัว และ Box มี children ได้สูงสุด 50 ตัว กรุณาตั้ง Max Items ให้เหมาะสม

รัน Pipeline

มี 2 วิธีในการรัน Pipeline:

วิธีที่ 1: รันจาก Pipeline Editor

1

กดปุ่ม Run

กดปุ่ม ▶ Run ที่ Toolbar — Pipeline จะรันทีละ Node ตามลำดับ

2

ดูผลลัพธ์

เมื่อรันเสร็จ กดปุ่ม Result เพื่อดู 4 แบบ:

  • Result — Preview Flex Message ที่สร้างได้
  • JSON — JSON ผลลัพธ์ (Copy/Download ได้)
  • Code — Code สำเร็จรูป (Node.js, Python, cURL)
  • LINE — ส่งไปยัง LINE Followers โดยตรง

วิธีที่ 2: รันจากการ์ด Pipeline

ในหน้าโปรเจกต์ สามารถรัน Pipeline ได้โดยตรงจากเมนู บนการ์ด Pipeline โดยไม่ต้องเข้า Editor — ระบบจะรันและแสดงผลลัพธ์ทันที (Preview, JSON, Code)

ต้องมี Output/Preview Node

Pipeline จะรันได้ต่อเมื่อมี Output Node หรือ Preview Node อย่างน้อย 1 ตัว มิเช่นนั้นปุ่ม Run จะถูกปิดใช้งาน


เชื่อมต่อ LINE Official Account

เชื่อม LINE OA เพื่อส่ง Flex Message ถึง Followers โดยตรง:

1

ไปที่ Project Settings

เปิดโปรเจกต์ → กด ตั้งค่า (ไอคอนเฟือง)

2

ใส่ Channel Access Token

คัดลอก Channel Access Token (long-lived) จาก LINE Developers Console

3

ใส่ Channel Secret

คัดลอก Channel Secret จาก LINE Developers Console

4

กด Verify and Save

ระบบจะตรวจสอบ Token แล้วแสดงข้อมูล Bot (ชื่อ, รูป, Basic ID)

ตั้งค่า Webhook

หลังเชื่อมต่อสำเร็จ ระบบจะสร้าง Webhook URL ให้อัตโนมัติ:

urlhttps://your-domain.com/api/webhook/{projectId}

คัดลอก URL นี้ไปใส่ใน LINE Developers Console → Messaging API → Webhook URL

Tip

เปิด "Use webhook" ใน LINE Developers Console ด้วย เพื่อให้ระบบติดตาม Followers ได้

ส่งข้อความถึง Followers

หลังเชื่อมต่อ LINE OA และมี Followers แล้ว สามารถส่ง Flex Message ได้ 2 ทาง:

  • จาก Pipeline — ใช้ LINE Push Node เลือก Followers แล้ว Run Pipeline
  • จาก Execution Result — รัน Pipeline เสร็จ กดแท็บ LINE แล้วเลือกคนรับ

Keyboard Shortcuts

Flex Message Editor

ShortcutAction
Sบันทึก
ZUndo — ย้อนกลับ
ZRedo — ทำซ้ำ
DDuplicate — คัดลอก Component
Deleteลบ Component ที่เลือก
Space + DragPan — เลื่อนดู Canvas
HToggle Hand Tool
Alt + ScrollZoom เข้า/ออก

Pipeline Editor

ShortcutAction
Sบันทึก Pipeline
ZUndo
ZRedo
Deleteลบ Node หรือ Edge ที่เลือก
Windows / Linux

แทนที่ ด้วย Ctrl สำหรับ Windows และ Linux