はじめに
最近いろいろ iPaaS系のサービスを使い始めていますが、前に名前を聞いたことがあったのでIntegromatを使ってみました。
Integromatは2016年にローンチしたサービスで、さまざまなサービスをつなげて自動化するiPaaSサービスです。
フリープランでも月に1000オペレーション、データのやり取り100MB、アクティブシナリオ (ワーフクロー) 2つまで利用できます。 月9ドルからBASICプランが用意されているのも使い始めるには優しいですね。
各種サービスへの接続は「コネクション」によってサービス上で認証情報などを管理してくれます。コネクションにはプレミアムとスタンダードがあり、Twitterなどのコネクションはプレミアムに分類されます。
HTTPの実行アクションが用意されているため、登録されている「コネクション」以外のAPIを実行することも可能です。
また、特徴的な点として、デバイスの登録およびデバイス上でのアクションを含むワークフローを構築することができます。
今回はIntegromatを使って、簡単なシナリオを作ってみました。
シナリオ : タイマー起動でBing壁紙をダウンロードしてデバイスに保存
Bingにアクセスすると検索バーやニュースの後ろに表示されるきれいな壁紙を毎日9時に取得してiPhoneにダウンロードするシナリオです。
Integromat を使ってうれしい点、「HTTPのリクエストが出せる (スタンダードの範囲)」と「 デバイス上のアクションが設定できる」を組み合わせてみました。 参考にしたのは以下のブログです。
小ネタ:毎日FlowでBingの壁紙をDLする37jotter.wordpress.com
もともとはPower AutomateでOneDriveに背景を保存していたのですが、きれいだし、どうせならiPhoneで使いたいなーということで。
動作イメージは以下の通りです。事前にIntegromatのiOSアプリをダウンロードしてデバイスを登録しておく必要があります。公式のガイドが一番読みやすいので こちらでセットアップをしてください。
Integromat のトップ、ダッシュボードから右上の「+Create a new scenario」をクリックします。
通常はいろんなサービスからどれとどれを使うか、コネクションの選択をしますが、タイマー実行なので「Skip」をクリックし、繰り返し実行の間隔と実行時間を設定します。
繰り返し間隔の設定ができたらいよいよアクションを追加していきます。
起点になる〇 の横で右クリックを押してメニューを出します。そこで「+ Add a module」を選択します。 いろいろなコネクションを選択するボックスが表示されるので、検索ボックスに「HTTP」と入力してHTTP関連のアクションを表示させ、「Make a request」を追加します。
この「Make a request」アクションは様々なAPIを実行するのに非常に重宝するアクションです。今回は先ほどのブログを参考に固定のURLをセット、MethodをGETにします。
http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=ja-JP
この時点で、一度左下の「Run Once」をクリックしてください。HTTPリクエストの結果をパースして後続のアクションで入力値として使えるようになります。
成功したら、さらに「+Add a module」をして、今度はHTTP関連アクションの中から「Get a file」を追加します。特定のURLからファイルをダウンロードしてくれるアクションです。
先にURL欄に https://bing.com
を入力しておいて、あとは前のステップの結果から Data > Images > url
にある要素を選択します。
先ほどと同様に「+Add a module」しますが、今度は検索ボックスで「Apple iOS」と入力してください。表示されたアクションから「Upload a photo」を選択し、写真を追加するデバイスと、写真のデータを設定します。
以上でシナリオの作成は完了です。最後にシナリオをアクティブにするのを忘れないようにしましょう。
おわり
今回初めてIntegromatを使っていくつかシナリオを作成してみました。
良かった点
- シナリオの作成自体は非常に手軽。本当にコードや数式なしでかなり幅広く自動化ができそう。
- 少し複雑なことをやる余地はある。テキスト加工やデータ加工などはできるので、「取得したデータを加工してほかのサービスに送信」という王道パターンはカバーできている
- (触れなかったが) データをサービスの中で定義できる。例えばあらかじめ決まっている選択肢や、結果の蓄積をしておいて別シナリオで取り出して活用のようなユースケースに対応できそう
- やはりデバイス上のアクションができるのが大きい。ほかのiPaaSでは基本的にはクラウド上のサービスをつなぐ、もしくはデバイスの状態をトリガーにすることはできるが、アクション出来るのは大きい
微妙な点 1. 日本語のリソースがないのは人によっては厳しいかも 2. デバイスのセットアップ、特にカレンダーやリマインダーなどのアクセス許可、プッシュ通知の有効化は少し手間取る。
という感じで、いい面微妙な面ありましたが、「デバイス上に何らかのアクションを起こす」ということを視野に入れると非常に有力な候補になるんじゃないかなと思いました。Authoring experience自体もよいですし。