ランチの時間だよ!とメッセージを送る
今回は決まった時間が来たら自動でメッセージが表示されるワークフローを作ります。そのメッセージはGmailやLINEなどに送信できますが、今回はn8n上にメッセージを表示する簡単なワークフローにとどめます。
メッセージは何でも良いですが、今回は毎日お昼の12時になったら「午前中のお仕事お疲れさん!ランチの時間だよ!」というメッセージが表示されるようにします。決めた時間になればn8nが勝手に動いてくれる。これが自動化の第一歩です。
この記事では、「スケジュールトリガー」と「Setノード」という2つのノードを使って、シンプルな時間指定の自動化を体験します。シンプルと言っても初めてn8nのワークフローを作成する人にとっては大変な作業になると思います。そのためできるだけ細かく、丁寧に説明するつもりです。
なぜスケジュールトリガーが大事なのか
自動化とは「自分が何もしなくても動く」ことです。誰でも知っている当たり前のことですよね。手動トリガーだと自分でボタンを押す必要があるので、本当の意味では自動化になっていません。スケジュールトリガーを使うことで、初めて「本当の自動化」ができるようになります。
新しいワークフローを作る
それでは実際にn8nを起動して新しいワークフローを作っていきます。まずDocker Desktopを起動し、ご自身で設定したn8nのコンテナがONになっていることを確認します。

次にブラウザを開いて、アドレスバーに次のURLを入力します。
http://localhost:5678
毎回入力するのは大変なので、ブラウザでお気に入りに登録しておくと次回から開きやすくなります。
n8nの画面が開くと、最初に「概要」という画面が表示されます。バージョンによって最初に表示される画面は違いますが、基本的には左側のメニューや上部のタブから「ワークフロー」を選べば一覧画面に移動できます。

画面右上にある赤い「ワークフローを作成」ボタンをクリックします。新しい空のワークフロー画面(キャンバス)が開きます。
最初はワークフロー名が自動でついた仮の名前になっているはずです。このままだと後で見返したときに何のワークフローか分からなくなるので、名前を変更しておきます。画面右上部のワークフロー名(デフォルとではMy workflow)をクリックすると編集できる状態になるので、「ランチタイムのお知らせ」と入力して確定します。

スケジュールトリガーを追加する
それでは、このワークフローに最初のノードを追加します。追加するのはスケジュールトリガーというノードです。これがワークフローの「きっかけ」になります。
画面中央にある「最初のステップを追加・・・」と書かれた点線の四角(プラスマークの中)をクリックします。すると、画面の右側からノード選択のパネルがスライドして出てきます。

最初のパネルには「手動でトリガー」「アプリイベント時」「スケジュールで」など、よく使われるトリガーの候補がいくつか並んでいます。実はここから「スケジュールで」を直接選んでも進めるのですが、今回はノードの探し方を覚えるために検索を使ってみます。
上部にある検索ボックスに「Schedule」と入力します。候補が絞り込まれて「Schedule Trigger」が表示されるので、それをクリックします。

クリックすると、スケジュールトリガーがキャンバスに配置され、同時にそのノードの設定パネルが開きます。これでスケジュールトリガーの追加は完了です。

なお、検索ボックスは日本語でも検索できますが、n8nのノード名は英語が正式名称なので、英語で検索した方が目的のノードにたどり着きやすいです。「英語が苦手なんだよなぁ・・・」と思う人もいるかもしれませんが、その点については別の記事で取り上げます。
設定パネルの上部にある案内文について
設定パネルが開くと、上部に黄色い枠で囲まれた英語のメッセージが表示されています。

これは「このワークフローは、ここで設定したスケジュールに従って動きます。ただし、それはワークフローを有効化(Publish)した後の話です。テストしたいときは、キャンバスに戻って『execute workflow(ワークフローを実行)』ボタンをクリックすれば、手動で動かして確認することもできます」という案内です。
つまり、時間を設定しただけでは自動で動きません。ワークフローを有効化する操作が必要ということを覚えておきましょう。有効化の手順は後のステップで解説します。
時間を設定する
それではスケジュールトリガーの時間を設定していきます。
ノードを追加すると設定パネルが開いていますが、もし閉じてしまった場合は、キャンバス上の「Schedule Trigger」ノードをダブルクリックすれば再び開きます。

まず設定パネルを説明します。
①Trigger Interval(実行間隔):どんな間隔でワークフローを動かすかを決める設定です。初期状態では「Days(日単位)」が選ばれていて、「毎日決まった時間に動く」設定になっています。今回はこのままで進めます。
②Days Between Triggers(何日ごとに動かすか):「1」と入っていれば毎日動きます。今回はそのまま「1」のままにします。
③Trigger at Hour(何時に動かすか):初期状態では「Midnight(深夜0時)」になっています。プルダウンをクリックすると時間の一覧が出てきます。表記は12時間制でamとpm表記。それではお昼の12時は「pm12」と思いきや、お昼の12時は「Noon」なんです。ですから「Noon」を選びます。
なお、ここで表示される時刻はn8nのコンテナに設定したタイムゾーンの時刻です。Docker Desktopでn8nのコンテナを作るときにタイムゾーンを「Asia/Tokyo」に設定していれば、Noonは日本時間の正午(12:00)を意味します。設定していない場合は世界協定時刻(UTC)で動くため、日本時間より9時間遅れて動きます。タイムゾーンの設定方法は、以下の記事で詳しく解説しています。


④Trigger at Minute(何分に動かすか):「0」と入っていれば、ちょうどの時間に動きます。今回はそのまま「0」のままにします。
この4つを設定すると、「毎日お昼の12時00分に動く」という意味になります。Trigger at Hourを「Noon」に変更すると、設定パネルは以下のようになります。

すぐにテストしたい場合
毎日Noon(お昼12時)まで待つのは大変なので、テストのときは「今から数分後の時間」に一時的に設定すると動作確認ができます。たとえば今が午後2時20分なら、③Trigger at Hour を「2pm」、④Trigger at Minute を「25」にしておくと、5分後にワークフローが動きます。動作確認が終わったら、本来のNoonに戻せばOKです。
Setノードを追加する
スケジュールトリガーの設定ができたので、次は「動いたときに何をするか」を決めるノードを追加します。今回はメッセージを表示することなので、追加するのはSetノードです。
Setノードは「決まった値(テキストや数字)をデータとして用意する」役割を持つノードです。今回は「ランチタイムのお知らせメッセージ」をこのSetノードで用意します。
設定パネルが開いている場合は、いったん右上の「×」ボタンをクリックして閉じます。キャンバスに戻ると、Schedule Triggerノードの右側に小さな「+」ボタンが表示されているので、これをクリックします。

クリックすると、ノード選択パネルが画面右側から出てきます。検索ボックスに「Set」と入力します。候補の中から「Edit Fields (Set)」を選びます。

クリックすると、Setノードの設定画面が直接開きます。

補足:Setノードの正式名称
n8nの古いバージョンでは「Set」というシンプルな名前のノードでしたが、現在は「Edit Fields (Set)」という名前に変わっています。「フィールド(項目)を編集するノード」という意味で、機能は同じです。
メッセージを設定する
Setノードの設定画面が開いたら、ここに「表示したいメッセージ」を設定していきます。

まず、設定画面の上部にある ①Mode(モード) が「Manual Mapping」になっていることを確認します。これは「手動で値を設定するモード」です。初期状態でこれが選ばれているので、変更不要です。
その下にある「Fields to Set」という枠に表示されている、②「フィールドを追加」という赤い文字をクリックします。

クリックすると、入力欄が表示されます。データ種類は最初から「文字列」になっています。

入力欄は2つあります。
name(名前):このデータに付ける名前です。「message」と入力します。
value(値):実際のメッセージ本文です。「午前中のお仕事お疲れさん!ランチの時間だよ!」と入力します。

これで、「message」という名前のデータに「午前中のお仕事お疲れさん!ランチの時間だよ!」というメッセージが入った状態になります。
補足:nameとvalueの関係
「name」と「value」は、ラベルと中身の関係です。たとえばお弁当箱に「ランチメッセージ」とラベルを貼って(name)、中に手紙を入れる(value)というイメージです。今回は名前を「message」、中身をランチタイムのメッセージにしました。
ワークフローを保存して有効化する
メッセージの設定が終わったら、ワークフローを保存して有効化します。「有効化」とは、ステップ4で出てきた黄色いメッセージの中にあった「Publish(公開)」のことです。有効化すると、設定した時間になったらn8nが自動でワークフローを動かしてくれるようになります。
まず、Setノードの設定画面を右上の「×」ボタンで閉じます。キャンバス画面に戻ります。
画面右上を見ると、「Publish」というボタンがあります。これをクリックします。

クリックすると「Publish workflow(ワークフローを公開する)」という確認画面が表示されます。

この画面に出ている英語の意味を、上から順に見ていきます。
Publish workflow:「ワークフローを公開する」という意味で、この画面のタイトルです。
Version name(バージョン名):このワークフローの「版(バージョン)」につける名前です。自動で英数字のランダムな名前が入っています。このまま変更せずに進めて大丈夫です。
Describe changes (optional):「変更内容の説明(任意)」という意味です。「optional」は「任意」「省略可」の意味なので、空欄のままで問題ありません。
キャンセル:公開をやめて元の画面に戻るボタンです。
Publish:「公開する」という意味のボタンです。これをクリックすると、ワークフローが有効化されて自動で動く状態になります。
右下の赤い「Publish」ボタンをクリックします。
クリックすると、「Workflow published(ワークフローが公開されました)」という完了画面が表示されます。

確認画面を閉じてキャンバスに戻ると、画面右上のボタンが「Published」(緑色のマーク付き)に変わっています。これがワークフローが有効化された印です。

これで「毎日Noon(お昼12時)になったらメッセージが表示される」という設定が完成し、自動で動く状態になりました。
動作確認の方法
ここまでで設定は完了です。あとは指定した時間が来るのを待つだけです。もちろんワークフローを動作させるためにはパソコンを立ち上げている必要があります。
ワークフローの実行記録は「実行」タブで確認できます。画面上部にある「エディター/実行/テスト」のタブのうち、「実行」タブをクリックすると、これまでの実行履歴の一覧が表示されます。
まだ一度も指定時間が来ていない場合は、「実行が見つかりません」「まだ何もありません」と表示されます。

指定した時間(今回はNoon=正午)が来ると、自動でワークフローが動き、「実行」タブに新しい履歴が1件追加されます。日時と「成功」の文字、実行にかかった時間が表示されます。
右側のキャンバスには、Schedule TriggerノードとEdit Fields(Setノード)が両方とも緑色のチェックマーク付きで表示されます。これが「両方のノードが成功した」という証拠です。

メッセージの中身を確認するには、キャンバス上の「Edit Fields」ノードをクリックします。設定パネルが開き、右側の「出力」エリアにSetノードで設定したメッセージが表示されます。「message:午前中のお仕事お疲れさん!ランチの時間だよ!」のように、ステップ7で入力したメッセージがちゃんと届いているはずです。

自動化の実感とおさらい
指定した時間に「実行」タブを見て、ちゃんとメッセージが届いていたら成功です。「自分が何もしていないのに、メッセージが表示された!」と感動した人もいれば、「なに?たったこれだけ?」と感じた人もいたでしょう。n8n管理人は後者です。(笑)しかし、たったこれだけの動作が自動化の最初の一歩なんです。あなたは自動化の最初の一歩を踏み出したんです。
今回のワークフローで覚えたことを振り返ります。
- Schedule Trigger(スケジュールトリガー):時間が来たら自動でワークフローを動かすノード
- Edit Fields(Setノード):データに名前と値を設定するノード
- Publish(有効化):ワークフローを実際に動かせる状態にする操作
この3つは、これから先のワークフローでも何度も使う基本パーツです。
今回はn8nの画面の中にメッセージを表示するだけでしたが、ここから先にノードを追加していけば、メッセージをメールで送ったり、SlackやLINE、Discordに通知したり、Googleカレンダーに予定として登録したりと、いろんな場所に届けられるようになります。応用編はまた別の記事で取り上げていきます。
まずは「決まった時間に自動で動く」という、自動化の第一歩を体験できたでしょうか。

