#はじめに
最近、RPAの次はiPaaS!みたいな話もありますが、個人的には両方使えると自動化の幅が広がりますし、両方のいいところを活用し、時に片方だけを利用したりして、素早く目的を果たすことができると思っています。
というわけで、今回は個人でも試しやすいiPaaSのZapierからAutomation 360のAPIを叩いてみる。というのをやってみます。
#この投稿で紹介したいこと、伝えたいこと
- iPaaSとRPAプラットフォームの連携、設定例
- ZapierのWebhookアクションは便利だけど、接続する相手によってはCustom Requestを使ったほうがいいケースがありますよ。
なので、Zapierの使い方も、A360のAPIの使い方も分かっている人の場合、参考になるのは後者のみです。
#想定している業務
これ!というのは特になくて、同じ仕組みで色々な業務に使えると思いますが、いちおう例えばこんな感じ。
- (今回は割愛)Google Sheets等で元データを作る
- Google Driveにファイルをアップロードする、もしくは所定のフォルダにシートを移す
- ファイルがアップロードされたのをZapierが検出し、Automation 360のAPIを叩く
- (今回は割愛)Automation 360がSalesforce(APIを使うアクション利用)と、APIの無いレガシーシステムへデータを登録
Zapier ->
#準備するもの
- Zapier (Webhookが使えるStarter Plan以上)
- Automation 360 (製品版)
- 「API キーを生成」が可能なロールを持ったユーザー (Automation 360)
- その他Bot実行に必要な権限 (Automation 360)
#大まかな手順
###Automation 360側
- 使用するユーザーに「API キーを生成」の権限を付与する
- APIキーを生成する
###Zapier側
- 新しくZapを作成し、トリガーを設定する
- Webhookアクション(POST)を追加し、設定する
- Webhookアクション(Custom Request)を追加し、設定する
#手順詳細
###Automation 360側
####使用するユーザーに「API キーを生成」の権限を付与する
作業を行うユーザーが使用するロールに「API キーを生成」の権限を付与します。
(ロールやユーザーを編集する権限がない場合はConrol Roomの管理者に相談してください。)
####APIキーを生成する
###Zapier側
####新しくZapを作成し、トリガーを設定する
今回の例ではGoogle Driveのフォルダに新たにファイルが作成されたら。というトリガーにしてみます
トリガーをテストしてみます。以下のような結果になっていれば成功です。
####Webhookアクション(POST)を追加し、設定する
EventはPOSTを選択します
アクションは以下のように設定します。
その他の設定フィールドはそのままで大丈夫です。
URLはこちら。スクリーンショットの空白部分は使用するControl Roomにより変わります。
https://使用するControl Roomのドメイン.my.automationanywhere.digital/v1/authentication
設定ができたらテストしてみましょう。以下の例のように「token」が返り値として得られていればOKです。
####Webhookアクション(Custom Request)を追加し、設定する
こちらも本来でしたらWebhookアクション(POST)を使いたいところですが、どうもヘッダーの書式などが微妙に合わないようで、Custom Requestで行うことにします。
もしかしたら私のやり方が悪いだけかもしれませんが、APIをローコードなプラットフォームから叩く時にこういうことが起こりやすい気がします。
設定項目
Data部分の値
fileIdとrunAsUserIdsに設定する***の値については、下に別トピックとして取得方法をまとめています。
{
"fileId": *****,
"runAsUserIds": [
***
]
}
fileIdに設定する値の取得方法
こちらは実行したいBotのIDです。実は各BotにはIDが振られていまして、対象のBotを開いた時に以下のようなURLになっていますが、こちらのURLの*****の部分を使用します。
Botは公開レポジトリにチェックインされている必要があります。
https://使用するControl Roomのドメイン.my.automationanywhere.digital/#/admin/users/*****/edit
runAsUserIdsに設定する値の取得方法
こちらは実行するBot RunnerのIDです。ユーザーにもIDが振られています。対象のユーザーをControl Roomの管理メニューから開いた時に以下のようなURLになっていますが、こちらのURLの***の部分を使用します。
https://使用するControl Roomのドメイン.my.automationanywhere.digital/#/bots/repository/public/taskbots/***/view
Headersの部分に入力するもの
ヘッダー | 値 |
---|---|
X-Authorization | token(挿入方法は下記を参照) |
Content-Type | application/json |
Postアクションで取得したtokenを挿入する方法
下図のように値のフィールドをクリックすると、「Insert Data」というメニューが表示されます。
これにより、先のアクションで取得した様々な値を挿入することができます。
今回は3.POSTで取得したTokenを挿入します。
完成
設定が終わったら、「Continue」を押したら完成です。テスト実行をしてみてください。
上手く動作したら「Turn on Zap」を押すと、トリガー条件を満たすと自動実行されるようになります。