目次
- はじめに
- オファーレターの作成&送信プロセスの全体像
- 【STEP4】プロセスを開始させるトリガフォームの作成
- 【STEP5】オファーレター送信の承認フォームの作成
- 【STEP6】オファーレターを作成するためのRPAの作成
- 【STEP7】オファーレターを送信するためのRPAの作成
- おわりに
はじめに
近年の日本では、労働人口が減少したり、働き方改革により労働時間が削減されたりするなかで、Business Process Automation(BPA:業務プロセスを自動化)やRobotics Process Automation(RPA:単純作業をボットによって代行)を活用した業務の省力化・自動化が注目されています。
今回は、SAPが提供するBPA・RPAツールであるSAP Build Process Automationを使って、オファーレター作成から配布までの業務プロセスの自動化の例をご紹介します。
前回のブログでは、SAP Success Factorsからデータを取得するRPAの作成と、そのための準備として、STEP1~STEP3までをご紹介しました。本ブログでは、実際にプロセスを構築するSTEP4~STEP7を紹介していきます。
第1回:SAP Build Process Automation オファーレター作成&配布の自動化 【概要編】
第2回:SAP Build Process Automation オファーレター作成&配布の自動化 【チュートリアル編② アクションの準備と作成】
参考レベル:今までにSAP Build Process Automation(旧 SAP Process Automation)を触ってみたことがある方
事前準備:第2回のブログに沿って作業を完了していること
オファーレターの作成&送信プロセスの全体像
今回、SAP Build Process Automationを活用して構築するプロセスは以下の画像の通りです。
まず、①フォームの送信によってプロセスが開始されると、②人事システムであるSAP SuccessFactorsよりAPIを使用して候補者のデータを取得します。③続いて、候補者の情報をもとに、承認依頼が配属される部署のマネージャーへ送られます。承認された場合には、④Wordでオファーレターが作成され、⑤Outlookによって、オファーレターが添付された形で候補者へとメールが送信されます。また、却下された場合には、④-2申請者のもとに却下通知が送られてきます。
オファーレターの作成から配布までのプロセス自動化を構築するために、上記の7つのステップを行う必要があります。第3回の本ブログでは、STEP4~STEP7の各作業について紹介します。
STEP4~STEP7の作業では、候補者データを取得してから候補者にオファーレターを配布するまでの一連のプロセスを構築していきます。それでは、STEP4から順に各作業について説明します。
【STEP4】プロセスを開始させるトリガフォームの作成
SAP Build Process Automationでは、プロセスはAPIやフォームによって開始されます。今回は、申請者がフォームを送信することで、一連のプロセスが開始されます。フォームでは、自身の名前やメールアドレス、オファーレターを出す候補者のIDを入力します。
トリガのブロックの右上の +ボタン > フォーム > 新規フォームを選択します。入力画面が表示されるので、名前と説明に任意の値を入力します。(フォーム名の例:SendOfferLetterForm)
*名前を日本語で入力した場合は、英数字でIDを入力してください。
フォームが作成されたので、3点ドット > エディタを開く を選択します。フォームを編集するエディタが開くので、以下の内容に基づいて、左側のタブからブロックをドラッグ&ドロップし、値を入力します。
ドラッグ&ドロップするブロック | 値 |
見出し1 | オファーレター送信依頼 |
段落 | あなたの名前とメールアドレスを入力してください。 |
テキスト | Name |
テキスト | |
段落 | 承認者の名前とメールアドレスを入力してください。 |
テキスト | Approver Name |
テキスト | Approver email |
段落 | オファーレターを出す候補者のIDを入力してください。 |
テキスト | Candidate id |
*テキストの値はすべて英語で入力してください。
実際に、こちらのフォームが送信されると、まず、「Get entities form JobApplication」のブロックで、候補者の情報を取得します。「Get entities form JobApplication」はすでにSTEP3で作成したので、入力のみ設定します。
ここでCandidateIDの項目には、トリガとなるフォームで入力する候補者ID Candidate idを選択します。
【STEP5】オファーレター送信の承認フォームの作成
候補者情報を取得したら、それらの情報に基づいて上司に承認依頼を送る承認フォームを作成します。承認フォームを使うことで、承認または拒否で後続のプロセスを分岐することが可能になっています。
「Get entities form JobApplication」から出ている矢印上の+ボタン > 承認 > 新規承認フォームを選択します。入力画面が表示されるので、名前と説明に任意の値を入力します。(承認フォーム名の例:Approval Form)
*名前を日本語で入力した場合は、英数字でIDを入力してください。
承認フォームが作成されたので、3点ドット > エディタを開く を選択します。承認フォームを編集するエディタが開くので、以下の内容に基づいて、左側のタブからブロックをドラッグ&ドロップし、値を入力します。ここで、すべてのテキストブロックの読込専用をチェックしてください。
ドラッグ&ドロップするブロック | 値 |
見出し1 | オファーレター送信依頼 |
段落 | 以下の候補者に対するオファーレターの送信を承認しますか。 |
テキスト | Candidate Name |
テキスト | Position Title |
テキスト | Base Salary |
*テキストの値はすべて英語で入力してください。
承認フォームが作成されたので、件名と送信者、入力情報の設定を行います。プロセスのダッシュボードに戻り、以下の内容を入力または選択します。
項目 | 値 |
件名(一般) | オファーレター送信の承認依頼 |
ユーザ(一般) | Approver email |
Base Salary(入力) | Salary |
Candidate Name(入力) | Name |
Position Title(入力) | Position Title |
【STEP6】オファーレターを作成するためのRPAの作成
続いて、承認フォームが承認された場合の後続のステップとして、オファーレターの作成を行うRPAを作成します。今回のデモでは、オファーレターは、Wordを使用して作成します。
事前にオファーレターのテンプレートを準備し、名前や住所などの候補者の情報と、ポジション名や給与などのオファー内容を、候補者ごとのデータに置換して、オファーレターを作成します。作成するRPAのフローは以下の通りです。
まずは、各ブロックの機能について以下の表をご覧ください。まず、Wordを起動し、事前に作成したテンプレートのWordファイルを開きます。そして、11か所の項目(例:[NAME])において、SAP Success Factorsより取得した候補者のデータで置換を行います。そして、作成したオファーレターをPDFとして保存、Wordを終了します。
ドラッグ&ドロップするステップ | 簡単な説明 |
Open Word Instance | Wordの起動 |
Open Document(Word) | Wordドキュメントのオープン |
Replace All(Word)
*x11ドラッグ&ドロップします |
指定した言葉をすべて置換 |
Save As PDF(Word) | PDFとしてファイルを保存 |
Close Document(Word) | Wordドキュメントのクローズ |
Close Word Instance(Word) | Wordの終了 |
まずは、検索窓を利用しながら、上記の表のブロックをRPAのフロー上に追加していきます。続いて、このプロセスの入力パラメータおよび出力パラメータを以下の内容で設定します。
名前 | タイプ | |
入力パラメータ | CandidateInfo | CandidateInformation |
入力パラメータ | Manager | 文字列 |
出力パラメータ | FilePath | 文字列 |
それでは、各ブロックのパラメータを設定していきます。ひとつ目は、Open Document(Word)です。ここでは、テンプレートのファイルのパスを指定します。テンプレートファイルについては、こちらからダウンロードしてください。
続いて、Replace All(Word)による文字列の置換です。ここでは、11つすべてのブロックに対して、以下の表にもとづいて設定を行います。
ステップ名 | oldString | newString |
Date | Replace All (Word) | [[DATE]] | new Date().getDate().toString() + “.” + (new Date().getMonth() + 1).toString() + “.” + new Date().getFullYear().toString() |
Name | Replace All (Word) | [[NAME]] | Step0.CandidateInfo.Name |
Address | Replace All (Word) | [[ADDRESS]] | Step0.CandidateInfo.Address |
City | Replace All (Word) | [[CITY]] | Step0.CandidateInfo.City |
Country | Replace All (Word) | [[COUNTRY]] | Step0.CandidateInfo.Country |
Zip | Replace All (Word) | [[ZIP]] | Step0.CandidateInfo.Zip |
President | Replace All (Word) | [[PRESIDENT]] | “佐藤 一郎” |
Position | Replace All (Word) | [[POSITION]] | Step0.CandidateInfo.PositionTitle |
Manager | Replace All (Word) | [[MANAGER]] | Step0.Manager |
SALARY | Replace All (Word) | [[SALARY]] | Step0.CandidateInfo.Salary |
Join | Replace All (Word) | [[JOIN]] | “2023/4/1” |
*newStringの項目は、すべて編集エディタを開いて入力してください。
続いて、Save As PDF(Word)ブロックの入力パラメータを設定します。ここでは、PDFを保存するパスを指定します。オファーレターの送信を行うRPAでもこのパスを使用します。
最後にClose Document(Word)です。ここで、テンプレートのWordファイルは、再度テンプレートとして使用するため、保存せずにドキュメントを閉じます。has ToBeSavedはfalseに設定します。
また、ここでRPAの出力パラメータの値を設定する必要があります。フローの一番最後のEndを選択し、先ほどSave As PDFブロックで指定したパスと同じパスを入力します。
以上で、オファーレターを作成するRPAが完成しました。最後にプロセスの入力を設定します。下図のようにCandidateInfoについては、候補者データを取得するRPAの出力をそれぞれ選択し、Managerはトリガのフォームの出力を選択します。
【STEP7】オファーレターを送信するためのRPAの作成
続いて、オファーレター作成の後続のステップとして、オファーレターの送信を行うRPAを作成します。今回のデモでは、オファーレターはOutlookを使用して作成します。ひとつ前のステップで作成したオファーレターを添付したメールを候補者に送信します。
まずは、各ブロックの機能について以下の表をご覧ください。まずOutlookを起動し、候補者にオファーレターを添付したメールを送信します。最後にOutlookを終了します。
ドラッグ&ドロップするステップ | 簡単な説明 |
Open Outlook Instance | Outlookの起動 |
Send Email(Outlook) | Outlookのメールの送信 |
Release Outlook Instance | Outlookの終了 |
まずは、検索窓を利用しながら、上記の表のブロックをRPAのフロー上に追加していきます。続いて、このプロセスの入力パラメータおよび出力パラメータを以下の内容で設定します。
名前 | タイプ | |
入力パラメータ | FilePath | 文字列 |
入力パラメータ | CandidateName | 文字列 |
入力パラメータ | RecruiterName | 文字列 |
次に、Send Email(Outlook)の送信先や件名、メール本文に関する入力パラメータを以下のように設定します。
項目 | 値 |
From: | “<自身のメール>”
*本来は採用担当者のメールアドレスを入力しますが、デモであるため自身のメールアドレスを入力します。 |
To: | “<自身のメール>”
*本来は採用担当者のメールアドレスを入力しますが、デモであるため自身のメールアドレスを入力します。 |
Subject: | “【株式会社BestRun】選考結果のご連絡” |
Body: | Step0.CandidateName + “様先日はお忙しい中、弊社の採用試験にお越しいただき誠にありがとうございました。ABC株式会社、採用担当の” + Step0.RecruiterName + “です。厳選なる審査の結果、” + Step0.CandidateName + “様の採用内定が決定いたしましたのでここに通知いたします。オファーレターを添付しましたので、ご検どうぞよろしくお願いいたします。” |
Attachments | FilePath |
以上で、オファーレターを送信するRPAが完成しました。最後にプロセスの入力を設定します。下図のようにCandidateNameとFilePathについては、先ほど作成したオファーレター作成のRPAの出力からそれぞれ選択し、RecruiterNameについてはトリガのフォームの出力から選択します。
以上で、全チュートリアルは終了です。お疲れ様でした。
操作イメージおよび完成イメージはこちら。
おわりに
いかがでしたでしょうか。
今回ご紹介したデモは、SAPアプリケーションから情報を取得したり、承認フォームやいくつかのRPAを使用した少し複雑なプロセス自動化ですが、ドラッグ&ドロップを中心にGUI操作で開発ができます。
また、ただ開発コストやハードルを下げるだけでなく、IT部門と業務部門のコラボレーションやガバナンスを向上するための機能も揃っています。
本ブログでは、オファーレターの作成から配布までの業務プロセスの自動化をご覧いただきましたが、手作業や繰り返し作業の自動化、複数システムからのデータの自動集計といったユースケースで、SAP Build Process Automationは、生産性を大きく向上させることが期待できます。