BoardMark
เอกสาร

Workflow template และฟิลด์กำหนดเอง

เลือก template ตอนสร้าง project — Scrum, Kanban, Delivery pipeline, Sales & Billing, Service desk, Budget planning, Roadmap & Goals — พร้อมฟิลด์กำหนดเอง 10 ชนิด Timeline และการเชื่อมงานข้าม project

ทำไมเป็น template ไม่ใช่บอร์ดแบบใหม่?

บอร์ดยังมี 3 แบบ — Scrum, Kanban และ Delivery pipeline — เพราะต่างกันที่กติกาจริง (sprint, WIP limit, ด่านทดสอบต่อ environment) template คือชุดสำเร็จรูปบนบอร์ดแบบเดิม: บอร์ดฐาน + คอลัมน์พร้อมความหมาย + ชุดฟิลด์ + มุมมองเริ่มต้น (คอลัมน์หรือรายการ) + ประเภท issue ที่ใช้ ทุกแพ็กเกจเลือก template ได้ทุกแบบ เพราะเป็นค่าตั้งของเรา ไม่ใช่การปรับเอง

  • หน้า Create project เลือก template แทนการเลือกแบบบอร์ด: การ์ดแต่ละใบมีภาพย่อของคอลัมน์ ฟิลด์เด่น และปุ่ม “ดูตัวอย่าง”
  • กลุ่ม Software delivery: Scrum · Kanban · Delivery pipeline (= 3 แบบเดิม พฤติกรรมไม่เปลี่ยน) และกลุ่ม Business: Sales & Billing · Service desk · Budget planning · Roadmap & Goals
  • “เริ่มจาก” ยังเลือกได้: ว่าง / นำเข้าจาก Jira / transfer key จากบริษัทอื่น — นำเข้าจาก Jira ใช้กับกลุ่ม Software delivery เท่านั้น
  • project เดิมไม่เปลี่ยน และยังไม่มีการเปลี่ยน template ย้อนหลัง; project.md บอกที่มาด้วย template: (อ่านอย่างเดียว)
  • template กลุ่ม Business ไม่มีคอลัมน์ Backlog และไม่มีแท็บ Backlog

มี template อะไรบ้าง?

Templateบอร์ดคอลัมน์ฟิลด์
ScrumScrumTo Do → In Progress → In Review → Test Rejected → Done (+ Backlog)ไม่มีฟิลด์เพิ่ม
KanbanKanbanเหมือน Scrum ไม่มี sprintไม่มีฟิลด์เพิ่ม
Delivery pipelinepipelineTesting / Passed ต่อ environmentไม่มีฟิลด์เพิ่ม
Sales & BillingKanbanDraft → Sent → Signed → In delivery → Billing → Closed · Lost (เทา)ดีล: customer · quote_no · amount · sent_at · signed_at · valid_until · payment_terms · owner — งวดเงิน: amount · bill_on · invoiced_at · invoice_no · due_on · paid_at · paid_amount
Service deskKanbanNew → Triage → In progress → Waiting (เหลือง ไม่นับ SLA) → Donerequester · category (Admin · Finance · IT · HR · Other) · urgency (Low · Normal · High · Urgent) · sla_due · channel (LINE · Email · Walk-in · Phone)
Budget planningKanban มุมมองรายการเป็นค่าเริ่มต้นProposed → Approved → Spending → Closed · Rejected (เทา)planned · actual · remaining (คำนวณ = planned − actual) · owner · quarter (Q1–Q4) · cost_center · vendor
Roadmap & GoalsKanban มุมมอง Timeline เป็นค่าเริ่มต้นIdea → Planned → In progress → Done · Dropped (เทา ไม่นับสำเร็จ)quarter (Q1–Q4) · start · end · owner · reach · impact · confidence · effort · score (คำนวณ RICE) · progress (rollup จาก link) · linked (rollup นับ link)
  • Sales & Billing: ใบเสนอราคา/สัญญาเป็นการ์ดดีล งวดเงินอยู่ในการ์ด ป้ายคำนวณจากวันที่ และแจ้งเตือนรอบวางบิล/ครบกำหนด — อ่านคู่มือ Sales & Billing
  • Service desk: รับเรื่องธุรการ การเงิน IT หรือ HR แทนผู้ขอ sla_due ตั้งให้อัตโนมัติจาก urgency ตอนสร้าง (Urgent 1 วัน · High 3 · Normal 7 · Low 14 ตั้งค่าได้ใน Project settings) ป้าย “ใกล้ครบ SLA” (≤ 1 วัน) และ “เลย SLA N วัน” เฉพาะงานที่ไม่อยู่ใน Waiting หรือ Done แจ้งเตือน assignee และ requester อย่างละครั้ง ตัวกรองที่บันทึกไว้: Past SLA · Mine · Waiting · New today
  • Budget planning: 1 รายการงบ = 1 การ์ด remaining คำนวณให้ ไม่ต้องกรอก ป้าย “เกินงบ” (แดง เมื่อ actual > planned) และ “ใช้แล้ว ≥ 80 %” (เหลือง) มุมมองรายการมีแถวรวมท้ายตาราง Σ planned / Σ actual / Σ remaining ตามตัวกรอง และจัดกลุ่มตาม quarter ได้ เกินงบ → กระดิ่งถึง owner ครั้งเดียว ตัวกรองที่บันทึกไว้: Over budget · ≥ 80 % spent · Not yet approved
  • Roadmap & Goals: 1 เป้าหมาย = 1 การ์ด (key result เป็น subtask ไม่บังคับ) ให้คะแนน RICE แล้วเชื่อมเป้าหมายกับงานหรือ Release ของ project อื่น ความคืบหน้าและป้ายตามแผน / เสี่ยง / ล่าช้าคำนวณให้ ดูเป็น Timeline — อ่านหัวข้อ Roadmap & Goals และ Timeline ด้านล่าง
  • เงินเก็บเป็นตัวเลขทศนิยม 2 ตำแหน่ง สกุลเงินตั้งต่อ project (ค่าเริ่มต้น THB) วันที่เป็น YYYY-MM-DD

ฟิลด์มีชนิดอะไรบ้าง?

ฟิลด์กำหนดเองนิยามใน project.md (fields:) แต่ละฟิลด์มี id ที่ไม่เปลี่ยน ชื่อ ชนิด ประเภท issue ที่ใช้ได้ (types) จำเป็นหรือไม่ และ options คำอธิบายสั้น ค่าเก็บใน frontmatter ของ issue ที่ fields: โดยใช้ id เป็นคีย์

ชนิดค่าตัวอย่าง
textข้อความไม่เกิน 500 ตัวอักษรquote_no, invoice_no
numberตัวเลขจำนวนชิ้น
moneyตัวเลขทศนิยม 2 ตำแหน่ง ในสกุลเงินของ projectamount, planned, actual
dateYYYY-MM-DDsigned_at, due_on, sla_due
personuser id ของสมาชิก (เลือกจาก person picker)owner, requester
selectหนึ่งใน options ที่กำหนดpayment_terms, urgency, quarter
urlลิงก์ http(s) ไม่เกิน 2,000 ตัวอักษรลิงก์เอกสารภายนอก
customerข้อความ + แนะนำชื่อที่เคยใช้ใน project อัตโนมัติ (ยังไม่มีตาราง customer)customer, vendor
formulaคำนวณจากฟิลด์ money/number ใน issue เดียวกัน: a − b, a + b, a / b หรือ RICE (reach × impact × confidence ÷ effort ปัดทศนิยม 1 ตำแหน่ง ว่างเมื่อขาดค่าหรือ effort = 0) อ่านอย่างเดียว ไม่เก็บremaining = planned − actual, score
rollupคำนวณจาก issue หรือ Release ที่เชื่อมอยู่ (from: links ตาม link type ที่เลือก หรือ children = subtask): progress (% ที่เสร็จ) · count · sum · min_date · max_date ของฟิลด์ปลายทาง ลึก 1 ชั้น อ่านอย่างเดียว ไม่เก็บprogress, linked, delivery_progress
  • ฟิลด์ที่มี types จะใช้ได้กับ issue ประเภทนั้นเท่านั้น เช่น bill_on ใช้กับงวดเงิน (subtask) ของ Sales & Billing
  • ฟิลด์ที่ตั้งว่า “จำเป็น” ต้องกรอกตอนสร้าง issue ประเภทที่เกี่ยวข้อง
  • ค่าที่ชนิดไม่ตรง ฟิลด์ที่ไม่มีนิยาม หรือการเขียนฟิลด์คำนวณและ rollup ถูกปฏิเสธทั้งในเว็บแอป ผ่าน MCP และตอนเขียนไฟล์ .md ตรง ๆ
  • ฟิลด์ rollup ที่มากับ template ใช้ได้ทุกแพ็กเกจ การเพิ่มหรือแก้ rollup เองในหน้า ฟิลด์ เป็น Premium เหมือนฟิลด์อื่น

ฟิลด์แสดงที่ไหน?

  • ในหน้า issue ฟิลด์เป็นกลุ่มของตัวเองเหนือคำอธิบาย แต่ละช่องบันทึกทันทีที่เปลี่ยน เหมือนฟิลด์มาตรฐาน
  • การ์ดบนบอร์ดแสดงฟิลด์ที่ template ตั้งว่า “แสดงบนการ์ด” ไม่เกิน 2 ฟิลด์ (เช่น customer และ amount บนดีล) พร้อมป้ายที่คำนวณจากวันที่
  • มุมมองรายการเพิ่มคอลัมน์ฟิลด์ได้ เรียงตามฟิลด์ได้ และกรองตามฟิลด์ได้ — date: ช่วง / วันนี้ / สัปดาห์นี้ / เลยกำหนด; select และ person: เลือกค่า; money และ number: ≥ และ ≤
  • template ที่มีเงินแสดงแถวรวมท้ายตารางตามแถวที่กรองอยู่

ตัวกรองที่บันทึกไว้คืออะไร?

ตัวกรองที่บันทึกไว้คือเงื่อนไขที่มีชื่อ แชร์ให้ทั้ง project และแสดงเป็นชิปพร้อมจำนวนในมุมมองรายการ template กลุ่ม Business มีมาให้ (เช่น Overdue · Bill due · Awaiting signature) ผู้ดูแล project และผู้ดูแลบริษัทบันทึกตัวกรองใหม่จากหน้าต่างตัวกรอง แก้ชื่อ หรือลบได้ทุกแพ็กเกจ ทุกคนใช้ได้

Roadmap & Goals ทำงานอย่างไร?

Roadmap & Goals ตอบคำถามว่า “ไตรมาสนี้ตั้งใจทำอะไร ไปถึงไหนแล้ว และอันไหนล่าช้า” เป้าหมาย (goal) 1 ข้อ = การ์ด 1 ใบบนบอร์ด Kanban ที่มีคอลัมน์ Idea → Planned → In progress → Done และ Dropped (สีเทา ไม่นับเป็นสำเร็จ) key result เป็น subtask ของเป้าหมายได้แต่ไม่บังคับ ความคืบหน้าของเป้าหมายไม่ต้องกรอกเอง — มาจากงานหรือ Release ที่เชื่อมไว้ใน project อื่น (หรือ project เดียวกัน) และป้ายตามแผน / เสี่ยง / ล่าช้าคำนวณจากวันที่กับความคืบหน้าทุกครั้งที่อ่าน

  • ฟิลด์: quarter (Q1–Q4 แสดงบนการ์ด) · start และ end (จำเป็น ใช้วาด Timeline) · owner · reach · impact · confidence · effort (ตัวเลข 1–10; confidence ใส่ 0–1 ก็ได้) · score · progress · linked
  • score = คะแนน RICE คำนวณสด: reach × impact × confidence ÷ effort ปัดทศนิยม 1 ตำแหน่ง แสดงบนการ์ดและเน้นในลิ้นชักเป้าหมาย ว่างเมื่อยังกรอกไม่ครบหรือ effort = 0
  • progress = rollup จากปลายทางที่เชื่อมด้วย relates, blocks หรือ delivers: issue ที่อยู่หมวด done นับ 100 % อื่น ๆ 0 % ส่วน Release นับ % ของ issue ที่ผ่านด่านสุดท้าย (state shipped = 100 %) แล้วเฉลี่ยเท่ากัน linked = จำนวนปลายทางที่เชื่อม
  • ป้าย (เฉพาะเป้าหมายที่ยังไม่ done และมีทั้ง start กับ end): ล่าช้า (off_track) = เลย end แล้วแต่ progress < 100 · เสี่ยง (at_risk) = เวลาที่ผ่านไป % − progress % > 25 และยังไม่ถึง end · ตามแผน (on_track) = ที่เหลือ ล่าช้าแจ้งกระดิ่งถึง owner ครั้งเดียว
  • ตัวกรองที่บันทึกไว้: Off track · At risk · This quarter (ไตรมาสปัจจุบันตามปฏิทินไทย/Bangkok) · Mine
  • ลิ้นชักเป้าหมาย: กลุ่มฟิลด์ (quarter · start · end · owner) กลุ่ม RICE พร้อม score สด สถิติ rollup (progress %, เวลาที่ผ่านไป %, ป้าย) แถบความคืบหน้า และส่วน “สิ่งที่เชื่อม” จัดกลุ่มตาม project

มุมมอง Timeline คืออะไร?

Timeline เป็นมุมมองที่สามข้างคอลัมน์ | รายการ แสดงเมื่อ project มี timeline: { start, end, progress } ใน project.md — template Roadmap & Goals ตั้งมาให้และเปิดเป็นค่าเริ่มต้น ส่วน template อื่นที่มีฟิลด์วันที่ 2 ฟิลด์เปิดได้ที่ตั้งค่า project → ฟิลด์ (Premium)

  • แกนเวลาซูมได้ 3 ระดับ: ไตรมาส · เดือน · สัปดาห์ หัวตารางแสดงไตรมาสและเดือน (ปี พ.ศ. ในภาษาไทย ค.ศ. ในภาษาอังกฤษ) เส้น “วันนี้” และปุ่ม วันนี้ เลื่อนกลับมา ระบบจำระดับซูมต่อ project ไว้ในเบราว์เซอร์
  • แถวจัดกลุ่มตามคอลัมน์สถานะ พับได้เหมือนมุมมองรายการ ไม่มี Backlog เป้าหมายละ 1 แถว แถบจาก start → end สีตามป้าย: ตามแผน เสี่ยง ล่าช้า เสร็จ (เขียวมะนาว) และ Dropped (เทา) เติมความคืบหน้าในแถบและ % ท้ายแถบ
  • ลากขอบแถบ = แก้ start หรือ end ลากทั้งแถบ = เลื่อนทั้งช่วง บันทึกทันทีตอนปล่อยพร้อมปุ่ม เลิกทำ ใน toast คลิกแถบ = เปิดลิ้นชัก
  • เป้าหมายที่ยังไม่มี start หรือ end อยู่ในรายการ “ยังไม่กำหนดเวลา” ท้ายตาราง คลิกเพื่อเปิดลิ้นชักและตั้งวัน
  • จอแคบกว่า 640px ใช้มุมมองรายการแทน และบอร์ดที่มี ≥ 150 แถวไม่เล่นแอนิเมชันการจัดวาง (เหมือนบอร์ดโหมดหนัก)

ใครแก้ฟิลด์ได้?

  • ฟิลด์ที่มากับ template ใช้ได้ทุกแพ็กเกจ รวมป้าย ตัวกรองที่บันทึกไว้ และการแจ้งเตือน
  • การเพิ่ม เปลี่ยนชื่อ แก้ options หรือลบฟิลด์นอกเหนือจาก template เป็น Premium ใช้ editor เดียวกับคอลัมน์บอร์ด: ตั้งค่า project → ฟิลด์ แก้เป็น draft แล้ว Save ถ้ามีคนแก้ก่อน ระบบให้โหลดใหม่
  • ลบฟิลด์ที่มีค่าอยู่ → ระบบบอกจำนวน issue ที่ได้รับผล แล้วลบคีย์ออกจากไฟล์ .md เบื้องหลังพร้อมความคืบหน้า
  • id ของฟิลด์ไม่เปลี่ยน แม้เปลี่ยนชื่อที่แสดง
  • AI agent แก้นิยามฟิลด์ไม่ได้ (ทำในเว็บแอปเท่านั้น) และได้ 403 plan_required เมื่อบริษัทไม่ใช่ Premium

AI agent เห็นอะไร?

  • get_project คืน template, fields (นิยามพร้อมชนิดและ options) และ saved_filters; get_docs_context อธิบายฟิลด์และคอลัมน์ของ template ให้ agent อ่านก่อนเริ่มงาน
  • create_issue และ update_issue รับ fields (merge ทีละคีย์, null = ลบค่า) และตรวจชนิดเหมือนเว็บแอป: 400 unknown_field, invalid_field_value หรือ formula_readonly
  • search_issues กรองตาม fields ({ id, op: eq · lt · gt · between · empty, value }) และ flag (ป้ายของ template) เรียงตามฟิลด์ได้; ผลลัพธ์มี computed (ค่าฟิลด์คำนวณ) และ flags
  • write_file ที่แก้ไฟล์ issue ตรง ๆ ผ่านการตรวจชุดเดียวกัน
  • link_issues รับ key ของ project อื่นในบริษัทเดียวกัน และ type delivers กับ id KEY/R-n สำหรับ Release (403 link_target_forbidden เมื่อ token เปิด project ปลายทางไม่ได้ 404 release_not_found เมื่อไม่มี Release นั้น); get_issue คืน linked[] = ปลายทางสด (key, title, status หรือ state + progress ของ Release, readable: false เมื่อไม่มีสิทธิ์) และ computed (score, progress, linked); search_issues รับ linked_to=KEY-n และ flag on_track / at_risk / off_track; เขียนฟิลด์ rollup → 400 formula_readonly; นิยาม rollup ที่ไม่ถูกต้อง → 422 bad_rollup; get_docs_context เพิ่มบรรทัด “linked projects” เมื่อ project มีลิงก์ข้าม project
  • ไม่มี tool ใหม่ — ทุกอย่างทำผ่าน tool เดิม
ตัวอย่าง: frontmatter ของดีลใน Sales & Billing
---
id: SALE-12
type: task                 # a deal
status: signed
fields:
  customer: Siam Logistics Co., Ltd.
  quote_no: Q-2026-031
  amount: 150000.00
  signed_at: 2026-10-03
  payment_terms: 50-50
  owner: usr_01H...
---
ตัวอย่าง: เป้าหมายใน Roadmap & Goals
search_issues { project: "RM", flag: "off_track" }                  # which Q4 goals are off track?
get_issue     { key: "RM-7" }                                        # → computed.score, computed.progress, linked[]
link_issues   { key: "RM-7", type: "delivers", id: "NW/R-3" }        # goal delivered by release R-3 of project NW
link_issues   { key: "RM-7", type: "relates", id: "APP-120" }        # an issue of another project (same company)
search_issues { project: "APP", linked_to: "RM-7" }                  # everything linked to the goal

อะไรยังไม่มาในรอบนี้?

  • การเปลี่ยน template ของ project เดิม
  • ตาราง customer กลาง — ฟิลด์ customer แนะนำจากชื่อที่เคยใช้ใน project เท่านั้น
  • ลิงก์ข้ามบริษัท rollup ซ้อน rollup (ค่า rollup ของปลายทางไม่ถูกดึงต่อ) และเส้นลูกศรแสดง dependency บน Timeline
  • ปุ่ม “สร้าง project / Release จากดีลนี้” ใน Sales & Billing