美容室の予約管理をLINE Messaging API×Zapierで自動化 — ユーザーのメッセージをトリガーに空き枠を案内し、Googleカレンダーへ自動登録するレシピ
美容室の予約受付を、LINE Messaging APIとZapierで自動化する手順を紹介します。顧客のメッセージを受け取り、Googleカレンダーの空き状況を確認し、予約内容を返信する流れを約2時間で構築します。小規模サロンが専用予約システムを検討する前に試せる、現実的な方法です。
- LINE Messaging APIとZapierで、予約受付からカレンダー登録までを自動化できる
- Googleカレンダーの空き枠を確認し、LINEで予約結果を案内できる
- 導入費用は無料または低額で、月額 ¥2,400前後から始められる
- 電話対応、入力ミス、キャンセル待ち管理の負担を減らせる
- 自然文の日付抽出や二重予約を防ぐ確認方法が分かる
- 美容室のオーナーが小規模に試す具体的な運用例を紹介する
編集長の見解: 小規模美容室では、施術中の電話対応や手入力による予約管理が負担になりがちです。LINE Messaging APIとZapierを組み合わせると、予約受付から空き枠確認までの流れを整理できます。ただし、予約の最終確定や個人情報の扱いは、実際の運用で必ず確認してください。
1. 美容室の予約管理が抱える3つの課題
美容室の予約管理では、電話、LINE、店頭での受付が重なります。担当者が一人で対応すると、施術を中断する場面も増えます。
主な課題は次の3つです。
- 電話対応の負担: 営業中に電話が鳴ると、施術を中断して応対する必要がある
- カレンダー入力ミス: 手入力による日時の誤記入や二重予約が起きる
- キャンセル待ちの管理: 空きが出た際、次の顧客へ個別に連絡する必要がある
自動化しても、予約内容の確認や例外対応は残ります。特に、複数スタッフの勤務時間とメニューごとの所要時間は、事前にルールを決めてください。
LINEで定型的な受付を受け、Googleカレンダーへ登録する流れを作ると、手作業を減らせます。次に、必要なツールと全体の流れを確認します。
2. 必要なツールと全体像
本レシピで使用するサービスは次の3つです。
| サービス | 役割 | 費用の目安 | 編集部の評価 |
|---|---|---|---|
| LINE公式アカウント(Messaging API) | 顧客とのメッセージ送受信 | プランによる | 受付窓口として有効 |
| Zapier | サービス間の処理をつなぐ | 無料〜月額 ¥2,400前後 | 小規模な自動化に向く |
| Googleカレンダー | 予約枠の管理 | 無料〜 | 既存アカウントを活用しやすい |
LINE公式アカウントの料金や無料通数は変更される可能性があります。契約前に公式料金ページで確認してください。
顧客がLINEでメッセージを送信
「5月7日の14時からカット」といった希望を送ります。
ZapierがWebhookで受信
LINE Messaging APIのイベントをZapierへ渡します。
予約情報を整形
日付、時刻、メニューなどを取り出します。
空き状況を確認
Googleカレンダーで希望時間の予定を確認します。
LINEで結果を返信
空きがあれば候補を案内し、確認後に予約を登録します。
Googleカレンダーへ登録
予約内容をカレンダーに記録します。
ユーザーメッセージ → Zapier → Googleカレンダー → LINE返信
実際の運用では、顧客の確認を挟んでから登録する構成が安全です。次に、必要な月額費用を見積もります。
3. 月額コストの目安
1店舗で運用する場合の費用目安は次のとおりです。
| サービス・プラン | 月額費用の目安 | 想定用途 | 編集部の評価 |
|---|---|---|---|
| Zapier Free | ¥0 | 小規模なテスト | 本番運用は制限に注意 |
| Zapier Starter | 約 ¥2,400 | 複数ステップの自動化 | 現実的な選択肢 |
| Googleカレンダー | ¥0〜 | 予約枠の管理 | 始めやすい |
| LINE公式アカウント | プランによる | 顧客との連絡 | 通数を確認 |
美容室で1日10件程度の予約を処理すると、月間の処理量は約300〜500件になる場合があります。Zapierの無料プランでは不足する可能性があるため、実際のタスク数を確認してプランを選びます。
LINE公式アカウントの料金は契約プランや配信数によって異なります。料金を「ほぼゼロ円」と断定せず、最新の公式情報で確認してください。
費用を抑えるポイント: まずテスト用の少ない予約件数で動作を確認します。本番移行後は、Zapierのタスク消費量とLINEの配信数を毎月確認してください。
月額費用を把握したら、次はLINEとZapierを接続します。
4. 実装手順
ステップ1: LINE Messaging APIを設定する
LINE Official Account Managerで公式アカウントを作成します。すでに店舗用アカウントがある場合は、それを利用できます。
- 業種: 美容・サロン
- 店舗名、住所、電話番号などの基本情報
- 顧客に表示するプロフィール情報
次に、LINE DevelopersコンソールでMessaging APIのチャネルを作成します。
「新規チャネル作成」から「Messaging API」を選び、業種を指定します。「Messaging API設定」タブでチャネルアクセストークンを発行し、安全な場所に保管してください。
ステップ2: ZapierでWebhookトリガーを作成する
Zapierで「Webhooks by Zapier」の「Catch Hook」を選びます。発行されたWebhook URLをコピーし、LINE DevelopersコンソールのWebhook URL欄へ貼り付けます。
LINE側では「Webhookの利用」をオンにします。設定後は検証機能を使い、Zapier側でイベントを受信できるか確認してください。
設定時の注意: LINE側の応答設定が自動応答だけになっていると、想定したWebhook処理が動かない場合があります。応答方法とWebhookの設定を、テストメッセージで確認してください。
ステップ3: メッセージから予約情報を抽出する
自然文のままでは、「明日の午後」のような表現を正確に処理できない場合があります。まずは入力形式を案内し、日付、時刻、メニューを分けて受け取る方法が安全です。
抽出する項目は次のとおりです。
- 日付: 2026年5月7日
- 時刻: 14:00
- メニュー: カット、カラー、パーマなど
- 所要時間: メニューごとの標準時間
簡易的な実装例として、Zapierの「Code by Zapier」でJavaScriptを使います。
const message = inputData.message;
const dateMatch = message.match(/(\d{1,2})月(\d{1,2})日/);
const timeMatch = message.match(/(\d{1,2})時/);
const menuMatch = message.match(/(カット|カラー|パーマ|トリートメント)/);
output = {
month: dateMatch ? dateMatch[1] : null,
day: dateMatch ? dateMatch[2] : null,
hour: timeMatch ? timeMatch[1] : null,
menu: menuMatch ? menuMatch[0] : null
};
該当情報がない場合は、自動確定せず、入力し直してもらう返信に分岐します。
ステップ4: Googleカレンダーの空き状況を確認する
ZapierのGoogle Calendarアクション、またはAPI Requestを使って空き状況を確認します。
- Find Event: 特定時間の予定の有無を確認
- FreeBusyクエリ: 指定時間帯の予定を確認
カットとカラーでは所要時間が異なります。メニューごとの時間を設定し、開始から終了までの枠で空きを確認してください。
FreeBusyクエリの例は次のとおりです。
{
"timeMin": "2026-05-07T00:00:00+09:00",
"timeMax": "2026-05-07T23:59:59+09:00",
"items": [
{
"id": "予約管理用カレンダーID"
}
]
}
レスポンスのbusyが空なら、指定範囲に予定がない可能性があります。ただし、営業時間、休業日、担当者の勤務時間も別途確認してください。
ステップ5: LINEへ返信し、予約を登録する
LINE Messaging APIのプッシュメッセージ送信機能を使い、空き状況を返信します。チャネルアクセストークンは環境変数やZapierの安全な接続情報で管理し、本文に直接残さないでください。
リクエストの概要は次のとおりです。
- エンドポイント: LINE Messaging APIのプッシュメッセージ送信先
- メソッド: POST
- ヘッダー:
Authorization: Bearer \{チャネルアクセストークン} - 本文: 顧客のユーザーIDと返信メッセージ
空きがある場合の返信例です。
{
"to": "ユーザーID",
"messages": [
{
"type": "text",
"text": "5月7日(金)14:00からカットの空きがあります。予約を確定してよいか返信してください。"
}
]
}
顧客の確認を受けた後、Google Calendarの「Create Detailed Event」で登録します。
- Calendar: 予約管理用カレンダー
- Summary: 顧客名とメニュー
- Starts: 抽出した開始日時
- Ends: メニューの所要時間を加えた終了日時
予約確定前に確認返信を挟むことで、日付の誤解や二重予約のリスクを下げられます。ここまでの設定を、次の導入手順で確認します。
5. 導入ステップと所要時間
LINE Messaging APIの設定(約30分)
LINE公式アカウントとチャネルを設定し、アクセストークンを発行します。
ZapierのWebhook作成(約20分)
「Catch Hook」を設定し、Webhook URLをLINE側へ登録します。
予約情報の抽出(約40分)
日付、時刻、メニューを取り出す処理を設定します。
返信とカレンダー登録(約20分)
確認返信とGoogleカレンダー登録の処理を設定します。
動作確認と調整(約10分)
テストメッセージを送り、各処理が正しく動くか確認します。
導入後は、実際の予約処理にかかる時間とエラーを記録します。次に、業務時間の変化を確認します。
6. 導入前後の業務時間比較
- 電話対応、予定確認、カレンダー入力
- 月間約7時間
- 担当者による確認連絡が必要
- 予約情報の確認と例外対応
- 月間約1時間
- 自動処理の監視が必要
運用条件によって削減時間は変わります
削減時間は、予約件数、メニュー数、スタッフ数によって変わります。導入前後の実績を記録し、自店の判断材料にしてください。
オーナー美容師の作業単価を時給 ¥3,000として、月6時間を削減できた場合の計算例は次のとおりです。
- 削減できる時間の価値: 6時間 × ¥3,000 = ¥18,000
- Zapier Starterの費用例: 月額 約 ¥2,400
- 差額の目安: 約 ¥15,600
これはあくまで試算です。実際の効果は、予約件数と自動化の範囲で変わります。
7. 失敗パターンと回避策
失敗パターン1: Webhook URLの設定ミス
原因
- URLの入力間違い
- Webhookの利用設定がオフ
- LINE公式アカウント側の応答設定との競合
回避策
- LINE Developersコンソールの検証機能を使う
- Webhookの利用設定をオンにする
- テストメッセージがZapierに届くか確認する
失敗パターン2: Googleカレンダーの権限エラー
症状: Zapierが403エラーや権限不足のエラーを返します。
回避策
- 接続するGoogleアカウントの権限を確認する
- Google Workspaceでは管理者の承認が必要か確認する
- 予約用カレンダーへの書き込み権限を確認する
失敗パターン3: 自然文の日付抽出に失敗する
症状: 「来週の火曜日」や「月末」を正しい日付に変換できません。
回避策
- 「○月○日○時」の形式を案内する
- 対応する日付表現を段階的に追加する
- 抽出できない場合はスタッフ確認へ回す
自動化の対象を定型的な予約に絞ると、初期のトラブルを減らせます。最後に、運用時の確認事項をまとめます。
8. 運用時の確認事項
二重予約を防ぐ
空き状況の確認から登録までに別の予約が入ると、二重予約が起きる可能性があります。予約確定前にもう一度空きを確認し、登録後はスタッフにも通知する運用が安全です。
キャンセルを扱う
キャンセル受付を自動化する場合は、予約番号や顧客情報を照合します。本人確認が不十分なまま削除処理を行わないようにしてください。
個人情報を管理する
LINEユーザーIDや氏名などは、必要な範囲で扱います。Zapierに保存されるデータの期間を確認し、不要な情報は削除してください。
小規模サロンでの始め方: まずは営業時間内の新規予約だけを対象にします。キャンセル、複数スタッフ、複雑なメニューは、基本フローが安定してから追加すると管理しやすくなります。
9. よくある質問
無料プランでも運用できますか?
テスト用途なら、無料プランで試せる場合があります。ただし、タスク数、実行間隔、複数ステップの利用条件はプランによって異なります。
1日10件程度の予約を処理する場合、月間300〜500タスクが必要になる可能性があります。実際のタスク数を確認し、不足する場合は有料プランを検討してください。
営業時間外のメッセージにはどう対応しますか?
営業時間外は、LINE公式アカウントの応答メッセージで案内する方法があります。Zapier側で営業時間を判定し、翌営業日に確認する旨を返信する構成も可能です。
既存顧客と新規顧客でメッセージを変えられますか?
可能です。Google Sheetsなどに保存した顧客情報とLINEユーザーIDを照合し、返信内容を分けられます。
ただし、個人情報の利用目的と保管方法を明確にしてください。LINEユーザーIDを不要に長く保存しない運用も重要です。
10. まとめ
LINE Messaging APIとZapierを使うと、美容室の予約受付を次の流れで整理できます。
- 受付: 顧客がLINEで希望日時とメニューを送る
- 抽出: 日付、時刻、メニューを取り出す
- 確認: Googleカレンダーで空き状況を確認する
- 返信: 空き枠と予約内容をLINEで案内する
- 登録: 顧客の確認後にカレンダーへ登録する
導入時間は約2時間が目安です。費用は利用量によって変わりますが、Zapierの有料プランを使う場合は月額 ¥2,400前後から検討できます。
自店の予約件数と対応時間を記録し、費用に見合うかを確認しながら小さく始めてください。
参考リンク
- LINE Developers公式ドキュメント(Messaging API)
- Zapier公式ヘルプセンター(Webhooks by Zapier)
- Google Calendar API公式ドキュメント(FreeBusy)
- LINE Official Account Manager
- Zapier公式サイト
編集部メモ: 本記事の手順は、執筆時点の各サービス仕様を前提にしています。料金、無料枠、画面表示、API仕様は変更される場合があります。導入前に各サービスの公式情報を確認し、テスト環境で動作を確かめてください。
Mira / AI経営ラボ 編集長