【n8n】WindowsPCでAIワークフローの自動化にチャレンジ【AIエージェント】

# 0. はじめに

Dify、Gumloop、n8n等のAIワークフロー構築が最近盛んです。
Difyは日本国内でかなり広がっていますし、書籍も販売されだしました。

**今回はn8nというワークフロー自動化ツールを触ってみましたので、そのメモを記録しておきます。**

- 動作環境
・ OS : Windows11 pro
・ WSL： 2.4.13.0 (Ubuntu 24.04.2 LTS)
・ Node.js : 22.15.0
・ n8n : 1.91.3

・公式

https://n8n.io/

・Github

https://github.com/n8n-io/n8n

・ドキュメント

https://docs.n8n.io/


# 1. AI自動化ツール比較

Xのポストとかで一番よく聞くのは圧倒的に「Dify」だと思います。
今回は以下を参考に表へまとめてみました

https://blog.alexanderfyoung.com/7-best-ai-tools-for-advanced-automations-ai-agents-2025/

| ツール名 | 主な特徴 | 最適な用途 | 短所 |
|---------|---------|-----------|------|
| **Relevance AI** | • 事前構築テンプレートあり<br>• モジュラー構造で簡単カスタマイズ<br>• ローコードで簡単操作 | 技術知識が少ない個人・企業 | 視覚的直感性に欠ける |
| **Stack AI** | • 複数のデプロイ方法対応<br>• 企業向けカスタマイズ<br>• セキュリティ重視設計 | スケーラビリティと<br>セキュリティ重視の企業 | 採用率が低い |
| **Dify AI** | • オープンソース<br>• セルフホスト型<br>• 高度カスタマイズ可能 | データプライバシーと<br>AIモデル制御重視の企業 | 学習曲線が急 |
| **Lindy AI** | • メール対応の自動化<br>• 主要サービスとの連携<br>• 各種セキュリティ基準に準拠 | メールベースの営業・<br>サポート自動化チーム | 統合機能が限定的 |
| **Vector Shift** | • 豊富なサードパーティ連携<br>• フォームのカスタマイズ<br>• コード/ノーコード両対応 | 深い統合を必要とする<br>代理店や企業 | 市場採用率が低い |
| **Gumloop** | • 直感的なドラッグ&ドロップ<br>• 豊富なテンプレート<br>• 多様なサービス連携<br>• 企業レベルのセキュリティ | ユーザーフレンドリーさと<br>高セキュリティを求める企業 | 上位プランは高額 |
| **n8n** | • 高度にカスタマイズ可能<br>• API直接統合<br>• セルフホスト対応 | 技術に精通したユーザーや<br>オンプレミス志向の企業 | 非開発者には難しい |

今回はこの中にもあるn8nを使用してみます

# 2. n8nで作成するワークフローに関して

今回は毎日定期的にQiitaのトレンド記事を3行要約させてメール配信させるワークフローにします。
<font color="Red">(注意)Gmailの認証に別途Google Cloudを使用しますので、Gmailの部分までやる為にはGoogle Cloudにプロジェクトを作成する必要があります</font>


・n8nの作成画面
![スクリーンショット 2025-05-11 001921.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/63168f6e-cebb-4c74-97fa-02c663a3b78d.png)

・実際に受信できるメール
![ニュース.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/fa4ece0e-7ac0-42b3-b508-43625019903e.png)


# 3. n8nの導入と起動(localhost)

今回の記事は簡単のため、WSLの導入に関しては書きません。WSLの導入はWindows11だと簡単にできますので、他の記事に任せます

<br>
①まずWSLを起動してください。

```bash
wsl
```
②次にNode.jsとnpmのインストールします ※Node.js 16以上が必要
```bash
# パッケージリストを更新
sudo apt update

# Node.jsと関連パッケージをインストール
sudo apt install -y nodejs npm

# バージョン確認
node -v
npm -v
```

③n8nのインストール
```bash
# n8nをグローバルインストール
sudo npm install -g n8n

# インストールの確認
n8n --version
```

④n8nの起動
```bash
# n8nを起動
n8n
```
```cmd:出力
Editor is now accessible via:
http://localhost:5678

Press "o" to open in Browser.
```
ここで「o」をクリックするとブラウザが開き、n8nがlocalhostで起動します

最初はログイン等の設定をする必要があります
(Eメール、名前、パスワード)
![rogin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/54d3b562-d605-4b78-95cd-29922d853b68.png)


次に利用目的を入れます 
(私は「I'm not using n8n for work」を押し、何でn8nを知った？には ※私はTwitterとした)
![rogiin2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/32eb193f-a322-4b54-b1e9-61101a636fb8.png)

これでようやく使えるようになるはずです

# 4. n8nでワークフローを作成する

以下で[2で示した](#2-n8nで作成するワークフローに関して)ワークフローを順を追って作成していく

## 4-1. トリガーを立てる

まず初期画面だと思うので、＋ボタンを押すと以下図のように「このワークフローのトリガを何にする？」と言われるので、今回は定期実行をさせる為`「On a schedule」`を押す
※他にも色々なトリガーを立てられる。


![初期画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/cafb42f8-4ea4-4f79-a3d9-fe41c1cd157c.png)

するとトリガの設定ができるので、スケジュール設定を行う（ここは難しくないと思うので割愛する）

![トリガ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/823f3f20-b09c-4f38-a814-9a51716568c4.png)

設定が終わったら`「Test step」`を押すと、テスト可能。エラーが出なければOK
※Back to canvasを押せば元のフローへ戻る

## 4-2. LLMの設定

スケジュールの横にある「+」を押してAIのワークフローを追加する

![AI.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/b6787f63-d07f-48a3-a5c5-93d85fb6e600.png)

今回はその中（AIをクリックした次の画面）から`「OpenAI」`をクリックする。
するとActionsで何をさせるか？と聞かれるのでメールを送る為、`「Message a model」`を選択する

![mes.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/083910d9-4197-4860-b139-0ec35802c7a3.png)

するとOpenAIの設定画面になるので入力していく。
MODELに関してはWeb検索を依頼する為、`「GPT-4O-SERCH-PREVIEW」`を選んだ

![OpenAI1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/b06d9860-b781-40cf-811f-e4ac93fc3f39.png)

アカウント設定にｈOpenAIのAPI Keyを入れ、Base URLに`「https://api.openai.com/v1」`を入れる

![OpenAI2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/4b09a801-e4a7-45f4-aa03-fa21646cfb55.png)

プロンプトは簡単に以下とした
```
以下のURLの最新トレンド記事を上から5つ確認し、タイトルと中身の3行要約(30文字以内)を付与して通知してください

https://qiita.com/
```

この状態まで入力できたら、ここでも`「Test step」`を押すと、その内容でその時点でのQiitaからトレンド記事を解説してくれるはずである


## 4-3. Gmailの設定

### 4-3-1. Gmailの設定

先ほど同様に「＋」を押して今度は`「Action in an app」`をクリックし、`「Gmail」`を選ぶ

![Gmail1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/3f8dbb65-efd0-4a4d-9e12-869ebcef1244.png)

そうすると、AI同様「Actions」を聞かれるので、`「Send a message」`をクリックする

![gmail2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/95596e9c-ed8e-4383-af94-0be5b2e616b2.png)

後は設定をしていく。

### 4-3-2. Google CloudにてOAuth認証情報を作成する

ここを詳細に解説すると記事が長くなりすぎるので、若干端折りながら解説をする。
(Google Cloudのプロジェクトは事前に作成する必要があります)

① Google Cloudを起動し、APIとサービスをクリック
②「認証情報を作成」⇒「OAuthクライアントID」を押す
※初回の場合は「OAuth同意画面」を作成しろと言われるので道なりに作成する
![API.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/b6b603fd-583c-4006-a850-d875f160e825.png)


③認証情報は、アプリの種類`「ウェブアプリケーション」`、名前は適当（私はn8nのメール配信）、認証済のリダイレクトURLは`http://localhost:5678/rest/oauth2-credential/callback`が以下図に元々記載されているのでそれをコピペして貼ればいい<br>
④そうすると、OAuth 2.0 クライアント IDが設定でき、その名前をクリックすると、ページ右側（Additional information）にクライアントIDとクライアントシークレットが記載されているので、それをn8nのGoogleアカウント設定以下図の2か所に記載する

![Gmail3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/6b167f3a-f570-4340-b970-cc8a9ca52509.png)

⑤ただこれだけだと駄目で、OAuth同意画面を再度クリックして「対象」の中の「テストユーザー」に認証するメールアドレスを設定する必要がある

![Gmail4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/4d602896-e94a-4e03-99be-3fca9d867da5.png)

⑥これができたら設定完了。Gmail account画面で認証ができ、2個前の図「Account connected」という緑ステータスになる

### 4-3-3. Gmailのテスト

後はn8nのGmail設定で今まで同様に`「Test step」`をクリックすれば、Qiitaのトレンドが対象メールアドレスへメールで送られてくるはずである。

![ニュース.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/01ada030-7a22-4435-bc0d-19b4f7f6ab89.png)

## 4-4. 連動テストとアクティブ化

全体画面に戻り、「Test workflow」を押すとトリガー～AI～Gmailの一連の連動動作確認ができる。
実際にメールがくればOKである

![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/8256e5c8-c2a2-4dbf-9d40-7caba20e6fbb.png)

テスト後はこれをアクティブにする必要があるので、Saveボタンを押した後にActiveを有効にすればOK。

![active.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/373060/ec4f0971-0ec2-48b9-aac2-b073d1ea51a6.png)

PCさえ起動できていれば時間になったらワークフローが自動で動いてメールが届くことが確認できる

# 5. おわりに

正直このようなワークフローをやるなら、それこそGoogle CloudやAWSでとかでやらせたほうがいいのかもしれないが、ローカルでワークフローを組むことができるn8nはかなり面白いと感じたのでメモを残しておきました。
正直Difyよりもこっちのほうがやれることも多い上に今後求められるのはAIと他のツールの連携だと思うので少しとっつきにくいと思うかもですが、試してみてはいかがでしょうか？