オープンソースで利用できるノーコード・ワークフロー自動化ツール:エヌ・エイト・エヌ~ n8n:1回目

2022.02.15

n8n と書いて エヌ・エイト・エヌ(n-eight-nらしい)と読む、オープンソースのワーフクロー自動化ツールは、人気の Zapier に似た、ノーコード・ローコード製品です。紹介記事が長くなりそうなので、2回に分けて書きます。

n8n は、Nodemation の略で、n-eight-n と呼ぶそうなのですが、「ノードを組み合わせてワークフローを自動化する」ことが出来る、という意味だと理解しています。「N – の間に文字が8つ – N 」なので、エヌ・エイト・エヌ。と、YouTubeのチュートリアルでも発音してました。

1回目は、エヌ・エイト・エヌの紹介と、エヌ・エイト・エヌで出来る自動化の簡単なサンプルを作ってみます。

https://n8n.io

フェア・コードなエヌ・エイト・エヌ(n8n)

冒頭で、オープンソース、と言いましたが、n8n.io では

fair-code licensed – Apache 2.0 with Commons Clause

https://n8n.io

と謳っています。「フェア・コード」と呼ぶのが正しい呼び方になりますが、自社で使う分には、無料で利用しても問題ありません。

エヌ・エイト・エヌを利用して、ある程度の規模の有料のサービスなどを行う場合には、フィーを払う契約をして下さいね、というライセンスになります。詳しい事は、エヌ・エイト・エヌ(n8n)コミュニティで確認をするか、当社でもお手伝い出来ますので、ご相談下さい。

ノーコード、ローコードなエヌ・エイト・エヌ(n8n)

この後で実際にサンプルのワークフローを作りますが、エヌ・エイト・エヌ(n8n)は、ノーコード、ローコードのツールとして作られています。ですから、クリックとドラッグ&ドロップで作っていくだけで、ワークフローを作れるのが、特徴の一つです。

Zapier

エヌ・エイト・エヌ(n8n)は知らなくても、Zapier はご存知の方も多いかもしれません。3,000以上ものアプリを繋げることが出来て、自動化やデータ連携を必要とするビジネスでは導入も進んでいるようですし、日本語での紹介記事も多数あります。無料で利用できる範囲だけでも、多くの中小企業にとっては役立つサービスだと思います。エヌ・エイト・エヌ(n8n)との比較のためにも、興味があれば是非一度使ってみてください。どのようなサービスとの連携が可能かだけでも、見てみると良いと思います。

Zapierで連携出来るサービス

https://zapier.com/apps/filter/integrations#page=1

エヌ・エイト・エヌ(n8n)を手に入れるには

エヌ・エイト・エヌは、Webアプリとして始まりましたが、現在はPC用のアプリも提供されています。

社内でちょっとした自動化をしたい、日常的に行う繰り返し作業を効率よく進めたい、テストでエヌ・エイト・エヌを利用してみたい、といった場合に、最も手っ取り早く使うには、PC用のアプリを使ってみるのが良いでしょう。

エヌ・エイト・エヌ(n8n)をダウンロードする

社内のチームで利用するには、Webアプリとして使うのが便利でしょう。エヌ・エイト・エヌ(n8n)のソースコードは Github で提供されていますので、自社のサーバに設置するのも、比較的簡単に出来ます。

エヌ・エイト・エヌ(n8n) をサーバに配置する

加えて、エヌ・エイト・エヌ(n8n)は最近、クラウドサービスも開始しました。有料になりますので、デスクトップアプリでやりたいことが実現可能であることを確認した上で検討するのが良いと思います。しかし、無料の試用期間もありますので、環境を用意できない場合は、クラウドサービスで試してみるのもお勧めです。

ホスティングされている、n8n.cloud を使うにはこちらでアカウント作成します

いずれかの方法で、まずはテストのワークフローを作ってみるのが良いでしょう。私の場合は自社でホスティングしてあるエヌ・エイト・エヌ(n8n)を使って、サンプルを作りました。

出来ればエヌ・エイト・エヌをダウンロードして、実際に作ってみて貰えると、簡単にデータ連携、サービス連携が出来ることを実感して頂けると思います!

エヌ・エイト・エヌに出来ること① ノーコードでサービス連携を行う

それでは、改めて、エヌ・エイト・エヌ(n8n)では、何が出来るのでしょうか?Zapier と同じように、様々なサービスを連携して、自動化を実現することが出来ます。

今日は、簡単な例としてGoogleシートからメールアドレスを読み込み、メールを送信するというサンプルを作ってみます。

最初に準備が必要なもの

  • 利用できるSMTPサーバ
    • パスワードなど、メール送信に必要な情報を控えておいてください。
  • Googleアカウント
    • Googleシートを使うので、Googleのアカウントが必要です。無料アカウントで構いません。
  • エヌ・エイト・エヌ(n8n)
    • デスクトップアプリでもWebアプリでも、どちらでも構いませんが、デスクトップアプリの場合、インターネットに接続できる状態のPCで作業しないと、メール送信やGoogleシートへのアクセスが出来ません。

以上で準備が出来ました!

Googleシートを準備

Googleシートに登録してあるメールアドレスに対して、メールを送信する、というサンプルなので、Googleシートにはメールアドレスが登録されている必要があります。テストなので、社内で実験しても良いメールアカウントにして下さい。

エヌ・エイト・エヌ(n8n)にGoogleスプレッドシートのノードを追加する

Googleで検索するといっぱいありますね!連携出来るサービスはZapieよりも少ないですが、それでも300個以上の連携があります。ちょっとした自動化には十分です。

ここでは、「Google Sheets」を選びます。

エヌ・エイト・エヌ(n8n)のGoogleのノードの一部

選択すると、エヌ・エイト・エヌ(n8n)のワークフローが追加されます。コネクタを伸ばして、スタートのアイコンからつなぎます。

エヌ・エイト・エヌ(n8n)とGoogleシートを繋げる

OAuth2をつかって Google アカウントにエヌ・エイト・エヌ(n8n)から接続できるように設定をします。

Google Cloud でCredential を作成します。

Credentialを使ってエヌ・エイト・エヌと接続します。「Sign in with Google」をクリックして、Googleアカウントのログイン画面で承認をすると、接続が完了します。

Google アカウントへログインします:

ログインが成功すると、エヌ・エイト・エヌの認証画面に、「Account connected」の文字が表示されます。これで準備が出来ました。

エヌ・エイト・エヌのノードのパラメタ設定で、Googleシートのどこからデータを取得するか、設定します。今回はデフォルト設定のまま、A:F列を読み込む設定のままにしておきます。

Spreadsheet IDというのは、GoogleシートのIDのことで、Googleシートを開いた状態で、ブラウザのアドレス欄からコピーできます。少し分かりにくいですが、下図の部分です
(https://docs.google.com/spreadsheets/d/★この間の値★/edit#…):
この部分が「Spreadsheet ID」に当たります

この状態で、画面右上の「Execute Node」ボタンをクリックすると、エヌ・エイト・エヌがGoogleシートにアクセスし、データを取得します。成功すると、Googleシートに記述した内容が、表示されるはずです。

Googleシートから取得したデータを使ってメール送信を行う

前のステップでGoogleシートとの連携を実行しましたので、ワークフロー上で、メールアドレス3つがデータとして取得出来ていることが分かります。

これらのメールアドレスを、メール送信のノードに渡しましょう。エヌ・エイト・エヌ(n8n)のノードを検索します。メール送信のサービスもたくさんあることがわかりますが、今回は自社のメールアドレスでも送信出来る、「Send EMAIL」ノードを利用します。

ノードを追加すると設定画面が開きます。ここでは、メール送信サーバ(SMTP)の設定をしていきます。

Credential for SMTP には、SMTPサーバの設定をします。

From Email には、送信元のメールアドレスを設定します。

To Email欄のをクリックすると、「エクスプレッションの編集画面」が開きます。「エクスプレッション(Expression)」とは、エヌ・エイト・エヌ(n8n)で使える簡単な式のことで、他システムからのデータ連携を行う部分で、利用出来ます。

Add Expression をクリックして、エクスプレッションを記述します

ここでは、Googleシートから取得したメールを使いたいので、1つ前のノードから受け取った値を指定するようにします。

Nodes -> Google Sheets -> Output Data -> JSON と選択すると、読み込んだ値が表示されますので、クリックします。

Expressionの欄に、

{{$node[“Google Sheets”].json[“メールアドレス”]}}

と入力されます。

その他、cc / bcc / 件名 / メール本文、と登録していきます。

全て入力が終ったら、試しに実行をしてみましょう。Googleシートに入れたメールアドレスに対して、実際にメールを送信してしまうので、社内の、テストで使っても良いメールアドレスに対して送信するようにしましょう!実行後に、成功のメッセージが出て、結果が一覧になって表示されます。

エヌ・エイト・エヌでは、実行結果(アウトプット)が、インプットデータとして次のノードへと引き継がれていきます。ワークフロー上で、Google シートから3件のデータが読み込まれて、メール送信の結果がまた、3件、次のノードへ引き継がれていることが分かります。

次回は、エヌ・エイト・エヌに出来てZapierには出来ない機能について、ご説明します。

エヌ・エイト・エヌにご興味を持たれた方、エヌ・エイト・エヌの導入を検討されたい方、または、ワークフローの自動化を進めていらっしゃる方、下記ボタンから、フォームを送信してください。1両日中にご連絡差し上げます。