メールトリガー
メールトリガーを使用すると、フロー固有のインバウンドアドレスにメールが配信されたタイミングでフローを開始できます。これにより、アラートツールやチケット管理ツールとの連携が容易になります。ほとんどの監視システムはメール通知を送信できるため、それらをフローのアドレスに向けるだけで連携が完了します。
代表的なユースケース:
-
Webhook には対応していないがメール通知に対応してい る監視・オブザーバビリティツールからのアラートに反応する。
-
チケット作成や更新時にメールを送信するチケット管理システムを接続する。
-
テンプレート化された本文を持つ機械生成メールを処理する。プレーンテキスト本文が有効な JSON の場合、解析されたオブジェクトが
jsonBodyとして下流ノードで利用できます。
設定
-
インバウンドメールアドレス: フローを公開すると、
[email protected]のようなユニークなアドレスが割り当てられます。そのアドレスに配信されたメールはすべて実行を開始します。このアドレスは推測不可能でフロー固有のものです。シークレットと同様に扱ってください。フローを再公開してもアドレスは変わりません。 -
送信者の制限(任意): フローを開始できる送信者を制限します。完全なメールアドレス(
[email protected])、ドメイン全体(@example.com)、またはその両方を組み合わせて追加できます。リストが空の場合、どの送信者でもフローを開始できます。 -
送信者の認証を必須にする: 有効にすると(デフォルト)、送信者ドメインの SPF/DKIM 認証に失敗したメールは拒否されるため、なりすましの送信者アドレスではフローを開始できません。
メールペイロード
メールのコンテンツは、トリガーペイロードとして下流ノードで利用できます。
| Field | Description |
|---|---|
| from / fromName | 送信者アドレスと表示名 |
| to / recipientSuffix | メールが送信されたフローアドレス。recipientSuffix にはプラスアドレスのメタデータが含まれます(wf-abc123+prod@... 宛てのメールの場合、suffix は prod) |
| subject | メールの件名 |
| textBody / htmlBody | プレーンテキスト本文と HTML 本文 |
| jsonBody | プレーンテキスト本文が有効な JSON の場合の解析済みオブジェクト。テンプレート化された本文を持つ機械生成メールに有用 |
| headers / messageId / receivedAt | 生のメールヘッダー、Message-ID、配信タイムスタンプ |
| spf / dkim | メールプロバイダによる認証結果 |
| attachments | メタデータと、対応しているドキュメントタイプについては解析済みコンテンツを含む添付ファイルオブジェクトの配列(添付ファイルのコンテンツ を参照) |
添付ファイルのコンテンツ
対応しているドキュメントタイプについては、メールトリガーが添付ファイルのコンテンツを自動的に抽出し、Markdown に変換して、添付ファイルのメタデータとともに下流ノードで利用できるようにします。
attachments 配列の各エントリには次の情報が含まれます。
| Field | Description |
|---|---|
| filename | 元のファイル名 |
| size | バイト単位のファイルサイズ |
| contentType | MIME コンテンツタイプ |
| markdown | 抽出されたドキュメントコンテンツ(Markdown)。ファイルタイプが未対応、または解析に失敗した場合は空 |
| parseStatus | 解析結果:parsed、truncated、skipped、error |
対応ファイルタイプ: PDF、Microsoft Word(DOCX)、Microsoft PowerPoint(PPTX)
parseStatus の値:
-
parsed: コンテンツの抽出に成功しました。
-
truncated: コンテンツは抽出されましたが、最大長を超えたため途中で切り詰められました。
-
skipped: ファイルタイプが未対応である、ファイルが空である、またはファイルサイズが制限を超えています。
-
error: コンテンツの抽出に失敗しました。
制限事項:
-
1 通のメールにつき最大 5 個の添付ファイルが解析されます。それ以上の解析可能な添付ファイルには
skippedステータスが付与されます。 -
10 MB を超える添付ファイルはスキップされます。
-
抽出された Markdown はおおよそ 256,000 文字 で切り詰められます。
1 つのフローで同時に進行中の実行は最大 1 つです。フローがすでに実行中に到着したメールは破棄され、同じメール(同じ Message-ID)の再配信は無視されます。Webhook でトリガーされるフローと同様に、メールでトリガーされるフローも Run ボタンからは開始できません。
自由形式のメール本文から構造化されたフィールド(例: severity・service・account ID など)を抽出するには、トリガーの直後に LLM ノード を追加して、textBody から必要な情報を抽出してから処理してください。