5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

先日「n8nを触ってみよう」という内容の社内勉強会に参加させてもらいました。その時に意外と手間なく使えるなと感じたのと、ジョインしている開発チームで自分は「AIをもっと業務に活用していこう!」的な取り組みを推進させてもらっているので、まずは自分が簡単に試してみよう!ということで「XXやってみた!」系の記事です。

n8nとは?

n8nはワークフローの自動化ツールです。
オープンソースで作られているので、セルフホスティングもでき、その場合は無償で使うことができるようです。

image.png

早速使ってみる

ゴタゴタ書いても伝わらなそうなので早速使ってみようと思います。
パッといいアイデアが思いつかなかったのですが、最近一緒に働くメンバーが「問い合わせ対応とか自動化したいな」と言っていた気がするので、それっぽいものを作ってみようと思います。

今回はお試しで作ってみようと思うので、簡単に

  • 1.Gmailで特定のメールが来たらワークフローを実行する
  • 2.メールの問い合わせ内容をスプレットシートに追記する
  • 3.メールの問い合わせ内容に対する回答をGPTに作成させる(実行自体は1., 2.の間。)
  • 4.問い合わせが来た旨をSlackで通知する
    の流れで作成してみようと思います。
    (本来は4.で自動回答させると思いますが、Slack連携も試しておきたかったので。)

ワ-クフロー作成

左側のn8nロゴの隣にある+ボタンから作成できます。

image.png

トリガーの設定

Add first step...と表示されるので+をクリックして最初のノードを追加します。

image.png

今回はメールの受信時にワークフローが始まって欲しいので、On app eventを選択します

image.png

サービスの選択

トリガーとなるサービスの一覧が表示されるので、今回はGmailを選択します。
image.png

認証情報の取得

サービスを選択するとParametersCredential to connect withの箇所があります。
ここを選択すると認証情報を連携することができます。
image.png

今回はOauth2.0により連携させます。

image.png

画面の通りに設定を進めていくとよくある画面が出てきて連携をすることができます。
(他にもいくつかのサービスと連携させてみましたが、この連携がスムーズでちょっと感動しました🔥)
image.png

サービス固有の設定をする

連携するサービスのトリガーの条件をある程度指定することができます。
今回は特定のラベルのついたメールを受信したらワークフローを起動するようにしました。

image.png

ここまでで

  • 1.Gmailで特定のメールが来たらワークフローを実行する

が完了しました

ノードの追加(スプレットシートへの書き込み)

ワークフローの起動を設定したので、それ以降のノードを追加していきます。
+ボタンからノードを追加し、Action in an appからアプリ上で実行する内容を決めていきます。

  • 2.メールの問い合わせ内容をスプレットシートに追記する

を実行して欲しいので、Google Sheetsを選択しました。

image.png

ここでも同じように認証情報を取得します。

image.png

書き込み先を設定する

ワークフロー内で書き込みたいシート用意します。
image.png

ParametersにスプレットシートのURLやシート名を選択します。
image.png

書き込む内容を設定する

スプレットシートに書き込む内容を決めていきます。
ワークフロー内のノードから値を参照することができるので、INPUTから内容を指定します。

image.png

最初はノードの値を参照する時にJSONが出てきて、指定方法に迷ったのですが、表示されるINPUTの内容をフォームにD&DすることでJSONはいい感じに追加されます。
image.png

image.png

ここまでの動作確認

一旦ここまでの内容を動作確認してみます。
以下のようなメールを連携したGmailアドレス宛に送信しておきます。
image.png

その後Test stepを実行すると以下のような結果がn8n上に表示されており、ワークフローに成功していることがわかります。
image.png

ノードの追加(OpenAIと連携して回答内容を考える)

スプレットシートの書き込みまでできたので

  • 3.メールの問い合わせ内容に対する回答をGPTに作成させる(実行自体は1., 2.の間。)

この内容のノードを作ってみます。
Gmail TriggerGoogle Sheetsの間にある+ボタンからノードを追加してAction in an appからOpenAIを選択します。
image.png

OpenAIのAPI Keyを入力する欄があるので、OpenAI上で発行したものを貼り付けます。
image.png

モデルやプロンプトを入力することができるので、任意のモデルを選択し、最初のノードから取得したメールの本文をプロンプトに含め、問い合わせに対する回答を取得できるようにします。
image.png

Google Sheetsではスプレットシートへ書き込む際にOpenAIから取得した内容を書き込むように追加設定します。
(ノードの数によってJSONから取得する時の構文が変わるようなので、必要に応じて問い合わせ日時や概要もD&Dしなおします。)
image.png

ここまでの動作確認

ここまでの内容で動作確認してみます。
Test stepから実行をしてみると回答にOPENAIで作成された回答が入力されていることがわかります。
image.png

スプレットシートも確認してみると、しっかり書き込まれることがわかります!
image.png

ノードの追加(Slackの通知)

最後に通知を追加したいので、Slack連携をするノードを作成していきます。
Action in an appからSlackを選択します。

image.png

ここでも連携情報を取得します。

image.png

Slackで送るメッセージの内容を設定していきます。

image.png

Test stepから実行してみます。
n8n上では成功してみます。

image.png

連携したSlackのワークスペースからもメッセージが追加され、成功していることがわかります。
image.png

ワークフローを使ってみる

ここまでで構想していたワークフローは作成できたので実際に動作確認してみます。
作成したワークフローをactiveにして以下のようなメールを送ってみます。

image.png

設定通りSlackにメッセージが来ました!
image.png

スプレットシートにも書き込まれています🎉
image.png

その他

作成したワークフローはJSON形式でダウンロードできるようです。
コード管理できるのは良いですね!

image.png

おわりに

こういったノーコード系のものは、最初謎にとっつきにくさを感じていたのですが、実際に触ってみると簡単に操作を覚えることができ、今回のワークフローの作成も30分程度ででき、その手軽さに感動しました!
連携できるサービスも多く、効率化できそうなものが無限にあるのでしっかり活用していきたいと思います!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?