你是否曾經想過,要將自己的工作內容或部門某些作業流程進行自動化呢?
RPAI 數位優化器先前分享我們如何協助知名外商科技公司的人資同仁 Hugo 透過導入 RPA 進行業務流程自動化,協助其處理面試信件寄送、安排會議等事宜。今天,接著分享的是我們如何透過 UiPath 來完成這個專案並滿足 Hugo 的需求,以及自動化流程開發過程中所遇到的問題與解決方法分享!
小提醒:建議你先閱讀以下這篇文章,才能夠對本次專案內容有更多理解!
RPA 專案|面試邀約信也能 RPA?人力資源流程自動化經驗分享
在開始閱讀正文之前,也別忘了先追蹤我們的 臉書粉絲專頁 與 方格子帳號!
前言
原先的工作流程中,Hugo 有一個 Excel 活頁簿,裡面記錄了公司希望邀約面試者的所有資訊(資料欄位請見圖一),他與這些面試者聯繫並敲定面試時間後,就會使用 Outlook 來安排會議時間,並撰寫一封正式的電子郵件,裡面包含姓名、面試職缺、面試時間、公司簽署文件、專屬會議連結等重要資訊,再個別寄出給所有面試者。
可想而知的是,雖然電子郵件有固定的模板可以使用,然而 Hugo 必須先在 Excel 找到該位面試者的資訊,然後不斷在多個畫面視窗之間進行切換、複製、貼上,接著再切換,再複製、再貼上,來完成每一封客製化的電子信件,尤其求職季一到,Excel 中有海量的面試者資料,Hugo 在反覆複製、貼上的過程中若是少打一個英文字母,或是遺漏任何一筆資料,都會造成後續作業上的麻煩,因此也非常考驗他個人的專注力與細心程度,更別提每月需要花 7 - 8 小時來處理這些重複而相對繁瑣的工作。
總結來說,Hugo 平時與面試者預約面試時間的流程大致分為三個主要步驟,本次專案的開發重點在第二點和第三點。這次我們所使用的 UiPath 版本為 2022.10.3:
- 將公司希望邀約面試者的資料輸入於 Excel 中
- 透過 Outlook 產生每個面試者的專屬會議連結
- 將會議連結與健康調查問卷等三個附件寄出給面試者
圖(一)為資料欄位示意圖。
依序為面試日期、應徵職缺、隸屬哪一個團隊、面試起始時間、面試結束時間 、中文姓名、英文姓名、手機、電子信箱、教育程度、工作經歷、備註、寄信與否和會議連結。
如果你也想開始學習 RPA,踏出邁向流程自動化的第一步,
歡迎加入「零基礎快速學習 RPA-利用 UiPath 建構自動化機器人」線上課程!課程優惠只到 2024 年 2 月 5 日,歡迎點擊連結了解看看:https://mastertalks.tw/products/rpa-uipath?ref=RPARPA
挑戰一:從 Outlook 改用 Microsoft Teams
圖(二)是全部流程概要,在主要流程(Main Sequence)中分成兩個小流程(Sequence),分別有各自的迴圈,為了判斷新、舊資料因此也加入 If 的流程控制,來判斷 Sent 欄位和 Teams Link 欄位是否有被註記。
首先,我們要解決的第一個問題是:如何利用 UiPath 在 Outlook 預約會議,並且把會議連結分享給面試者。
1.a UiPath 中原本就有提供相關的功能和套件,例如:Microsoft Team Scope(需要先下載 Packages - Microsoft Team)、Calender(需要先下載 Packages - Microsoft Office 365),不過由於 Microsoft Azure 需要付費才能取得金鑰並將 UiPath 跟 Azure 進行串聯,所以現階段較無法採取這個做法。
因此,我們在流程設計時選擇改用 Microsoft Teams 中提供的行事曆功能,來取代 Outlook 進行預約面試,並且使用 UiPath 的 Selector 功能,搭配 Start Process、Click、Type Into、Click Image 等功能來完成預約時間並產生會議連結的流程開發。
比較特別的是,我們也考量到每個應用程式在執行時,每台電腦記憶體容量的效能不同,開啟應用程式可能會需要等待幾秒鐘時間、Type Into 也會需要一點時間,因此我們也在每一個 Activity 之間插入了 Delay 這項功能,來增加動作和動作之間的時間差,以確保每個動作能夠完整地被執行。
1.b 我們將 Excel 表中原本的面試時間欄位,從單一儲存格格式「09:00 - 10:00」修改成兩個儲存格欄位(請見圖一的「From」和「To」)。這樣做除了讓 RPA 機器人得以擷取時間點資訊,並輸入到 Microsoft Teams 之外(如圖三),由於 Excel 儲存格是時間格式,因此 UiPath 讀取進來後,還必須轉成文字格式,才能讓 Type Into 順利執行。
由於我們是使用 Selector 的方式圈選、定位,非常仰賴應用程式的一致性,發現 Microsoft Team的介面會因為註冊的帳號不同有所不同,圖(三)為這次設計時所用的 Microsoft Team介面。
挑戰二:如何讓 RPA 自動完成客製化信件
接下來,第二個部分的問題是我們要如何利用 UiPath 所具備的功能,讓機器人將 Excel 的各個欄位內容複製,並於信件內容的對應欄位中貼上呢?
而下圖四的反灰文字代表變數,會自動對應到 Excel 的各個欄位,而 UiPath 在執行流程時,就會根據 Excel 中每一列內容自動帶入,完成客製化信件內容。
流程開發延伸討論
基本上,我們克服了以上兩點挑戰之後,所開發出的 RPA 機器人就已經可以達到 Hugo 原先的需求,不過我們也想和各位過程中值得討論的幾個開發問題:
- 告訴 UiPath 哪些面試者的信件已經寄出:
我們先前都只針對的是單一列(也就是單一面試者)的情況進行說明,接著利用 For Each Row in DataTable 功能才得以製造迴圈並且完成批量工作。
不過,業主原先的習慣就是從頭到尾只使用一個 Excel 活頁簿,因此在流程規劃上,我們也必須要讓 UiPath 區分每次執行機器人時,哪些面試者的信件已經寄出,而哪些又是機器人接下來需要處理的資料。
因此,我們新增了兩個欄位「Sent」和「Team Link」,作為 IF 流程控制的判斷標準,讓機器人得以判斷哪些面試者的信件尚未寄出,請見圖一。
2. 一次產生所有會議連結,再一次寄出所有信件
另外,我們在流程開發的過程中,也開始從另一個角度去思考如何執行自動化流程:要讓 UiPath 一次產生所有面試者的專屬會議連結,再一次全部寄出信件?還是一次產生一個面試者的會議連結並且寄出信件,接著在處理第二個面試者的會議連結與信件呢?我們目前無法從官方文件得知,兩種方法背後所需的電腦運算資源會如何分配,也尚未有明確答案,不過我們內部的測試結果發現:前者花的時間其實是比較少的,因此在這次專案中,我們也使用兩個迴圈,讓 UiPath 一次產生所有面試者的專屬會議連結,再一次全部寄出信件,請參考圖二。
3. 人機協作、新增功能以降低操作風險
我們目前完成的人力資源流程自動化機器人其實算是第一個版本,可以想見的是我們可以仰賴 RPA 完成會議連結產生與寄送面試信件,不過要如何做到完全信任電腦同時也降低操作風險,因此我們除了可以多做一些防呆流程,例如透過人機協作,由使用者輸入今日需要處理的資料筆數,與機器人計算今日處理的資料筆數進行對照,來確認是否一致,也可加入許多額外功能來提升安全性,因此也期待 Hugo 後續的回饋分享,可以幫助我們持續優化與提升相關功能。
結語與心得
我們認為,這次有機會能夠接觸業界實務,了解實際工作場域的自動化自動化需求,進而完成流程自動化開發,真的是收穫滿滿,而 UiPath 有許多更為精細的功能,很難在這篇文章中交代清楚每個細節,不過身為開發者的我們,還是希望透過這個系列文章的分享,讓大家能了解 RPA 在工作場域上的實際運用與益處。
整體來說,這次專案可為 Hugo 的日常工作帶來以下成效:
- 資料搬運不再出錯:
過去 Hugo 需要在 Outlook 或 Microsoft Team 取得會議連結,先將連結複製並在 Excel 表格中貼上,之後要寄信時,再將連結複製並貼到信件當中,過程中可能會發生內容複製錯誤、貼上時少一個英文字母等種種可能,不過透過 RPA 將此部分流程進行自動化後,資料搬運的出錯機率相較於人力搬運將會降至零。
- 人機協作提升工作效率:
Hugo 與 RPA 機器人一起工作,只要設定成在背景執行,就可以同時在電腦上進行其他工作,或是離開位置去開會等等,甚至下班時間也可以讓電腦自動執行,每月省下的 7 - 8 個小時就可以拿來從事其他創造性、思考性的工作內容任務。
針對這次專案,如果你有其他想進一步了解或討論的部分,都歡迎在底下留言和我們分享或討論,如果你也想在自己的工作流程中導入 RPA 以實現自動化,也都歡迎私訊與我們聊聊,那我們就下個專案見囉!
如果你/妳喜歡這篇文章,歡迎點點愛心或留言,讓我們相互交流和成長!
這次的分享到此告一段落,想了解更多 RPA + AI 與數位轉型的最新趨勢與觀點、RPA 軟體功能介紹及實務應用案例,也歡迎追蹤 RPAI 數位優化器的社群和我們交流互動,我們下次見!
🚀 Instagram:RPAI 數位優化器
🚀 臉書粉絲專頁:RPAI 數位優化器
🚀 YouTube 頻道:RPAI 數位優化器