ใน EP.3 ที่ผ่านมา เราได้เรียนรู้การสร้างระบบส่งแจ้งเตือนอัตโนมัติข้ามแอปกันไปแล้ว แต่ในโลกความเป็นจริงของงานธุรกิจ กระบวนการทำงานมักจะไม่ได้เป็นเส้นตรงเสมอไป ตัวอย่างเช่น หากมีอีเมลด่วนจากผู้บริหารส่งเข้ามา เราอาจต้องการให้ระบบส่งข้อความแจ้งเตือนผ่านช่องทาง Microsoft Teams ทันที แต่ถ้าเป็นอีเมลทั่วไปจากแผนกอื่น ก็อาจจะแค่บันทึกข้อมูลลงตาราง Excel เงียบๆ ก็พอ
การที่จะทำให้ระบบสามารถแยกแยะความแตกต่างและเลือกเส้นทางการทำงานได้อย่างถูกต้องนั้น เราจำเป็นต้องใส่ “สมอง” หรือ “ตรรกะในการตัดสินใจ” ให้กับเวิร์กโฟลว์ ซึ่งแพลตฟอร์ม Power Automate ได้เตรียมเครื่องมือควบคุมเส้นทางหลักมาให้เราเลือกใช้งานถึง 3 รูปแบบด้วยกัน ได้แก่ Conditions, Switch และ Parallel Branches

การใช้งาน Power Automate Conditions (ตรรกะ True/False)
ทำหน้าที่เป็นตัวเช็กเงื่อนไขแบบ Yes/No หรือ True/False เหมาะกับโจทย์ที่มีทางแยกเพียง 2 ทาง เช่น "ถ้า...แล้วทำ A (If yes)" หรือ "ถ้าไม่...ให้ทำ B (If no)"
เครื่องมือนี้คือพื้นฐานที่สุดของการกำหนดตรรกะ โครงสร้างของ Action จะประกอบไปด้วย 3 ส่วนหลัก คือ ตัวแปรต้นทาง (Value 1), ตัวดำเนินการเปรียบเทียบ (Operator) เช่น is equal to, contains, is greater than และ ค่าที่ต้องการเปรียบเทียบ (Value 2)
- สถานการณ์ตัวอย่าง: เมื่อมีพนักงานส่งคำขอเบิกค่าใช้จ่ายเข้ามาในระบบ ระบบจะต้องตรวจสอบยอดเงินทันที
- การทำงานของระบบ:
- ฝั่ง If Yes (จริง): ถ้ายอดเงินเบิกจ่าย มากกว่า 5,000 บาท ให้ส่งอีเมลขออนุมัติไปยังผู้บริหารระดับสูง (Manager Approval)
- ฝั่ง If No (เท็จ): ถ้ายอดเงินต่ำกว่าหรือเท่ากับ 5,000 บาท ให้ระบบบันทึกข้อมูลและส่งอีเมลแจ้งเตือนยืนยันการเบิกจ่ายสำเร็จอัตโนมัติทันที
ข้อดีของฟีเจอร์นี้คือใช้งานง่าย ไม่ซับซ้อน เหมาะกับการเช็กสถานะการอนุมัติ (Approve / Reject) หรือการเช็กยอดเงินเบิกจ่ายว่าเกินงบประมาณที่กำหนดไว้หรือไม่
ขั้นตอนการสร้าง Condition ใน Power Automate Studio
Step 1: เริ่มต้นสร้าง Automated Cloud Flow
- ในหน้า Power Automate คลิกปุ่ม + New flow เลือก Automated cloud flow (เพื่อให้ระบบทำงานอัตโนมัติเมื่อมีข้อมูลใหม่เข้ามา)

- ตั้งชื่อ Flow ในช่อง Flow name (เช่น Beginner – Conditions)
- ในช่อง Choose your flow’s trigger ให้เลือก When an item is created (SharePoint) แล้วคลิก Create

Step 2: เลือกแหล่งข้อมูล SharePoint List

Step 3: เพิ่มและตั้งค่า Condition (เงื่อนไข > 5,000 บาท)



Step 4: ตั้งค่าการส่งอีเมลเมื่อตรงตามเงื่อนไข (ฝั่ง If yes)

Step 5: ทดสอบการทำงานของระบบ


Step 6: ตรวจสอบอีเมลผลลัพธ์การแจ้งเตือน

การใช้งาน Switch สำหรับเงื่อนไขหลายทางเลือก
เครื่องมือสำหรับการตรวจสอบค่าตัวแปรเพื่อแยกเคสการทำงานออกเป็นหลายๆ เส้นทาง (Multi-case) เหมาะกับงานที่มีตัวเลือกชัดเจนหลายเงื่อนไข เช่น แยกการส่งงานตามแผนก IT, HR, หรือ Finance
เมื่อไหร่ก็ตามที่โจทย์ของคุณมีทางเลือกมากกว่า 2 ทาง การใช้เครื่องมือแรกซ้ำซ้อนกันหลายๆ ชั้น จะทำให้เวิร์กโฟลว์ดูยุ่งเหยิงและอ่านยาก (Nested Condition) การเปลี่ยนมาใช้ Switch จึงเป็นทางเลือกที่ดีกว่ามากค่ะ
- สถานการณ์ตัวอย่าง: เมื่อมีพนักงานใหม่ถูกเพิ่มชื่อเข้าไปใน SharePoint List ที่ชื่อว่า List Employee ระบบจะตรวจสอบ แผนก (Department) ของพนักงานคนนั้น แล้วส่งอีเมลต้อนรับที่มี เงื่อนไขและรายละเอียดการทำงานเฉพาะของแผนกนั้นๆ ไปให้พนักงานทางอีเมลโดยอัตโนมัติ
- การกำหนดเงื่อนไข:
- Case “Engineering”: ส่งอีเมลแจ้งเตือนข้อกำหนดเฉพาะแผนกวิศวกรรม เช่น ความปลอดภัยหน้างาน (Safety & Health) และสิทธิ์การเข้าถึงระบบ Software
- Case “Sales”: ส่งอีเมลแจ้งเตือนรายละเอียดโครงสร้างค่าคอมมิชชันและค่าเดินทาง
- Case “Human Resources”: ส่งอีเมลแจ้งเตือนต้อนรับระบุขั้นตอนการปฐมนิเทศและการอบรม
- Default (กรณีไม่ตรงกับข้อไหนเลย): ส่งอีเมลแจ้งเตือนเงื่อนไขการทำงานอื่นๆ
การใช้รูปแบบนี้ จะช่วยให้โครงสร้างงานของคุณเป็นหมวดหมู่ ปรับแก้ภายหลังได้ง่าย และไล่เช็กข้อผิดพลาด (Debug) ได้อย่างรวดเร็ว
ขั้นตอนการใช้งาน Switch Control ส่งอีเมลต้อนรับพนักงานใหม่แยกตามแผนก
Step 1: สร้าง Automated Cloud Flow และเลือก SharePoint Trigger
- เข้าไปที่ Power Automate เลือก + New flow
Automated cloud flow
- ตั้งชื่อ Flow เช่น Beginner – Switch
- เลือก Trigger When an item is created (SharePoint) แล้วกด Create

Step 2: ตั้งค่าการเชื่อมต่อ SharePoint List
- Site Address: เลือก SharePoint Site ที่จัดเก็บข้อมูลพนักงาน (เช่น learningPowerApps)
- List Name: เลือก List ข้อมูลพนักงาน (เช่น M_Employees)


- คลิกปุ่ม + New step
Step 3: เพิ่ม Control Action แบบ Switch
- ในหน้าต่างเลือก Action ให้คลิกหมวด Control
- เลือก Action Switch

- ในช่อง On: ให้คลิกเลือกฟิลด์ Department จาก Dynamic Content เพื่อใช้แผนกของพนักงานเป็นตัวแยกเงื่อนไข

Step 4: กำหนด Case เงื่อนไขของแต่ละแผนก (Engineering / Sales / HR)
- Case Engineering:
- ในช่อง Equals: กรอกชื่อแผนก Engineering
- เพิ่ม Action Send an email (V2) กำหนดผู้รับเป็นอีเมลพนักงาน (Created By Email หรือ Email)
- กรอกเนื้อหาอีเมลต้อนรับ พร้อมข้อกำหนดเฉพาะแผนกวิศวกรรม เช่น ความปลอดภัยหน้างาน (Safety & Health) และสิทธิ์การเข้าถึงระบบ Software
- Case Sales:
- คลิกปุ่ม + (Add case) เพื่อเพิ่มเงื่อนไขถัดไป
- กรอกชื่อแผนก Sales ในช่อง Equals และเพิ่ม Action Send an email (V2) พร้อมใส่รายละเอียดโครงสร้างค่าคอมมิชชันและค่าเดินทาง
- Case Human Resources:
- เพิ่ม Case ถัดไป กรอก Human Resources และตั้งค่าอีเมลต้อนรับระบุขั้นตอนการปฐมนิเทศและการอบรม
- Default:
- สำหรับพนักงานที่ไม่ได้สังกัด 3 แผนกข้างต้น ระบบจะวิ่งมาทำงานที่ช่อง Default โดยอัตโนมัติ
- ตรวจสอบความถูกต้องแล้วกด Save บันทึก Flow


Step 5: ทดสอบการทำงานและตรวจสอบผลลัพธ์
- เปิด SharePoint List M_Employees แล้วเพิ่มข้อมูลพนักงานใหม่ โดยเลือกแผนกเป็น Engineering
- ระบบ Power Automate จะตรวจสอบเงื่อนไขผ่าน Switch Action และส่งอีเมลต้อนรับเฉพาะของแผนก Engineering ไปยังอีเมลของพนักงานทันที!


Step 6: ตรวจสอบการทำงานของ Switch Action ใน Run History

การใช้ Parallel Branches เพื่อประมวลผลงานพร้อมกัน
สั่งให้ระบบทำคำสั่ง 2 งานขึ้นไปพร้อมๆ กันในเวลาเดียวกันโดยไม่ต้องรอให้งานแรกเสร็จก่อน ช่วยประหยัดเวลาและเพิ่มความเร็วในการประมวลผลได้อย่างมาก
โดยปกติแล้ว เวิร์กโฟลว์จะทำงานทีละขั้นตอนจากบนลงล่าง (Sequential) แต่ในบางกรณี คำสั่งงาน 2 อย่างอาจไม่ได้มีความเกี่ยวข้องกัน และเราไม่จำเป็นต้องรอให้อันแรกทำงานเสร็จก่อน
- สถานการณ์ตัวอย่าง: เมื่อมีพนักงานใหม่ถูกบันทึกข้อมูลลงใน List Employee (SharePoint List) ระบบจะต้องสร้างกระบวนการอนุมัติ 2 เรื่องพร้อมกันทันที
- การทำงานด้วย:
- สาขาที่ 1 (Branch A): ส่งอีเมลขออนุมัติเบิกอุปกรณ์ทำงาน (เช่น โน้ตบุ๊ก, เมาส์, หน้าจอ) ไปให้ IT Manager
- สาขาที่ 2 (Branch B): ส่งอีเมลขออนุมัติทำบัตรพนักงานสำหรับเข้าตึก/สแกนนิ้ว ไปให้ Admin/HR Manager
ทั้งสองสาขานี้จะทำงานไปพร้อมๆ กันทันทีหลังจาก Trigger เริ่มรัน ทำให้ช่วยลดระยะเวลาการรันรวมของระบบลงไปได้ครึ่งหนึ่งเลยทีเดียว
ขั้นตอนการใช้ Parallel Branches ประมวลผลคำขออนุมัติพร้อมกัน
Step 1: เริ่มต้นสร้าง Flow และเชื่อมต่อ SharePoint
- ในหน้า Power Automate เลือก + New flow
- เลือก Automated cloud flow
- ตั้งชื่อ Flow เช่น Beginner – Parallel Branches และเลือก Trigger When an item is created (SharePoint)

- เลือก Site Address และ List Name เป็น M_Employees (List สำหรับรับข้อมูลพนักงานใหม่)

Step 2: สร้างคำขออนุมัติแรก (ขอเบิกอุปกรณ์ IT)
- คลิก + New step ค้นหาและเลือก Action Start and wait for an approval

- Approval type: เลือก Approve/Reject – First to respond

- เปลี่ยนชื่อ Action เป็น Start and wait for an approval IT เพื่อให้จำง่าย
- กรอกข้อมูลคำขออนุมัติเบิกอุปกรณ์ทำงาน (เช่น โน้ตบุ๊ก, หน้าจอ) โดยดึง Dynamic Content เช่น ชื่อ-นามสกุล และแผนกของพนักงานใหม่มาประกอบ

Step 3: สร้างคำขออนุมัติที่สอง (ขอทำบัตรพนักงานเข้าตึก)
- ทำการสร้าง Action Start and wait for an approval ตัวที่ 2 ขึ้นมา
- ตั้งค่ารายละเอียดคำขออนุมัติสำหรับฝ่ายอาคาร/สถานที่ (Facilities Management) เพื่อขอสิทธิ์ทำบัตรเข้า-ออกตึก (Access Control)

Step 4: เชื่อมเส้นการทำงานให้เป็น Parallel Branch (ทำงานพร้อมกัน)
- นำเมาส์ไปชี้ที่เส้นเชื่อมต่อใต้ Trigger When an item is created แล้วคลิกไอคอนเครื่องหมาย +
- คลิกเลือกเมนู Add a parallel branch

- ลากหรือจัดวาง Action คำขออนุมัติที่สองไปไว้อีกฝั่งหนึ่งของกิ่งขนาน

- เมื่อจัดโครงสร้างเสร็จแล้ว จะเห็นกิ่งการทำงานแยกออกเป็น 2 ฝั่งคู่ขนานกัน (ฝั่ง IT และ ฝั่งทำบัตรเข้าตึก)
- คลิกปุ่ม Save บริเวณมุมบนขวาเพื่อบันทึก Flow

Step 5: ทดสอบระบบและการประมวลผลขนาน
- เมื่อมีพนักงานใหม่ถูกเพิ่มลงใน SharePoint List ระบบจะเริ่มทำงานทันที
- ระบบจะทำการส่งอีเมลและแจ้งเตือนขออนุมัติไปยังฝ่าย IT และฝ่ายอาคารพร้อมๆ กันโดยไม่ต้องรอให้อนุมัติอันใดอันหนึ่งเสร็จก่อน ช่วยลดเวลาดำเนินการได้อย่างมาก

Step 6: ตรวจสอบผลลัพธ์อีเมลคำขออนุมัติที่ถูกส่งพร้อมกัน
- เมื่อมีการบันทึกข้อมูลพนักงานใหม่ลงใน SharePointระบบ Power Automateจะประมวลผลกิ่งขนาน (Parallel Branches)และส่งอีเมลขออนุมัติไปยังผู้เกี่ยวข้องทั้ง 2ฝ่ายพร้อมกันทันที:

- ทีม IT Support / ผู้จัดการแผนก IT: จะได้รับอีเมลหัวข้อ “ขอเบิกโน้ตบุ๊กและอุปกรณ์สำหรับพนักงานใหม่ – [ชื่อพนักงาน]” พร้อมรายละเอียดประเภทเครื่องและอุปกรณ์ที่ต้องจัดเตรียม

การเข้าใจวิธีใช้งาน Power Automate Conditions, การจัดการเคสซับซ้อนด้วย Switch และการเพิ่มประสิทธิภาพความเร็วด้วย Parallel Branches ถือเป็นหัวใจสำคัญในการเปลี่ยนจากการเขียน Flow เด็กๆ มาสู่การเป็นนักพัฒนาเวิร์กโฟลว์ระดับมืออาชีพ เครื่องมือทั้งสามนี้จะช่วยให้ระบบอัตโนมัติของคุณทำงานได้อย่างยืดหยุ่น ปรับตัวตามเงื่อนไขธุรกิจที่ซับซ้อนได้จริง และทำงานได้เร็วขึ้นอย่างเห็นได้ชัด
Q&A: คำถามที่เกี่ยวกับ Conditions, Switch และ Parallel Branches (FAQ)
Q1: ควรเลือกใช้ Conditions หรือ Switch เมื่อไหร่ดีกว่ากัน?
A: หากโจทย์ของคุณมีทางเลือกในการตัดสินใจเพียงแค่ 2 ทาง เช่น การตรวจสอบสถานะ Yes/No, True/False หรือ อนุมัติ/ไม่อนุมัติ ควรเลือกใช้ Conditions ค่ะ แต่ถ้ามีตัวเลือกแยกตามหมวดหมู่มากกว่า 2-3 ทางขึ้นไป เช่น การแยกเวิร์กโฟลว์ตามรายชื่อแผนก (IT, HR, Sales, Finance) การใช้ Switch จะเป็นตัวเลือกที่ดีกว่า เพราะช่วยลดความยุ่งเหยิงของการเขียนเงื่อนไขซ้อนกันหลายชั้น (Nested Conditions) และทำให้ปรับแก้ไขง่ายกว่ามาก
Q2: หากใช้ Parallel Branches แล้ว ต้องการให้เส้นทางขนานทุกสายทำงานเสร็จครบทั้งหมดก่อน แล้วค่อยไปทำ Action ถัดไป ต้องตั้งค่าอย่างไร?
A: โดยปกติแล้ว เมื่อคุณสร้าง Parallel Branches แล้วนำ Action ใหม่มาต่อที่จุดรวมด้านล่างของแต่ละสาขานั้น ตัวระบบ Power Automate จะตั้งค่าเริ่มต้นให้อัตโนมัติ โดยระบบจะ “รอ” จนกว่างานในทุกสาขาขนานจะรันเสร็จสิ้นจนจบกระบวนการ จากนั้นจึงจะข้ามมาประมวลผล Action ถัดไปด้านล่างต่อให้อัตโนมัติ
Q3: ใน Action ประเภท Switch หากข้อมูลที่ส่งเข้ามาไม่ตรงกับ Case ไหนเลย ระบบจะทำงานอย่างไร?
A: หากข้อมูลที่ส่งเข้ามาไม่ตรงกับข้อกำหนดใน Case ใดๆ ที่เราสร้างไว้ ระบบจะวิ่งเข้าไปทำคำสั่งในกล่อง Default โดยอัตโนมัติ ดังนั้น การใส่ Action สำรองไว้ในช่อง Default (เช่น การส่งอีเมลแจ้งเตือน Admin หรือการบันทึก Log) จึงเป็นแนวปฏิบัติที่ดีเพื่อป้องกันไม่ให้ข้อมูลตกหล่น
Q4: การใช้ Parallel Branches มีข้อจำกัดเรื่องจำนวนสาขาขนาน หรือส่งผลต่อประสิทธิภาพของ Flow หรือไม่?
A: สามารถสร้างสาขาขนานแยกออกพร้อมกันได้หลายสาขา ข้อดีคือช่วยลดเวลาการประมวลผลรวมได้อย่างเห็นได้ชัด แต่ข้อควรระวังคือ ข้อกำหนดขีดจำกัดการเรียกใช้งาน API (API Run Limits) ของ M365/Power Automate หากมีการรันคำสั่งที่เชื่อมต่อฐานข้อมูลพร้อมกันในปริมาณมากๆ ในเวลาเดียวกัน อาจทำให้ติด Throttle หรือประมวลผลช้าลงชั่วคราวได้
Q5: ในกล่อง Condition สามารถตั้งค่าตรวจสอบหลายๆ เงื่อนไขพร้อมกัน (เช่น ใช้ตรรกะ AND / OR) ได้ไหม?
A: ทำได้ค่ะ ในตัวออกแบบ Condition คุณสามารถกดเพิ่มเงื่อนไข (+ Add row) เพื่อตรวจสอบหลายคอลัมน์พร้อมกันได้ และเลือกได้ว่าต้องการให้เป็นตรรกะ And (ต้องผ่านทุกข้อถึงจะไปฝั่ง If Yes) หรือตรรกะ Or (ผ่านข้อใดข้อหนึ่งก็ไปฝั่ง If Yes ได้ทันที) ค่ะ
Q6: หากใน Parallel Branches ฝั่งหนึ่งเกิด Error ขึ้นมา อีกฝั่งหนึ่งจะยังคงทำงานต่อจนจบหรือไม่?
A: โดยปกติแล้ว อีกฝั่งหนึ่งที่ไม่มีปัญหาจะยังคงประมวลผลคำสั่งของตัวเองต่อไปจนจบค่ะ แต่ในจุดรวมสายด้านล่าง ระบบจะมองว่าภาพรวมกระบวนการเกิด Error ขึ้น คุณสามารถตั้งค่าขั้นสูงในส่วน Configure run after บน Action จุดรวม เพื่อกำหนดให้ระบบทำงานต่อได้แม้ว่าจะมีสาขาใดสาขาหนึ่งล้มเหลว (Has failed) ก็ได้เช่นกันค่ะ