「Telegramで受信したメッセージに自動で返信できたら便利なのに」。
そう考えたことはありませんか。
顧客からの問い合わせ対応、コミュニティへの情報提供、個人のタスク管理など、さまざまな場面でBotによる自動化は強力な武器になります。
しかし、プログラミングが必要だと思うと、少しハードルが高いと感じるかもしれません。
ご安心ください。
本記事で紹介するiPaaS(Integration Platform as a Service)ツール「n8n」を使えば、コードを一行も書かずに、高機能なTelegram Botを構築できます。
この記事では、n8nを使ってTelegram Botを作成し、メッセージの受信から自動応答までを実装する全手順を、初心者の方にも分かりやすく丁寧に解説します。
読み終える頃には、あなたも自分だけのオリジナルBotを動かせるようになっているはずです。
準備編:n8nとTelegram Botの初期設定
自動化の旅を始める前に、まずは必要なツールを準備しましょう。ここでは、n8nのアカウント作成と、TelegramでBotを作成するための基本的な設定手順を解説します。
ステップ1:n8nのアカウントをセットアップする
n8nは、クラウド版とセルフホスト版がありますが、すぐに始められてメンテナンスも不要なクラウド版がおすすめです。特に初めての方には、手軽さが魅力です。
n8nには無料のプランも用意されており、小規模な自動化であれば十分に活用できます。2026年2月時点の情報では、基本的な機能は無料で試せるため、リスクなくスタートできます。
まずは公式サイトにアクセスし、アカウントを登録しましょう。以下のリンクからサインアップすると、スムーズに開始できます。
登録が完了したら、ログインしてワークフローを作成できる状態にしておきましょう。n8nのダッシュボードは直感的で、視覚的に自動化のフローを組み立てられるのが大きな特徴です。
ステップ2:TelegramでBotを作成し、APIトークンを取得する
次に、Telegram側でBotを作成します。これは「BotFather」という、Telegram公式のBotを使って行います。
- Telegramアプリを開き、検索バーで「BotFather」を検索します(公式マークが付いているものを選択してください)。
- BotFatherとのチャット画面で、
/newbotと入力して送信します。 - 最初に、作成するBotの名前を尋ねられます。これはユーザーに表示される名前なので、日本語でも大丈夫です。(例: 私の自動応答Bot)
- 次に、Botのユーザー名を尋ねられます。これはBotを識別するためのIDで、必ず「_bot」で終わる必要があります。また、他のユーザーが使用していないユニークなものでなければなりません。(例: my_auto_reply_gemini_bot)
- ユーザー名が承認されると、BotFatherからメッセージが届きます。その中に「Use this token to access the HTTP API:」という記述があり、その後に続く長い英数字の羅列が、あなたのBotのAPIトークンです。
このAPIトークンは、n8nがあなたのBotを操作するために必要な「鍵」のようなものです。絶対に他人に知られないように、大切に保管してください。後でn8nの設定に使用するため、メモ帳などにコピーしておきましょう。
これで、n8nとTelegramの両方の準備が整いました。いよいよ、2つを連携させていきます。
実践編①:Telegramからのメッセージをn8nで受信する
準備が整ったので、ここからはn8nのワークフローを実際に構築していきます。最初のゴールは、「Telegram Botに送られてきたメッセージをn8nで受け取ること」です。これが自動化の第一歩となります。
ステップ1:n8nで新規ワークフローを作成する
n8nのダッシュボードから「Add workflow」をクリックして、新しい空のワークフローを作成します。キャンバスが表示されたら、プラス(+)ボタンをクリックしてノードを追加します。
ステップ2:「Telegram Trigger」ノードを設定する
ノードの検索画面で「Telegram」と入力し、「Telegram Trigger」を選択します。このノードは、Telegramで特定のイベント(この場合はメッセージの受信)が発生したことを検知し、ワークフローを起動する役割を持ちます。
次に、このトリガーノードを設定していきます。
- Authentication: 「Credentials for Telegram API」のプルダウンから「- Create New -」を選択します。
- Credentials Name: 認証情報の名前をつけます。(例: My Telegram Credential)
- Access Token: 先ほどBotFatherから取得したAPIトークンをここに貼り付けます。
- 「Save」をクリックして認証情報を保存します。
- Updates: 受信したいイベントの種類を選択します。今回はメッセージを受信したいので、「message」にチェックが入っていることを確認します。
これで、n8nがあなたのTelegram Botと通信できるようになりました。
ステップ3:トリガーをテストして受信データを確認する
設定が正しくできたか確認するために、テストを実行します。「Fetch test event」をクリックすると、n8nがTelegramからの情報待ち受け状態になります。この状態で、あなたが作成したTelegram Botに何かメッセージ(例: 「こんにちは」)を送ってみてください。
成功すると、n8nの画面に受信したデータがJSON形式で表示されます。データの中身を見てみましょう。以下のような重要な情報が含まれているはずです。
message.chat.id: メッセージが送信されたチャットのID。誰に返信するかを特定するために不可欠です。message.from.first_name: 送信者の名前。message.text: 送信されたメッセージの本文。この内容に応じて応答を変えることができます。
このJSONデータ構造を理解することが、n8nを使いこなす鍵となります。特にchat.idとtextは、今後のステップで頻繁に使用します。ここまでくれば、自動応答Botの完成まであと一歩です。
実践編②:受信メッセージに応じて自動応答を実装する
メッセージの受信に成功したら、次はいよいよ自動で応答を返す機能を追加します。ここでは、単純なオウム返しから、キーワードに応じて応答を変える少し高度な処理まで、ステップバイステップで実装していきます。
ステップ1:シンプルな自動応答(オウム返し)を作成する
まずは最も基本的な「受信したメッセージをそのまま返す」オウム返しBotを作ってみましょう。
- 「Telegram Trigger」ノードの右側にあるプラス(+)ボタンをクリックし、新しいノードを追加します。
- 検索バーで「Telegram」と入力し、今度はアクション用の「Telegram」ノードを選択します。
- ノードの設定画面で、以下の項目を設定します。
- Resource: 「Message」を選択します。
- Operation: 「Send Message」を選択します。
- Chat ID: 返信先の指定です。右側の歯車アイコンから「Add Expression」を選択し、
{{ $json["message"]["chat"]["id"] }}と入力します。これは、トリガーで受信したデータの「chat.id」を動的に参照するという意味です。 - Text: 返信するメッセージ内容です。同様に「Add Expression」を選択し、
{{ $json["message"]["text"] }}と入力します。これで受信したテキストをそのまま返す設定になります。
設定が完了したら、ワークフロー右上の「Execute Workflow」をクリックします。そして、再度あなたのBotにメッセージを送ってみてください。送ったメッセージがそのまま返ってきたら成功です。
ステップ2:キーワードに応じて応答を切り替える
次に、受信したメッセージに特定のキーワードが含まれている場合のみ、応答を変えるようにしてみましょう。ここでは「IF」ノードを使います。
- 「Telegram Trigger」と「Telegram」ノードの間にある接続線をクリックして削除します。
- 「Telegram Trigger」の後に「IF」ノードを追加します。
- IFノードの設定画面で、条件を追加します。
- 「Add Condition」をクリックします。
- 「Value 1」にExpressionで
{{ $json["message"]["text"] }}を設定します。 - 「Operation」で「contains」を選択します。
- 「Value 2」に特定のキーワード(例: 「サポート」)を入力します。
- IFノードには「true」と「false」の2つの出力パスができます。「true」(キーワードが含まれていた場合)のパスに、先ほど作成した「Telegram」ノードを接続します。
- 「Telegram」ノードの「Text」を、「サポートですね。担当者にお繋ぎしますので、少々お待ちください。」のような固定のメッセージに変更します。
これで、「サポート」という単語を含むメッセージを受信したときだけ、特別な案内を返すBotができました。さらにIFノードを繋げていけば、複数のキーワードに対応する複雑な分岐処理も可能です。例えば、製品名ごとに異なるFAQを返す、といった顧客対応の自動化が考えられます。
もしn8nの基本的な使い方や、より複雑なワークフローの組み方について詳しく知りたい場合は、n8nの全体像を網羅的に解説したn8n完全ガイド記事が役立ちます。ぜひそちらも参考にしてみてください。
>>【完全ガイド】n8nとは?話題の業務自動化ツールを徹底解説!
応用編:もっと便利なBotにするためのヒント
基本的な応答ができるようになったら、さらにBotをパワーアップさせるためのアイデアを見ていきましょう。n8nを使えば、単なる応答Botに留まらない、多機能なアシスタントを作り上げることができます。
ヒント1:外部APIと連携して情報を取得・通知する
n8nの真価は、さまざまなWebサービスやAPIと簡単に連携できる点にあります。例えば、「HTTP Request」ノードを使えば、外部のAPIを叩いて情報を取得し、その結果をTelegramに通知できます。
活用例:
- 天気予報Bot: 「今日の天気は?」というメッセージを受け取ったら、天気予報APIから情報を取得し、整形して返信する。
- ニュースリーダーBot: 興味のあるキーワード(例: 「AI」)を含むニュースをニュースAPIから取得し、要約して毎日決まった時間に通知する。
- 株価通知Bot: 特定の銘柄コードを受け取り、株価APIで現在の株価を調べて返信する。
これらの処理も、プログラミングは一切不要です。「HTTP Request」ノードでAPIにリクエストを送り、返ってきたJSONデータをn8n上で加工して、「Telegram」ノードで送信するだけで実現できます。あなたのアイデア次第で、可能性は無限に広がります。
ヒント2:「Cron」ノードで定期実行する
メッセージ受信をきっかけにするのではなく、「毎日朝8時にタスクリストを通知する」といった定期実行の自動化も可能です。これには「Cron」ノードを使用します。
- ワークフローの最初のトリガーを「Telegram Trigger」から「Cron」ノードに置き換えます。
- Cronノードの設定画面で、実行したいスケジュールを設定します。(例: 「Every Day」にして、Hourを「8」に設定)
- その後に、通知したい情報を生成するノード(例: Google Sheetsからタスクを読み込むノード)と、Telegramにメッセージを送るノードを接続します。
この機能を使えば、リマインダー、定期レポートの配信、ウェブサイトの死活監視など、さまざまなプッシュ型の通知システムを簡単に構築できます。
ヒント3:エラーハンドリングで安定稼働させる
本格的にBotを運用する上で欠かせないのが、エラーハンドリングです。例えば、連携先のAPIが一時的にダウンしていた場合など、予期せぬエラーでワークフローが停止してしまう可能性があります。
n8nでは、各ノードの設定タブにある「Settings」からエラー時の挙動を設定できます。「Continue on Fail」をオンにしておくと、そのノードでエラーが発生してもワークフローが停止せず、次の処理に進みます。
さらに、エラーが発生した場合にのみ実行される「Error Trigger」をワークフローに追加し、自分自身にエラー通知を送るように設定しておけば、問題が発生した際にすぐ気付くことができます。これにより、Botの安定稼働率を大幅に向上させることが可能です。
まとめ:n8nで創造的な自動化を始めよう
本記事では、ノーコードツールn8nを使ってTelegram Botを作成し、メッセージの受信から自動応答、さらには応用的な使い方までを解説しました。
手順を振り返ってみましょう。
- 準備:n8nのアカウントを作成し、TelegramでBotFatherを使ってBotを作成・APIトークンを取得しました。
- メッセージ受信:「Telegram Trigger」ノードを設定し、Botへのメッセージをn8nで受け取る仕組みを作りました。
- 自動応答:「Telegram」ノードと「IF」ノードを組み合わせ、受信したメッセージの内容に応じた返信を実装しました。
- 応用:外部API連携や定期実行、エラーハンドリングといった、より高度な機能についてもご紹介しました。
プログラミングの知識がなくても、このように視覚的な操作だけで、実用的なBotを短時間で構築できるのがn8nの最大の魅力です。今回作成したBotは、ほんの一例にすぎません。GoogleスプレッドシートやSlack、Gmailなど、あなたが普段使っているさまざまなツールと連携させることで、その可能性はさらに広がります。
この記事をきっかけに、あなたの日常業務やプライベートなタスクの中に「自動化できること」がないか探してみてはいかがでしょうか。
さあ、あなたもn8nで業務自動化の、そして創造的な問題解決の第一歩を踏み出してみましょう。
