【GAS×LINE公式】無料で自動応答Botを作る入門ガイド|2026年版
実は、Google Apps Script(GAS)とLINE Messaging APIを組み合わせることで、月額0円で自動応答Botを構築できます。しかも、この記事のコードをコピペするだけで、プログラミング初心者でも今日から始められます。
GAS×LINE公式でできること
GASとLINE公式アカウントを連携させると、以下のような自動化が実現できます。
できること1: 24時間自動応答
お客様からのメッセージに、営業時間外でも自動で返信。「営業時間は10:00〜18:00です」といった定型文はもちろん、ChatGPTと連携すれば自然な会話も可能です。
できること2: 予約受付の自動化
予約というキーワードに反応して、空き状況をスプレッドシートから取得し、自動で候補日を提示。お客様がタップするだけで予約完了まで進められます。
できること3: FAQ自動回答
「料金はいくら?」駐車場はある?といったよくある質問に自動で回答。スプレッドシートにFAQを登録しておけば、いつでも最新情報を返せます。
できること4: セグメント配信の自動化
顧客情報をスプレッドシートで管理し、条件に合ったお客様だけに自動でメッセージを配信。誕生日クーポンや再来店促進も自動化できます。
[図解予定: GAS×LINE連携でできることの全体像イメージ]
Lステップ vs 自作Bot:コスト比較
自動応答Botを構築する方法として、有名なのはLステップなどの外部サービスです。しかし、コスト面で大きな差があります。
| 項目 | Lステップ | GAS自作Bot |
|---|---|---|
| 初期費用 | 0円 | 0円 |
| 月額費用 | 2,980円〜 | 0円 |
| カスタマイズ性 | 中 | 高 |
| 導入難易度 | 低 | 中 |
| メンテナンス | 不要 | 自分で対応 |
GAS自作Botがおすすめな人:
- 月額コストを抑えたい
- 独自のロジックを実装したい
- スプレッドシートと連携させたい
- プログラミングを学びたい
Lステップがおすすめな人:
- すぐに使い始めたい
- 技術的なことは苦手
- サポートが欲しい
LINE公式アカウントの準備
STEP 1: LINE公式アカウントを作成
すでにLINE公式アカウントをお持ちの方は、STEP 2に進んでください。
- LINE Official Account Manager にアクセス
- 「LINE公式アカウントを作成」をクリック
- LINEビジネスIDでログイン(なければ新規作成)
- アカウント名、業種などを入力して作成完了
ポイント: 無料プラン(コミュニケーションプラン)で十分です。月200通までのメッセージ送信が無料で利用できます。
STEP 2: LINE Developersに登録
LINE Messaging APIを使うには、LINE Developersコンソールへの登録が必要です。
- LINE Developers にアクセス
- 「コンソールにログイン」をクリック
- LINEアカウントでログイン
- 開発者情報(名前、メールアドレス)を入力
[図解予定: LINE Developersコンソールのログイン画面]
Messaging APIの設定
STEP 1: プロバイダーを作成
- LINE Developersコンソールで「新規プロバイダー作成」をクリック
- プロバイダー名を入力(例:「My Bot Provider」)
- 作成をクリック
STEP 2: チャネルを作成
- 作成したプロバイダーを選択
- 「Messaging API」をクリック
- 以下の情報を入力:
– チャネル名: Botの名前(例:「予約受付Bot」)
– チャネル説明: Botの説明文
– 大業種・小業種: 該当するものを選択
– メールアドレス: 連絡先
- 利用規約に同意して作成をクリック
STEP 3: チャネルアクセストークンを取得
この値は非常に重要です。メモ帳などに保存しておいてください。
- 作成したチャネルの「Messaging API設定」タブを開く
- ページ下部の「チャネルアクセストークン」セクションへ
- 「発行」ボタンをクリック
- 表示されたトークン(長い文字列)をコピーして保存
[図解予定: チャネルアクセストークンの発行画面]
STEP 4: Webhook設定の確認
- 「Messaging API設定」タブで以下を確認:
– Webhookの利用: オン
– 応答メッセージ: オフ(GASで処理するため)
– あいさつメッセージ: お好みで設定
Webhook URLは、このあとGASで作成してから設定します。
GASでWebhookを受け取る
STEP 1: Google Apps Scriptを開く
- Google Drive にアクセス
- 「新規」→「その他」→「Google Apps Script」をクリック
- プロジェクト名を変更(例:「LINE Bot」)
STEP 2: 基本コードを貼り付け
以下のコードをすべてコピーして、エディタに貼り付けてください。
// ===================================================
// LINE Bot 基本設定
// ===================================================
// 【重要】ここにチャネルアクセストークンを貼り付け
const CHANNEL_ACCESS_TOKEN = 'ここにトークンを貼り付け';
// LINE Messaging API エンドポイント
const LINE_ENDPOINT = 'https://api.line.me/v2/bot/message/reply';
// ===================================================
// Webhookを受け取る関数(POST)
// ===================================================
function doPost(e) {
try {
// LINEから送られてきたデータを取得
const json = JSON.parse(e.postData.contents);
const events = json.events;
// 各イベントを処理
events.forEach(function(event) {
// メッセージイベントの場合のみ処理
if (event.type === 'message' && event.message.type === 'text') {
const replyToken = event.replyToken;
const userMessage = event.message.text;
// 返信メッセージを生成
const replyMessage = generateReply(userMessage);
// LINEに返信
replyToLine(replyToken, replyMessage);
}
});
return ContentService.createTextOutput(
JSON.stringify({ status: 'ok' })
).setMimeType(ContentService.MimeType.JSON);
} catch (error) {
console.error('Error:', error);
return ContentService.createTextOutput(
JSON.stringify({ status: 'error', message: error.toString() })
).setMimeType(ContentService.MimeType.JSON);
}
}
// ===================================================
// 返信メッセージを生成する関数
// ===================================================
function generateReply(userMessage) {
// キーワードに応じた返信を設定
const keywords = {
'予約': '予約をご希望ですね!\n\n空き状況を確認いたします。\nご希望の日時を教えてください。\n\n例:2月15日 14時',
'料金': '料金についてのお問い合わせありがとうございます。\n\n基本料金:5,000円\n延長料金:1,000円/30分\n\n詳しくはホームページをご覧ください。',
'営業時間': '営業時間のご案内です。\n\n平日:10:00〜20:00\n土日祝:10:00〜18:00\n\n定休日:毎週水曜日',
'場所': '所在地のご案内です。\n\n〒100-0001\n東京都千代田区〇〇1-2-3\n△△ビル5F\n\n最寄駅:〇〇駅 徒歩3分',
'ありがとう': 'こちらこそ、ありがとうございます!\nまたのご連絡をお待ちしております😊'
};
// キーワードマッチング
for (const [keyword, reply] of Object.entries(keywords)) {
if (userMessage.includes(keyword)) {
return reply;
}
}
// デフォルトの返信
return 'お問い合わせありがとうございます。\n\n以下のキーワードでお答えできます:\n・予約\n・料金\n・営業時間\n・場所\n\nその他のご質問は、営業時間内にスタッフがお答えいたします。';
}
// ===================================================
// LINEに返信を送信する関数
// ===================================================
function replyToLine(replyToken, message) {
const payload = {
replyToken: replyToken,
messages: [
{
type: 'text',
text: message
}
]
};
const options = {
method: 'post',
contentType: 'application/json',
headers: {
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN
},
payload: JSON.stringify(payload)
};
UrlFetchApp.fetch(LINE_ENDPOINT, options);
}
STEP 3: トークンを設定
コード1行目付近の以下の部分を編集します。
const CHANNEL_ACCESS_TOKEN = 'ここにトークンを貼り付け';
先ほどコピーしたチャネルアクセストークンを貼り付けてください。
STEP 4: デプロイ(公開)
- 画面右上の「デプロイ」→新しいデプロイをクリック
- 種類の選択で歯車アイコン→ウェブアプリを選択
- 以下を設定:
– 説明: 任意(例:LINE Bot v1)
– 次のユーザーとして実行: 自分
– アクセスできるユーザー: 全員
- デプロイをクリック
- 「アクセスを承認」→ Googleアカウントで認証
- 表示されたウェブアプリのURLをコピー
重要: このURLがWebhook URLになります。必ずコピーして保存してください。
[図解予定: デプロイ設定画面とURL取得画面]
Webhook URLの設定
LINE DevelopersでURLを登録
- LINE Developersコンソールに戻る
- 作成したチャネルの「Messaging API設定」タブを開く
- 「Webhook URL」に、GASで取得したURLを貼り付け
- 更新をクリック
- 「Webhookの利用」がオンになっていることを確認
- 「検証」ボタンをクリックして成功と表示されればOK
動作確認
テスト方法
- LINE公式アカウントを友だち追加(QRコードから)
- トーク画面で予約と送信
- 自動で返信が来れば成功!
うまくいかない場合のチェックリスト
- [ ] チャネルアクセストークンは正しく貼り付けられているか
- [ ] GASのデプロイ時全員を選択したか
- [ ] Webhook URLは正しくコピーされているか
- [ ] 応答メッセージはオフになっているか
- [ ] Webhook検証で成功と表示されたか
応用例
応用1: 予約受付システム
スプレッドシートと連携すれば、空き状況の確認から予約登録まで自動化できます。
// 予約をスプレッドシートに登録する例
function addReservation(date, time, name) {
const sheet = SpreadsheetApp.openById('スプレッドシートID').getSheetByName('予約');
sheet.appendRow([new Date(), date, time, name, '未確定']);
}
応用2: FAQ自動回答
スプレッドシートにFAQを登録し、キーワードマッチングで回答を返します。
// FAQをスプレッドシートから取得する例
function getFAQAnswer(question) {
const sheet = SpreadsheetApp.openById('スプレッドシートID').getSheetByName('FAQ');
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
if (question.includes(data[i][0])) { // キーワード列
return data[i][1]; // 回答列
}
}
return null;
}
応用3: ChatGPT連携
GAS×ChatGPT連携と組み合わせれば、自然な会話ができるBotに進化します。
まとめ・次のステップ
この記事で学んだこと
- LINE Developersでチャネルを作成する方法
- GASでWebhookを受け取り、返信する方法
- キーワードに応じた自動応答の実装
次のステップ
- キーワードをカスタマイズ: あなたのビジネスに合わせた返信を設定
- スプレッドシート連携: 予約管理やFAQを動的に
- リッチメニュー設置: ボタン操作でユーザー体験向上
- ChatGPT連携: より自然な会話を実現
GAS×LINE Botは、一度構築すれば月額0円で24時間働いてくれる優秀な営業マンです。ぜひ、あなたのビジネスに合わせてカスタマイズしてみてください。
よくある質問(FAQ)
Q: 無料で使い続けられますか?
A: はい、GASとLINE公式アカウント(コミュニケーションプラン)はどちらも無料です。ただし、LINEの月間メッセージ送信数が200通を超える場合は有料プランへの移行が必要です。
Q: 複数のLINE公式アカウントで使えますか?
A: はい、チャネルアクセストークンを変更すれば、異なるアカウントにも対応できます。
Q: エラーが出た場合はどうすれば?
A: GASの「実行数」メニューからログを確認できます。エラー内容を元にトラブルシューティングしてください。
最終更新: 2026-02-01
コメント