Workato:標準アクションがない?カスタムアクションを作ればいいじゃない

Workato:標準アクションがない?カスタムアクションを作ればいいじゃない

どうもばるすです。

ちょこちょこWorkatoの検証とかやってます。

Workatoって何ー?って方は、こちらのブログをご参照ください(ステマ)

Workatoにはたくさんの接続先アプリがあって、色々とできるんですよ。
Appには標準アクションがあるんですけど、Workatoが準備してないアクションについてはカスタムで対応できます。
ってことで今日はアクションについて書きます。

そもそもアクションって何?

Workatoさんの公式ドキュメントを貼っておきます。

https://docs.workato.com/recipes/actions.html#update

ざっくり平たく書くと、どんなシステムで、何をしたいのか?を指定するのがアクションです。

標準アクション

Workatoが標準で用意してくれているアクションです。

Slackなら

  • UserをEmailで検索する
  • チャンネルに投稿する
  • チャンネルをarchiveする
  • チャンネルを作成する

などがあります。

Slackはたくさんあります

カスタムアクション

標準アクションでできなければ、APIを使って任意のアクションを実行します。

例:GoogleSheetsの標準アクション

行を追加する

複数行を追加する

行を検索する

行を更新する

GoogleSheetsのカスタムアクション

カスタムアクションの設定欄はこうなってます。

API叩きます

GoogleSheetsのAPIを実行するので、基本的な仕様はGoogleAPI通りです。
APIがあれば全部できます。そう、APIさえあれば。

参考:Google Sheets API

実際にカスタムしてみた

百聞は一見に如かずってことで、
Googleスプレッドシート(GoogleSheet)を新規作成してSlackに通知する機能を作ってみました。

レシピ全体図(完成形)

今回作成するレシピの完成形はこんな感じです。

サンプルレシピ作成までの道のり

  1. 必要なコネクションを作成する
  2. レシピを作成する
  3. レシピでAppアクションを配置して設定
  4. 完了

それではやっていきましょう。

1. 必要なコネクションを作成する

Slackは以前に作成したのでGoogleSheetsのみ作成します。

Tools → App Connections → Create a new connection の順にクリック

Application:Google Sheets を選択。
Connection name:名前を入力。

Connectをクリックするとアカウント確認画面へ遷移するので許可します。

2. レシピを作成する

Recipe → NewRecipe→ 適当に名前入れてBuild Callable recipeをクリック

パラメータ設定できますが、今回は何も設定しません。

3. レシピでAppアクションを配置して設定

GoogleSheets

GoogleSheetsを追加してCustom Action をクリックします。

Connection → 作成したConnectionを選択します。

Setup → それぞれ値を入力します。

  • Action name:適当でOK。
  • Method:使うAPIに従う。今回はCreateを使うのでPOSTを選択。
  • Path : 使うAPIに従う。今回はCreateを使うので[spreadsheets]を指定。
  • ResponseBody:Use Jsonをクリック → リファレンスやサンプルからレスポンスJsonを貼り付ければOK。

参考リンク:GoogleSheetsAPI Method: spreadsheets.create

Slack

Slackを追加してPostMessageを選択、投稿先と内容を設定します。

レスポンスを定義しておけば、作成したスプレッドシートのIDとかタイトルをSlack通知に使えます。

画面右上からSaveしてExitをクリック

4. 動かしてみる

前回作成したAPIに追加してテストで呼んでみました

うまくいったーやったー

まとめ

カスタムアクションと呼ばれていますが、API叩くだけなのでカスタムは簡単です。

APIがあれば全部叩ける&リファレンス通りにやればコード書くより遥かに楽でメンテナンスしやすくって最高です。

ちなみに、このレシピ作るためにかかった時間は25分くらいです。

ブログ書く時間のほうが遥かに手間暇かかりました…

おわりに

今回はカスタムアクションって何?について記載しました。

今後もWorkatoについてbarusu目線で記事書いていきますんでよろしくです。

以上、ありがとうございました。

情報システム部門は企業のコア

CTA-IMAGE 株式会社クラウドネイティブは、情報システム部門のコンサルティング専門家集団です。 ゼロトラストの概念を国内でいち早く取り入れ、現実的に実装できる国内唯一のコンサルティング会社です。 「どの製品選べばいいの?」 「社内インフラ改革はどこから?」 「セキュリティって結局どうすれば?」 その疑問や不安にお応えします。