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

# はじめに
[前回の記事](https://qiita.com/t-tabata/items/45611196ec6614c3f06e)では、入力パラメータの入力内容が同じ値の設定となっており、異なる入力パラメータを設定する場合は、それに応じて入力パラメータを受け取るレシピを複数作成する必要がありました。そのため、限りあるレシピを無駄に消費せざるを得ませんでした。今回は、入力パラメータを受け取るレシピを1つ実現し、汎用性のある入力パラメータの設定方法を紹介します。

# レシピの構成
入力のパラメータの設定は、ポストメッセージを送信する箇所となります。サンプルレシピは[参考リンク](#参考リンク)に記載しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/c102ff9f-f39d-986b-36d7-4b5b9d7bae93.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：コマンド名(必須)
    
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/f9ed11b4-1733-2e74-07f3-c799b7eb6a3e.png)

    今回サンプルでCommand nameは下記のように設定します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/594c9166-1942-a062-a6da-32313fef6a37.png)

    ※Parametersは設定しないでください。Parametersを設定をすると汎用的に利用することができません。
　
3. 入力パラメータをパースする
    入力パラメータは今回のレシピでは設定していないので、マッピングがされません。そのため、レシピ内で入力パラメータを利用するには、Json形式で連携される入力パラメータをパースする必要があります。今回は例として入力パラメータはtest1、test2とします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/7ba27c3c-3900-2c1c-bd06-010cd22846a9.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を呼び出すレシピを実行すると、トリガーレシピのParametersには入力パラメータが連携されています。また、マッピングができているので、入力パラメータを後続レシピで利用することができるようになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/98170d06-a485-047a-f7cb-1cc0e40a9538.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3455960/2b7d0ca7-2c77-68c4-934d-48fbde3792ad.png)




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

入力パラメータをアダプティブカードに設定し、トリガーレシピでは入力パラメータを設定せずにJsonパースアクションでマッピングすることで、入力パラメータを自由に設定できる汎用的なトリガーレシピを作成することができます。

# おわりに
いかがでしたでしょうか？汎用的なトリガーレシピを利用することで、Workbotから項目の違う入力パラメータを利用するレシピを1つのレシピで実現できるので、レシピの削減を達成することができます。

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

# 参考リンク

* 株式会社 日立ソリューションズ
    * [Workato ご紹介サイト](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato/?utm_source=sns&utm_medium=qiita&utm_campaign=8bf93227259a1e94a91c)
* Workato 公式サイト
    * [Workbot for Teams](https://docs.workato.com/ja/workbot-for-teams/workbot.html)
* 本記事のサンプルレシピ
    * 汎用的に入力パラメータを設定する方法
        * JPデータセンター利用者向け 
            * [[Example] Post Message](https://app.jp.workato.com/recipes/374223?st=a6c01542c5f653f5ba09d459cc84bb7a5e03c8bd899627edc5ebadcdb997e085)
            * [[Example] Trigger New Command](https://app.jp.workato.com/recipes/374224?st=204b1b0e06ec96b89c19360a98c9570e4d816a3b56ebb323126877888e11bf9a)
        * USデータセンター利用者向け
            * [[Example] Post Message](https://app.workato.com/recipes/46430780?st=579cd38c2515f533800791f4600f263b2b2c9a80b87bf69ccfc4052830482a2a)
            * [[Example] Trigger New Command](https://app.workato.com/recipes/46430779?st=72557efe88ffc07bb28080e1292d6099fd70b9d1cb45c0d3ec6865cd501a2a7c)