🏢 労務管理 LINE設計ガイド
ハラスメント相談窓口”への入口”を
LINEで作る設計ガイド
LINE公式アカウント・エルメッセージ・GAS・Googleスプレッドシートで、従業員への「周知・啓発」と「外部相談窓口への案内」を仕組み化します。
大切なのは線引きです。相談の”中身”はLINEで受けません。受付は外部の窓口へつなぎ、LINEは知る・案内する・周知するところまでを担います。全6章+実務セクションで、はじめての方にもわかるよう順を追って解説します。
LINE公式アカウント
エルメッセージ
GAS
Googleスプレッドシート
📖 このガイドについて:
このシリーズは「LINEで効率化」を勧めてきましたが、ハラスメント相談だけは設計思想が違います。勤怠や有給の連絡と同じ感覚で相談の中身をLINEで受けると、かえって危険です。このガイドは「LINEはどこまで使えて、どこからは使うべきでないか」という線引きを設計に落とし込んだ実践的な設計書です。専門用語にはたとえと用語集を用意しました。気になる章から読んでも構いません。
⚠️ ありがちな失敗(Before):「相談窓口が義務らしい」と聞いた社長が、総務担当や自分個人のLINEを窓口にしてしまう。ところが——相談したい相手が、まさにその社長・上司であることがあります。加害者に相談する窓口では成り立ちませんし、機微な相談内容がトークに残り続けるリスクも抱えます。
✅ このガイドで作る形(After):LINEは「知る・案内する・周知する」まで。相談の受付と中身は、加害者から独立した外部窓口へつなぎます。社内は事後対応と再発防止に専念でき、相談者は誰にも気づかれずに外部の専門窓口へアクセスできます。周知の記録と集計は自動化され、担当者の手作業は月1回の配信予約と確認だけです。
CHAPTER 1
システムの全体像と設計方針
なぜ相談窓口”そのもの”をLINEに作らないのか。役割の再定義・4つの道具・従業員が使う3つのルート・予防から誘導までのフローを解説します。
📌 この章のポイント:
LINEで相談の”中身”を受けてはいけない2つの理由 / LINEに任せる仕事と外部に任せる仕事の線引き / 4つの道具それぞれの役割 / 従業員が使う3つのルート / 予防〜誘導のフロー / 設計の根っこにある3つの考え方
このシステムは何をするものか
ひとことで言うと、「ハラスメント相談窓口への”入口”をLINEの中に作る」仕組みです。相談窓口そのもの(相談を受け、対応する場所)ではありません。ここが従来型の設計と決定的に違います。
このシステムがLINEで担うのは、①ハラスメントについて知ってもらう(情報提供・啓発)、②会社の方針を周知し「読んだ」ことを記録する、③相談したくなった人を外部の相談窓口へ案内する——この3つです。実際の相談の受付・聞き取り・対応は、LINEの外にある外部窓口が担います。
なぜ相談の”中身”をLINEで受けてはいけないのか
「窓口が義務なら、総務のLINEを窓口にすればいい」と考えがちですが、ハラスメント相談は勤怠や有給の連絡とは扱いがまったく違います。理由は2つあります。
1
相談相手が、加害者かもしれない
勤怠や有給は社長・総務に送って問題ありません。しかしハラスメントは、相談したい相手がまさに社長や上司であることがあります。社長個人のLINEを窓口にすると、社長から被害を受けている人は加害者本人に相談することになり、窓口として成り立ちません。小さな会社で「窓口=社長のLINE」にしてしまう最大の落とし穴がここです。
2
機微な中身が、トークに残ってしまう
ハラスメントの相談内容は、心身の状態や人間関係にかかわるきわめて機微な情報です。これがLINEのトークに残り続けると、端末を他人に見られたり、グループに誤送信したりするリスクを抱えます。健康診断の結果や、ストレスチェックの中身を会社が自由に扱えないのと同じ発想で、要配慮情報はLINEに乗せないのが原則です。
🚫 やってはいけない設計:「相談は社長のLINEまで」「総務の共有アカウントに送って」「エルメの1:1チャットで相談を受ける」。加害者が受け取る可能性・内容が残る問題・複数人が見られる問題が、すべて相談窓口の要件と衝突します。
LINEに任せる仕事と、外部に任せる仕事
では、LINEはまったく使えないのかというと、そうではありません。「窓口がどこにあるか」を案内し、予防のために知識を届けるところまでは、LINEが得意です。この線引きを表にすると次のようになります。
| 用途 | 具体例 | LINEで担うか |
| 知識の提供・啓発 | ハラスメントの定義・対処法・セルフケアの情報を届ける | LINEで担う |
| 方針の周知・読了記録 | 会社の防止方針・不利益取扱い禁止を周知し「読んだ」を記録 | LINEで担う |
| 外部窓口の案内 | 「相談窓口はこちら」と外部窓口の連絡先・リンクを届ける | LINEで担う |
| 相談の受付・中身 | 相談内容そのもの、誰が誰を、といった機微な情報 | LINEでは受けない |
| 事実確認・対応・措置 | 聞き取り・調査・行為者対応・再発防止 | 外部窓口+社内で |
なぜLINE × エルメッセージなのか — 4つの道具
このシステムは4つの道具を組み合わせて作ります。それぞれの役割を、お店にたとえて説明します。
🏪
= 案内所の窓口
LINE公式アカウント
従業員がアクセスする接点。メッセージのやり取りやメニュー表示を担当します。ここは”案内所”であって、相談室ではありません。
🧑💼
= 自動で動く案内スタッフ
エルメッセージ(L Message)
友だち追加されたら自動であいさつし、ボタンが押されたら情報や外部窓口を返し、月1回の啓発を配信する。こうした自動対応を、プログラミングなしで設定できます。
⚙️
= 裏方の事務員
Google Apps Script(GAS)
読了確認の回答を名簿に反映し、未確認者のリストや匿名アンケートの集計を担当者にメールで届ける裏方です。従業員には送信しません。相談の中身は一切扱いません。
📒
= 周知・啓発の台帳
Googleスプレッドシート
周知記録(従業員名簿)・啓発コンテンツ・外部窓口の連絡先・匿名アンケートの回答が保存される場所。相談内容の台帳は存在しません。
💡 この組み合わせの利点は、担当者が新しいシステムの操作を覚えなくていいこと。普段使っているスプレッドシートとLINEだけで、周知と予防の業務が回るよう設計されています。
従業員が使う「3つのルート」
従業員がLINEを開くと、画面下部に6つのボタンが並んだメニュー(リッチメニュー)が表示されます。ここから、目的に応じて3つのルートのどれかに進みます。
ROUTE A
📖知る(情報提供)
「これってハラスメント?」「どう対処する?」にボタンひとつで答えが返ります。相談に踏み切る前の”知識収集”を支えるウォーミングアップ役です。
ROUTE B
☎️相談する(外部窓口へ)
実際に相談したい人の入口。ボタンを押すと、加害者から独立した外部の相談窓口の連絡先とリンクが届きます。相談の中身はLINEに書かせず、そのまま外部へつなぎます。
ROUTE C
🏛️会社の姿勢を知る・方針確認
「相談して大丈夫?報復されない?」に応える入口。防止方針・不利益取扱い禁止を読み、「確認しました」を押すと周知の記録になります。
この3段階の設計がポイントです。「知る → 外部に相談する → 会社の姿勢を確かめる」という流れを用意することで、相談のハードルを段階的に下げつつ、機微な中身はLINEに残さない形にしています。
友だち追加から相談・予防までのフロー
実際にどう進むのかを、最初から通して見てみます。流れは「入口 → 情報提供・案内 → 外部での相談 → 予防・分析」に分けられます。
STEP 1-2入口(すべて自動)
01
LINE友だち追加
従業員が社内配布のQRコードまたはURLから友だち追加。スマートフォンがあれば誰でもアクセスできます。
LINE公式
02
あいさつ&窓口の性格を明示&メニュー表示自動
友だち追加と同時に、「ここでは相談内容そのものは受け付けず、外部の相談窓口をご案内します」と窓口の性格を最初に明示。画面下部にメニュー(6ボタン)が表示されます。
エルメッセージ
STEP 3情報提供・案内(本人だけに自動応答)
03
ルート選択(知る / 相談する / 方針確認)
「知る」を選べば情報が返信され、「相談する」を選べば外部窓口の一覧とリンクが届き、「方針確認」を選べば方針が表示され読了確認できます。ここまで担当者の作業はゼロです。
LINE公式エルメッセージ
STEP 4相談(LINEの外・外部窓口)
04
外部窓口で相談・受付・対応
実際の相談は、案内されたリンク先の外部窓口(社外委託窓口・公的窓口・専門家)でおこなわれます。ここはLINEの外。会社は必要に応じて外部窓口から連携を受け、事後対応と再発防止に専念します。
STEP 5-6周知・予防・分析(自動)
05
方針の読了確認を記録・月1回の啓発配信記録は自動
「確認しました」の回答はエルメのスプレッドシート連携で自動記録され、GASが周知記録台帳に反映します。月1回の啓発配信と未確認者へのリマインドは、担当者がエルメの一斉配信・絞り込み配信で予約して送ります(対象の絞り込みはタグで自動)。
GASスプレッドシートエルメッセージ
06
アクセス傾向を集計・予防策に活かす月次
匿名アンケートの集計と読了確認率はGASが月初に自動で記録。どの情報カテゴリが読まれているか、外部窓口案内が何人に届いたかは、担当者がエルメのタグ人数を月1回ダッシュボードに記入します。個人は特定しません。
GASスプレッドシート
💡 相談の中身がLINEに残る場面がひとつもないのが、このフローの最大の特徴です。人が判断すべきところ(外部で相談を受ける・対応する)以外は、記録と集計が自動化され、担当者がやるのは月1回の配信予約と確認だけです。
このシステムが大切にしている3つの考え方
01
中身を持たない(要配慮情報を抱えない)
相談の中身はLINEにもスプレッドシートにも保存しません。会社が機微な情報を”持たない”ことが、最大のプライバシー保護になります。
02
加害者からの独立
相談の受付を外部に置くことで、社長や上司が加害者であるケースでも機能します。小さな会社ほど、この独立性が効きます。
03
周知と予防の徹底
窓口は「作る」だけでは足りません。周知されて初めて機能します。読了確認・定期啓発・アクセス分析で、予防に力を集中させます。
▶ 第1章のまとめ
- LINEに作るのは相談窓口”そのもの”ではなく、窓口”への入口”(知る・案内する・周知する)
- 相談の中身をLINEで受けない理由は「相談相手が加害者かもしれない」「機微な中身がトークに残る」の2つ
- 知識提供・方針周知・外部窓口案内はLINEで担い、相談の受付・中身・対応は外部窓口+社内で担う
- 相談者は「知る・外部に相談する・方針を確認する」の3ルートをメニューから選べる
- 周知の記録と集計は自動化され、相談の中身がLINEに残る場面はひとつもない
- 「中身を持たない・加害者からの独立・周知と予防の徹底」という3つの方針で設計されている
↑ 目次へ戻る
CHAPTER 2
4つの構成コンポーネント
LINE公式アカウント・エルメッセージ・GAS・スプレッドシートが、それぞれ何を担当し、どうつながって動くのかを解説します。相談内容を”持たない”設計がどう成り立つかを見ていきます。
📌 この章のポイント:
4つのコンポーネントの名前と役割 / 相談内容を保存しない設計 / 2つのフォーム(読了確認=エルメの回答フォーム、匿名アンケート=Googleフォーム)の位置づけ / GASは従業員に送信しないという線引き / 4つがどうつながるか(外部窓口案内の場面)
4つのコンポーネントとその役割
このシステムは4つの道具を組み合わせて動いています。まずは一覧で全体像をつかみましょう。どの道具も「相談の中身」は扱いません。専用のアプリ開発やサーバーは不要で、すべて管理画面の設定とコピペで作れます。
| コンポーネント | 必須 | 主な機能 | 操作者 |
| LINE公式アカウント | 必須 | 従業員との接点。リッチメニュー・メッセージ送受信のインターフェース | 自動 |
| エルメッセージ | 必須 | あいさつ・キーワード応答(情報提供)・外部窓口リンク配信・タグ管理・回答フォーム(読了確認)・絞り込み配信(啓発・リマインド) | 自動+担当者 |
| Google Apps Script | 必須 | 連携シートの回答を周知記録台帳へ反映、未確認者リストとアンケート集計を担当者へメール通知。従業員には送信しない | 自動 |
| Googleスプレッドシート | 必須 | 周知記録台帳・情報コンテンツ管理・外部窓口マスタ・アンケート回答・ダッシュボードの5シート(+エルメの連携シート1枚) | 担当者・自動 |
⚠️ フォームは2種類で、作る場所が違います。「方針の読了確認」はエルメの回答フォームで作ります(誰が確認したかを記録したいため)。「匿名アンケート」はGoogleフォームで作ります(誰が答えたかを記録したくないため)。目的が正反対なので、道具も分けます。
各コンポーネントの詳細
システム全体の「案内所」です。従業員はこのアカウントを友だち追加することで、情報提供・外部窓口の案内・方針の周知にアクセスします。新しいアプリのインストールやID登録は不要です。
従業員専用のアカウントとして作り、お客様向けの公式アカウントとは分けます。友だちは全員が従業員なので、「誰が読了確認したか」は周知の記録として扱えますが、相談の中身とは一切結びつけません。
リッチメニュー(画面下部の6ボタン)を表示し、操作の起点を作る
友だち追加・ブロックなどのイベントをエルメッセージへ伝える
情報提供メッセージ・外部窓口の案内メッセージを届ける
お客様向けアカウントとは別に、従業員専用で運用する
操作者:自動(設定後は人の操作不要)
🤖
エルメッセージ(L Message)
= 気が利く案内スタッフ
LINE公式アカウントに「頭脳」を足す道具です。プログラミングなしで、賢い自動応答を作れます。LINEのWebhook(受信の窓口)はこのエルメッセージが占有します。だから従業員とのやり取り(受信も、個人への配信も)はすべてエルメが担当し、GASは受信も個人配信もしません(第6章)。
友だち追加時のあいさつ+「相談の中身は受け付けない」旨を自動送信し、「スタッフ_在籍」タグを付ける
情報提供ボタンのキーワードに応じて、対応するカテゴリの内容を自動返信し、「関心_種類/対処/方針」タグを付ける
「相談する」ボタンに対し、外部窓口の一覧とリンクボタンを自動返信し、「窓口_案内済」タグを付ける
読了確認の回答フォームを作り、回答後アクションで「方針_確認済」タグを付ける。回答はスプレッドシート連携で自動記録
月1回の啓発は一斉配信を予約、未確認者へのリマインドは絞り込み配信(スタッフ_在籍あり・方針_確認済なし)で送る
操作者:自動(応答・タグ・記録)担当者(コンテンツ更新・配信予約)
⚙️
Google Apps Script(GAS)
= 裏方の事務員(従業員には話しかけない)
このシステムで唯一「プログラム」と呼べる部分です。担当者が直接さわることはありません。LINEのWebhookはエルメが占有しているため、GASは「LINEからの受信」も「従業員への配信」も担いません。時計で決まった時刻に動き、スプレッドシートを読んで、担当者1人にメールで知らせるだけです(詳細は第6章)。
毎朝、連携シートに入った読了確認の回答を周知記録台帳に反映する(氏名で突合)
毎週月曜、未確認者のリストを担当者にメールする(担当者はそれを見てエルメでリマインドを配信)
月初、Googleフォームのアンケート回答を集計してダッシュボードに書き込み、担当者にメールする
操作者:完全自動(人の操作不要)
📊
Googleスプレッドシート
= 周知・啓発の台帳/管理画面
見慣れた表計算ソフトをそのまま管理画面にします。担当者は新しいツールを覚える必要がありません。シートは役割ごとに5枚+エルメの連携シート1枚に分かれます(詳細は第5章)。相談内容の台帳は存在しません。
【周知記録台帳】従業員名簿を兼ね、誰がいつ方針を読了確認したかを記録(周知義務のエビデンス)
【回答_方針確認(連携シート)】エルメの回答フォームの回答が自動で入る受け口。人は触らない
【情報コンテンツ管理】配信する情報提供コンテンツをカテゴリ別に登録・更新
【外部窓口マスタ】案内する外部相談窓口の連絡先・URL・受付時間を管理
【アンケート回答】Googleフォームの回答がそのまま入るシート(個人情報なし)
【ダッシュボード】読了確認率・アンケート傾向・タグ人数を月次で記録
操作者:担当者(コンテンツ・窓口の更新/状況確認)GAS(自動反映・集計)
4つがつながって動く流れ(外部窓口の案内の場面)
従業員が「相談する」を選んだとき、4つの道具がどう連携するのか。①〜⑤の順で追ってみます。この流れの中で、相談の中身は一度もシステムに保存されません。
①
従業員が「相談する」をタップ
LINE公式アカウントがタップを受け取り、エルメッセージにイベントを伝える
②
エルメッセージが外部窓口の一覧を返信
外部窓口マスタ(第5章)をもとに用意した案内メッセージが発火。窓口名・受付時間・リンクボタンを届ける(タップへの返信=Replyなので通数にカウントされない)
③
従業員がリンクボタンから外部窓口へ
相談の受付・中身は、加害者から独立した外部窓口でおこなわれる。LINEはここで役目を終える
④
エルメッセージがタグを付与
「窓口_案内済」タグを付与。相談内容ではなく「案内に触れた」という事実だけを記録する
⑤
担当者が月1回、タグの人数をダッシュボードに記入
エルメの友だち一覧でタグ絞り込みの人数を見て、「外部窓口案内が何人に届いたか」をシートに記録(個人は見ない・数だけ)
💡 この一連の中で相談の中身はどこにも保存されません。担当者の出番は、外部窓口から連携があったときの事後対応と、日頃の周知・予防(月1回の配信予約と数の確認)です。
▶ 第2章のまとめ
- 4つの道具(LINE・エルメ・GAS・スプレッドシート)はどれも相談の中身を扱わない
- 読了確認はエルメの回答フォーム(誰が確認したかを記録)、匿名アンケートはGoogleフォーム(誰が答えたかを記録しない)と、目的に合わせて道具を分ける
- LINEのWebhookはエルメが占有するため、GASはLINEからの受信も従業員への配信も担わず、シートを読んで担当者にメールするだけ
- 従業員への配信(啓発・リマインド)はすべてエルメの一斉配信・絞り込み配信で行う
- スプレッドシートは5シート+連携シート構成で、相談内容の台帳は存在しない
- 外部窓口の案内は自動応答(Reply)で完結し、相談の中身は保存ゼロ
↑ 目次へ戻る
CHAPTER 3
情報提供・啓発機能の設計
相談する前に「まず知りたい」という気持ちに寄り添う情報提供機能を、リッチメニュー・4カテゴリ・3パターンの配信方法まで解説します。
📌 この章のポイント:
なぜ情報提供が必要なのか / リッチメニュー6ボタンの配置と役割 / 4つのコンテンツカテゴリ(A〜C+FAQ)の内容と狙い / ボタンを押してから情報が届くまでの仕組み / 3パターンの配信方法
なぜ「情報提供」機能が必要なのか
ハラスメント相談窓口を案内しても、「相談する」という行動はなかなか起こりません。理由のひとつが、「自分の悩みがハラスメントに当たるのか、そもそもわからない」という状態です。「上司に怒鳴られるのは普通」「これくらい我慢すべき」と、状況を正しく認識できていないケースは少なくありません。
情報提供機能は、「知る → 気づく → 外部窓口へ相談する」という流れの最初の一段目を支えます。相談に踏み切る前の「知識収集」を、LINEの中でいつでも匿名でアクセスできる形で提供します。
知らない・気づいていない
「これって普通のことだよね?」「自分が弱いだけかも」——置かれた状況がハラスメントだと認識できていない段階。まず知識が必要。
情報提供機能で「知る・気づく」← ここを支援
LINEのメニューをタップするだけで、ハラスメントの定義・種類・対処法が手元に届く。「これはパワハラだったんだ」と気づくきっかけに。
外部窓口へ相談(第4章へ)
「相談してみよう」という気持ちになったら、同じLINEメニューの「相談する」から外部窓口の連絡先を受け取り、LINEの外で相談する。
リッチメニュー — 6ボタンの配置と役割
従業員がLINEを開くと、画面下部に6つのボタンが表示されます。上段3つが「知る(情報提供)」、下段3つが「行動(相談・確認)」です。
RICH MENU — LINE画面下部に常時表示
青背景 = 情報提供ボタン(上段3つ) 白背景 = 相談・確認ボタン(下段3つ)
💡 上段を「知る」、下段を「行動」にした配置には意図があります。「まず知ってから、準備ができたら外部に相談する」という心理的な流れをメニューの並びで表現しています。「相談窓口はこちら」は外部窓口へつなぐボタンで、LINE内に相談を書かせません。
4つのコンテンツカテゴリ — 内容と狙い
情報提供コンテンツは、従業員の「知りたいこと」に合わせて4つに分けています。ボタンをタップすると、対応するカテゴリの内容がエルメッセージから自動で返信されます。
CAT-A📖 ハラスメントの種類・定義
「これってハラスメントなの?」という疑問に答えるカテゴリ。ハラスメントには種類があること、それぞれどんな行為が該当するのかを具体例とともに説明します。「知らなかった」を「気づき」に変える最初の情報です。
パワーハラスメントセクシュアルハラスメントマタニティハラスメントモラルハラスメントカスタマーハラスメントその他のハラスメント
💡 このカテゴリを見た従業員には 「関心_種類」タグが自動で付与されます。どの種類に関心が高いかを集計し、啓発コンテンツの改善に活かせます。
CAT-B🛡️ 受けたときの対処法・セルフケア
「ハラスメントを受けていると気づいた。でも何をすれば?」に答えるカテゴリ。具体的な行動の手順を示し、「どうしたらいいかわからない」という混乱から抜け出す手がかりを提供します。相談先として外部窓口も案内します。
記録の残し方(日時・内容・証人)信頼できる人への相談方法外部相談窓口の使い方心身の健康を守るセルフケア
💡 「記録の残し方」は特に重要です。日時・場所・発言内容・目撃者をメモしておくことが、のちの外部窓口での相談や調査で大きな意味を持ちます。「関心_対処」タグが付与されます。
CAT-C🏛️ 会社の方針・規程
「相談して大丈夫?報復されない?」という不安に答えるカテゴリ。会社がハラスメントにどう向き合うか、相談者を守るルールを伝え、「相談しても安全だ」という信頼感を作ります。「関心_方針」タグが付与されます。
ハラスメント防止規程の概要相談した場合の秘密保持方針不利益取扱いの禁止懲戒処分の基準
💡 特に「不利益取扱いの禁止」の周知は重要です。相談したこと・調査に協力したことを理由に不利益な取扱いをしてはならず、これは同僚も保護対象です。この点を就業規則等に明記し、全員に周知することが法律上求められています。
FAQ❓ よくある質問
「相談する前に確認しておきたいこと」に即答するカテゴリ。相談をためらわせる典型的な疑問をQ&A形式で解消します。特に匿名性と秘密保持に関する質問を最初に配置します。
Q. 匿名でも相談できますか?Q. 相談したことが上司に知られますか?Q. 証拠がなくても相談できますか?Q. 相談後、何をしてもらえますか?
💡 FAQの答えはあらかじめエルメッセージに登録しておけば、24時間いつでも自動で疑問に答えられます。
⚖️ 法令メモ(2026年10月1日施行):労働施策総合推進法の改正により、カスタマーハラスメント(顧客等からの著しい迷惑行為)を防止する措置が、規模を問わずすべての事業主の義務になりました。従業員がお客様からハラスメントを受けた場合の相談窓口も必要です。この記事の「相談窓口はこちら」は社内のハラスメントとカスハラの両方の入口にでき、CAT-Aにカスハラの定義と「会社が従業員を守る」方針を載せておくと、改正への対応がそのまま進みます。あわせて、就活生など求職者へのセクハラ防止措置も同じ日に義務化されています。
ボタンを押してから情報が届くまでの仕組み
従業員がボタンをタップしてから情報が届くまでの流れを見てみましょう。エルメッセージの「キーワード応答」と「タグ付与」が中心的な役割を担います。
01
「ハラスメントとは」をタップ
LINEがそのボタンに設定されたキーワード(例:「info_a」)をテキストとして自動送信する
02
エルメッセージがキーワードを受け取る
「info_a」に対応するシナリオが起動する(Webhookはエルメが受信)
03
カテゴリAのコンテンツを自動返信
ハラスメントの種類・定義の情報がLINEのメッセージとして届く(テキスト+外部リンクボタン)
04
エルメッセージが分析用タグを付与
従業員に「関心_種類」タグを付与。タグの人数はエルメの友だち一覧で見られ、担当者が月1回ダッシュボードに記入する
💡 ①〜④はすべて1〜2秒以内に自動完了します。担当者は何も操作しません。ボタンへの返信は「Reply」なのでLINEの通数にカウントされず、何回押されても無料枠を消費しません。
3パターンの配信方法
情報提供の配信には3つのパターンがあります。ボタンに反応するリアルタイム配信だけでなく、誰もアクセスしなくても定期的に情報を届ける仕組みを持っているのがポイントです。
📲 パターン1:キーワード応答配信(リアルタイム)
トリガーリッチメニューのボタンをタップした瞬間
対象タップした本人のみ
頻度リアルタイム(即時)
特徴「知りたいときにすぐ届く」個別対応型。本人のニーズに合ったカテゴリのみ返信するため無駄がない。
📅 パターン2:定期啓発配信(月1回)
トリガー担当者が月初にエルメの一斉配信を予約(配信日時を指定)
対象「スタッフ_在籍」タグが付いた全従業員
頻度月1回(12月の「職場のハラスメント撲滅月間」は増量)
特徴ボタンを押さなくても届く「押し付けない啓発」。予防意識を継続的に高める。担当者の作業は月1回の予約だけ。1回の配信で従業員数ぶんの通数を使う(Push)。
✏️ パターン3:コンテンツ更新通知(随時)
トリガー担当者がエルメッセージ管理画面から手動で配信操作
対象任意のセグメント(全員・特定部署・特定タグなど)
頻度随時(法改正・規程変更などのタイミング)
特徴法改正や社内規程の変更があった際、速やかに最新情報を届ける手動配信。
⚠️ コンテンツの定期見直しを忘れずに。ハラスメントに関する法律(労働施策総合推進法など)は改正されることがあります。少なくとも年2回(4月・10月が目安)、コンテンツ内容を見直して最新の情報を維持してください。
▶ 第3章のまとめ
- 情報提供機能は「知る → 気づく → 外部窓口へ相談する」という流れの最初の一段目を支える
- リッチメニューは上段3つを「知る」、下段3つを「行動(相談・確認)」に配置し、心理的な流れを表現している
- コンテンツは4カテゴリ(種類・対処法・会社方針・FAQ)に分けて、段階的な疑問に答える
- ボタンタップ → キーワード応答 → 情報返信 → タグ付与が1〜2秒で自動完了する
- 配信は「リアルタイム応答(Reply・通数ゼロ)」「月1回の定期啓発(予約配信)」「手動の更新通知」の3パターン
- コンテンツは法改正に合わせて年2回以上の見直しが必要
↑ 目次へ戻る
CHAPTER 4
外部相談窓口への誘導設計
「相談したい」と決意した従業員を、加害者から独立した外部窓口へ確実につなぐ設計を解説します。ここが本ガイドの核心です。
📌 この章のポイント:
なぜ外部窓口なのか / 外部窓口マスタ(シート3)の設計 / 案内メッセージ+リンクボタンのテンプレート / “相談の中身をLINEで受けない”実装(誤って書かれたときの自動対応) / 緊急時の導線
なぜ「外部窓口」へ誘導するのか
小さな会社ほど、外部窓口が効きます。全部を自社で抱え込まず、力を1点に集中する——ランチェスターの弱者の戦略と同じ考え方です。厚生労働省の指針でも、相談窓口を外部機関に委託することが認められています。外部窓口には3つの利点があります。
01
加害者から独立している
社内に相談相手がいないケースでも、第三者なら相談できます。社長が加害者である場合すら機能します。
02
プライバシーを守りやすい
社内の誰にも知られずに相談できるため、「誰が相談したか分かってしまう」という小さな会社の弱点を補えます。
03
専門的に対応できる
ハラスメントに当たるかの判断は難しく、専門機関のほうが適切に対応できます。
✅ 費用をかけられない場合でも、公的な無料窓口があります。各都道府県労働局の総合労働相談コーナー、みんなの人権110番(法務省)などを従業員に案内しておくだけでも、周知の一歩になります。まず1つ、案内する窓口を決めることが出発点です。
外部窓口マスタ(シート3)— 案内する窓口を1枚で管理
案内する外部窓口は、スプレッドシートの「外部窓口マスタ」で一元管理します。連絡先が変わったらここを直すだけで、エルメッセージの案内文面もこれを元に更新します。委託窓口・公的窓口・専門家を並べて登録しておきます。
☎️シート3:外部相談窓口マスタ
案内する外部窓口の連絡先・URLの元台帳
窓口ID窓口名種別(委託/公的/専門家)連絡先URL受付時間対応内容メモ公開フラグ
💡 種別を分けて複数登録しておくと、相談者が選べて相談のハードルが下がります。有料の委託窓口と、無料の公的窓口を両方載せておくのがおすすめです。
| 種別 | 窓口の例 | 特徴 |
| 委託 | 外部のハラスメント相談代行サービス | 専門相談員が対応。社内から完全に独立。有料 |
| 公的 | 都道府県労働局 総合労働相談コーナー | 無料。まず案内先を1つ確保したいときの定番 |
| 公的 | みんなの人権110番(法務省) | 無料。人権侵害全般の相談先 |
| 専門家 | 弁護士会 法律相談センター/産業カウンセラー | 法的・心理的な専門対応 |
外部窓口の案内メッセージ — テンプレート設計
「相談する」ボタンを押した相談者に届く案内メッセージです。相談の中身をここに書かせないことを明示しつつ、外部窓口へリンクボタンでスムーズにつなぎます。
💬外部窓口 案内メッセージ テンプレート
エルメッセージ — 外部窓口マスタから差し込み
ご相談ありがとうございます。
このLINEでは相談の内容そのものはお受けしていません。あなたのプライバシーを守るため、専門の相談窓口をご案内します。安心してご利用ください。
☎️ {{窓口名}}
受付:{{受付時間}}
▶ {{リンクボタン}}
費用をかけずに相談したい場合は、こちらの公的窓口もご利用いただけます。
▶ {{公的窓口リンク}}
相談したことや相談内容で、あなたが会社から不利益な取扱いを受けることはありません。
黄色の部分({{変数}})は外部窓口マスタ(シート3)の値をもとに設定します
💡 「不利益な取扱いを受けることはありません」の一文は省かないでください。相談をためらわせる最大の要因が「相談したら報復されるのでは」という不安だからです。案内のたびにこの言葉を添えて、繰り返し安心感を伝えます。
“相談の中身をLINEで受けない”実装
案内を用意しても、相談者が思わずLINEに相談内容を書いてしまうことがあります。そのとき機微な中身をトークに広げず、正式な外部窓口へ丁寧につなぎ直す自動応答を用意します。
🛟相談内容が書き込まれたときの自動応答
エルメッセージ — 定型文の自動返信
お話しくださりありがとうございます。大切なご相談だからこそ、きちんと対応できる専門の窓口でお受けします。
このLINEのトークには内容が残ってしまうため、続きはこちらの窓口へお聞かせください。
▶ {{窓口リンク}}
お急ぎの場合や心身がつらいときは、迷わず下記もご利用ください。
▶ {{緊急窓口リンク}}
キーワードに反応しない自由入力に対する既定応答として設定します
⚠️ 担当者が個別に返信して相談に応じてしまわないこと。よかれと思ってLINEで聞き取りを始めると、中身がトークに残り、担当者が加害者に近い立場だった場合に問題が生じます。あくまで外部窓口へつなぐ、を徹底します。
緊急時の導線 — 命や安全にかかわるとき
ハラスメントは心身の危機につながることがあります。案内メッセージや自動応答には、緊急時にすぐアクセスできる外部リソースを必ず添えておきます。夜間・休日でも使える公的な相談先を、外部窓口マスタに「緊急」種別として登録しておきましょう。
🚨 緊急時導線は”常に見える場所”に。心身が非常につらいとき、身の危険を感じるときのために、公的な相談ダイヤルや、緊急時は迷わず110番・119番へ、といった案内を、案内メッセージの末尾とFAQに固定で載せます。LINEの自動応答だけに頼らず、複数の外部リソースへ確実につなぐことが大切です。
▶ 第4章のまとめ
- 相談の受付・中身は、加害者から独立した外部窓口へ。委託窓口・公的窓口・専門家を並べて案内する
- 案内する窓口は「外部窓口マスタ(シート3)」で一元管理し、連絡先が変わったらここを直す
- 案内メッセージには「このLINEでは中身を受けない」旨と「不利益取扱いはない」旨を必ず含める
- 相談内容が書き込まれたら、中身を広げず外部窓口へつなぎ直す自動応答を用意する
- 担当者がLINEで聞き取りを始めない。あくまで外部へつなぐを徹底する
- 緊急時の外部リソース(公的ダイヤル・110/119)を案内とFAQに固定で載せる
↑ 目次へ戻る
CHAPTER 5
周知記録と匿名データの管理
読了確認フォーム・匿名アンケートフォーム・スプレッドシート5シートの設計思想・タグ管理を、設計意図まで含めて解説します。相談内容を”持たない”設計が要です。
📌 この章のポイント:
なぜ「周知の記録」が大切なのか / 読了確認フォームの設計 / 匿名アンケートで個人を特定しない仕組み / スプレッドシート5シート+連携シートの役割 / タグが自動で切り替わる仕組み / アクセス分析を予防に活かす方法
なぜ「周知の記録」がこれほど大切なのか
相談窓口は「作る」だけでは足りません。厚生労働省の指針は、窓口が実際に機能するために周知されていること・プライバシーが守られること・不利益取扱いをしないこと・事後対応まで一連でつながっていることを求めています。このうち、「周知されていること」を証明できる状態を作るのが、このシステムの周知記録です。
口頭やメールで周知しても、「言った・言わない」になりがちです。LINEなら誰がいつ方針を読了確認したかを記録として残せるため、周知義務を果たした証跡になります。これは相談内容とはまったく別の、健全な人事・コンプライアンスのデータです。
方針の読了確認フォーム — エルメの回答フォームで作る
「方針の確認」ボタンを押すと、防止方針が表示され、最後に「確認しました」ボタンがあります。相談予約フォームではなく、方針を読んだことを記録するだけのシンプルなフォームです。相談の中身は一切入力しません。周知の証跡として「誰が確認したか」が要るので、氏名は必須にします。
💡 設定場所:エルメ > 回答フォーム。回答後アクションに「タグ追加:方針_確認済」を設定し、フォーム一覧の「スプレッドシート」からGoogleアカウントを連携して、回答を「回答_方針確認」シートに自動記録します。回答後のお礼メッセージ(「ご確認ありがとうございました」)は1人1回のPushになります(費用の章を参照)。
匿名アンケートフォーム — Googleフォームで作る(実態把握で予防する)
予防のために、職場のハラスメントの実態を把握する匿名アンケートを用意します。これは「個別の相談」ではなく、集計して傾向をつかむための調査です。エルメの回答フォームは「誰が答えたか」が必ず記録されるため、匿名アンケートには向きません。Googleフォームを「ログイン不要・メールアドレスを収集しない」設定で作り、LINEからはそのURLを案内するだけにします。
⚠️ アンケートを相談の代わりにしない。自由記述に深刻な被害が書かれる可能性があります。アンケート冒頭と末尾に「個別の相談は外部窓口へ」の導線を必ず置き、回答者を探して個別対応しようとしないでください。Googleフォームは「回答を1回に制限」をオフにしておけばログイン情報もメールアドレスも記録されず、担当者にも誰の回答か分からない設計になります。
スプレッドシートの設計思想 — 5シート+連携シート1枚
データは目的ごとに5枚のシートに分けて管理し、エルメの回答が自動で入る連携シートを1枚、受け口として別に置きます。相談内容の台帳は存在せず、扱うのは周知・啓発・案内・匿名集計のデータだけです。
🔒 このスプレッドシートへのアクセス権は担当者のみに限定してください。Googleドライブの共有設定で「特定のユーザー」のみに編集を許可し、「リンクを知っている全員」のアクセスは必ず無効にしてください。
✅シート1:周知記録台帳(従業員名簿を兼ねる)
誰がいつ方針を読了確認したか(周知義務のエビデンス)
従業員1人=1行の名簿に、方針の確認日時が入っていく「周知の証跡」シートです。総務が名簿部分(A〜D列)を最初に登録し、E・F列はGASが連携シートから自動で反映します。相談内容は含みません。
A 社員番号B 氏名C LINE表示名D 部署E 方針バージョンF 確認日時(空欄=未確認)
💡 「未確認の従業員」が一目で分かるのがこのシートの価値です。F列が空欄の人が未確認者。GASが毎週月曜にその人数と氏名を担当者にメールし、担当者はエルメの絞り込み配信でリマインドを送ります。
📥連携シート:回答_方針確認
エルメの回答フォームの回答が自動で入る受け口(人は触らない)
エルメの「スプレッドシート連携」で自動記録されるシートです。列はエルメが作るので手で変えません。GASは見出し名「氏名」「回答日時」を探して読むため、列の順番が変わっても動きます。
回答日時友だち名(LINE表示名)氏名(フォームの質問)確認(フォームの質問)
⚠️ シート名は「回答_方針確認」に固定します(GASのコードと一致させる)。この受け口に手で書き込んだり、行を消したりしないでください。
📰シート2:情報コンテンツ管理
エルメッセージで配信するコンテンツの元ネタ置き場
第3章の情報提供コンテンツを管理するシートです。配信内容が古くなったら、ここを更新してからエルメッセージ側を書き換えます。法改正や規程変更があったら必ず見直します。
コンテンツIDカテゴリ(A/B/C/FAQ)タイトル本文外部リンクURLエルメキーワード最終更新日公開フラグ
💡「公開フラグ」をOFFにした行は配信に使いません。法改正で内容が古くなったらまずOFFにしてから、新しい内容で別行を作る運用が安全です。
☎️シート3:外部相談窓口マスタ
案内する外部窓口の連絡先・URL(第4章で詳説)
「相談する」ボタンで案内する外部窓口の一覧です。委託窓口・公的窓口・専門家・緊急窓口を登録し、案内メッセージはこれを元に構成します。連絡先が変わったらここを直します。
窓口ID窓口名種別連絡先URL受付時間対応内容メモ公開フラグ
⚠️ 外部窓口の連絡先・受付時間は変わります。年1回は最新か確認し、古い情報を案内し続けないようにしてください。
📊シート4:アンケート回答
Googleフォームの回答がそのまま入るシート(個人非特定)
Googleフォームの「回答先」にこのスプレッドシートを指定すると、回答が自動で入るシートができます(シート名を「アンケート回答」に変えておきます)。メールアドレスもログイン情報も記録されないので、誰が答えたかは担当者にも分かりません。集計して職場の傾向を把握し、予防策の検討に使います。
A タイムスタンプ見聞き有無種別(複数)相談意向自由記述
💡 列の見出しはGoogleフォームの質問文がそのまま入ります。GASは見出し名で列を探すので、フォームの質問文を変えたらGASの定数も合わせて変える必要があります(第6章)。
📈シート5:ダッシュボード
数字で見る「窓口の使われ方」レポート
月に1行、「読了確認率」「アンケートの傾向」「タグの人数」を記録するレポートシートです。読了確認率とアンケート集計はGASが月初に書き込み、タグの人数(関心_種類/対処/方針・窓口_案内済)は担当者がエルメの友だち一覧で絞り込んで数を見て手で記入します(エルメのタグ人数を外部から取り出す口はないため)。月次の経営報告やハラスメント防止の取組報告に使えます。個人を特定する情報は含みません。
A 記録日B 確認済人数C 従業員数D 回答数E 見聞きありF 相談したいG 関心_種類H 関心_対処I 関心_方針J 窓口_案内済
💡 「タグの人数」で従業員の関心がわかります。例えば関心_対処や窓口_案内済が前月より急に増えた月は、水面下で悩んでいる人が増えているサインかもしれません。
PK主キー(そのシートの識別番号) 自動GAS・エルメ・Googleフォームが自動入力
タグ管理 — 「付箋の貼り替え」で状態を把握する
エルメッセージのタグ(付箋)で、従業員が今どの段階にいるかを管理します。タグは相談の中身ではなく「行動の事実」だけを表します。タグ名は「分類_状態」の形(半角アンダースコア)で統一し、表記ゆれを防ぎます。
スタッフ_在籍→関心_種類/対処/方針→窓口_案内済→方針_確認済
スタッフ_在籍友だち追加時アクションで付与。全従業員が対象。退職者はこのタグを外す。
→ 月1回の啓発配信・リマインドの「柵」。このタグがある人にだけ配信する
関心_種類/対処/方針情報提供カテゴリA・B・Cを閲覧したとき、キーワード応答のアクションでエルメが付与。
→ どの情報が読まれているかの分析に使う(数だけ見る)
窓口_案内済「相談する」で外部窓口の案内を受け取ったとき、エルメが付与。
→ 案内の到達状況を把握(相談の中身は記録しない)
方針_確認済方針の読了確認フォームを送信したとき、回答後アクションでエルメが付与。
→ 周知済み。付いていない人が未確認者リマインド(絞り込み配信)の対象
💡 タグはすべて「行動があった事実」だけを記録します。「誰が何を相談したか」は一切タグにしません。窓口_案内済も「案内に触れた」ことを示すだけで、相談内容とは無関係です。匿名アンケートはGoogleフォームなので、回答してもタグは付きません(付けると匿名でなくなります)。
⚠️ タグのつけ方と通数の関係:キーワード応答や「相談する」ボタンへの返信は、相手の操作に対する返信(Reply)なのでLINEの通数にカウントされません。ただし「タグ追加時アクション」で文面を送ると、それはPush扱いでカウントされます。タグは「付けるだけ」にし、文面はキーワード応答側で返すのがコツです。
アクセス分析 — 予防策を先手で打つ
タグの人数を月ごとに見ると、「今どんな情報を求めている従業員が多いか」を把握でき、先手の予防策を取れます。
| タグ名 | 付与タイミング | 活用方法 |
| スタッフ_在籍 | 友だち追加時アクションで自動付与 | 全従業員への定期啓発配信(月1回)とリマインドの送信対象。退職時に外す |
| 関心_種類 | CAT-A(種類・定義)閲覧時 | 「まだ気づいていない人」に向けた啓発を追加配信できる |
| 関心_対処 | CAT-B(対処法)閲覧時 | 対処法を求めている=悩んでいる可能性。啓発と外部窓口案内を厚くする |
| 関心_方針 | CAT-C(会社方針)閲覧時 | 規程に関心がある人へ、規程改訂時に優先的に更新通知を送れる |
| 窓口_案内済 | 外部窓口の案内を受け取ったとき | 案内の到達状況を集計。数が多い月は予防・啓発を強化する |
| 方針_確認済 | 方針の読了確認をしたとき | 周知済みの記録。「スタッフ_在籍あり・方針_確認済なし」の絞り込みでリマインド |
💡 関心_対処や窓口_案内済が急増した月は要注意のサインです。対処法を調べる人・外部窓口案内を見る人が増えているということは、水面下で悩んでいる人が増えている可能性があります。ダッシュボードで月ごとの動向を必ず確認してください。
▶ 第5章のまとめ
- 読了確認の記録は「周知されていること」という窓口要件を証明する証跡になる
- 読了確認はエルメの回答フォーム。氏名と「確認しました」だけで、相談の中身は入力しない
- 匿名アンケートはGoogleフォームを「ログイン不要・メール収集なし」で作り、誰が答えたか分からない設計にする
- スプレッドシートは5シート+連携シート構成で、相談内容の台帳は存在しない
- タグは「行動の事実」だけを記録し、相談内容は一切タグにしない
- 関心_対処や窓口_案内済の急増は、水面下で悩む人が増えている予兆として予防を強化する
↑ 目次へ戻る
CHAPTER 6
GAS実装とセキュリティ・運用
裏方であるGASの実装、機微情報を扱わないためのセキュリティ設計、担当者の運用タスクを解説します。コードはコピペで動きます。コードが読めなくても大丈夫です。
📌 この章のポイント:
GASが担う3つの関数 / 時間トリガーだけで動く理由(Webhookはエルメが占有) / 通知先メールをScript Propertiesに置く / セキュリティ4原則 / 担当者の運用タスク
GASの役割と、Webhookの大原則
GASはGoogleのサーバー上で動くプログラムです。ここで最初に押さえるべき制約があります。LINE公式アカウントのWebhook(受信の窓口)は1つしか設定できず、その1枠はエルメッセージが占有します。
つまり、GASに「LINEからの受信」をさせることはできません(エルメと取り合いになるため)。また、友だちのユーザーIDもGASには渡ってこないので、GASから従業員個人にLINEを送ることもしません。従業員への配信はすべてエルメ(一斉配信・絞り込み配信)に寄せ、GASは「時計で決まった時刻に動き、スプレッドシートを読んで、担当者1人にメールで知らせる」裏方に徹します。
このシステムでは3つの関数(仕事)を用意し、すべて時間トリガー(時刻の合図)で自動で動きます。担当者が「GASを起動する」操作は一切不要です。
GASの3つの関数 — それぞれの仕事内容
syncReadConfirm()毎朝 AM7:00
連携シートに入った読了確認の回答を、周知記録台帳に反映する関数です。エルメの回答フォームの回答は「回答_方針確認」シートに自動で入るので、それを名簿と突合します。
連携シート「回答_方針確認」を見出し名(氏名・回答日時)で読む
周知記録台帳(シート1)の氏名と突合し、未確認(F列が空欄)の人に方針バージョンと確認日時を書き込む
名簿に無い氏名(入力ミス・退職者)はそのまま残し、週次メールで担当者に知らせる
💡 相談の中身は受け取りません。「読んだ」という事実だけを名簿に反映します。
weeklyReport()毎週月曜 AM8:00
未確認者のリストを担当者にメールする関数です。周知を確実に行き渡らせるための「残り人数」を毎週届けます。
先に syncReadConfirm() を実行して最新の状態にする
周知記録台帳でF列(確認日時)が空欄の人を数え、氏名と部署を一覧にする
「確認済 n/N名」と未確認者リストを担当者にメールする
担当者はそれを見て、エルメの絞り込み配信(スタッフ_在籍あり・方針_確認済なし)でリマインドを送る
💡 リマインドの文面を送るのはエルメです。GASは「誰がまだか」を知らせるだけなので、Webhookと競合せず、通数も消費しません。
monthlySurveySummary()毎月1日 AM8:00
Googleフォームの匿名アンケートを集計し、ダッシュボードに1行書いて担当者にメールする関数です。
「アンケート回答」シートから直近1か月分を読む(A列のタイムスタンプで絞る)
回答数・「見聞きあり」の数・「相談したい」の数を数える
読了確認率と合わせて「ダッシュボード」シートに1行追加し、担当者にメールする
💡 自由記述は集計しません(人が読む)。個人を特定する情報はそもそもシートに無いので、GASが扱うのは数だけです。
トリガー — 「時間主導型」だけを使う
GASの関数は「合図(トリガー)」がなければ動きません。このシステムでは時間主導型の合図だけを使います。LINEからの受信トリガーも、フォームからのPOST受信も使いません(受信はエルメとGoogleフォームが担うため)。
⏰ 時間トリガー — 「決まった時刻に」
対象関数syncReadConfirm():毎日 午前7〜8時 / weeklyReport():毎週月曜 午前8〜9時 / monthlySurveySummary():毎月1日 午前8〜9時
仕組み人の操作とは関係なく、Googleのシステムが指定時刻にGASを起動する。目覚まし時計のように定期的に動く
設定方法Apps Script > トリガー > トリガーを追加で「時間主導型」を選び、日次・週次・月次で各関数を紐づける(3つ登録する)
✅ 時系列の整合:毎朝7時の反映 → 月曜8時の週次メール → 月初8時の月次集計の順で動くため、担当者に届く数字は常にその朝の最新です。担当者がエルメで配信を予約するのは、その後の勤務時間内(9時以降)にします。
コード — 周知記録の反映と週次メール
スプレッドシートの 拡張機能 > Apps Script を開き、下のコードをまるごと貼り付けます。シート名と列の順番は第5章の設計と一致させてください。
GAS — 読了確認の反映(syncReadConfirm)と未確認者の週次メール(weeklyReport)
/**
* ハラスメント相談窓口”への入口” — GAS(従業員には送信しない。担当者へのメールのみ)
* シート1「周知記録台帳」 A:社員番号 B:氏名 C:LINE表示名 D:部署 E:方針バージョン F:確認日時
* 連携シート「回答_方針確認」 エルメの回答フォーム連携で自動記録(人は触らない)
* → 見出し名「氏名」「回答日時」で列を探すので、列の順番が変わっても動く
*/
const LEDGER_NAME = “周知記録台帳”;
const LINKED_NAME = “回答_方針確認”;
const POLICY_VER = “2026-10”; // 方針の版。改訂したらここを変える(旧版の確認は無効にする運用)
// 氏名の比較用:全角・半角スペースを取り除く
function normName(v) {
return String(v || “”).replace(/[\s ]/g, “”);
}
function syncReadConfirm() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const ledger = ss.getSheetByName(LEDGER_NAME);
const linked = ss.getSheetByName(LINKED_NAME);
if (!ledger || !linked || linked.getLastRow() < 2) return [];
const lv = linked.getDataRange().getValues();
const head = lv[0];
const iName = head.indexOf(“氏名”);
const iTime = head.indexOf(“回答日時”);
if (iName < 0 || iTime < 0) {
throw new Error(“連携シートに見出し「氏名」「回答日時」が見つかりません”);
}
const rows = ledger.getDataRange().getValues(); // 1行目は見出し
const unknown = []; // 名簿に無い氏名
for (let r = 1; r < lv.length; r++) {
const name = normName(lv[r][iName]);
if (!name) continue;
let hit = false;
for (let k = 1; k < rows.length; k++) {
if (normName(rows[k][1]) !== name) continue;
hit = true;
if (!rows[k][5]) { // F列が空欄=未確認なら記録
ledger.getRange(k + 1, 5, 1, 2).setValues([[POLICY_VER, lv[r][iTime]]]);
rows[k][5] = lv[r][iTime];
}
}
if (!hit) unknown.push(String(lv[r][iName]));
}
return unknown;
}
function weeklyReport() {
const unknown = syncReadConfirm();
const ss = SpreadsheetApp.getActiveSpreadsheet();
const rows = ss.getSheetByName(LEDGER_NAME).getDataRange().getValues();
const unread = [];
let total = 0;
for (let k = 1; k < rows.length; k++) {
if (!rows[k][1]) continue; // 氏名が空の行は無視
total++;
if (!rows[k][5]) unread.push(rows[k][1] + “(” + rows[k][3] + “)”);
}
const body =
“【ハラスメント防止方針 周知状況】\n” +
“確認済 ” + (total – unread.length) + ” / ” + total + ” 名\n” +
“──────────────\n” +
(unread.length ? “未確認:\n” + unread.join(“\n”) : “全員確認済みです”) +
“\n──────────────\n” +
(unknown.length ? “名簿に無い氏名(入力ミスの可能性):” + unknown.join(“、”) + “\n” : “”) +
“未確認者へのリマインドは、エルメの絞り込み配信\n” +
“(スタッフ_在籍 あり・方針_確認済 なし)から送ってください。”;
const to = PropertiesService.getScriptProperties().getProperty(“SOMU_MAIL”);
if (to) MailApp.sendEmail(to, “防止方針 周知状況(週次)”, body);
}
GAS — 匿名アンケートの月次集計(monthlySurveySummary)
/**
* シート4「アンケート回答」 Googleフォームの回答シート(A列はタイムスタンプ)
* 見出しはフォームの質問文がそのまま入るので、質問文を変えたら下の定数も変える
* シート5「ダッシュボード」 A:記録日 B:確認済人数 C:従業員数 D:回答数 E:見聞きあり F:相談したい
*/
const SURVEY_NAME = “アンケート回答”;
const DASH_NAME = “ダッシュボード”;
const Q_SEEN = “この半年で、ハラスメントを見聞きしましたか”;
const Q_WANT = “相談したいと思ったことがありますか”;
function monthlySurveySummary() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sh = ss.getSheetByName(SURVEY_NAME);
let n = 0, seen = 0, want = 0;
if (sh && sh.getLastRow() >= 2) {
const v = sh.getDataRange().getValues();
const iSeen = v[0].indexOf(Q_SEEN);
const iWant = v[0].indexOf(Q_WANT);
const since = new Date();
since.setMonth(since.getMonth() – 1); // 直近1か月分だけ数える
for (let r = 1; r < v.length; r++) {
if (!(v[r][0] instanceof Date) || v[r][0] < since) continue;
n++;
if (iSeen >= 0 && v[r][iSeen] === “ある”) seen++;
if (iWant >= 0 && v[r][iWant] === “ある”) want++;
}
}
// 読了確認率(周知記録台帳のF列)
const rows = ss.getSheetByName(LEDGER_NAME).getDataRange().getValues();
let total = 0, done = 0;
for (let k = 1; k < rows.length; k++) {
if (!rows[k][1]) continue;
total++;
if (rows[k][5]) done++;
}
let dash = ss.getSheetByName(DASH_NAME);
if (!dash) {
dash = ss.insertSheet(DASH_NAME);
dash.appendRow([“記録日”, “確認済人数”, “従業員数”, “回答数”, “見聞きあり”, “相談したい”,
“関心_種類”, “関心_対処”, “関心_方針”, “窓口_案内済”]);
}
dash.appendRow([new Date(), done, total, n, seen, want, “”, “”, “”, “”]); // G〜J列は担当者が手入力
const body =
“【職場環境アンケート 月次集計】\n” +
“回答 ” + n + ” 件/見聞きあり ” + seen + ” 件/相談したい ” + want + ” 件\n” +
“方針の確認済 ” + done + ” / ” + total + ” 名\n” +
“──────────────\n” +
“ダッシュボードのG〜J列(タグの人数)は、エルメの友だち一覧で\n” +
“各タグの人数を見て記入してください。自由記述は直接シートをご確認ください。”;
const to = PropertiesService.getScriptProperties().getProperty(“SOMU_MAIL”);
if (to) MailApp.sendEmail(to, “職場環境アンケート 月次集計”, body);
}
💡 2つのコードは同じスクリプトファイルに続けて貼ります(LEDGER_NAME は1つ目で定義済み)。保存後、初回だけ手動で weeklyReport を実行し、スプレッドシートとメールの権限を承認してください。
通知先メールを安全に管理する — Script Properties
GASが必要とする設定値は、担当者のメールアドレスだけです。コードに直接書くと、コードを共有したときに漏れます。それを防ぐのが Script Properties(スクリプトプロパティ) です。金庫に預け、必要なときだけ取り出すイメージです。
Script Properties — 設定値をコードに書かない
// やってはいけない書き方(宛先がコードに丸見え)
// const SOMU_MAIL = “soumu@example.com”;
// 正しい書き方 — Script Properties から取り出す(上のコードはこの形)
const to = PropertiesService.getScriptProperties().getProperty(“SOMU_MAIL”);
⚠️ 設定方法:Apps Script > プロジェクトの設定 > スクリプト プロパティで、プロパティ名 SOMU_MAIL、値に担当者のメールアドレスを登録します。この設計ではLINEのアクセストークンもエルメのAPIキーも使わないので、GASが扱う秘密情報はこれだけです。
セキュリティを守る4つの設計原則
この設計の最大のセキュリティは「機微な相談情報をそもそも持たない」ことです。そのうえで、周知・分析データを守る4原則を組み込みます。
🈳原則1:相談の中身を持たない — 最大の防御
相談内容はLINEにもスプレッドシートにも保存しません。受付は外部窓口へ。会社が機微な情報を抱えないことが、最も確実なプライバシー保護です。
相談の受付・聞き取りは外部窓口に任せる
相談内容がLINEに書かれても、広げず外部へつなぎ直す
担当者がLINEで相談の聞き取りを始めない
相談内容をスプレッドシートやメモに書き写さない
🔐原則2:アクセス権限の最小化 — 担当者だけが見られる
スプレッドシートへのアクセスを担当者のGoogleアカウントのみに限定します。「リンクを知っている全員」設定は厳禁です。エルメの管理画面も担当者のアカウントだけにします。
共有設定で「特定のユーザー」のみに編集権限を付与する
担当者が異動・退職したら即日アクセス権を削除する
「リンクを知っている全員」「組織内の全員」の設定にしない
スプレッドシートのURLを社内チャットや掲示板に貼らない
🗝️原則3:設定値はScript Propertiesに — コードに書かない
通知先メールアドレスのような設定値はScript Propertiesに保管します。コード直書きは、コードを誰かに渡した瞬間に漏れます。
通知先などの設定値はScript Propertiesにのみ保存する
担当者が替わったらプロパティの値を書き換える(コードは触らない)
メールアドレスやIDをGASのコード内に直接書かない
それらをスプレッドシートのセルやメモに記録しない
🔒原則4:匿名アンケートの”匿名”を壊さない
Googleフォームは設定ひとつで回答者が分かるようになってしまいます。「ログイン不要・メール収集なし」を守り、回答者を探す仕組みを後から足さないことが原則です。
「メールアドレスを収集する」「回答を1回に制限する」はオフのまま運用する
アンケートの案内はURLを送るだけにし、エルメのタグは付けない
フォームに氏名・部署など特定につながる質問を足さない
回答シートと周知記録台帳を突き合わせて回答者を推測しない
🔒 周知記録・アンケートも個人情報保護法に配慮した取扱いを。相談内容は持たない設計ですが、読了確認の記録やアンケートも適切な保管・廃棄ルール(保管期間後に削除等)を別途定め、書面に残しておいてください。
担当者の定期運用タスク — 毎週・毎月やること
大部分は自動ですが、担当者が定期的に行うべき確認・更新作業があります。これを怠ると、古い窓口情報を案内し続けたり、GASのエラーに気づかず周知の記録が止まったりします。
| タスク内容 | 頻度 | 担当 | 確認ポイント |
| 未確認者へのリマインド配信 | 周知期間中は週1回 | 担当者 | 月曜の週次メールを見て、エルメの絞り込み配信(スタッフ_在籍あり・方針_確認済なし)で送る。勤務時間内に |
| 定期啓発配信の予約 | 月1回 | 担当者 | エルメの一斉配信で「スタッフ_在籍」宛てに配信日時を指定して予約。12月(職場のハラスメント撲滅月間)は強化版を別途準備 |
| タグ人数のダッシュボード記入 | 月1回 | 担当者 | 月初のメールを合図に、エルメの友だち一覧で関心_種類/対処/方針・窓口_案内済の人数を見てG〜J列に記入 |
| 外部窓口の連絡先確認 | 年1回+変更時 | 担当者 | 外部窓口マスタの連絡先・受付時間・URLが最新か。古い案内をしていないか |
| GAS実行ログの確認 | 月1回 | 担当者 | Apps Scriptの「実行数」でエラーがないか確認。赤いエラーがあれば対処 |
| 退職者の整理 | 退職時 | 担当者 | エルメで「スタッフ_在籍」を外し、周知記録台帳の行に退職日をメモ(配信対象と確認率の母数から外す) |
| 情報コンテンツ・方針の見直し | 年2回以上 | 担当者 | 4月・10月が目安。法改正・規程変更があれば随時。公開フラグをOFFにしてから新内容を作成し、方針を改訂したらGASの POLICY_VER を更新して再周知 |
✅ 月1回のGAS実行ログ確認は特に重要です。エラーが起きても担当者には自動では通知されません。意識的に確認しないと「週次メールが止まっていた」「読了確認が台帳に反映されていなかった」といったトラブルに気づかないまま運用が続く危険があります。
全6章のおさらい
▶ ハラスメント相談窓口”への入口” LINE設計ガイド — 全6章まとめ
LINE公式アカウント × エルメッセージ × GAS × Googleスプレッドシート
- CH 1全体像と設計方針。相談の中身はLINEで受けず、外部窓口へつなぐ線引きを設計した
- CH 24つの構成コンポーネント。どれも相談内容を持たない役割分担を明確にした
- CH 3情報提供・啓発機能。知識収集を支える4カテゴリと3パターンの配信を設計した
- CH 4外部相談窓口への誘導。窓口マスタ・案内メッセージ・中身を受けない実装・緊急時導線を設計した
- CH 5周知記録と匿名データの管理。エルメ回答フォーム+Googleフォーム・5シート+連携シート・タグ管理を設計した
- CH 6GAS実装とセキュリティ・運用。3関数・時間トリガー・4原則・運用タスクを設計した
▶ 第6章のまとめ
- GASには3つの関数がある。読了確認の反映・未確認者の週次メール・アンケートの月次集計が自動で動く
- LINEのWebhookはエルメが占有するため、GASは受信も従業員への配信もせず、時間トリガーで動いて担当者にメールするだけ
- 従業員へのリマインドと啓発はエルメの絞り込み配信・一斉配信で送る(担当者が予約)
- 通知先メールはScript Propertiesに保管する。この設計ではAPIキーは使わない
- セキュリティ4原則の第一は「相談の中身を持たない」。第四は「匿名アンケートの匿名を壊さない」
- 月1回のGAS実行ログ確認を忘れずに。エラーは放置すると自動処理が止まる
↑ 目次へ戻る
COST
費用と無料枠の注意
このシステムを動かすのにいくらかかるのか、無料でどこまでできるのかを整理します。
| ツール | 費用の目安 | 注意点 |
| LINE公式アカウント | コミュニケーションプラン 0円(月200通まで)/ライトプラン 5,000円(5,000通)/スタンダードプラン 15,000円〜(税別) | 啓発配信・リマインドが積み上がると通数を消費。下の試算を参照。2026年10月1日にスタンダードプランの追加メッセージ料金が改定済み(月20万通まで1通3円) |
| エルメッセージ | 無料プラン/有料プラン(機能・配信数で変動) | タグ管理・自動応答・一斉配信の利用範囲でプランを選ぶ |
| Google Apps Script | 無料 | Googleアカウントがあれば無料。1日の実行時間などの上限内で運用 |
| Googleスプレッドシート | 無料 | 個人・小規模なら無料枠で十分 |
⚠️ 月200通の無料枠の試算:通数は「配信した回数 × 受け取った人数」で数えます。従業員30人なら、月1回の啓発配信=30通、周知期間中の未確認者リマインド(残り10人に2回)=20通、アンケート依頼(30人に1回)=30通で、合計80通。無料枠に十分収まります。
カウントされないもの:リッチメニューのタップやキーワードへの自動応答(Reply)、外部窓口の案内(ボタンへの返信)。
カウントされるもの:一斉配信・絞り込み配信・読了確認フォーム回答後のお礼メッセージ(1人1回)・タグ追加時アクションで送る文面・エルメの1:1チャット。全員に何度も送らず、絞り込み配信で対象を減らすほど無料枠で長く運用できます。
↑ 目次へ戻る
CHECK
運用開始チェックリスト
公開前に、この項目を確認してから運用を始めてください。
✓
外部窓口を1つ以上確定した/委託窓口でも労働局の総合労働相談コーナーでも可。連絡先・受付時間・URLを外部窓口マスタに登録した
✓
「相談の中身はLINEで受けない」旨をあいさつと案内に明記した
✓
相談内容が書き込まれたときの自動応答を設定した(外部窓口へつなぎ直す定型文)
✓
緊急時の外部リソース(公的ダイヤル・110/119)を案内末尾とFAQに載せた
✓
防止方針を文書化し、読了確認フォームで周知できる状態にした(不利益取扱い禁止を明記)
✓
スプレッドシートの共有権限を担当者のみに限定した(「リンクを知っている全員」を無効化)
✓
読了確認フォームのスプレッドシート連携をONにし、連携シート名を「回答_方針確認」にした/回答後アクションに「方針_確認済」タグ追加を設定した
✓
匿名アンケートはGoogleフォームで「メールアドレスを収集する」「回答を1回に制限する」をオフにした/回答シート名を「アンケート回答」にした
✓
通知先メール(SOMU_MAIL)をScript Propertiesに登録した(コード直書きしていない)
✓
GASの時間主導型トリガーを3つ設定した/毎朝の反映・毎週月曜の週次メール・毎月1日の月次集計
✓
自分のスマホで読了確認とアンケートをテスト送信し、連携シート→台帳への反映とタグ付与を確認した
✓
友だち追加時アクションで「スタッフ_在籍」タグが付く設定にし、QRコード・URLの配布導線を用意した(社内掲示・入社時案内など)
↑ 目次へ戻る
FAQ
よくある質問
導入前によく寄せられる疑問に、正直にお答えします(できないことも含めて)。
Q. なぜ相談の中身をLINEで受けないのですか?
相談したい相手が社長・上司(=加害者)であることがあり、社内のLINEでは窓口として機能しないためです。また機微な相談内容がトークに残るとプライバシー面のリスクになります。だからLINEは案内まで、相談の受付・中身は外部窓口に任せます。
Q. 外部窓口を契約する予算がありません。
無料の公的窓口を案内するだけでも周知の一歩になります。各都道府県労働局の総合労働相談コーナー、みんなの人権110番(法務省)などが無料で使えます。まず1つ、案内する窓口を決めて全員に周知してください。
Q. 従業員が数人の会社でも窓口は必要ですか?
必要です。相談窓口の設置義務に人数の下限はありません(中小企業も2022年4月から義務)。むしろ規模が小さく社内に適切な担当者を置きにくいときこそ、外部窓口や公的窓口を案内する形が現実的です。
Q. 匿名アンケートで深刻な被害が書かれたら?
アンケートは集計用で、Googleフォームをログイン不要・メール収集なしで作るため回答者は特定できません。だからこそアンケートの冒頭と末尾に「個別の相談は外部窓口へ」の導線を必ず置きます。深刻な内容を個別対応したいときは、外部窓口の利用を促す設計にしてください。
Q. このシステムでできないことは?
相談内容の受付・聞き取り・記録はできません(意図的に持たない設計です)。事実確認・調査・行為者対応・再発防止といった事後対応も、システムの外で人が行う必要があります。LINEが担うのは「知る・案内する・周知する・予防する」までです。
Q. お客様からのハラスメント(カスハラ)も、この窓口でいいですか?
はい。2026年10月1日から、カスタマーハラスメント防止措置が規模を問わずすべての事業主に義務化され、相談窓口の整備もその一部です。「相談窓口はこちら」の入口を社内のハラスメントとカスハラで分ける必要はなく、CAT-Aにカスハラの定義と会社の対応方針を載せ、外部窓口マスタにカスハラに対応できる窓口(弁護士会の相談センターなど)を加えておきます。
Q. エルメの回答は自動でスプレッドシートに入りますか?
入ります。エルメの回答フォームは「スプレッドシート連携」でGoogleアカウントをつなぐと、回答がリアルタイムで記録されます。この記事ではその連携シートを「受け口」として人が触らず、GASが毎朝、周知記録台帳(名簿)へ反映する形にしています。ただしタグの付け外しにはこの自動記録の仕組みがないので、タグの人数は担当者がエルメの管理画面で確認します。
Q. 相談したことで不利益な取扱いはされませんか?
相談したこと・調査に協力したことを理由とする不利益な取扱いは法律で禁止されています(相談者本人だけでなく協力した同僚も保護対象)。この点を方針に明記し、案内メッセージにも毎回添えて周知します。
↑ 目次へ戻る
APPLY
応用アレンジ
同じ「LINEは案内・周知まで、中身は外部へ」の骨格は、ほかの機微な相談にも応用できます。
🧠メンタルヘルス・健康相談窓口の案内
心身の不調に関する相談も、中身をLINEで受けるべきではありません。産業医・EAP(従業員支援プログラム)・公的なこころの相談窓口を、同じ外部窓口マスタの仕組みで案内できます。
📋ストレスチェックの受検案内
ストレスチェックの結果は会社が自由に扱えません。LINEは「受検のお願い」「受検先リンクの案内」「受検したことの報告」までにとどめ、点数や判定は外部の実施者側で扱う——この線引きも本ガイドと同じ考え方です。50人未満の事業場も2028年4月1日から実施が義務化されるので、いまのうちに仕組みを作っておく価値があります。
📢公益通報(内部通報)窓口の案内
内部通報も通報者保護が要で、受付は独立した窓口が望ましいものです。LINEは通報窓口の周知と外部窓口への案内に使い、通報の中身はLINEに残さない設計にできます。
💡 いずれも共通するのは「要配慮情報はLINEに乗せない」「受付は独立した外部へ」という原則。この骨格を覚えておくと、機微な相談まわりの設計を一貫させられます。
↑ 目次へ戻る
SUMMARY
まとめ・次にやること
このガイドで設計してきた仕組みを1枚に。そして、最初の一歩を1つだけ。
このガイドで作ったのは、ハラスメント相談窓口”への入口”です。LINEは「知る・案内する・周知する・予防する」を担い、相談の受付・中身は加害者から独立した外部窓口へつなぎます。相談の中身がLINEに残る場面はひとつもなく、周知と予防は自動化されています。
✅ 明日やること(最初の一歩):案内する外部相談窓口の連絡先を1つ決めて、全員に周知する。外部委託でも、労働局の総合労働相談コーナーでも構いません。まず「どこに相談すればいいか」を1つ確定させることが、すべての出発点です。
ハラスメント対策は、事後の対応よりも事前の予防にどれだけ力を割けるかが分かれ目になります。相談しやすい空気をつくり、日頃から声をかけ合える関係を保つこと。仕組みと同じくらい、その土台が効きます。勤怠や休暇の記録が整い、働き方が見えている会社ほど、不調の兆しにも早く気づけます。
🔗 あわせて読みたい(同カテゴリー:労務管理):健康診断・再検査・ストレスチェックのLINE管理/シフト希望フォームと自動リマインド/LINE打刻のスプレッドシート自動記録 など、要配慮情報とLINEの線引きに関する記事もご覧ください。(関連記事リンクはこちらに設置)
↑ 目次へ戻る
用語集
はじめての方向け 用語集
このガイドに出てくる専門用語を、できるだけかみくだいて説明します。読みながら迷ったときに戻ってきてください。
LINE公式アカウント LINE Official Account
企業や店舗が作れるLINEのアカウント。利用者が友だち追加すると、メッセージのやり取りやメニュー表示ができます。このシステムでは相談窓口”への案内所”になります。
エルメッセージ L Message
LINE公式アカウントに高度な自動化機能を足す拡張ツール。プログラミングなしで、自動あいさつ・ボタン応答・タグ管理・一斉配信などを設定できます。LINEのWebhook(受信の窓口)を占有します。
回答フォーム エルメの機能
エルメッセージで作れるアンケート型のフォーム。回答すると「誰が答えたか」が友だちに紐づいて記録され、スプレッドシート連携で自動保存できます。このシステムでは「方針の読了確認」にだけ使い、相談フォームにも匿名アンケートにも使いません。
Googleフォーム
Googleの無料フォーム。「ログイン不要・メールアドレスを収集しない」設定にすると、誰が答えたかが記録されない匿名のフォームになります。このシステムでは「匿名アンケート」にだけ使います。
スプレッドシート連携 エルメの機能
エルメの回答フォームの回答を、Googleスプレッドシートにリアルタイムで自動記録する機能。この記事では記録されるシートを「連携シート(受け口)」と呼び、人は触らずGASが読みます。
GAS ガス / Google Apps Script
Googleが提供する自動化プログラムの仕組み。専用サーバー不要で、スプレッドシートの読み書きやメール送信を決まった時刻に自動で行えます。このシステムでは「裏方の事務員」として、従業員には送信せず担当者にだけメールします。
Webhook ウェブフック
LINEで起きたこと(メッセージ受信など)を外部に知らせる「通知の送り先」。1つしか設定できず、エルメッセージが占有します。だからGASはLINEからの受信を担いません。
リッチメニュー
LINEのトーク画面下部に常時表示される、ボタンが並んだメニュー。このシステムでは6ボタン構成で、情報提供・外部窓口案内・方針確認の入口になります。
タグ
エルメッセージで従業員一人ひとりに貼る「付箋」。「スタッフ_在籍」「方針_確認済」などのタグで状態を管理し、絞り込み配信の条件に使います。相談の中身は一切タグにしません。
絞り込み配信
エルメで、タグなどの条件に当てはまる友だちにだけ一斉配信する機能。「スタッフ_在籍あり・方針_確認済なし」で絞ると、未確認者だけにリマインドを送れます。
Reply と Push
相手の操作(ボタンタップ・キーワード)への返信がReply、こちらから送るのがPush。LINEの通数(無料枠 月200通)に数えられるのはPushだけです。
トリガー
GASのプログラムを動かす「合図」。このシステムでは「決まった時刻(時間主導型)」だけを使い、LINEからの受信は使いません。
Script Properties スクリプトプロパティ
GASの設定値をコードの外に保管する場所。このシステムでは通知先メールアドレス(SOMU_MAIL)を置きます。
要配慮個人情報
病歴・心身の状態など、取扱いに特に配慮が必要な個人情報。ハラスメント相談の内容もこれに近い機微な情報のため、LINEに乗せない・会社が抱えないのが原則です。
↑ 目次へ戻る
※ 本記事は架空の中小企業を想定したサンプルの構築例です。掲載コードはサンプルであり、ご利用は自己責任でお願いします。ハラスメント相談窓口の設置・運用にあたっては、厚生労働省の指針や最新の法令、自社の実情に合わせて、必要に応じて専門家にご相談ください。