workflow ในการขออนุมัติและสร้าง user ด้วย Apps Script

บทความที่แล้ว เรื่อง แนวทางการใช้ Spreadsheet เป็น Directory ด้วย Google Apps Script เราพูดถึงการใช้ Apps Script เข้ามาช่วยเหลืองาน Google Apps admin ที่เหมาะสมกับองค์กรระดับกลาง โดยการใช้ spreadsheet เข้ามาจัดการ user แทนการจัดการผ่านหน้า control panel โดยตรง

คราวนี้จะเป็นตัวอย่างการใช้ Apps Script ในการจัดการ user ที่น่าจะเหมาะกับองค์กรขนาดเล็กครับ (องค์กรขนาดกลางและใหญ่ อาจจะเหมาะสมในบางโอกาส)

โดยส่วนมากองค์กรขนาดเล็ก มักจะจัดการ user ผ่าน control panel ได้โดยไม่ลำบากมากนัก เนื่องจาก user ไม่ได้เปลี่ยนกันบ่อยๆ แต่กว่าที่ admin จะสร้าง user ขึ้นมาได้ ก็ต้องมีการส่งอีเมลแจ้งรายละเอียดต่างๆ ทั้ง ชื่อ นามสกุล อีเมล มาจากต้นทาง ซึ่งจะแจ้งกันทางอีเมล หรือทางไหนก็แล้วแต่ แต่สุดท้าย admin ก็ต้องมาสร้าง user ด้วยมืออยู่ดี เราจะทดแทนขั้นตอนต่างๆ เหล่านี้ด้วย Apps Script กันครับ

ลองดูแผนภาพขั้นตอนการทำงานด้านล่างนี้ก่อนนะครับ โดยที่ requester คือ user ต้นทางที่มีข้อมูลของพนักงานใหม่ (อาจจะเป็นหัวหน้างาน หรือแผนก HR) ส่วน approver คือ user ที่มีอำนาจตัดสินใจในการสร้าง user ขึ้นมา (อาจจะเป็น manager หรือ admin ของระบบ ก็ได้)

แผนภาพอธิบายขั้นตอนการทำงานของ workflow สำหรับขอสร้าง user ใหม่


จากแผนภาพ สิ่งที่เราต้องเตรียมขึ้นมาบน Apps Script ได้แก่

  1. หน้า GUI ของแบบฟอร์ม สำหรับให้ requester มากรอกข้อมูล
  2. logic ในการส่งอีเมลไปหา approver พร้อมปุ่ม approve
  3. logic ในการสร้าง user account เมื่อมีการกดปุ่ม approve

ออกแบบ ฟอร์ม

ข้อมูลพื้นฐานในการสร้าง user บน Google Apps จำเป็นต้องมีข้อมูลดังนี้
  • first name
  • last name
  • email
  • password
ส่วนหน้ากากฟอร์มสำหรับกรอกรายละเอียดของ user อาจจะมีข้อมูลให้กรอกแค่ firstname กับ lastname ส่วน email เราสามารถเขียน logic เพื่อผสมขึ้นมาจาก firstname และ lastname ได้ และ password ก็สามารถเขียน logic เพื่อ generate password ครั้งแรก ขึ้นมาได้เช่นกัน

ตัวอย่างฟอร์มขอสร้าง user ใหม่ (ในที่นี้จะให้ requester ระบุ email มาด้วยเลย)

ส่วนข้อมูลอื่นๆ เช่น ชื่อตำแหน่ง เบอร์โทรศัพท์ เป็น optional จะไม่มีก็ได้ หรือถ้าต้องใช้ก็สามารถ implement เพิ่มเติมได้

ส่งอีเมลแจ้ง approver

เมื่อมีการ sumit ข้อมูลจาก requester ตัว script จะดึงรายละเอียดต่างๆ พร้อมกับสร้างปุ่ม "Create" ให้ในอีเมล แจ้งไปยัง approver

approver จะได้รับอีเมลพร้อมรายละเอียดของ user และสามารถกดที่ปุ่ม "Create" เพื่อสร้าง user ได้จากอีเมลโดยตรง

กรณีที่ไม่อนุมัติ approver สามารถ reply ไปหา requester ได้โดยตรง แต่หากอนุมัติ approver สามารถ กดปุ่ม "Create" ในอีเมล เพื่อเรียก script ในการสร้าง user ต่อไป

เริ่มสร้าง user

เมื่อ approver กดปุ่ม "Create" จะเป็นการเรียก script ที่ทำหน้าที่สร้าง user โดยใช้รายละเอียดที่อยู่ในฟอร์มมาเป็นข้อมูล และสร้าง user ผ่าน Admin SDK เมื่อ สร้าง user เสร็จเรียบร้อยแล้วจึงส่งอีเมลแจ้งไปยัง requester ให้รับทราบ เพื่อให้ดำเนินการแจ้งข้อมูลกับ user ต่อไป

เมื่อระบบสร้าง user ใหม่เรียบร้อย จะมีอีเมลแจ้งไปยัง requester พร้อมรายละเอียดของ user ที่สร้าง

นี่เป็นอีกตัวอย่างหนึ่งในการใช้ Apps Script เขามาจัดการงานในลักษณะ workflow ที่จะช่วยลดงาน admin ของระบบได้ จะเห็นว่าในกรณีนี้ เราสามารถสร้าง user ใหม่ขึ้นมาได้โดย admin ไม่ต้องทำอะไรเลย ลองดูแนวทางการใช้ Apps Script ในมุมอื่นๆ ได้ที่ ปฏิวัติอุตสาหกรรมในบริษัท ด้วย Google Apps Script

ในการ implement จริงเราสามารถปรับแต่งรายละเอียดต่างๆ ได้ตามความเหมาะสมขององค์กร เช่น เพิ่ม field สำคัญอื่นๆ หรือเพิ่มขึ้นตอนในการ approve และอื่นๆ อีกมากมายครับ


ความคิดเห็น

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การเรียกใช้งาน Google Apps Script

ลดเวลาการเรียก API ใน Apps Script ด้วย fecthAll

ออกแบบระบบให้คุยข้าม module กันได้ ด้วย Pub/Sub