WorkatoにおけるWorkbot for Microsoft Teams利用時の入力パラメータ設定方法

# はじめに
Workatoでは、Workbotを利用して業務ワークフローをTeamsから実行することができます。具体的には、[アダプティブカード](https://learn.microsoft.com/ja-jp/power-automate/overview-adaptive-cards)をポストメッセージとしてTeamsに投稿し、ユーザがボタン操作等を行うことで、Workatoがその操作にトリガーして処理を進めることが可能になります。その際に、入力パラメータを渡すことが可能です。Workatoのレシピへ入力パラメータの受け渡し方法について、2パターンを紹介します。
①. トリガーレシピに入力パラメータを設定する方法
②. アダプティブカード投稿レシピに入力パラメータを設定する方法

# レシピの構成
今回の記事では入力パラメータの設定について紹介するため、シンプルにデータの受け渡しの部分のレシピを作成しました。サンプルレシピは[参考リンク](#参考リンク)に記載しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/b305c563-f84c-be23-6e41-9d85c080d2a6.png)

# トリガーレシピに入力パラメータを設定する方法
オーソドックスな入力パラメータの設定方法となります。
設定にはトリガーレシピとWorkbotを呼び出すレシピの2つを利用します。

### トリガーレシピの設定
1. Workbot for Microsoft Teamsのトリガーで"New command"を選択する
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/84d3f299-eb4e-f60d-d4cb-cbe66e76cdfd.png)
　

2. 入力項目を設定する
    - Command name：コマンド名(必須)
    - Parameters：入力パラメータ

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/f9ed11b4-1733-2e74-07f3-c799b7eb6a3e.png)

    今回サンプルでCommand name、Parametersは下記のように設定します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/d711efaa-825a-4714-64de-b0155a3a983a.png)

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/4463bb26-b067-41e7-7090-40c6dc160b2b.png)

これでトリガーレシピへの設定は以上となります。


### Workbotを呼び出すレシピの設定
Workbotからポストメッセージを送るレシピを作成します。
1. Workbot for Microsoft Teamsのアクションで"Post message"を選択する
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/5f57f46c-3af0-06b8-0d88-713dd988343a.png)
　
2. 入力項目を設定する
    - Message recipient：通知先チャネル(必須)
    - Message：メッセージ内容(必須)

    ※追加のオプション項目もありますが、今回は省略します。

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/ad81fd8a-4861-6f17-4e54-f8d1e7a6965b.png)

    ユーザに入力パラメータを渡すためにTypeは"Text with button"を選択し、Action typeは"Run command"を選択することで、ユーザが任意のタイミングで入力をできます。
また、Submit action commandには「トリガーレシピの設定」で設定した"Command name"の値を入力することで、どのトリガーレシピに連携するか指定できます。
その他の項目は任意の値とします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/ece13331-c16b-24b1-36c3-5b85f6fa5b77.png)
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/615abdd0-9b12-7f30-7b41-4d8d259a962c.png)

    これでWorkbotを呼び出すレシピへの設定は以上となります。
    では、実際にWorkbotを呼び出してみましょう。



### Workbotの呼び出し
Workbotを呼び出すレシピを実行すると、下記のようなメッセージが投稿されます。このタイミングでは入力パラメータの入力は求められません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/df209b14-9fa4-c3f8-4802-0ccd52446e3a.png)


「送信」ボタンをクリックすることで、Workbotから新たなメッセージが投稿されるので、「Next」ボタンをクリックすることで、入力パラメータが求められます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/9887c7a4-16ac-c435-09ce-54f7a7a4519b.png)

トリガーレシピのOutput情報を確認すると、Parameterに入力パラメータが格納されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/13f55a60-c25e-d432-4b1a-04b7cd4a4cae.png)

また、マッピングされているので、"datapill"でNow commandアクションの"Parameters"から選択が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/121ade4b-e004-8db7-3307-7780950e3cd0.png)


# アダプティブカード投稿レシピに入力パラメータを設定する方法
「トリガーレシピに入力パラメータを設定する方法」で入力パラメータは楽に設定できますが、 入力のポップアップを開く必要があるので、どんな入力パラメータがあるのか直観的に分かりづらい部分があります。この方法では投稿するアダプティブカードに入力パラメータを設定することで直観的に分かりやすい設定方法となります。

### トリガーレシピの設定
1. Workbot for Microsoft Teamsのトリガーで"New command"を選択する
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/84d3f299-eb4e-f60d-d4cb-cbe66e76cdfd.png)
　
2. 入力項目を設定する
    - Command name：コマンド名
    - Parameters：入力パラメータ

    今回サンプルでCommand name、Parametersは下記のように設定します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/b7af7fa6-ef81-f804-74c8-fc44c3c03d30.png)
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/d464e0a8-deae-7507-01e4-6209b1872935.png)

これでトリガーレシピへの設定は以上となります。


### Workbotを呼び出すレシピの設定
Workbotからポストメッセージを送るレシピを作成します。
1. Workbot for Microsoft Teamsのアクションで"Post message"を選択する
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/5f57f46c-3af0-06b8-0d88-713dd988343a.png)

2. 入力項目を設定する
    - Message recipient：通知先チャネル
    - Message：メッセージ内容

    ※追加のオプション項目もありますが、今回は省略します。

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/ad81fd8a-4861-6f17-4e54-f8d1e7a6965b.png)

    入力パラメータを設定するためにTypeが"Text input"と"Text with button"のブロックを作成します。今回はtest1、test2というパラメータを設定するため、"Text input"ブロックは2つ作成し、下記のように設定します。

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/4f237972-f45c-abdb-749d-40347aa5fe08.png)


    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/cffb3a1e-2ad4-50e3-305c-2c865ddd4553.png)

### Workbotの呼び出し
Workbotを呼び出すレシピを実行すると、下記のようなメッセージが投稿されます。入力パラメータも表示され、直観的に分かりやすいものとなっています。
このアダプティブカードのテスト1、テスト2に値を設定することで、入力パラメータを設定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/b05e016b-768e-28d0-f454-8b384e114073.png)

トリガーレシピのOutput情報を確認すると、Parameterに入力パラメータが格納されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/1a58aa91-9573-18c5-a55c-3a7538ad814d.png)

# まとめ
まとめると以下のようになります。

Workbot for Microsoft Teamsで入力パラメータを渡す場合、"New command"のトリガーレシピで入力パラメータを設定する方法と、Teamsに通知するアダプティブカード投稿レシピで入力パラメータを設定する方法があります。

# おわりに
いかがでしたでしょうか？Workbot for Microsoft Teamsを利用する際に引数の渡し方について勉強する機会がありましたので、この機会に記事を作成しました。みなさんのお役に立てればと思います。

また、今回の方法では、アダプティブカードの数だけトリガーレシピを作成する必要があるので、レシピ数の節約になりません。そのため、次回はトリガーレシピを汎用的に利用する方記事を作成予定です。

Workatoの導入・導入後の活用などでお困りの場合、Workatoリセラーにご相談する方法もございます。お困りごとがございましたら、認定リセラーの[日立ソリューションズ](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato/?utm_source=sns&utm_medium=qiita&utm_campaign=45611196ec6614c3f06e)へ是非ご相談ください。

# 参考リンク

* 株式会社 日立ソリューションズ
    * [Workato ご紹介サイト](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato/?utm_source=sns&utm_medium=qiita&utm_campaign=45611196ec6614c3f06e)
* Workato 公式サイト
    * [Workbot for Teams](https://docs.workato.com/ja/workbot-for-teams/workbot.html)
* 本記事のサンプルレシピ
    * トリガーレシピに入力パラメータを設定する方法
        * JPデータセンター 
            * [[Example] Post Message](https://app.jp.workato.com/recipes/374197?st=e7a017776de4578482d7d612671bfdffeb681d33bf7fda6f62eddb6434746d0d)
            * [[Example] Trigger New Command](https://app.jp.workato.com/recipes/374206?st=a1867149b48d4156664961f667b4ca23024e8db1b4c8ae02217cf9826b49794c)
        * USデータセンター
            * [[Example] Post Message
](https://app.workato.com/recipes/46343043?st=f673690fa7f55bbb72a08cd354f0141c4a9e2fa4e542ab202034367189eb43c4)
            * [[Example] Trigger New Command](https://app.workato.com/recipes/46343216?st=f7cadcc913f384dad52523bbb150ac47247fa1afe30b8966a316d3efa09e68fc)
    * アダプティブカード投稿レシピに入力パラメータを設定する方法
        * JPデータセンター
            * [[Example] Post Message](https://app.jp.workato.com/recipes/374195?st=db1da3c7de7b604bc5faa404246abcfd8176e2685003e4c23f9a6e676596e678)
            * [[Example] Trigger New Command](https://app.jp.workato.com/recipes/374205?st=88577f7704469219464e866e7898df42ad2afbdd77a331ef1f980100b0957b2e)
        * USデータセンター
            * [[Example] Post Message](https://app.workato.com/recipes/46284015?st=657b9fa4f7e97d1dbe3f0618d54ea30c1e2d80995e09198bb7ebb89b8b66c5b5)
            * [[Example] Trigger New Command](https://app.workato.com/recipes/46284014?st=b03728f6d073b0c736a5c3eb745dd4c62bbbf62da1412668f89bb5b776f577da)