# Gmail：新着メール

Source: https://openflow.run/ja/docs/nodes/poll/
Language: ja
Product version: 0.1.0-beta.77

トリガーのタブで Gmail の具体的なイベントを選び、新着メールから処理を開始します。

ノード追加パネルのトリガータブで、アプリ一覧から Gmail を選び、新着メールのイベントを選択します。キャンバスに追加するのは、この具体的なイベントです。アカウント、設定フィールド、出力は選んだカタログ定義に従います。

## イベントを選ぶ

Gmail アカウントを選び、送信者、ラベル、既読状態、Gmail 検索条件のフィルターを設定します。この例は 5 分ごとに新着を確認します。

アプリカタログで Gmail の「新着メール」を選びます。この例は 5 分ごとに新着を確認し、受け付けたイベントの後続処理を開始します。

**入力**
Gmail アカウントを選び、選択したイベントの検索フィールドを設定します。

**想定される結果**
フローを公開・有効化すると、条件に一致する新着メールから実行を作成できます。

**実行前の準備**
Gmail アカウントを認可し、イベント設定とバックグラウンド処理を確認してから公開・有効化してください。

[ワークフローをダウンロード](https://openflow.run/docs/examples/poll-inbox.openflow.json)

CLI/MCP では同じカタログイベントを次のように作成します。`poll` は検出方式を表し、追加パネルの独立した選択肢ではありません。

```json
{
  "op": "node.add", "as": "inbox", "type": "poll", "name": "New inbox messages",
  "config": {
    "key": "gmail.on_message_received",
    "connectionId": "CONNECTION_ID",
    "schedule": [{ "type": "every", "unit": "minute", "value": 5 }]
  }
}
```

## 設定とイベント出力

イベント設定は実行の作成前に使われます。現在のスキーマが対応する静的な入力元のみを使い、これから始まる実行の下流結果は参照できません。

Beta 77 のイベント定義には、次の設定フィールドがあります。

| フィールド | 既定値 | 用途 |
| --- | --- | --- |
| `labelNamesOrIds` | `[]` | 名前または ID で指定したラベルをすべて含むメールを対象にします。 |
| `readStatus` | `All` | `Read`、`Unread`、`All` から選びます。 |
| `search` | `""` | Gmail の検索構文で絞り込みます。件名の検索にも使えます。 |
| `sender` | `""` | 送信者のアドレスまたは名前で絞り込みます。 |
| `includeDrafts` | `false` | 下書きを含めます。 |
| `includeSpamAndTrash` | `false` | 迷惑メールとゴミ箱内のメールを含めます。 |
| `maxMessagesPerPoll` | `25` | 1 回の確認で取得する最大件数です。範囲は 1〜100 です。 |

出力ポートは `events` で、メールイベントの配列を返します。後続ノードの入力にはこのポートをバインドします。各要素には次のフィールドがあります。

| フィールド | 型 | 内容 |
| --- | --- | --- |
| `messageId`、`threadId` | string | メール ID とスレッド ID。 |
| `historyId` | string または null | Gmail の履歴 ID。 |
| `labelIds` | string\[\] | メールのラベル ID。 |
| `subject`、`sender`、`to` | string | 件名、送信者、宛先。 |
| `messageTimestamp` | string | メールの時刻。 |

## 公開して確認する

Gmail アカウントを認可し、設定を確認してからフローを公開・有効化します。デプロイ先が定期的な確認と配信進捗の保存を行い、条件に一致する新着メールから実行を作成します。

実際のメールでテストし、生成された実行を確認してください。ドラフトのシミュレーションだけでは、アカウント権限やバックグラウンド処理の準備は分かりません。アカウントや範囲の変更後は、古いバインドを使わないようにする必要があります。ワーカーの復旧は通常のタスク再試行ではなく、デプロイ仕様に従います。

## 参照元

*   [docs/control/trigger-permissions.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/trigger-permissions.md)
*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#trigger-configuration-and-outputs)
*   [packages/open-flow/src/workbench/browser/runtime/stores/triggerStore.ts](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/workbench/browser/runtime/stores/triggerStore.ts)
*   [packages/open-flow/src/trigger/providers/catalog.generated.json](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/trigger/providers/catalog.generated.json)
