導入のしかた
このページの内容
対象:「準備編」(M1)を終えた方 対応:Mac のみ(Windows の方は、導入前に個別にご相談ください) 版:下書き 2026-11-07(【パッケージ化で差し替え】 の印がある所は、インストールの方法が決まったら書き直します)
本書では、導入するシステムを仮に「本システム」と呼びます。
第0章 はじめに#
この本でできること#
準備編で控えた値を使って、次の3つを終わらせます。
- 本システムを、ご自身の Cloudflare に入れる
- LINE の設定を、本システムに向け直す
- 友だち追加から、メッセージが届くまでを、実際に確かめる
全体の流れと所要時間の目安#
| 順 | 内容 | 章 | 目安 |
|---|---|---|---|
| 1 | 導入前のチェック | 第1章 | 10分 |
| 2 | 本システムを入れる | 第2章 | 30〜40分 |
| 3 | 定期処理を「1分ごと」にする | 第3章 | 5分 |
| 4 | LINE 側の設定を、本システムに向ける | 第4章 | 15分 |
| 5 | 管理画面に入り、最初の設定をする | 第5章 | 15分 |
| 6 | オプション機能(使う方だけ) | 第6章 | 各20〜40分 |
| 7 | 動作確認 | 第7章 | 15分 |
合計で 1時間半〜2時間ほどです。
手元に用意するもの#
- 準備編の控えシート(第8章)
- 準備編 第7章で開いたターミナル(API トークンを設定したもの)。閉じてしまった場合は、準備編 7-3 からやり直します。
- LINE アプリを入れたスマートフォン(動作確認に使います)
大切なお約束(準備編と同じです) チャネルシークレット、長期トークン、API トークンは、パスワードと同じ扱いです。 チャット、メール、画面共有、AI に貼り付けないでください。ターミナルには、ご自身で入力します。
第1章 導入前のチェック#
1-1 準備編のチェック表を、もう一度#
準備編 第8章の「準備ができたかのチェック」が、すべて☑になっているか確かめます。とくに、次の2つは、よく抜けます。
- LINE ログインチャネルが「公開済み」になっている
- LINE ログインチャネルが、Messaging API と同じプロバイダーにある
1-2 導入先の Cloudflare アカウントを確かめる#
ターミナルで、次を実行します(先頭8文字 は、控えシートの値に置き換えます)。
npx wrangler whoami | grep -c 先頭8文字
- 1 と出れば、導入先のアカウントです。先に進みます。
- 0 と出たら、止めてください。違うアカウントに入れてしまいます(準備編 7-5)。
1-3 定期処理(cron)の空きを確かめる#
本システムは、cron を 2本使います。無料プランは、1つのアカウントで5本までです。 同じアカウントで、ほかのシステムを動かしている方は、Cloudflare の画面で「Workers & Pages」→ 各 Worker →「設定」→「トリガー」を見て、合計を数えておきます。
第2章 本システムを入れる 【パッケージ化で差し替え】#
この章は、今後「インストールすれば、すぐ動く形」に作り直します。 いまは、導入担当者が横について進める前提の手順です。 作り直したあとは、「フォルダを用意 → 1つのコマンドを実行 → 画面の案内に答える」だけになる予定です。
2-1 先に、新しいフォルダを用意する(いちばん大切)#
導入ツールは、以前の導入の設定を、自動で拾ってしまうことがあります(準備編 Q5)。これを防ぐため、先に、本システムを入れるフォルダを作って、中身を入れてから、導入ツールを動かします。
- フォルダの場所の例:
書類/LINE/本システム - フォルダ名に、スペースは入れないでください。
2-2 本システムを取得する#
導入担当者から渡された、取得のコマンドを実行します。【パッケージ化で差し替え:配布の場所とコマンド】
- 取得が終わると、フォルダの中に
pnpm-workspace.yamlというファイルができます。これがあれば成功です。
2-3 インストールを実行する#
導入担当者から渡されたコマンドを、取得したフォルダの中で実行します。【パッケージ化で差し替え】
インストールの途中で、次のことを聞かれます。控えシートを見ながら答えます。
| 聞かれること | 答え | 注意 |
|---|---|---|
| プロジェクト名 | 英小文字・数字・ハイフン(例:abc-line) |
Worker・データベースの名前になります。あとから変えられません |
| workers.dev のサブドメイン名 | プロジェクト名とは別の名前(例:abc) |
同じ名前にすると、URL が abc-line.abc-line.workers.dev のように重なります(準備編 Q6) |
| Messaging API のチャネル ID | 控えシートの値 | |
| Messaging API のチャネルシークレット | 控えシートの値 | 秘密。画面に表示されないのが正常です |
| チャネルアクセストークン(長期) | 控えシートの値 | 秘密 |
| LINE ログインのチャネル ID・シークレット | 控えシートの値 | シークレットは秘密 |
| LIFF ID | 控えシートの値 |
止めるべき表示 「前回の途中から再開します」や、覚えのないプロジェクト名が出たら、すぐに Control + C で止めて、導入担当者に知らせてください。以前の環境を上書きしてしまう恐れがあります。
2-4 インストールが終わったら、控える#
インストールが終わると、次の URL が表示されます。控えシートの余白に書き写します。
| URL | 形の例 | 使う場所 |
|---|---|---|
| 本システムの URL(Worker) | https://abc-line.abc.workers.dev |
LINE 側の設定(第4章) |
| 管理画面の URL | https://abc-line-admin-xxxx.pages.dev |
毎日の操作 |
| 管理画面の API キー | 長い英数字 | 管理画面へのログイン。秘密 |
2-5 本システムの追加機能(アドオン)を反映する 【パッケージ化で差し替え】#
本システムは、もとになったオープンソース(L Harness)に、追加機能(ステップの時刻指定・ウェビナー・フォーム・リマインドなど)を足したものです。いまは、インストールのあとに、追加機能を反映する作業が別に要ります。導入担当者が行います。
パッケージ化のあとは、インストールの中で、追加機能も一度に入るようにします。この節はなくなる予定です。
第3章 定期処理を「1分ごと」にする#
ステップ配信やリマインドは、定期処理(cron)が、決まった間隔で「送る時刻になったメッセージ」を探して送ります。
- 導入ツールの既定は 5分ごとです。このままだと、メッセージが最大5分遅れます。
- 本システムは、1分ごとを前提にしています(予約した時刻から、遅れても1分ほど)。
3-1 設定を確かめる#
Cloudflare の画面で、「Workers & Pages」→ 本システムの Worker →「設定」→「トリガー」を開きます。「Cron トリガー」に、次の2つがあれば OK です。
| 表示 | 意味 |
|---|---|
* * * * * |
1分ごと(配信の確認) |
0 */6 * * * |
6時間ごと(点検・整理) |
*/5 * * * *(5分ごと)になっていたら、導入担当者に知らせてください。【パッケージ化で差し替え:ひな型で最初から1分ごとにする。この章は「確かめるだけ」になる】
第4章 LINE 側の設定を、本システムに向ける#
ここで、LINE と本システムがつながります。本システムの URL(第2章で控えたもの)を使います。
貼る URL は、管理画面からコピーできます。 管理画面にログインし(第5章 5-1)、左メニューの「設定」→「LINEアカウント」→ アカウントの「編集」を開くと、「このアカで使う URL(LINE Developers Console に貼る)」に、次の3つが表示されます。手で打たずに、ここからコピーするのが確実です。
- Webhook URL(Messaging API channel に貼る)
- Callback URL(LINE ログインに貼る)
- LIFF の Endpoint URL(
?liffId=付き。LIFF 設定画面に貼る)
4-1 Webhook URL を設定する(Messaging API チャネル)#
- >LINE Developers コンソールで、プロバイダー → Messaging API のチャネルを開きます。
- 「Messaging API設定」タブの「Webhook URL」の「編集」を押します。
https://(本システムの URL)/webhookを貼り付けて、「更新」を押します。- 「検証」を押します。「成功」と出れば OK です。
- 「Webhook の利用」がオンになっていることを確かめます。
検証が失敗するときは、第8章 Q4 を見てください。
4-2 Callback URL を設定する(LINE ログインチャネル)#
- 同じプロバイダーの、LINE ログインのチャネルを開きます。
- 「LINEログイン設定」タブで、「ウェブアプリでLINEログインを利用する」をオンにします。
- 「コールバックURL」に、
https://(本システムの URL)/auth/callbackを入れて、「更新」を押します。
これを忘れると、パソコンで QR コードから友だち追加したときに、何も起きずに止まります(スマホからは動くので、気づきにくい所です)。
4-3 LIFF のエンドポイント URL を直す#
準備編では、仮の https://example.com を入れていました。これを、本システムの URL に直します。
- LINE ログインチャネルの「LIFF」タブで、作った LIFF アプリを開きます。
- 「エンドポイントURL」を、
https://(本システムの URL)?liffId=(LIFF ID)に変えて、「更新」を押します。- 末尾の
?liffId=…まで、必ず入れてください。管理画面の「LIFF の Endpoint URL」をコピーすれば、そのまま正しい形です。
- 末尾の
4-4 応答設定を、もう一度確かめる#
>LINE Official Account Manager →「設定」→「応答設定」で、次のとおりか確かめます(準備編 2-2 と同じ)。
| 項目 | 設定 |
|---|---|
| チャット | ○ オフ |
| あいさつメッセージ | ○ オフ |
| 応答メッセージ | ○ オフ |
| Webhook | ● オン |
あいさつメッセージをオフにするのは、友だち追加のときのメッセージを、本システム(登録経路)から送るためです。オンのままだと、2通届きます。
第5章 管理画面に入り、最初の設定をする#
5-1 ログインする#
- ブラウザ(Chrome をおすすめします)で、管理画面の URL を開きます。
- 「管理画面にログイン」で、API キーを貼り付けて「ログイン」を押します。
- ホームが表示されれば成功です。この URL を、ブックマークしておきます。
API キーは、パスワードと同じ扱いです。パスワード管理アプリに保存してください。 「APIキーが正しくありません」と出たら、前後に空白が入っていないか確かめます。
5-2 LINE アカウントの設定を確かめる#
左メニューの「設定」→「LINEアカウント」を開きます。
| 確かめること | 見る所 |
|---|---|
| アカウントが1つ登録されている | 一覧 |
| 「現在操作中」になっている | アカウントの行 |
| LINE Login と LIFF が「設定済み」 | アカウントの行 |
「未設定」のものがあれば、「編集」から、控えシートの値を入れて保存します。
- LIFF ID が未設定のままだと、フォーム・ウェビナーのリンクが作れません(画面に「このアカウントの LIFF ID が未設定のため…」と出ます)。
5-3 テスト送信先に、自分を入れる#
テンプレートや一斉配信を、自分にだけ試しに送れるようにします。
- スマホの LINE で、ご自身の公式アカウントを友だち追加します(第4章が終わっていれば、本システムの名簿に入ります)。
- 管理画面の「友だちリスト」で自分を開き、「テスト送信先」にチェックを入れて、一番下の「変更を保存」を押します。
5-4 友だち追加のときに送るメッセージを決める#
左メニューの「友だち追加」→「登録経路」を開きます。一覧の先頭に、2つの固定の行があります。
| 固定の行 | 誰に効くか |
|---|---|
| LINEから直接(経路なし) | 専用リンクを使わずに、LINE の検索や QR コードから友だち追加した人 |
| 既存の友だち(返信などで登録) | 本システムを入れる前から友だちだった人が、返信・スタンプ・タップで初めて名簿に入ったとき |
まずは「LINEから直接」の「編集」で、メッセージ送信に、あいさつのテンプレートを選びます(テンプレートの作り方は、テンプレート)。
友だち追加で、全員に自動で流れるステップはありません。 登録経路で選んだものだけが流れます。
第6章 オプション機能を設定する(使う方だけ)#
準備編の「補」で準備したものを、ここで本システムに入れます。使わない機能は、飛ばしてください。
6-1 秘密の値を、本システムに入れる(ターミナル)#
本システムのフォルダの中の apps/worker で、使う機能の分だけ、次を実行します。値を聞かれたら、ご自身で貼り付けて Enter を押します(画面には表示されません)。
| 機能 | コマンド |
|---|---|
| Chatwork 通知 | npx wrangler secret put CHATWORK_API_TOKEN |
| Google カレンダー連携 | npx wrangler secret put GOOGLE_OAUTH_CLIENT_ID と npx wrangler secret put GOOGLE_OAUTH_CLIENT_SECRET |
【パッケージ化で差し替え:フォルダの場所の言い方】
6-2 Chatwork 通知#
- 管理画面の「設定」→「受信通知」を開きます。
- 「Chatwork に通知する」にチェックを入れ、ルームID(数字のみ)を入れます。
- 「テスト送信」を押し、Chatwork に届いたら「設定」で保存します。
- 「通知する種類」と「通知頻度」(リアルタイム・15分に1回・1時間に1回・3時間に1回)を選びます。
| 画面の表示 | 対処 |
|---|---|
| 「お知らせ用の API トークンが、まだ設定されていません」 | 6-1 が未実施です |
| 「API トークンが正しくありません」 | 貼り間違いです。6-1 をやり直します |
| 「そのルームに送れません」 | お知らせ用アカウントを、ルームのメンバーに追加します |
6-3 専用リンク(短い登録リンク)#
準備編「補」の B-2〜B-4(転送用の Pages と DNS)が終わっていることが前提です。
- 管理画面の「友だち追加」→「登録経路」の上の「短いリンクのドメイン」に、
https://go.example.comの形で入れて「保存」を押します。 - 「保存しました。このドメインは、転送先につながっています。」と出れば OK です。
- 「まだ転送先につながっていません」と出たら、Cloudflare と DNS の設定が終わっていません。終わるまで、そのリンクは使わないでください。
6-4 Google カレンダー連携#
- 管理画面の「設定」→「Google カレンダー連携」→「Google でログイン」を押し、許可します。
- 警告の画面が出たら、「詳細」→「(アプリ名)に移動」で進みます(準備編「補」C の説明どおりです)。
- 使い方は、フリーフォームを見てください。
第7章 動作確認#
ここまでで、友だち追加からメッセージが届くまでが、動くはずです。スマホを手元に置いて、順に確かめます。
| 順 | すること | 期待する結果 |
|---|---|---|
| 1 | まだ友だちになっていない LINE(ご家族のスマホなど)で、公式アカウントを友だち追加する | 「LINEから直接」で選んだメッセージが、数秒以内に届く |
| 2 | 管理画面の「友だちリスト」を開く | 自分が一覧に出ている |
| 3 | スマホから、公式アカウントに「テスト」と送る | 管理画面の「ホーム」の「最新メッセージ」に出る(Chatwork を設定していれば、通知も来る) |
| 4 | 「テンプレート」で1つ作り、「保存してテスト送信」 | 自分のスマホに届く |
| 5 | 「フリーフォーム」で1つ作り、「プレビュー」を押す | LINE の中でフォームが開く |
| 6 | Cloudflare の「トリガー」を見る | 第3章の2つがある |
1 で届かないときは、第8章の Q5 を見てください。 一度ブロックして解除しただけでは、「初めての友だち追加」にならないことがあります。確認には、まだ友だちになっていない LINE を使ってください。【要確認:ブロック解除のときの動き】
導入完了のチェック#
- ☐ Webhook の「検証」が成功した
- ☐ Callback URL と LIFF のエンドポイント URL を直した
- ☐ 管理画面にログインでき、LINE アカウントが「設定済み」になっている
- ☐ 自分を「テスト送信先」にした
- ☐ 友だち追加で、メッセージが届いた
- ☐ テスト送信が届いた
- ☐ フォームが LINE の中で開いた
- ☐ 定期処理が「1分ごと」になっている
ここまでできたら、導入は完了です。毎日の使い方は、はじめての方へを見てください。
第8章 つまずき Q&A#
Q1 「前回の途中から再開します」と出た#
以前の導入の設定を拾っています。すぐに Control + C で止めて、導入担当者に知らせてください。そのまま進めると、以前の環境を上書きする恐れがあります。第2章 2-1 のとおり、新しいフォルダに中身を入れてから実行します。
Q2 管理画面を開くと「Nothing is here yet」と出る#
管理画面が「本番」ではなく「プレビュー」として公開されています。導入担当者が、本番として公開し直します(--branch main を付けて反映します)。
Q3 画面には新しい機能があるのに、保存するとエラーになる#
管理画面だけが新しく、本システムの本体(Worker)が古いままです。導入担当者が、本体を反映し直します。【パッケージ化で差し替え:この問題は、パッケージ化で起きなくする】
Q4 Webhook の「検証」が失敗する#
次を順に確かめます。
- URL の末尾が
/webhookか。前後に空白がないか。 - 第2章のインストールが、最後まで終わっているか。
- 本システムの URL を、ブラウザで開けるか(何かの文字が表示されれば、動いています)。
Q5 友だち追加しても、メッセージが届かない#
| 確かめること | 対処 |
|---|---|
| 「登録経路」の「LINEから直接」に、メッセージを選んでいるか | 第5章 5-4 |
| 選んだステップが「停止中」になっていないか | ステップ配信の一覧で「配信中」にする |
| LINE の「応答設定」で Webhook がオンか | 第4章 4-4 |
| 管理画面の「友だちリスト」に、自分が出ているか | 出ていなければ、Webhook が届いていません(Q4) |
| 自分が、管理画面で「ブロック」になっていないか | 友だち編集で確かめる |
Q6 フォームやウェビナーのリンクを押しても、開かない#
- LINE ログインチャネルが「公開済み」か(準備編 4-4)。
- LIFF のエンドポイント URL の末尾に、
?liffId=…が付いているか(第4章 4-3)。 - 管理画面の「LINEアカウント」で、LIFF ID が「設定済み」か(第5章 5-2)。
Q7 パソコンの QR コードから友だち追加すると、途中で止まる#
LINE ログインの Callback URL が未設定です(第4章 4-2)。
Q8 cron の上限エラー(reached the Workers Free limit of 5 cron triggers)#
準備編 Q3 と同じです。使っていない Worker の cron を外すか、LINE 用に別の Cloudflare アカウントを作ります。
Q9 メッセージが、予約した時刻より数分遅れる#
定期処理が「5分ごと」のままです(第3章)。1分ごとなら、遅れても1分ほどです。
それでも解決しないとき#
画面のメッセージをそのままコピーして、ご相談ください。トークンやシークレット、API キーは、貼り付けないでください。
付録 A 本システムの URL の一覧#
| URL | 用途 |
|---|---|
https://(本システムの URL)/webhook |
LINE の Webhook URL |
https://(本システムの URL)/auth/callback |
LINE ログインの Callback URL |
https://(本システムの URL)?liffId=(LIFF ID) |
LIFF のエンドポイント URL |
https://(管理画面の URL) |
管理画面 |
付録 B 本システムに入れる秘密の値(名前だけ)#
| 名前 | 中身 | 入れる時 |
|---|---|---|
| LINE のチャネルシークレット・長期トークン | 準備編 第3章の値 | インストールの中で |
| LINE ログインのシークレット | 準備編 第4章の値 | インストールの中で |
CHATWORK_API_TOKEN |
Chatwork のトークン | 第6章(使う方だけ) |
GOOGLE_OAUTH_CLIENT_ID/GOOGLE_OAUTH_CLIENT_SECRET |
Google の値 | 第6章(使う方だけ) |
付録 C 更新(アップデート)について 【パッケージ化で差し替え】#
本システムは、もとになったオープンソースの更新(およそ週に1回)と、追加機能の更新を、合わせて提供します。更新の方法は、パッケージ化のときに決めます。ご自身で、もとのオープンソースの自動更新を実行しないでください。 追加機能が上書きされて、消えてしまいます。