はじめに
n8n(エヌエイトエヌ)は、さまざまなアプリケーションやサービスを連携させて、業務プロセスを自動化するためのワークフロー自動化ツールです。IFTTTやZapierといった他の自動化ツールと比較されることが多いですが、n8nには以下のような特徴や利点があります。
主な特徴と利点
- オープンソース: n8nはオープンソースとして提供されており、セルフホスト版を利用すれば、無料でフル機能を使うことができます。これは、Zapierのような商用サービスとは異なる大きな特徴です。
- ローコード/ノーコード: ドラッグ&ドロップでノードと呼ばれる処理ブロックを組み合わせることで、プログラミングの知識がなくてもワークフローを視覚的に構築できます。
- 豊富な連携サービス: 700以上のサービスと連携可能で、GitHub、Slack、Googleスプレッドシート、Gmail、LINEなど、多様なアプリケーションをつなげて自動化できます。
- 柔軟なカスタマイズ性: 他のツールでは難しい複雑な処理や、HTTPリクエストを使った独自の連携も可能です。
- AI連携: ChatGPTなどの生成AIと連携して、メールの自動要約や、問い合わせ内容の分類、レポート作成といった高度な自動化も実現できます。
- セルフホスト版とクラウド版:
- セルフホスト版: 自分のサーバーにn8nをインストールして利用します。データのプライバシーを完全に管理でき、実行回数に制限がないのが利点です。
- クラウド版: n8n社が提供するサービスを利用します。サーバーの管理が不要で、すぐに使い始められる手軽さがあります。
活用例
- ウェブサイトの問い合わせフォームに回答があったら、顧客管理システムに自動で登録し、担当者にSlackで通知する。
- Gmailに特定の件名のメールが届いたら、その内容をAIで要約して、Googleスプレッドシートに記録する。
- 毎日決まった時間に、Googleスプレッドシートから売上データを取得し、Slackにレポートを自動投稿する。
- SNSやブログの更新を、複数のプラットフォームに同時に投稿する。
n8nは、日々の定型業務を効率化・自動化したいと考えている方にとって、非常に強力なツールです。特に、データのプライバシーを重視する企業や、複雑な処理を柔軟に構築したい場合に適していると言えます。
ワークフローをつくってみる
チュートリアル に従い、ワークフローの作り方、Schedule Trigger, NASA APIノード, Ifノード, PostBinノードの使い方を理解する
- n8nのアカウントを開設し、ダッシュボード ページを開く
- Open instanceボタンをクリックし、ワークフローページを開く
- Start Scratchボタンをクリックする
- Add first stepボタンをクリックする
- Schedule Triggerを選択する

- Trigger Ruleを設定する
- Trigger Interval: Weeks
- Weeks between Triggers: 1
- Trigger on Weekdays: Monday
- Trigger at Hour: 9am
- Trigger at Minute: 0

- Canvasに戻り、Scheduleの+ボタンをクリックする
- NASAを選択し、Donki solar flareを追加する

- Create new credentialをクリックする
- https://api.nasa.gov/ のフォームからAPIをリクエストする
- emailでCredentialを受け取る
- CredentialをAPI Keyに保存する
- Add Fieldをクリック、Start Dateを選択し、Expressionを選択し、以下を入力する
{{ $today.minus(7, 'days') }}

- Execute stepボタンをクリックする
- OUPUTセクションにAPIのレスポンスが表示される

- Canvaに戻り、+ボタンをクリックし、Ifを選択する
- INPUTのclassTypeをドラッグし、ConditionのValue1にドロップする
- ComarisonをString > Containsに設定する
- Value2にM (A,B,C,M,Xなど試す)を追加する
- Execution stepをクリックし、結果を確認する

- Canvasに戻り、Ifノードの+ラベルのコネクタをクリックする
- PostBinを選択し、Send a requestを選択する

- PostBin ページを開く
- Bin IDを取得し、n8nのキャンバスへ戻り、PostBinノードを開く
- Bin IDをペーストする
- Bin ContentのExpressionを選択し、表示されたエクスパンドアイコン
をクリックする

- Expressionに以下を入力する
There was a solar flare of class {{$json["classType"]}}

- Canvasに戻り、PostBinのコンテキストメニューからDuplicateを選択する

- Ifノードのfalse出力パスとコピーしたPostBinをつなぐ

- Execute Workflowボタンをクリックする
- 自分の作成した PostBin ページを開き、データが送信されたことを確認する

さいごに
画面操作が非常に精錬されており、直感的に理解できた。また、連結できるAPIノードが非常に多いので、社外へのキーの保存を許可されるならば、実務で使えそう。
オープンソースもあるとのことなので、そちらも試したい。