ラベル RPA の投稿を表示しています。 すべての投稿を表示
ラベル RPA の投稿を表示しています。 すべての投稿を表示

2022年7月13日水曜日

Integromat migrate to Make (formerly Integromat)

Integromat は新しいサービスの Make に生まれ変わりました。
Integromat のサポートは 2023 年に終了するとこのことなので、そろそろ移行したいと思います。

この記事はその作業ログです。

はじめに

なんで Make って名前にしたのかな?めちゃくちゃ検索しづらい名前で最低。
ロゴはそのうち変わるのかもしれないけど、Make formerly Integromat って書いちゃってるし!


サービスとしてどうかわったのかとか全く見てないので Integromat より Make のほうが優れてて素晴らしいのかもしれないけど、名前だけはダメだ。

。。。

まぁ名前はともあれ移行していきます。
ちなみにこのブログでは今後 Make formerly Integromat を正式名とし、略称として Make と呼びます。
(単に Make だとややこしすぎるので、タイトルとかには略称さける。。。)

Pricing

と、その前に料金プランを比較しておきましょう。

https://www.make.com/en/pricing

価格帯はほぼほぼ同じですが、Integromat は $9/月 でしたが、Make の場合年間払いで同じ $9/月 になります。単月だと $10.59/月。

BASIC と Core プランを比較してみました。

表記載のもの以外にも違いはありますが、Make のほうが全体的に条件が良くなっているので嬉しいですね。

移行前の注意点
移行後の Integromat

Make に移行後の Integromat Oraganization は readonly mode に設定され、シナリオの作成・編集・有効化などができないので注意してください。
筆者の場合、移行時に Integromat 側のシナリオを無効、Make に移行したシナリオを有効にする設定で Migrate したため、readonly mode になっているのかもしれません。


支払情報
Make に先に SignUp して支払情報の登録まで済ませてしまうと、移行後の処理に時間がかかるそうです。支払情報の登録は Integromat から移行後にしたほうが良さそうです。
手順書

公式に手順書があるのでそれに沿って移行していきましょう。
Integromat には Blueprint という形式で import/export できましたが、それでの migrate は非推奨らしいです。こちらの手順書に従って Migration tool を使うことが推奨されています。

1. Before you start

まずは移行作業前の注意点です。

Make のアカウントが必要になります。先に作ってもいいけど Upgrade hub でもできるらしいので Upgrade hub にまかせようと思います。

次に Make に組織(Organization)とチームが最低1つは必要になるそうです。
これも Upgrade hub でできるらしいのでおまかせ。

次、エラーがあるシナリオは移行できない。
しばらく動かしてないシナリオとかあるのでそのへんどうなるのだろう?
エラーはおそらく実行時のエラーではなく、下のようなシナリオのエラーのことだと思うので多分大丈夫だと思いますが、とりあえず何もせずにやってみる。

Make では Webhook や Mailhook は1つにつき1シナリオの制約になったそうです。
Integromat では1つの Webhook で複数のシナリオをトリガーできてましたが、そのようなシナリオは Upgrade hub では移行されないようです。
移行したい場合は各シナリオごとに Webhook を用意するようにしましょう。

最後にサービスが変わったことで IP も変わるので IP 制限かかっているサービスと連携している場合は注意が必要です。
例えば社内サービスで Integromat を許可IPに入れてた場合は更新が必要ですね。
自分は個人的に使ってるだけで、そういったサービスはないので気にしなくてよさそうです。

注意点は以上。確認して問題なさそうであれば「Let's start」で次に進みます。

2. Login to accounts

Source に Integromat Legacy を選択、Target は Make 。
それぞれ「Sign in to source/target」があるので Sign in します。

クリックするとポップアップが出るのでアカウントを選択します。

結局ここで Make のアカウントは作ることになります。

アカウント作ると組織(Organization)の作成画面でてきます。
移行する組織を選択してください。私の場合は有料アカウントの組織と無料アカウントの組織を使い分けていたので2つありますが、まずは有料アカウントの方を移行しました。

region を EU/US のどちらにするか選べますが、なんとなく GDPR のことが気になったので US にしました(US は US で CCPA とかあるけど)(JP 選べると気軽でいいんですけどね)

「Begin upgrade」ボタンを押すとポップアップウィンドウの中で Upgrade hub の続きが始まるってるので一回閉じてしまって良いです。もう一度「Sign in to target」で Make に Sign in しアカウントを選択してください。
(※ Make に Sign up したときに Integromat に Sign in 済みだったので Upgrade が始まったんだと思います)

もとの画面でアカウントを選択すると次に進めるようになります。


2.1 Teams & organizations

(Make に Sign up した際に Organization を作ってしまったので、作らなかった場合にどうなっていたのかはわかりませんが)Source / Target ともに Organization を選択する画面が出てきます。
Make のほうには Team もありますが、まだ特になにもしてないのでデフォルトのものを選択しておきます。


選択したら次へ進みます。
3. Data selection
3.2 Collision detection

1つの Webhook を2つのシナリオで使用していたため、修正もしくはスキップを選択する画面が出てきました。
こちら 3.2 となっていますが、筆者の場合 3.1 が出てきませんでした。
おそらくエラーのあるシナリオがあると 3.1 で同じようにどうするか対応を要求されたのだと思います。

今回は単純にバージョンアップ時に別シナリオにしていただけなので最新のシナリオだけ移行させました。

3.3 Scenarios

移行するシナリオを選択します。
特に理由がなければ Select all でいいと思います。

「Migrate manually」と「Fast migration」があります。
Upgrading to Make によれば複雑なシナリオがあると自動では無理らしく、そういうシナリオがあると手動 migrate が出てくるらしいです。(単純なシナリオだけだと出てこない?or manually が濃色で表示される?)

3.4 Data selection(Migrate manually を選択した場合)

3.3 で「Migrate manually」を選択するとまずは Webhook の移行方法の選択画面が開きます。

「Duplicate webhook」と「Duplicate webhook and forward traffic」がありますが、どちらも Make で新しい webhook が作成され、それが使用されます。後者の場合は Source (Integromat)側の Webhook そのままで Make のシナリオをトリガーできます。
なので、後者であれば Webhook を使ってる側は変更不要です。
ただし、Integromat のサービス終了とともに使えなくなるので、早めに新しい Webhook URL に移行しましょう。

「Next」にいくと connection 系の移行方法選択になります。

筆者の場合は特に移行方法を選択するものはありませんでした。
「Next」にいくと Key の移行方法選択になります。 

こちらも筆者の場合は特に選択肢はありませんでした。

「Next」にいくと Data store の移行方法選択になります。 

こちらは「Duplicate data store and migrate contents」と「Duplicate data store without contents」が選べます。
前者は Data store とその中身も複製します。後者は Data store だけで中身のデータは複製されません(空の Data store になります)。筆者は、ちょうど中身消したい Data store があったのでそれだけ後者を選択しました。

「Next」にいくと Data structure の移行方法選択になります。 

こちらも筆者の場合は特に選択肢はありませんでした。

「Next」にいくと Folder の移行方法選択になります。

こちらも筆者の場合は特に選択肢はありませんでした。

「Next」にいくと 4.1 Migration settings へ進みます。
3.4 Data selection(Fast migration を選択した場合)

3.3 で「Fast migration」を選択するとデバイスの移行方法の選択が出ます。
「Fast migration」だと設定はこれのみでした。
「Next」にいくと 4.2 Migration settings へ進みます。

4. Migration process
4.1 Migration settings

移行後のシナリオをどうするかを Source/Target で決めます。
デフォルトだと Source 側(Integromat)のシナリオを無効化、 Target 側(Make)のシナリオ(Active なもののみ)有効化します。

とりあえず設定だけ移行して、実行はおいおい切り替えていくのであれば変更しましょう。

4.2 Migration settings

これで Migration の設定は完了です。「Start migration」をクリックすると移行処理が始まります。

少し待てば移行が終わります。そんなに時間かかりませんでした。
以下のように移行結果が表示されます。


「Go to target」で Make を開くと以下のような画面が出ます。


これで移行完了です。お疲れ様でした。

支払情報の移行

Integromat を無料で使っていた方は以降の対応は不要です。
筆者は有料でも使っていたので、Integromat に支払った分を Make でも使えるようになっていました。
(月末にやればよかったなと思いつつ、ちゃんとサポートされててよかった)
(Integromat の使用量 + Make の使用量になってる?)
(Integromat で繰越した Operations は Make には移らない?)

ただし、支払い情報は移行されていないため、翌月以降の支払いは Integromat で引き続き行われます。Integromat が終了すると支払いが止まるため、継続利用する場合は Make に支払情報を登録しましょう。


最後に

Make に移行したシナリオが元気に動き出しました。



今の所移行でのトラブルはありません。
今回は以上。ではでは。




2021年6月9日水曜日

Blogger の投稿を Integromat でツイートする Ver.2

Ver.1 の紹介記事を書いた気がしてたのですがなかったので、
まずは概要を紹介します。
Integromat とは
Intergromat は IFTTT みたいなやつ(iPaaS/RPA)です。
様々サービスのイベントをトリガーに他サービスと連携することができるものです。
操作の自動化をする RPA ツールとはちょっと違うので注意してください。
詳しいことは拙著を見てね^^
「詳解Integromat iPaaS完全入門」

Blogger で記事公開したらツイートするシナリオ
Integromat を使って「ブログズミ」で更新があったら Twitter にツイートするシナリオを活用しています。
(注意: 現在 Integromat の Twitter App は有料プランの登録が必要です)
Blogger は RSS フィードがあるのでそれをトリガーにツイートするシナリオになっています。
私が使っているシナリオは間にいくつかステップがありますが、単純にツイートするだけであれば、RSS の情報からツイート本文を書くだけでシナリオが作れると思います。

Ver.2 で変わったところ
Blogger のラベルをツイートのタグに変換
ツイートにタグをつけるようにしました。
ラベル→タグ変換は以下の2つのモジュールで行いました。


最初の Tools モジュールでラベルの配列に「 #」を追加しつつ、1つの文字列にしています。
「{{replace("#" + join(1.labels; space + "#"); ":"; space)}}」
「#Re:VIEW」 のような記号を含むものは記号より後ろがタグとして認識されないので、ここで空白スペースに置換もしています。(「:」のみ対応)

次に Text parser モジュールでタグとタグの間のスペース以外のスペースを削除します。
「s/\s([^#])/$1/g」

これだけではわかりにくいので、実際に処理されたときの様子を見てみましょう。

入力されたラベルは以下の図の通りです。
ここでは「Re:VIEW Starter」のラベルに着目しましょう。

Tools モジュールによって「#Re View Starter」と変換されます。

最後に Text parser で「#ReViewStarter」となります。


あとは、加工済みのテキストを Twitter モジュールで使うだけです。
新規公開か追記かの判定
追記があった場合は RSS フィードの公開日と更新日が入ってるので、それぞれの時間を比較して判定しています。
まず、Tools モジュールで公開日・更新日に setSecond をして 0:00 の時刻に揃えます。
「{{setSecond(1.dateUpdated; 0)}}」

そして、公開日と更新日が同じなら新規投稿、更新日が新しい場合は追記として分岐します。
Blueprint
最後にシナリオの Blueprint を公開します。
※Blueprint は有償機能です
※インポートしてもコネクションは筆者 organization の ID になっているので付け替え必須


以上です。では。

2020年12月29日火曜日

【技術書典10】「詳解 Integromat iPaaS 完全入門」の販売を開始しました

 こんにちは。
表題の通り、技術書典10 で「詳解 Integromat iPaaS 完全入門」の販売を開始しました。


Integromat は IFTTT や Zapier などと同じ iPaaS で様々なサービスと連携して自動化ロボットを作れるサービスです。
本書では Integromat の基本機能の解説と連携サービスから一部をリストアップしています。

Integromat は私自身お気に入りのサービスなのでユーザーが増えると嬉しいなと思っております。
RPA/iPaaS の入門の一冊として検討していただけたら幸いです。

本書は GitHub にてコンテンツ以外を公開しております。
本書へのフィードバックはこちらへお願い致します。

https://github.com/srz-zumix/book-integromat


2019年8月13日火曜日

「PVをツイートするサービス」から「Integromat」に引っ越ししました


長らく「PVをツイートするサービス」を利用させて頂いて来ましたが、Integromat の Basic プラン($9/mon) を使っていることもあり、なるべくそっちを使おうということで引っ越ししました。



特に難しいことはなくて、Google Analytics の APP を使って欲しいメトリクスを選択して取得したら、あとはいつものとおりにツイッターに流すだけです。


詳細
PV 以外にも色んな情報が取れますが、最終的に以下のようにツイートさせるようにしました。

それぞれ以下の Metrics を取得しています。
Pageviewsga:pageviews
1 Day Active Usersga:1dayUsers
Sessionsga:sessions
Avg. Time on Pagega:avgTimeOnPage

Avg. Time on Page は秒数が入ってるので、Tool の Set Variable オペレータで、「分:秒」テキストに変換しています。


{{toString(floor(round(2.`ga:avgTimeOnPage`) / 60))}}:{{toString(round(2.`ga:avgTimeOnPage`) % 60)}}

ハマったこと
Error 400 (badRequest): Selected dimensions and metrics cannot be queried together.

Metrics によっては、Dimensions と一緒に取得しなければいけないものがあるそうです。
なので、「metrics and dimensions」を選択して、「Dimensions」には適当に Date を指定するといいと思います。

どこにあるのかわかりづらい
ハマったというか、使いづらいなぁ・・・と思ったところです。

Metrics からはいろいろな情報が取得できるのですが、Integromat の UI から目的の要素を見つけるのがクソ面倒でした。



月間PVの対応
「PVをツイートするサービス」は、月初に先月の PV もツイートしていたのでそちらにも対応しました。



できたシナリオはこちら。


Google Atalytics の設定
まずは一月分のメトリクスを取得する必要があります。
期間の設定を「先月の1日0時」から「今月の1日0時」までにします。
以下のように計算しました。

先月の1日0時:
{{addMonths(parseDate(formatDate(now; "YYYY/MM"); "YYYY/MM"); -1)}}

今月の1日0時:
{{parseDate(formatDate(now; "YYYY/MM"); "YYYY/MM")}}

そして、取得するデータの数がデフォルトだと 10 になっているので、
一ヶ月分取得できるように 31 にしておきます。


月間PV数を計算
Google Analytics オペレータからは日毎の結果が入ってくるので、各日の PV 数を Aggregate で配列にして Iterator で Sum して、月間PVを算出しています。
(これもう少し簡単にかけると嬉しいな)


Notification
最後にツイートです。
PV数を桁区切りするようにフォーマットしてるくらいで、あとは普通にテキストを指定しています。

先月のブログズミのPVは {{formatNumber(12.result; 0; "."; ",")}} でした。
https://srz-zumix.blogspot.com/

最後に
Basic プラン使ってることもあって、オペレータ数とかあまり気にせず作りましたが、工夫すれば少し減らせると思います。(変数セットをツイートオペレータにベタ書きとか)
daily/monthly で実行するものなので、起動回数的にも消費リソースは少なくて済むはずなので、無料プランでも運用できるかな?と思います。

最後に、ながらくお世話になった「PVをツイートするサービス」に感謝 m(_ _)m

2019年4月9日火曜日

Slack のステータス(障害情報)を通知する

ついこの間 Slack の障害が発生し、メッセージが正しく届かなかったり、スタンプが押せなかったりなどの影響がありましたね。
Slack の状態はステータスページで確認できます。また、Twitter アカウントもあります。


あとは、Atom feed と RSS も用意されているので、お好きな方法で状況を確認できます。


ただ、ステータスページを都度都度見るのはめんどくさいですし、twitter もタイムラインをずっと見てるわけじゃないので気づかなそう。RSS や Atom feed はリーダーを使ってない。。。

RPA で任意のツールに通知する
というわけで、RPA 組みました。
今回使ったのは Integromat です。最近のお気に入りです。

出来上がったシナリオは3オペレーションになりました。(こだわらなければ2ステップでできます)


Trigger は RSS で、Slack Status の RSS url をセットします。


間にある Text Parser はステータスからアイコンのファイル名を摘出するためのステップです。
アイコン画像にこだわらなければ、このステップは不要です。


最後は通知するステップです。Slack で通知してますが、ここはなんでも良いです。お好きなもので通知してください。
接続設定(slack ならスペースとチャンネル)をしたら、本文をセットしましょう。
RSS で取得した内容が使えるので、その内容を流しています。(特に決まりはないので、ここもお好きに編集してください。)


Slack ではアイコンを指定できるので、Text Parser で取得したステータスからアイコンの url をセットしました。



最後に、Slack Status は 30 分更新のようなので、Trigger の Interval も 30 分にします。


これで完成です。
シナリオを有効にしたら、以下のように通知が飛んできます。


最後に
Integromat はシナリオの Export/Import が可能です。
今回紹介したシナリオの blueprint を Gist で公開しているので、こちらを Import して始めることもできます。
Integromat 便利なので是非使ってみてください。では~