← All Projects

業務フロー自動化(n8n Workflows)

n8n+Dockerによる自動化ワークフロー集。RSS収集+Webhook連携。

n8n / Docker / Docker Compose / JavaScript
Category
業務自動化
Development Period
2日
Responsibilities
企画 / ワークフロー設計 / n8nノード構成 / データ変換ロジック / Docker環境構築

概要

n8nを用いて構築した業務自動化ワークフロー集。情報収集・通知・データ変換など、業務でよく利用される自動化パターンをテンプレート化した。ニュース収集、GitHub通知ルーティング、CSVデータ変換の3つのワークフローを実装した。

対象ユーザー

  • 定型的なデータ収集・通知処理を自動化したい開発チーム
  • CSV等のデータ変換・クレンジングを定期的に行う事務・分析担当者
  • ノーコード/ローコードツールで業務改善を進めたいチーム

GitHub

🔗 GitHub

スクリーンショット

ワークフローエディタ
RSS News Aggregator — ワークフローエディタ(実行成功)
実行履歴
実行履歴 — 複数回の自動実行が成功
Webhook出力結果
Webhook出力 — RSSから取得したニュースデータ(JSON)

開発背景

フリーランスの業務自動化案件において、n8nのようなワークフローツールの実務経験を示す必要があった。RSS収集・Webhook連携・データ変換という業務でよく求められる3パターンを選び、テンプレートとして再利用可能な形で構築した。

解決した課題

  • ニュースや情報源の手動チェックを、RSSフィードの定期自動取得に置き換え
  • GitHub上のイベント(Push・Issue・PR)をイベント種別ごとに分岐して通知を構造化
  • CSVデータの空行除去・フォーマット正規化・重複排除を一つのワークフローとして自動化

主な機能

  • RSSニュース収集: NHKニュースRSSから記事を定期取得し、タイトル・リンク・公開日などを構造化して出力
  • GitHub Webhookモニター: Push・Issue・PRの3種類のイベントを受信し、種別ごとに整形した通知メッセージを生成
  • CSVデータ変換パイプライン: CSVデータをWebhookで受信 → パース → 空行除去 → キー名正規化・メール小文字化・電話番号整形・日付変換 → 重複排除 → JSON出力

使用技術

  • ワークフロー: n8n(セルフホスト)
  • インフラ: Docker / Docker Compose
  • データ処理: JavaScript(Code Node)
  • 主要ノード: Schedule Trigger / Webhook / RSS Feed Read / Switch / Filter / Set / Item Lists / Respond to Webhook

設計上の工夫

  • トリガーの二重化: RSSワークフローはSchedule Trigger(定期実行)とWebhook(手動実行)の両方を用意し、自動・手動どちらでも起動できる構成にした
  • イベントルーティング: GitHub Webhookでは、Switchノードでイベントヘッダーを判定し、Push/Issue/PRそれぞれに専用のフォーマット処理を分岐させる設計とした
  • データクレンジングの段階的処理: CSVパイプラインでは、パース → フィルタ → 正規化 → 重複排除 → 出力整形を個別のノードに分離し、各ステップの役割を明確にした
  • ワークフローのモジュール化: 各Workflowを「取得→判定→変換→出力」の共通構造で設計し、新しい自動化処理も既存パターンを流用して追加できる構成とした
  • ノーコードとコードの使い分け: 標準ノードで実現できる処理はノードで構成し、データ正規化など複雑な処理のみCode Nodeを利用することで、保守性と柔軟性を両立した

アーキテクチャ

Docker
    │
    ▼
  n8n
 ├─ RSS Workflow
 │   └─ Structured Output
 ├─ GitHub Workflow
 │   └─ Notification
 └─ CSV Workflow
     └─ JSON Output

開発周期

2日

担当範囲

企画 / ワークフロー設計 / n8nノード構成 / データ変換ロジック / Docker環境構築

成果・実現したこと

  • 3種類の業務自動化パターン(情報収集・イベント通知・データ変換)をテンプレート化した
  • Docker Composeにより、環境構築からワークフロー実行まで一貫して再現できる構成を実現した
  • CSVデータのクレンジング処理をワークフロー化し、再利用可能なテンプレートとして構築した

想定導入効果

  • 情報収集の自動化による日常チェック工数の削減
  • GitHubイベントの構造化通知によるチーム内共有の効率化
  • CSVデータの手動加工を自動パイプライン化し、作業ミスと工数を削減

開発で直面した課題と解決方法

  • ワークフローの汎用性確保: 特定の環境やデータに依存しすぎると再利用しにくい。ワークフローをJSONテンプレートとしてエクスポートし、インポートするだけで動作する構成にした
  • データ形式のばらつきへの対応: 入力CSVのキー名やデータ形式がバラバラな場合を想定し、Code Nodeでキー名の小文字化・スペース除去、メール・電話番号・日付の型別正規化を実装した

このプロジェクトで学んだこと

  • ワークフロー設計では、処理を小さなノードへ分割し、それぞれの責務を明確にすることで、可読性・保守性・デバッグ効率を高められることを学んだ
  • ワークフロー自動化では、トリガー設計(いつ・どう起動するか)がフロー全体の使いやすさを左右することを実感した
  • Docker Composeでn8nをセルフホストすることで、クラウドサービスに依存しない自動化環境を手軽に構築できることを学んだ