← n8nガイド

付録

付録

A.1. トラブルシューティング FAQ

(ここでは一般的な FAQ の例をいくつか挙げますが、実際の FAQ はより広範になります)

  • Q: ワークフローが期待通りに動作しません。どこを確認すればよいですか?
    • A: まず「実行履歴 (Executions)」でエラーが出ていないか確認します。エラーがあればメッセージを読み、エラーが発生したノードの入力データと設定を見直します。エラーがない場合は、各ノードの Input/Output Data を順に確認し、データが意図した通りに流れているか、式が正しく評価されているかを確認します。ノードごとのテスト実行も有効です。
  • Q: Webhook がトリガーされません。
    • A: Webhook URL が正しいか、外部サービス側で正しく設定されているか確認します。Test URL と Production URL を間違えていないか確認します。n8n が起動しており、ネットワーク的に到達可能か確認します。ファイアウォール設定なども確認してください。
  • Q: Credentials (認証情報) がうまく設定できません。
    • A: 入力した API キーやトークン、クライアント ID/シークレットなどが正しいか再確認します。OAuth2 の場合は、リダイレクト URL の設定が正しいか、サービス側でのアクセス許可が適切に行われているか確認します。n8n のドキュメントで対象サービスの Credentials 設定手順を確認してください。
  • Q: ワークフローが途中で止まってしまいます。
    • A: 実行履歴でどのノードで停止しているか確認します。エラーメッセージがあればそれを手がかりにします。タイムアウト、メモリ不足、データ形式の問題などが考えられます。大量データを扱う場合は SplitInBatches などで分割処理を検討します。

A.2. 式 (Expressions) リファレンス

n8n の式は、ワークフロー内で動的なデータを扱うための強力な機能です。JavaScript の構文に基づいています。

  • 基本構文: {{ expression }}
  • データへのアクセス:
    • $json.propertyName: 現在のアイテムの JSON データ内のプロパティ。
    • $item(index).json.propertyName: 特定のインデックスのアイテムの JSON データ内のプロパティ。
    • $node["Node Name"].json.propertyName: 特定のノードの出力 JSON データ内のプロパティ。
    • $binary.propertyName: バイナリデータプロパティへのアクセス。
    • $parameter.parameterName: ノードのパラメータ値へのアクセス。
    • $env.VARIABLE_NAME: 環境変数へのアクセス。
    • $workflow.id, $workflow.name: ワークフローの ID や名前。
    • $execution.id, $execution.lastNodeExecuted: 実行 ID や最後に実行されたノード名。
  • 組み込み変数/オブジェクト:
    • $now: 現在の日時 (Luxon DateTime オブジェクト)。例: {{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}
    • $today: 今日の日付の始まり (Luxon DateTime オブジェクト)。
    • $yesterday: 昨日の日付の始まり。
    • $tomorrow: 明日の日付の始まり。
    • $runIndex: ループ処理 (SplitInBatches など) における現在の実行回数 (0始まり)。
    • $resumeIndex: 再開可能なワークフローでのインデックス。
  • 演算子:
    • 算術演算子: +, -, *, /, %
    • 比較演算子: ==, !=, ===, !==, >, <, >=, <=
    • 論理演算子: && (AND), || (OR), ! (NOT)
    • 三項演算子: condition ? value_if_true : value_if_false
  • 一般的なメソッド (例):
    • 文字列: .toUpperCase(), .toLowerCase(), .slice(), .split(), .replace(), .includes()
    • 数値: .toFixed(), .toString()
    • 配列: .map(), .filter(), .find(), .join(), .length
    • オブジェクト: Object.keys(), Object.values()

詳細は n8n 公式ドキュメントの「Expressions」セクションを参照してください。

A.3. 用語集

  • Workflow (ワークフロー): 一連の自動化されたタスクの流れを定義したもの。ノードとコネクションで構成される。
  • Node (ノード): ワークフロー内の個々の処理ステップ(トリガー、アクション、ロジックなど)。
  • Trigger Node (トリガーノード): ワークフローを開始させるきっかけとなるノード (例: Schedule, Webhook)。
  • Regular Node (通常ノード): データの取得、加工、送信など、トリガー以外の処理を行うノード。
  • Connection (コネクション): ノード間を結び、データの流れを示す線。
  • Item (アイテム): ワークフロー内を流れるデータの単位。通常は JSON オブジェクト。
  • JSON (JavaScript Object Notation): n8n で主に使われるデータ形式。キーと値のペアで構成される。
  • Expression (式): {{ }} で囲まれた、動的な値を生成するためのコードスニペット。JavaScript に似た構文を持つ。
  • Credentials (認証情報): 外部サービスへの接続に必要な API キーやトークンなどを安全に保存・管理する仕組み。
  • Execution (実行): ワークフローがトリガーされてから完了または失敗するまでの一連の処理。実行履歴で確認できる。
  • Self-Hosted: ユーザー自身のサーバーやインフラに n8n をインストールして運用する形態。
  • n8n Cloud: n8n 社が提供するマネージドなホスティングサービス。
  • Webhook: Web アプリケーション間でリアルタイムにデータを送信するための仕組み。HTTP POST リクエストが一般的。
  • API (Application Programming Interface): ソフトウェアコンポーネント同士が相互作用するための一連の定義やプロトコル。
  • Queue Mode (キューモード): n8n の実行を Main, Webhook, Worker プロセスに分散させ、スケーラビリティを高める動作モード。
  • Community Nodes (コミュニティノード): n8n コミュニティのメンバーによって開発・公開されたカスタムノード。