IT老人の為のWorkato入門
概要
これはWorkato Advent Calendar 2024の20日目用に書かれた記事です。超初心者向け
何かをやり始めるにあたって簡単にHello Worldのやり方がわからないと入門し始められないインターネット老人は、レシピファンクションから作り始めるのがオススメ
WorkatoはAPIがよくわからなくても自動化が簡単にできる
会社にWorkatoというツールが導入されました。Workatoは若者向けに説明するとScratchの様なビジュアルプログラムのツールで、IT老人向けに説明するとプログラミング言語を知らなくてもデータ処理の自動化はできるけどやろうとしてる事の仕組みを把握してないと何もできないRPGツクールの様なもので、昔はバリバリExcelのマクロで仕事を自動化してたけど最近はセキュリティがどうこうでマクロを禁止されてしまったという人にもオススメなローコードノーコードとかRPAとは違うお仕事自動化ツールです。
もうちょっとITがわかる人向けに説明すると、各種SaaSへの接続はWorkatoがよしなにやってくれるので、人間はSaaSからとってきたデータを処理する仕組みを考えれば良いという昔取った杵柄でプログラミングはできるけど、SaaSとかAPIとかよくわからんな…という人が、 例えばGoogle Driveに置いた複数のCSVを突合して1つのCSVにしてBoxにアップロードする…みたいなのをGoogle DriveとかBoxに接続する為のライブラリの使い方を覚えたりいちからコードに書いたりしなくても実現出来てしまってとても便利なのです。
一旦はWorkato触るのをあきらめた
頭が固くなってしまったIT老人の私は以下の理由でWorkatoを触るのを一旦はあきらめたのです… この章は私のポエムなのでポエムが不要な方は レシピファンクション の所まで飛んでください🙏
Salesforce?トリガー??
Workatoはオフィシャルが入門動画コンテンツを用意していてこの動画コンテンツを観ながら入門し始める事ができる…のですが、なんかいきなりSalesforceのアカウント作らされたり、トリガーとかイベントとか訳のわからない概念が出てくるんですよ…
初めてのツールで一番最初にやることはHello Worldでしょう?
初めて触るプログラミング言語で真っ先にHello WorldをやってPrint Debugができそうなのを確認して、その後に変数とか条件分岐とかループとかのやり方をチェックしたいな~って思ってたのになんか見た事無いトリガーとかイベントとか出てくるし、Salesforceは別に触りたい訳じゃ無いんだよな~
仕方ないのでSalesforceアカウントを作ってはみたものの…これ自分が動かしたいときに動かすのってどうやるの?MicrosoftのPower Automateのインスタントフローみたいにボタンを押したら実行される…というようなシンプルに動かしたいときに動かせる奴が無いと動いて無いのが自分の設定が悪いのか、トリガーのイベントが発生してないかわからない…というわけでWorkatoが触れるアカウントを会社に作ってもらったもの2ヶ月ほど放置…
Workatoのユーザ会などに参加してどうやらレシピファンクションという関数的な物が作れるらしいと知り、やっとHello Worldする方法がわかったのです…
Hello Worldから始めるWorkato
レシピファンクション
本来はレシピを分割する関数とかメソッドに相当するものなのですが、これをいきなり作ります。 Build recipe functionを選んでStart buildingを押しましょう
するとこういう画面になります。TRIGGERとか書いてあるけど設定しなくてOK
Select an app and function をクリックすると Choose an app と言われるので検索窓に logger と入力して Logger by Workato を選びます
こういう画面になるので Message 欄に Hello world
と書きます
自動保存されるので右上の✖でLog message to Job reportの画面を閉じます
上部のTEST JOBSを押すと作ったレシピが実行出来る画面になります
Test resipeボタンを押します
トリガーとか無いのでTest recipeボタンを押します
実行が成功してHello WorldがJob reportに記録されました。あとはレシピを書き換えたらRepiet Jobのボタンを押すと書き換わった内容で再実行されます。
以下はIT老人向けにWorkatoをいじる上で押さえておいた方が良さそうな事
Boxの話
WorkatoからBoxに置いてあるファイルをいじりたい!と思ってレシピを書いてたんだけど、ファイルの検索が上手く行かなくて嵌まってた…Boxはなんかファイルが置かれてから検索Indexに載るまでに10分かかるらしいのでWorkatoで作ったファイルを検索して云々見たいな事をやるのは難しいみたい…(このへんもWorkato全然わからないな…の原因の一つだった)
変数
Workatoの変数は Variables by Workato というアクションで宣言したり代入したりできます。一つのアクションで複数の変数の処理ができるのでまとめて処理すると課金カウントが節約出来てお得です。
BooleanがGUIではYESかNOを選ばせるのに実際に使うとTrueかFalseなのとても困る…
配列のためにループを回す
配列をなめる処理のためにforとかwhileとかforeachとかやりたくなるじゃないですか?
Workatoは課金カウントが1アクション毎に上がるので、例えば配列に1500個データが入ってる配列を4つのアクションが動くループで回したら6000回課金カウントされてしまうんですよね😇(やらかした)
配列をなめる処理をする場合は、配列(リスト)をCollectionに突っ込んでSQLで頑張るかバッチ処理を使いましょう…
WorkatoのSQLはSQLiteらしいという情報を得たので https://www.sqlite.org/lang.html をよく参照しています
バッチ処理というのはバッチの言葉の通り、Workato内でデータをまとめて処理しくれる仕組みです。これを使うループを回しても課金カウントが多くならなかったり処理が早かったりする特徴があるらしいのですが、私はバッチトリガーとかバッチアクションとかがどういう動きをするのかをきちんと把握出来て無いので使って居ません…😇
Collectionは使えるプランに制限があるらしいので自分の契約で使えるか確認が必要です。😇
それでは皆さんよきWorkatoライフを~~~