Process Automation DesignerとPlaybookExperienceで業務手順書のいらない世界へ

本記事はServiceNow アドベントカレンダー2023 12日目の記事です
https://qiita.com/advent-calendar/2023/servicenow

# 本記事のサマリ
本記事では、企業間のワークフローを一つのプロセスに統一し、そのプロセスを可視化するための強力なツール、ServiceNowのProcess Automation Designer（PAD）とPlaybook Experience（PE）について紹介します。

具体的な使用例として、クリスマスギフト配送業務のプロセスを可視化するアプリの作成を通じて、これらのツールの設定方法や動作を実際にご紹介します。

さらに、PADとPEを活用することで、サイロ化された組織や複数部門にまたがるプロセスを一つに結びつけ、エンドツーエンドで管理できるメリットや、業務手順書を不要にする可能性についても探ります。

# Process Automation Designer, Playbook Experienceとは
Process Automation Designer(PAD)とは何か、[Docs](https://docs.servicenow.com/ja-JP/bundle/vancouver-build-workflows/page/administer/process-automation-designer/concept/process-automation-designer.html)にはこう書かれています
> ServiceNow® Process Automation Designer を使用して、プロセスオーナーは、企業間ワークフローを作成し、単一の統一されたプロセスを作成できます。

そして、Playbook Experience(PE)とは何か。[Docs](https://docs.servicenow.com/ja-JP/bundle/vancouver-build-workflows/page/administer/workspace/concept/playbook-ui.html)にはこう書かれています
> Playbook Experience では、ビジネス間のワークフローが可視化され、そのワークフローを完了するために使用される実行可能なタスクが履行者に提供されます。

PADは複数部門が絡むようなワークフローをタスクボードやダイアグラムのUIで整理し、1つのプロセスとして作成し、End to Endでのプロセス管理を可能にするソリューション、PEはそのプロセスをFulfillerに対して可視化するソリューションであるということだと理解しています。

言葉で説明しても伝わりにくいと思いますので、今回作成したアプリを見せながらご紹介します。

# 作成したアプリの紹介
## アプリ概要
クリスマスということで、サンタクロースのクリスマスギフト配送業務のプロセスを可視化するアプリを作ってみました。

ざっくりと今回作ってみたいと考えたプロセスはこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/b5d83d71-d780-9993-24c1-195a02577e0b.png)

保護者の承認を得たうえで、ちゃっかり最後請求して終わります。途中、購買部門と配送部門のタスクが並行で走るというプロセスも表現してみました。

次に構成イメージです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/90148bf8-b077-9a7f-0b6d-a2802d94546f.png)


今回作成したテーブルは大きく2種類。子どもたちからのリクエストを管理するリクエストテーブルと、関係部門が作業するタスクテーブル。今回は紹介のためのプロト作成だったのでリクエストテーブルの方にのみPADとPEを活用してみました。

## PADとPEの設定
設定した内容をざっくりとお伝えします。NowLearningにハンズオン形式のコースがありますので、詳しい手順はそちらをご覧ください。

まずは、PADです。
最初にプロセス名を定義し、トリガー条件を設定します。今回はレコード作成時に起動するようにしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/1e9f5412-55cb-ebd5-7330-0d7435328134.png)

次に、StartとEndが矢印で繋がったものだけがあるキャンバスが表示されるので、ステージやアクティビティを配置していきます。なお、画像のようなダイアグラムのビューはVancouverでリリースされたもので、それ以前はタスクボードのビューでのみ設定できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/74e873d0-f133-2241-916c-80b04e1d47d5.png)

そして今回作成したものがこちら。（どうしても横に長くなってしまうので、コンパクトに表示できるようなアップデートがあればいいな）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/ccce4197-12e2-c3fc-18d3-bd056bacd329.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/057b03ac-2b61-c391-8512-bd0c3884ddc4.png)

配置できるアクティビティの種類はたくさんありますが、今回使ったのは「User Form」「Request Manager Approval」「Automated Create Record」「Automated Update Record」「Wait for Condition」「Send Email」です。それぞれ細かく仕様を設定することもできますし、Flow Designerで作成したサブフローを呼び出したり、アクティビティ自体を作ることができたりと、かなり自由度が高そうです。

最後に、このプロセスをPlaybookとして表示するための設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/f954198f-b71d-a78c-7bbc-5f881bb4a6aa.png)


## アプリの画面の紹介
それでは、実際にアプリを動かした時の画面をピックアップで紹介したいと思います。
まずはリクエストが起票された後の画面。Playbookに定義したステージが表示され、メイン画面には今やるべきアクティビティの内容が表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/17a2c46f-b2e9-2df1-f937-5132035b8af9.png)

アクティビティが完了すると、定義した順に沿ってプロセスが進んでいきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/165dcd5d-d67f-35a7-72b1-5448525db726.png)

「ギフト調達」～「請求」のステージでは、関連部門のタスク実行になるので、それぞれのタスクのステータスやアサインの値を見てプロセスが進むようになっています。
▼ギフト調達タスクのステータスがOrderedになったので、最初のアクティビティが完了し、次に進んだ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/0eb97b2d-8d76-084c-3698-8aad8fdc239d.png)

最後のメール送付のアクティビティは、件名や本文を修正して送付することもできます（もちろん自動で送付する仕組みとして定義しておくこともできます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634581/52507398-8e11-777c-821a-3b4bf76b752f.png)

# PADとPEのメリット

ここまでご覧いただき、**サイロ化された組織、複数部門にまたがるプロセスをひと繋ぎにしてEnd to Endで管理できる**、というのがイメージを掴んでいただけましたでしょうか。そこまで行くのは難しくても、例えば業務手順書にServiceNowの操作を含めて記載するというケースがあれば、むしろ逆に**ServiceNowのPlaybookに業務手順書を落とし込み、手順書のいらない世界を作る**ことができると思います。Platform UIでは、誰が次に何をするのか分かりにくいという課題はよくあるのではないでしょうか。ぜひWorkspaceとPAD,PEを触ってみてください。

# 参考
▼Nowlearning
[Introduction to Playbooks and Process Automation Designer](https://nowlearning.servicenow.com/lxp/en/now-platform/introduction-to-playbooks-and-process-automation-designer?id=learning_course_prev&course_id=2fefcf47471cf95890542034846d4360)
[Playbooks and Process Automation Designer Fundamentals](https://nowlearning.servicenow.com/lxp/en/now-platform/playbooks-and-process-automation-designer-fundamentals?id=learning_course_prev&course_id=632197cbc35c31945c1b9ab4e40131fa)
▼Youtube
[Platform Academy Session #20 - July 7th, 2022 - Getting Started with Process Automation Designer](https://www.youtube.com/watch?v=E3iVcEpsOjc)