ในโลกการทำงานยุคใหม่ กระบวนการอนุมัติเอกสารหรือคำขออนุมัติลาพักร้อนของพนักงาน ถือเป็นหนึ่งในจุดคอขวดที่สร้างความล่าช้ามากที่สุดในหลายๆ องค์กร การรอใบอนุมัติที่ส่งทางเอกสาร การลืมอ่านอีเมล หรือแม้กระทั่งการที่หัวหน้าเดินทางไปปฏิบัติงานนอกสถานที่ ล้วนทำให้กระบวนการทำงานสะดุดลงอย่างเห็นได้ชัด
ใน EP.5 ที่ผ่านมา เราได้เรียนรู้การบันทึกข้อมูลลงSharePoint Listและ Excel กันไปแล้ว แต่ในบทความนี้เพื่อแก้ปัญหานี้ Power Automate จึงได้รับการออกแบบระบบการจัดการคำขออนุมัติขั้นสูงที่มีชื่อเรียกว่า Power Automate Approvals ขึ้นมา เพื่อให้องค์กรสามารถสร้างเวิร์กโฟลว์การขออนุมัติแบบดิจิทัลที่สามารถอนุมัติได้จากทุกอุปกรณ์ ไม่ว่าจะกดอนุมัติผ่านอีเมล Outlook, แอปพลิเคชัน Microsoft Teams บนคอมพิวเตอร์ หรือกดปุ่มแจ้งเตือนผ่านสมาร์ตโฟนระหว่างเดินทางก็ตาม
นิยามและประเภทของเครื่องมือขออนุมัติ (Approval Types)
ก่อนจะลงมือปฏิบัติสร้างระบบขออนุมัติลาพักร้อน เรามาทำความเข้าใจประเภทการอนุมัติของตัวเครื่องมือหลักอย่าง Action “Start and wait for an approval” กันก่อนค่ะ เพื่อเลือกให้ตรงตามโจทย์ของกระบวนการในองค์กร:
4 ประเภทการอนุมัติหลักในระบบ:
- Approve/Reject – First to respond (ใครกดก่อนจบงาน): ส่งคำขออนุมัติไปให้ผู้อนุมัติหลายคนพร้อมกัน แต่เมื่อมีผู้อนุมัติ คนใดคนหนึ่ง กดตอบรับ (Approve หรือ Reject) เป็นคนแรก ระบบจะถือว่ากระบวนการนั้นเสร็จสิ้นทันที (เหมาะสำหรับระบบลาพักร้อนทั่วไป ที่หัวหน้าคนไหนในทีมว่างมาอนุมัติก่อนก็ได้)
- Approve/Reject – Everyone must approve (ต้องอนุมัติทุกคน): ส่งคำขออนุมัติไปหาผู้อนุมัติทุกคน และระบบจะรอจนกว่า ทุกคน จะกด Approve ครบทั้งหมด หากมีใครคนใดคนหนึ่งกด Reject งานจะถูกยกเลิกทันที (เหมาะสำหรับงานเบิกงบประมาณสูงๆ หรือเอกสารสัญญาสำคัญ)
- Custom Responses – Wait for one response: การสร้างปุ่มตัวเลือกตอบกลับแบบกำหนดเอง (เช่น “อนุมัติ”, “แก้ไข”, “ปฏิเสธ”) โดยรอคำตอบจากคนแรกที่กดเลือก
- Custom Responses – Wait for all responses: การสร้างปุ่มตอบกลับแบบกำหนดเอง โดยต้องรอให้ผู้อนุมัติทุกคนกดเลือกคำตอบครบทุกคน
ขั้นตอนการสร้างระบบส่งแจ้งเตือนอนุมัติการแจ้งซ่อมแบบทุกคนต้องอนุมัติ (Everyone must approve)
Step 1: เข้าสู่ระบบ Power Automate
- ล็อกอินเข้าสู่หน้า Microsoft 365 Copilot (www.office.com)
- คลิกไอคอน Power Automate เพื่อเข้าสู่ระบบจัดการ Flow

Step 2: เริ่มต้นสร้าง Automated Cloud Flow
- ในหน้า Power Automate ให้คลิกที่ปุ่ม + New flow
- เลือก Automated cloud flow
- ตั้งชื่อ Flow ในช่อง Flow name (เช่น Approvals)
- ในช่องค้นหา Trigger ให้พิมพ์คำว่า form แล้วคลิกเลือก When a new response is submitted (Microsoft Forms) จากนั้นกดปุ่ม Create

Step 3: เลือกแบบฟอร์มแจ้งซ่อมที่ต้องการเชื่อมต่อ
- ในบล็อก Trigger When a new response is submitted:
- คลิกที่ช่อง Form Id แล้วเลือกชื่อแบบฟอร์มที่สร้างไว้ (เช่น ระบบแจ้งซ่อมอุปกรณ์ (Maintenance Request))
- เพิ่ม Action Get response details ต่อจาก Trigger เพื่อดึงรายละเอียดข้อมูลจากฟอร์ม

Step 4: (ทางเลือกเสริม) แกะลิงก์รูปถ่ายอาการเสียด้วย Parse JSON
- หากในฟอร์มมีคำถามให้แนบไฟล์รูปถ่าย ข้อมูลรูปภาพจาก Forms จะถูกส่งมาในรูปแบบข้อความ JSON

- เพิ่ม Action Parse JSON เพื่อแยกเอาลิงก์ URL รูปภาพนำมาใช้งานต่อในบัตรขออนุมัติ

Step 5: เพิ่ม Action การอนุมัติ (Standard Approvals)
- คลิกปุ่ม + New step ด้านล่าง
- ในช่องค้นหา Action ให้เลือกหมวด Standard approvals
- คลิกเลือก Action Start and wait for an approval

Step 6: ตั้งค่ารูปแบบการอนุมัติชนิด Everyone must approve
- ในช่อง Approval type: คลิกเมนูดรอปดาวน์แล้วเลือก Approve/Reject – Everyone must approve (กำหนดให้ผู้อนุมัติทุกคนที่ถูกระบุต้องกดอนุมัติครบทุกคน ระบบจึงจะถือว่าอนุมัติผ่าน)

- Title: กำหนดชื่อหัวข้อการแจ้งเตือน (เช่น มีรายการแจ้งซ่อมใหม่: ตามด้วย Dynamic content ประเภทอุปกรณ์และระดับความเร่งด่วน)
- Assigned to: ใส่รายการอีเมลของผู้อนุมัติ (สามารถระบุได้มากกว่า 1 อีเมล โดยคั่นด้วยเครื่องหมาย ; เช่น test02;phornchitasi)
- Details: ใส่รายละเอียดข้อความแจ้งเตือน โดยดึงค่า Dynamic Content จากแบบฟอร์มประกอบ เช่น ชื่อผู้แจ้ง, อุปกรณ์/สถานที่, อาการเสีย, ระดับความเร่งด่วน, วันที่แจ้ง และลิงก์รูปถ่ายอาการเสีย
- คลิกปุ่ม Save บริเวณมุมบนขวามือเพื่อบันทึก Flow

Step 7: ทดสอบการทำงานและรับผลลัพธ์บัตรอนุมัติ
- เปิดแบบฟอร์ม ระบบแจ้งซ่อมอุปกรณ์ บน Microsoft Forms แล้วทดลองกรอกข้อมูลแจ้งซ่อมจริงแล้วกด Submit

- ระบบ Power Automate จะส่งบัตรคำขออนุมัติไปยังผู้เกี่ยวข้องทุกคนทันทีผ่าน Microsoft Teams (Approvals App) และ Outlook Email
- ผู้อนุมัติทุกคนสามารถตรวจสอบรายละเอียดอาการเสีย ลิงก์รูปถ่าย พร้อมใส่ความคิดเห็น (Comments) และคลิกปุ่ม Approve หรือ Reject ได้ทันที

Step 8: การตอบรับการอนุมัติผ่านอีเมล Outlook
- เมื่อมีการส่งแบบฟอร์มเข้ามา ผู้อนุมัติที่ถูกระบุไว้จะได้รับอีเมลการ์ดขออนุมัติ (Actionable Message) ใน Outlook ทันที

- ผู้อนุมัติสามารถอ่านรายละเอียดปัญหา วันที่แจ้ง และคลิกลิงก์เพื่อตรวจสอบรูปถ่ายอาการเสียได้จากในอีเมล
- คลิกปุ่ม Approve (หรือ Reject)
- (Optional) กรอกความคิดเห็นเพิ่มเติมในช่อง Comments
- คลิกปุ่ม Submit เพื่อส่งผลการตัดสินใจเข้าสู่ระบบ

Step 9: ตรวจสอบสรุปผลการอนุมัติใน Power Automate (Run History)
- เนื่องจากตั้งค่าเป็น Everyone must approve ระบบจะรอให้ผู้อนุมัติทุกคนที่ระบุไว้ในช่อง Assigned to กดอนุมัติครบทุกคนก่อน จึงจะเปลี่ยนสถานะ Flow เป็นทำงานสำเร็จ
- เข้าไปที่หน้า Power Automate เปิดดูประวัติการรันในหัวข้อ Run history แล้วคลิกเลือกรายการที่ทำงานสำเร็จ (Succeeded)
- คลิกเปิดดูรายละเอียดของ Action Start and wait for an approval ในกล่อง OUTPUTS จะพบสรุปผลดังนี้:
- Response summary: แสดงรายชื่อผู้อนุมัติทุกคนพร้อมคำตอบ เช่น Approver: Phornchita Silaon [Nut] -> Response: Approve และ Approver: Test02 FusionSoft -> Response: Approve
- Outcome: แสดงสถานะรวมของการอนุมัติ เป็น Approve, Approve (อนุมัติสมบูรณ์)
- Completion date: แสดงวันและเวลาที่กระบวนการอนุมัติของทุกคนเสร็จสิ้นสมบูรณ์

ขั้นตอนการสร้างและใช้งานระบบอนุมัติแบบ First to Respond
Step 1: ตั้งค่าประเภทการอนุมัติเป็น First to Respond
- ในหน้าสร้าง Flow ของ Power Automate (ต่อจาก Trigger When a new response is submitted และ Action Get response details) ให้เพิ่ม Action Start and wait for an approval
- ในช่อง Approval type: ให้คลิกเลือกตัวเลือก Approve/Reject – First to respond (ระบบจะส่งคำขอไปยังผู้อนุมัติทุกคนที่ระบุพร้อมกัน แต่ขอเพียงมี คนใดคนหนึ่ง กดอนุมัติหรือปฏิเสธคนแรก ระบบจะจบกระบวนการทันทีโดยไม่ต้องรอคนอื่น)

- Title: กำหนดชื่อเรื่องคำขออนุมัติ เช่น มีรายการแจ้งซ่อมใหม่: ตามด้วย Dynamic content ประเภทอุปกรณ์ และระดับความเร่งด่วน
- Assigned to: ใส่ระบุอีเมลของผู้อนุมัติหลายๆ คน (เช่น ทีมช่างหรือฝ่าย IT หลายคน) โดยใช้เครื่องหมาย ; คั่นระหว่างอีเมล
- Details: กรอกรายละเอียดข้อมูลคำขอ เช่น ผู้แจ้ง, อาการเสีย, วันที่แจ้ง และลิงก์รูปถ่าย
- กดปุ่ม Save บริเวณมุมบนขวา
Step 2: การทำงานของระบบเมื่อมีคำขอแจ้งซ่อมเข้ามา
- เมื่อผู้ใช้งานกรอกข้อมูลแจ้งซ่อมผ่าน Microsoft Forms ระบบ Power Automate จะเริ่มรัน Flow ทันที โดยแสดงสถานะ Your flow is running… ในหน้า Flow designer
- ระบบจะส่งอีเมลการ์ดขออนุมัติ (Actionable Message) ไปยังกล่องข้อความ Outlook ของผู้มีสิทธิ์อนุมัติทุกคนในกลุ่มพร้อมกัน

Step 3: การตอบรับคำขอของผู้อนุมัติคนแรก
- ผู้อนุมัติคนใดคนหนึ่งที่เห็นอีเมลแจ้งเตือนก่อน สามารถตรวจสอบรายละเอียดอาการเสีย
- คลิกปุ่ม Approve (หรือ Reject) เพิ่มความคิดเห็นในช่อง Comments แล้วกด Submit เพื่อตัดสินใจได้ทันที
- เมื่อผู้อนุมัติคนแรกส่งคำตอบแล้ว การ์ดขออนุมัติในกล่องข้อความของผู้มีสิทธิ์อนุมัติคนอื่นๆ จะถูกอัปเดตสถานะอัตโนมัติว่ามีผู้ดำเนินการเรียบร้อยแล้ว

Step 4: ตรวจสอบผลลัพธ์ใน Power Automate (Run History)
- เข้ามาตรวจสอบที่หน้า Run history ของ Power Automate จะพบสถานะเป็น Succeeded
- เมื่อคลิกเปิดดูในกล่อง OUTPUTS ของ Action Start and wait for an approval จะแสดงผลสรุปดังนี้:
- Response summary: แสดงรายชื่อและอีเมลของผู้อนุมัติคนที่กดตอบกลับคนแรก เช่น Approver: Test02 FusionSoft -> Response: Approve
- Outcome: แสดงผลการอนุมัติเป็น Approve
- Completion date: บันทึกวันและเวลาที่ผู้อนุมัติคนแรกกดตอบกลับสำเร็จ

ขั้นตอนการสร้างระบบส่งแจ้งเตือนการอนุมัติ (Approve / Reject)
Step 1: เพิ่มเงื่อนไขตรวจสอบการอนุมัติ (Condition)
- ในหน้า Power Automate Designer (ต่อจาก Action Start and wait for an approval) ให้กดปุ่ม + New step
- ค้นหาและเลือก Control ชื่อ Condition
- ตั้งค่าช่องเงื่อนไขดังนี้:
- ช่องซ้าย: เลือก Dynamic content ชื่อ Outcome (จากขั้นตอน Start and wait for an approval)
- ช่องกลาง: เลือกเงื่อนไขเป็น is equal to
- ช่องขวา: พิมพ์คำว่า Approve
Step 2: ตั้งค่าฝั่งอนุมัติผ่าน (If yes)
- ในกล่อง If yes คลิก Add an action เลือก Action Send an email (V2) ของ Outlook
- To: ใส่ Dynamic content อีเมลของผู้แจ้งซ่อม (Responders’ Email หรือ อีเมลผู้ส่งจากฟอร์ม)
- Subject: ระบุหัวข้ออีเมล เช่น ได้รับข้อมูลการแจ้งซ่อม [ประเภทอุปกรณ์] ของคุณแล้ว
- Body: กรอกข้อความยืนยันการรับเรื่อง เช่น เราได้รับข้อมูลการแจ้งซ่อมอุปกรณ์ของคุณเรียบร้อยแล้ว ขณะนี้เรื่องกำลังถูกส่งต่อไปยังทีมช่างที่เกี่ยวข้อง… พร้อมแนบรายละเอียดคำขอ

Step 3: ตั้งค่าฝั่งปฏิเสธคำขอ (If no)
- ในกล่อง If no คลิก Add an action เลือก Action Apply to each (หรือ Send an email (V2))
- ตั้งค่าการส่งอีเมลแจ้งผลปฏิเสธไปยังผู้แจ้งซ่อม:
- Subject: ระบุหัวข้อ เช่น แจ้งผลการตรวจสอบ: รายการแจ้งซ่อม [ประเภทอุปกรณ์] ไม่สามารถดำเนินการได้
- Body: ระบุข้อความปฏิเสธ พร้อมดึง Dynamic content ชื่อ Comments (ความคิดเห็นจากผู้อนุมัติ) มาแสดงเป็นเหตุผลในการปฏิเสธคำขอ
- คลิกปุ่ม Save เพื่อบันทึก Flow

Step 4: ทดสอบกรณีปฏิเสธคำขอ (Reject Case)
- เมื่อมีรายการแจ้งซ่อมส่งเข้ามา ผู้อนุมัติทำการตรวจสอบผ่าน Microsoft Teams หรือ Outlook

- กรอกเหตุผลในช่อง Comments (เช่น ภาพที่แนบมาไม่ชัดเจน และไม่ได้ระบุหมายเลขเครื่อง…) แล้วกดปุ่ม Reject

- เงื่อนไขใน Condition จะประมวลผลได้ค่าเป็น false ระบบจะวิ่งเข้าฝั่ง If no

- ผู้แจ้งซ่อมจะได้รับอีเมลแจ้งผลปฏิเสธการดำเนินการ พร้อมเหตุผลประกอบทันที

Step 5: ทดสอบกรณีอนุมัติผ่าน (Approve Case)
- เมื่อมีรายการแจ้งซ่อมใหม่ ผู้อนุมัติกรอกความเห็นและกดปุ่ม Approve

- เงื่อนไขใน Condition จะประมวลผลได้ค่าเป็น true ระบบจะวิ่งเข้าฝั่ง If yes

- ผู้แจ้งซ่อมจะได้รับอีเมลยืนยันว่าเรื่องได้รับการอนุมัติ และกำลังอยู่ระหว่างดำเนินการโดยช่างผู้เชี่ยวชาญ

ข้อจำกัดเรื่อง Timeout ของระบบขออนุมัติ
หนึ่งในข้อควรระวังที่สำคัญที่สุดสำหรับมือใหม่ในการใช้งานระบบอนุมัติคือเรื่อง “ระยะเวลาการรออนุมัติ (Approval Timeout)”
ข้อควรรู้เรื่อง Timeout:
- ตัว Action การอนุมัติ จะมีระยะเวลาในการรอการตอบกลับจากผู้อนุมัติได้ สูงสุดไม่เกิน 30 วัน เท่านั้น
- หากครบ 30 วันแล้ว หัวหน้างานยังไม่ได้กด Approve หรือ Reject ตัวเวิร์กโฟลว์จะขึ้นสถานะ TimedOut (ล้มเหลว) ทันที
- แนวทางแก้ไข: ควรตั้งค่าระบบแจ้งเตือนเตือนซ้ำ (Reminder) หากไม่มีการตอบกลับภายใน 3-5 วัน หรือตั้งค่าฝั่ง Configure run after ให้ระบบส่งอีเมลแจ้งเตือน Admin เมื่อเกิดเหตุการณ์ Timeout ขึ้น
การสร้างระบบขออนุมัติด้วย Power Automate Approvals ถือเป็นก้าวสำคัญที่ช่วยเปลี่ยนผ่านองค์กรเข้าสู่ระบบการทำงานแบบดิจิทัลอย่างเต็มรูปแบบ ช่วยลดเวลาในการรอเอกสาร ลดการใช้กระดาษลงได้ 100% แถมยังช่วยให้สามารถตรวจสอบประวัติการอนุมัติย้อนหลังได้อย่างโปร่งใสและแม่นยำ
Q&A: คำถามที่พบบ่อยเกี่ยวกับระบบอนุมัติ (FAQ)
Q1: ผู้อนุมัติจำเป็นต้องมีไลเซนส์ Power Automate แบบเสียเงินเพื่อกดอนุมัติงานหรือไม่?
A: ไม่จำเป็นค่ะ ผู้อนุมัติที่มีไลเซนส์ Microsoft 365 มาตรฐาน สามารถรับการแจ้งเตือนและกดปุ่ม Approve หรือ Reject ผ่านอีเมล Outlook หรือแอปพลิเคชัน Microsoft Teams ได้ทันทีโดยไม่มีค่าใช้จ่ายเพิ่มเติมค่ะ
Q2: หากต้องการทำระบบขออนุมัติแบบหลายชั้น (Multi-level Approvals) เช่น หัวหน้าอนุมัติก่อน แล้วค่อยส่งต่อให้ฝ่าย HR ต้องทำอย่างไร?
A: คุณสามารถเพิ่ม Action Start and wait for an approval ต่อกันเป็นลำดับขั้นได้ค่ะ โดยวางกล่องอนุมัติชุดแรกสำหรับหัวหน้างานไว้ก่อน เมื่อฝั่ง Condition ตรวจสอบว่าผลลัพธ์เป็น Approve แล้ว ในฝั่ง If Yes ให้ใส่กล่องอนุมัติชุดที่สองส่งหาฝ่าย HR ต่อได้เลยค่ะ
Q3: ถ้าหัวหน้างานกดอนุมัติผ่านโทรศัพท์มือถือ ข้อความความคิดเห็น (Comments) จะถูกบันทึกเข้าระบบด้วยไหม?
A: บันทึกครบถ้วนค่ะ ไม่ว่าจะกดอนุมัติผ่าน Outlook บนสมาร์ตโฟน แอป Teams หรือหน้าเว็บ ข้อความ Comments ที่ผู้อนุมัติพิมพ์แทรกเข้ามา จะถูกเก็บบันทึกไว้ใน Dynamic Content ชื่อ Responses Comments ซึ่งสามารถนำไปบันทึกลงฐานข้อมูลหรือส่งต่อทางอีเมลได้ตามปกติค่ะ
Q4: สามารถยกเลิก (Cancel) คำขออนุมัติที่ส่งไปแล้วได้หรือไม่ หากพนักงานพิมพ์ข้อมูลผิด?
A: ทำได้ค่ะ สามารถเข้าไปที่เมนู Approvals ด้านซ้ายมือของแพลตฟอร์ม แล้วเลือกรายการในหมวด History / Sent จากนั้นกดปุ่ม Cancel approval เพื่อยกเลิกคำขอนั้นได้ทันทีค่ะ
Q5: หากต้องการส่งการ์ดอนุมัติที่มีปุ่มกดยืนยันเข้าไปในช่องแชตส่วนตัวของหัวหน้าใน Microsoft Teams โดยเฉพาะ ต้องใช้ Action ไหน?
A: สามารถใช้ Action คู่กันคือ Create an approval (เพื่อสร้างรายการอนุมัติและเอาค่าลิงก์/การ์ด) ร่วมกับ Action Post adaptive card in a chat or channel ของ Microsoft Teams เพื่อส่งการ์ดอนุมัติแบบโต้ตอบได้เข้าแชตส่วนตัวของหัวหน้าได้ทันทีค่ะ