複数のウェブサービスを連携し、定型作業を自動化してくれるサービスはIFTTTやZapier、n8nが有名ですが、特定のサービス以外は使えなかったり、有料プランでしか使用できない機能があったりします。オープンソースで使える自動化サービス「Activepieces」は無料で利用でき、自社製ソフトのような他の自動化サービスでは未対応のサービスも自動化できるとのことなので、実際に使ってみました。
Automate Your Business – Open Source Free Zapier Alternative – Self-hosted or Cloud – Activepieces
https://www.activepieces.com/
activepieces/activepieces: An automation tool / Workflow automation tool / Enterprise automation tool / Business automation tool / Zapier clone ❤️
https://github.com/activepieces/activepieces
まずドキュメントのインストールの項目を参考に、Activepiecesのインストールを進めていきます。
ActivepiecesはDockerを利用して起動するため、下記のリンクから自分の環境に合った方法でDockerをインストールします。
Install Docker Engine | Docker Documentation
https://docs.docker.com/engine/install/
今回はCentOSのサーバーでActivepiecesをホスティングする予定なので、下記のコマンドを入力しました。
sudo yum install -y yum-utils
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
また、Gitがインストールされていない場合は下記のコードでインストールしておきます。
sudo yum install git
そのあと、下記のコードを順に実行すれば自動で必要なファイルがダウンロードされ、Activepiecesが起動します。
git clone https://github.com/activepieces/activepieces.git cd activepieces sh tools/deploy.sh docker compose -p activepieces up
表示が崩れてしまって読めませんが、下図の文字が出れば準備OK。
初回アクセス時にアカウントの作成を求められるので、名前・メールアドレス・パスワードを入力して「Sign up」をクリックします。
「Start building」をクリックして早速フローを自動化してみます。
方眼紙のような背景の上にブロックが表示されています。まずはトリガーを設定するため、「Select Trigger」をクリック。右側にトリガーの一覧画面が表示されます。
トリガーは基本となる「Core」と、他のアプリから起動できる「App Events」の2つに分けられます。Coreには一定時間ごとに自動で実行される「Schedule」と、特定のURLにアクセスがあった際に自動で実行される「Webhook」が用意されていました。
App Eventsの方は、AirtableやCal.com、Calendlyをはじめとして記事執筆時点では28個のアプリが用意されています。
今回はGIGAZINEで配信されているRSSをトリガーにするので、検索欄に「rss」と入力して「RSS Feed」をクリックしました。
するとRSSの設定画面が開きます。RSS Feedのトリガーは「New Item In Feed」の1種類のみ。「RSS Feed URL」の欄にGIGAZINEシークレットクラブの会員限定で利用可能な、記事全文が読めるRSSのURLを入力します。そして下にある「Load data」をクリック。
RSSが読み込まれてデータが表示されればOK。
続いてメール送信側の設定を行います。先ほど設定した「New Item In Feed」のトリガーから伸びる線の上にあるプラスマークをクリック。右のアプリ検索欄で「gmail」と入力し、「Gmail」をクリックします。
Gmailで行えるアクションは「Send Email」のみ。Action欄の▼マークをクリックし、「Send Email」をクリック。
アプリと接続するために、「Authentication」欄の▼マークをクリックして「Add」をクリックします。
分かりやすい名前を付けて「Connect」をクリック。
Googleへのログイン画面が開くので、まずは送信元にしたいアカウントを選択。
権限を確認して「続行」をクリックします。
Googleの画面が勝手に閉じてActivepiecesの画面に戻ります。表示が「Disconnect」に代わっていればOK。「Save」をクリックします。
メールの送信先を入力し、メールのタイトルを記入します。今回は、送信先と送信元で同じアドレスを入力しました。
本文欄をクリックするとデータの挿入画面が出現するので、New Item In Feedの「Select」をクリック。
トリガーの設定の際に取り込んでおいたデータが表示されるので、必要なものをクリックして挿入します。
今回は、「title」要素を挿入後、一行空けて「description」を挿入することにしました。「Test step」をクリックしてテスト実行してみます。
「Tested Successfully」と表示されていればActivepieces側の処理は問題なく完了したということ。
メールをチェックしてみると、ちゃんと設定したタイトル・本文のデータが配信されていました。
問題なさそうなので、画面右上の「Publish」をクリックしてフローを有効化します。
小さい通知が出るだけで、しかも一瞬で消えるのでちゃんと有効化できているのか心配になりますが、Publishボタンの横にスライドボタンが表示されていれば有効化されています。
左端のメニューの「Flow」をクリックすると動作中のフローの一覧を確認できます。この画面でそれぞれのフローの有効化・無効化を切り替えることも可能。
GIGAZINEに新着記事が配信されるまでしばらく待機しました。
メールを確認してみると記事配信の5分後にメールが届いていました。
Activepiecesの「Runs」タブではそれぞれの実行のログを確認できます。
また、「Connections」タブでは各種のアプリとの接続設定を一覧できるようになっています。
なお、今回はGmailでデータを送信するだけの動作でしたが、データの内容によって処理を分岐させる「Branch」や、自分でプログラミングを行うことで自由に処理を記述できる「Code」などが用意されているため、Activepiecesを使えばありとあらゆる処理を自動化することが可能となっています。
この記事のタイトルとURLをコピーする