- 動作確認日:2026-10-01
- n8nのバージョン:2.41.3(Docker、セルフホスト)
この記事について
n8nを自分のパソコン(localhost)のDockerで動かしていると、使えないトリガーがあります。実際に作ったワークフローをもとに、「使えるトリガー」「使えないトリガー」と、使えないときの代わりの方法をまとめます。
なぜ使えないのか
n8nのトリガーには、大きく2つの種類があります。
| 種類 | しくみ | 例 | localhostで使えるか |
|---|---|---|---|
| 呼んでもらう(Webhook型) | 外のサービスが、n8nのURLを呼ぶ | Telegram Trigger、GitHub Trigger | 使えない(外から localhost には届かない) |
| 取りに行く(ポーリング型) | n8nが、決まった間隔で外のサービスに確かめに行く | Gmail Trigger、Google Drive Trigger | 使える |
Webhook型のトリガーは、インターネットから見えるURL(https)でn8nを動かしている必要があります。
実際に使えたトリガー
| トリガー | 結果 | 記事 |
|---|---|---|
| Gmail Trigger | メールが届いてから約1分で動いた | Gmailに特定のメールが届いたらSlackに通知する |
| Google Drive Trigger | 最初は動かず、有効にし直したら約1分で動くようになった | Googleドライブにファイルが追加されたらSlackに通知する |
どちらも「Poll Times」を「Every Minute」(1分ごと)にしました。
使えないトリガーの代わりの方法
Telegram:getUpdatesで取りに行く
Telegram Triggerの代わりに、TelegramのAPI(getUpdates)を、n8nのほうから呼んで、ボットあてのメッセージを取りに行きました。
- 「どこまで読んだか(offset)」をワークフローに覚えさせる
- offsetを進めるのは、記録が済んだあとにする(先に進めると、メッセージがなくなる)
記事:
注意:TelegramのAPIは、URLの中にボットのトークンを入れるしくみです。そのため、このやり方では、ワークフローの中(HTTP RequestノードのURL)にトークンが入ります。ワークフローのJSONを人に渡すときは、トークンを必ず消してください。
GitHub:リリースの一覧を取りに行く
GitHub Triggerは、Webhook型であることに加えて、Webhookを設定できるのは自分が管理しているリポジトリだけです。n8nの公式リポジトリのような、他人のリポジトリは見張れません。
そこで、GitHubのAPI(/repos/持ち主/リポジトリ名/releases)で、リリースの一覧を取りに行き、まだ知らせていないバージョンだけを通知しました。
記事:
RSSなど:Schedule Triggerで定期的に動かす
RSSの新着記事の通知や、天気予報の通知も、同じ考え方です。Schedule Triggerで決まった時刻や間隔に動かし、「まだ送っていないもの」だけを送ります。
記事:
取りに行く方法のよいところ・気をつけるところ
| よいところ | 気をつけるところ |
|---|---|
| インターネットから見えるURLがいらない | 届いてから動くまでに、確認の間隔ぶんの遅れがある |
| ルーターやサーバーの設定がいらない | 「どこまで処理したか」を自分で覚える作りが必要 |
| n8nを外に公開しないので、安心 | 確認の間隔を短くしすぎると、APIの回数の上限に近づく |
すぐに反応させたいときは、n8nをインターネットから見えるURLで動かして、Webhook型のトリガーを使う方法もあります。今回は、テスト用のn8nを外に公開したくなかったので、取りに行く方法にしました。
