Media > AI活用ユースケース > カスタマーサポート > 観光船の事業者が、フォームとメールで届く貸切・団体の問い合わせから日時・人数・航路を Zapier で抜き出し、運航表の空きを添えた返信の下書きを作る

観光船の事業者が、フォームとメールで届く貸切・団体の問い合わせから日時・人数・航路を Zapier で抜き出し、運航表の空きを添えた返信の下書きを作る

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

観光船に Web フォームとメールで届く貸切・団体の問い合わせから、希望日・時間帯・人数・航路・貸切か団体かを抜き出します。空きは運航表の式で確かめ、空きと代わりの便を添えた返信の下書きを窓口に渡します。

サマリー
生成AI
ChatGPT/Claude
連携・自動化
Make/n8n/Power Automate/Zapier
対象業界
その他/宿泊/飲食
対象部門
カスタマーサポート
対象業務
データ入力・転記/問い合わせ対応
主な課題
入力作業が多い/問い合わせが多い/期限・対応漏れが起きる
AIで行う処理
抽出
主な効果
対応スピード向上/工数削減/機会損失防止
導入難易度
★☆☆☆☆
実装レベル
半自動化
費用感
ノーコード連携(中)
人間の確認
条件付き
現在工数
60h/月
AI導入後
24h/月
想定削減
60%
年間削減
432h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 窓口がメールとフォームの通知を開き、問い合わせを読む
  2. 貸切か、定期便への団体かを判断する。書かれていなければ人数と文の調子から推す
  3. 第1〜第3希望の日付と時間帯、人数、航路を読み取る。「来月の第2土曜」は暦を見て日付に直す
  4. 運航表または貸切枠の表を開き、希望日ごとに空きを確かめる
  5. 空きが無ければ、前後の便や別の日を探す
  6. 返信の文面を書く。空き、代わりの便、料金の目安、運航の条件を添える
  7. 問い合わせの一覧に、差出人・希望・返信の日を書く
導入後(After)
  1. 自動フォームの送信、またはメールに「団体問い合わせ」のラベルが付いたことをきっかけに Zapier が動く
  2. 自動AI by Zapier が問い合わせから種類・希望日(3つまで)・時間帯・人数の下限と上限・航路の番号を抜き出す
  3. 自動抜き出した値をスプレッドシートの「問い合わせ」シートに1行で書き込む
  4. 自動シートの式が、運航表または貸切枠の表から、希望ごとの空きと代わりの便を出す
  5. 自動式の結果を読み、空きの状況で分岐して、返信の下書きを Gmail に作る
  6. 人窓口が下書きと「問い合わせ」シートの行を見比べ、日付・人数・航路を確かめて送る
  7. 人先方が仮押さえを望めば、窓口が貸切枠の表または運航表に仮押さえを入れる
各工程の詳しい説明を読む
  1. 窓口がメールとフォームの通知を開き、問い合わせを読む
  2. 貸切か、定期便への団体かを判断する。書かれていなければ人数と文の調子から推す
  3. 第1〜第3希望の日付と時間帯、人数、航路を読み取る。「来月の第2土曜」は暦を見て日付に直す
  4. 運航表または貸切枠の表を開き、希望日ごとに空きを確かめる
  5. 空きが無ければ、前後の便や別の日を探す
  6. 返信の文面を書く。空き、代わりの便、料金の目安、運航の条件を添える
  7. 問い合わせの一覧に、差出人・希望・返信の日を書く

(a)返信が翌日にずれる。 4番目と5番目は、希望が3つあれば3回、運航表を開き直します。窓口は電話と桟橋の受付も兼ねているので、メールは手の空いたときにまとめて読むことになり、返信が翌日にずれます。 旅行会社は複数の事業者に同時に問い合わせていることが多く、早く返した事業者に決まります。

(b)読み取りの誤りが当日に出る。 「40〜45名」を40名で見て空きありと返し、確定の段で45名と分かって席が足りない。「午後」を14時台の便と読んだが、先方は13時の便を考えていた。 問い合わせの段で誤った数字は、予約の段でそのまま引き継がれます。

(c)貸切と団体の取り違え。 「30名で乗りたい」は、貸切の相談か、定期便に30名でまとまって乗りたいのか、文面だけでは分かりません。貸切のつもりの団体に定期便の残席を返すと、話がかみ合わないまま1往復が無駄になります。

(d)問い合わせの一覧が埋まらない。 7番目は後回しになり、返信していない問い合わせがどれか、一覧からは分かりません。

  1. 【自動】 フォームの送信、またはメールに「団体問い合わせ」のラベルが付いたことをきっかけに Zapier が動く
  2. 【自動】 AI by Zapier が問い合わせから種類・希望日(3つまで)・時間帯・人数の下限と上限・航路の番号を抜き出す
  3. 【自動】 抜き出した値をスプレッドシートの「問い合わせ」シートに1行で書き込む
  4. 【自動】 シートの式が、運航表または貸切枠の表から、希望ごとの空きと代わりの便を出す
  5. 【自動】 式の結果を読み、空きの状況で分岐して、返信の下書きを Gmail に作る
  6. 【人】 窓口が下書きと「問い合わせ」シートの行を見比べ、日付・人数・航路を確かめて送る
  7. 【人】 先方が仮押さえを望めば、窓口が貸切枠の表または運航表に仮押さえを入れる

4番目が、この構成の要です。 空きを数えるのは表の式で、AIは関わりません。AIの誤りが起きても、それは「抜き出した値」の列に出るので、窓口は6番目で原文と見比べれば気づけます。

6番目で送信を人に残すのは、空きの案内が先方の手配を動かすからです。 旅行会社は返信を見てツアーの行程を組みます。誤った空きを自動で送ると、その行程が丸ごと組み直しになります。

02今回想定するシステム構成

構成図
Web フォーム(Zapier Forms)  /  メール(Gmail のラベル)
   ▼【トリガー】フォームの送信 / New Labeled Email
Zapier
   ▼
AI by Zapier ── 種類・希望日・時間帯・人数・航路を抜き出す
   ▼
Google スプレッドシート「問い合わせ」シートに1行書き込む
   │   式が運航表・貸切枠の表を引き、希望ごとの空きと代わりの便を出す
   ▼
Lookup Spreadsheet Row ── 式の結果を読む
   ▼
Paths(全希望に空き/一部に空き/空き無し/要確認)
   ▼
Gmail ── 返信の下書き(Create Draft)
   ▼
【人】窓口が確かめて送信・仮押さえ
役割想定する製品代替候補
ワークフローZapier(Zapier Forms、Gmail、Paths、Filter)Make、Power Automate、n8n
生成AIAI by Zapier(出力項目を定めた抜き出し)Claude、ChatGPT(OpenAI)
台帳Google スプレッドシート(運航表・貸切枠の表・問い合わせ)Zapier Tables

新しく入れるのは Zapier と、サイトのフォームの置き換えです。 Zapier Forms はすべてのプランで使え、リンクか埋め込みのコードでサイトに置けます。送信の後の動きとして「Run a Zap」を選ぶと、送信された内容が Zap に渡ります。いまのフォームを残したい場合は、フォームの通知メールを Gmail のラベルの経路に乗せれば同じ形で動きます。

AIの部分は AI by Zapier の1ステップです。 指示と、返してほしい出力項目(名前・型・説明・必須)を決めて置きます。AI by Zapier は Professional・Team・Enterprise のプランで使え、Free では使えません。 Paths も Free には含まれません。

運航表は、すでに表計算で持っている前提です。 列は「日付・便(出航時刻)・航路・船・定員・予約済・残席」で、残席は式で出します。貸切枠の表は「日付・枠・船・定員・状態(空き/仮押さえ/確定)」です。

03どうやって実装するのか

Step1

処理の起点を決める

入口は2つで、Zap も2つ作ります。 フォームの送信で動く Zap と、Gmail のラベルで動く Zap です。2つ目以降のステップは同じ形にして、複製で作ります。

メールの側は Gmail の「New Labeled Email」を使います。 ラベルは、旅行会社のドメインと、件名の「貸切」「団体」などで Gmail のフィルタが付けます。フィルタに当たらなかった問い合わせは、窓口が手でラベルを付ければ同じ経路に乗ります。 このトリガーは同じ会話に返信が付いたときにも動くので、先方からの返事も流れてきます。 返事は新しい問い合わせとして扱わず、第7章の「例外処理」の手順で窓口に回します。

「New Email」や「New Email Matching Search」でも組めますが、検知の対象は直近1時間のメールに限られます。 Zapier が一時止まっていた後で取りこぼさないよう、ラベルの経路にします。

定時にまとめて動かす形にはしません。 第3章の(a)のとおり、この業務の価値は返信の早さにあります。

Step2

入力データを集める

データ中身取得元
問い合わせフォームの各欄、またはメールの差出人・件名・本文(引用と署名を除く)・受信日時Zapier Forms / Gmail
受けた日問い合わせを受けた日付と曜日トリガーの日時
航路の一覧航路の番号・名前・所要時間・よく使われる呼び方スプレッドシート
時間帯の決まり「午前」「昼」「午後」「夕方」が指す便の出航時刻の範囲スプレッドシート

受けた日を渡すのは、AIに日付を計算させるためではありません。 「10月30日(金)」のように曜日付きで書かれた日付の年を決めるため、と、「来月の第2土曜」のような書き方が来たときに、それを日付にしないで原文で残す判断をさせるためです。

航路の一覧の「よく使われる呼び方」が、抜き出しの質を決めます。 先方は「島を回るやつ」「1時間のコース」「夕日の便」のように呼びます。一覧の番号から選ばせ、一覧に無い呼び方なら「不明」にさせます。

時間帯の決まりは、第3章の(b)を防ぐ表です。 「午後」が13時と15時の便のどちらを含むかを、事業者の側で先に決めておきます。AIに選ばせるのは「午後」という言葉までで、どの便が当たるかは表で決めます。

Step3

データの取得方法を決める

フォームは、送信の内容がそのまま Zap に渡ります。 メールは、トリガーが本文と差出人を渡します。

空きの確認は、Zapier が運航表を読むのではなく、表の側で計算させます。 流れは2段です。

段操作中身
書き込むスプレッドシートの行の作成「問い合わせ」シートに、問い合わせID と抜き出した値を1行で書く
読むLookup Spreadsheet Row問い合わせID の列で同じ行を引き、式が出した結果の列を読む

「問い合わせ」シートには、結果を出す式の列を先に用意しておきます。 たとえば「希望1の残席」は、運航表から日付・航路・時間帯の範囲が一致する便の残席を引く式、「希望1の判定」は人数の上限と残席を比べる式です。貸切なら、貸切枠の表から状態が「空き」で定員が人数の上限以上の枠を引きます。 代わりの便も、同じ日の前後の便から式で1つ選びます。

Lookup Spreadsheet Row は、列と値で1行を探し、見つかれば行全体を返します。 問い合わせID は1件ごとに一意なので、1行だけが返ります。

なぜ Zapier の側で運航表を読まないのか。 複数の行を返す操作(Lookup Spreadsheet Rows (Advanced))もあり最大500行まで取れますが、取った行のなかから条件に合う便を選ぶのは、ノーコードの部品では組みにくく、AIに任せたくなります。 表の式に置けば、窓口がいつでも開いて計算を確かめられます。

Step4

AIへ渡す前に整形する

  1. 自社からのメールを止める … 差出人が自社のドメインなら Filter で止めます
  2. 引用と署名を落とす … 返信の区切りの文字列から後ろを落とします。残すと、前のやり取りの希望日を新しい希望として拾います
  3. フォームの欄を文にそろえる … フォームの「希望日」「人数」「備考」を、欄の名前付きの1つの文にして渡します。備考に第2希望が書かれていることが多いので、欄ごとに別々に渡しません
  4. 受けた日と曜日を添える … トリガーの日時から作ります
  5. 航路の一覧と時間帯の決まりを文にする … 「1: 島めぐり60分(島を回る、1時間のコース)」のように番号付きで渡します
  6. 全角と漢数字を残したまま渡す … 「四十名」「45名」を前処理で数字に直そうとすると、「四十〜五十」のような幅の書き方を壊します。数字への直しは AI の抜き出しに任せ、出力の型を数字に決めておきます

3番目を軽く見ないでください。 フォームの「人数」の欄に「40」、備考に「最大45名になるかもしれません」と書かれるのは普通です。欄だけを渡すと40で計算され、第3章の(b)がそのまま起きます。

Step5

AIに処理させる

させるのは、問い合わせから次の項目を決まった形で抜き出すことだけです。

抜き出すもの形書かれていないとき
種類charter(貸切)/group(定期便の団体)/unknownunknown
希望日(3つまで)YYYY-MM-DD。日付が明記されているものだけ空にして、原文を date_text に写す
時間帯morning/noon/afternoon/evening/便の時刻(13:00)/anyany
人数の下限・上限数字。「40〜45」なら40と45、「約40」なら40と40空
航路航路の一覧の番号unknown
先方の種別travel_agency/company/group/individualunknown
聞き返すこと決められなかった項目の一覧-

人数を下限と上限に分けるのが、この表でいちばん効く点です。 空きの判定は上限で行い、返信の下書きにも「最大45名様として確認しました」と書きます。上限で見ておけば、確定の段で人数が増えても席が足りなくなりません。

種類の unknown は、遠慮なく出させます。 「30名で乗りたい」だけなら unknown にし、返信の下書きで「貸切と、定期便に団体でご乗船の2通りがございます」と両方の空きを案内します。AIに推させて片方だけを返すより、1往復が確実に減ります。

させないこと理由
空きの判断表の式で決める。AIは運航表を見ない
相対的な日付の計算「来月の第2土曜」を日付にしない。受けた日の解釈で1週ずれる
人数の丸め「40〜45」を「約42」にしない
料金の計算料金表と割引の決まりは窓口が当てる
運航できるかの約束運航は当日の気象と海の状態で決まる

2行目が、いちばん起きやすい失敗です。 生成AIは「来月の第2土曜」を親切に計算して日付にします。月の境目や、受けた日が月末かで結果がずれ、ずれた日付の空きが返信に載ります。 日付にするのは、窓口が先方に確かめてからです。

Step6

指示内容を固定する

あなたは観光船の予約センターで、貸切と団体の問い合わせから
空きを確かめるのに必要な項目を抜き出す係です。
空きの判断、料金、運航できるかどうかは書きません。

【抜き出す項目】
- kind: charter(船を貸し切りたい) / group(定期便に団体で乗りたい) / unknown
- wishes: 希望を3つまで。各希望に date, date_text, time_slot を入れる
  - date: 年月日が明記されているときだけ YYYY-MM-DD。
          曜日だけ付いて年が無い日付は、【受けた日】以降で最も近い年にしてよい
  - date_text: 問い合わせに書かれた日付の言葉をそのまま
  - time_slot: morning / noon / afternoon / evening / 時刻(例 13:00) / any
- party_min, party_max: 人数の下限と上限(数字)
- route_no: 【航路の一覧】の番号。決められなければ "unknown"
- client_type: travel_agency / company / group / individual / unknown
- ask_back: 決められなかった項目の名前の一覧

【厳守事項】
- 「来月の第2土曜」「連休の初日」「再来週あたり」のような書き方を、日付に直さないでください。
  date を空にし、date_text に原文を写し、ask_back に入れてください。
- 人数に幅があるときは、下限と上限に分けてください。丸めたり平均したりしないでください。
- 「30名で乗りたい」のように貸切か団体かが書かれていなければ、kind は unknown です。
- 航路の一覧に無い名前を作らないでください。
- 空いているか、乗れるか、料金はいくらかを書かないでください。
- 書かれていない項目を推測で埋めないでください。

【受けた日】{received_date}({weekday})
【航路の一覧】{routes}
【問い合わせ】{inquiry_text}

曜日付きの日付だけ年を決めてよいとしているのは、旅行会社の問い合わせのほとんどが「11/14(土)」の形だからです。 ここまで禁じると、ほぼすべての日付が ask_back に入り、聞き返しのメールばかりになります。年の補い方を「受けた日以降で最も近い年」と1つに決めたうえで、それ以外の推測を禁じます。

Step7

出力形式を固定する

AI by Zapier の出力項目を次のように定めて受け取ります。

{
  "kind": "group",
  "wishes": [
    { "date": "2026-11-14", "date_text": "11/14(土)", "time_slot": "afternoon" },
    { "date": "", "date_text": "その翌週の土曜", "time_slot": "afternoon" }
  ],
  "party_min": 40,
  "party_max": 45,
  "route_no": "1",
  "client_type": "travel_agency",
  "ask_back": ["wishes[1].date"]
}

1つ目の理由は、そのまま表の列に書き込めることです。 希望1〜3の日付・時間帯、人数の下限と上限、航路の番号が、「問い合わせ」シートの列に1対1で入ります。表の式はこの列を前提に組んであるので、形が崩れると式が空を返します。

2つ目は、date と date_text を両方残せることです。 窓口は返信の前に、AIが日付にしたものと原文を横に並べて見られます。

式が出した結果を読むと、次のような行になります。

列例
希望1の判定available(13:00の便、残席52)
希望2の判定needs_date(日付が決まっていない)
代わりの便11/14 15:00 の便、残席60
全体の判定partial

全体の判定は all(全希望に空き)・partial(一部)・none(空き無し)・check(要確認)の4つで、これも式で出します。 check は、種類が unknown、航路が unknown、人数が空のいずれかです。

Step8

システムへ連携する

つなぎ先方式内容
Zapier Forms送信の後の「Run a Zap」フォームの内容を Zap に渡す
GmailNew Labeled Emailラベルの付いた問い合わせを受け取る
AI by ZapierZap の中のステップ項目の抜き出し
「問い合わせ」シート行の作成 → Lookup Spreadsheet Row値を書き、式の結果を読む
GmailCreate Draft返信の下書きを窓口の受信箱に作る

分岐は Paths で、全体の判定の4つの値で分けます。 1つのまとまりに分岐は10本まで置け、当たらなかったものは Fallback に流せます。Fallback は check と同じ扱いにし、「下書きを作らず窓口に知らせる」にします。 判定の値は文字の条件「Exactly matches」で見ます。文字の条件は大文字と小文字を区別しません。

分岐下書きの中身
all希望ごとの便と残席、運航の条件、仮押さえの期限の案内
partial空きのある希望と、空きの無い希望の代わりの便
none代わりの便と、別の日の候補を問う一文
check・Fallback下書きを作らず、窓口への知らせと聞き返しの文案だけ

返信の下書きの文面は、Zapier の側の定型の文に式の結果を差し込んで作ります。 AIに文面を書かせないのは、空きの数字を文の中で言い換えさせないためです。「残席52」が「50席ほど」になると、確定の段で話がずれます。

運航表と貸切枠の表には書き込みません。 仮押さえを入れるのは窓口です。

下書きは窓口の共有の受信箱に作ります。 3名のうち手の空いた人が開けるようにし、だれが送ったかは「問い合わせ」シートの担当の列に、送った人が自分で書きます。 同じ下書きを2人が送る事故は、この列を見る習慣で防ぎます。

Step9

人が確認する

下書きはすべて窓口が開いて送ります。 確かめるのは3つです。

  1. 日付 … date と date_text を見比べ、年と曜日が合っているか
  2. 人数 … 上限で判定されているか。備考の「増えるかも」を拾えているか
  3. 航路と種類 … 先方の呼び方が一覧のどの航路に当たったか、貸切か団体か

check の問い合わせは、窓口が原文を読んで手で返します。 その多くは「来月の第2土曜」のような日付と、貸切か団体かの不明です。聞き返しの文案だけは下書きに入れておくので、手で書く量は減ります。

仮押さえは窓口が表に入れます。 先方から「その便で押さえてください」と返事が来たら、運航表または貸切枠の表に、期限付きの仮押さえを書きます。

最初の2週間は、下書きとは別に窓口が自分でも運航表を開いて空きを確かめます。 式の判定と窓口の判断が食い違った件を数え、食い違いが無くなってから、運航表を開くのをやめます。 式の誤りは、窓口がいちばん早く気づきます。

Step10

例外に対処する

起きること対応
先方からの返事が同じ会話で届く「問い合わせ」シートに同じスレッドの行があれば、新しい問い合わせにせず窓口へ知らせる
1通に複数の団体の問い合わせ旅行会社が複数のツアーをまとめて送ってくる。check にして窓口が分ける
人数が船の定員を超える式の判定は none になる。2隻に分ける案内は窓口が判断する
希望日が運航の期間外運航表に行が無く、式が空を返す。check として窓口へ
運航表が更新中で式がエラー結果の列が空なら check として扱う
AIのステップが失敗するラベルを「団体問い合わせ-未処理」に付け替え、窓口が朝と昼に見る
個人の予約がフォームに来るindividual は定期便の予約サイトの案内の下書きにする
同じ問い合わせがフォームとメールの両方で届く差出人と希望日が同じ行が直近にあれば、2件目は下書きを作らず窓口へ知らせる

1行目の扱いが、運用の手間を左右します。 返事を新しい問い合わせとして流すと、「では13時で」という1行から人数も日付も取れず、check が積み上がります。スレッドの ID で前の行を探し、見つかれば窓口に知らせるだけにします。

Step11

記録を残す

  • 「問い合わせ」シートの全行(受けた日時、経路、抜き出した値、式の結果、全体の判定)
  • 窓口が直した記録 … 日付・人数・航路・種類を、何から何に変えたか
  • 返信を送った日時と、受けてから送るまでの時間
  • 仮押さえにつながったか、確定したか、断られたか
  • 月ごとの、経路別・先方の種別・航路別の件数

2つ目は、航路の一覧の呼び方と時間帯の決まりを直す材料です。 「サンセット」が航路の unknown に何度も出るなら、一覧の呼び方に足します。

3つ目の「受けてから送るまでの時間」が、この構成の効き目を測る数字です。 第3章の(a)が減ったかどうかは、ここに出ます。

04実装レベルの3段階

最小構成:問い合わせを手で生成AIの画面に貼り、項目を抜き出させる / 読み取り
半自動化:上記+Zapier でフォームとメールを受け、表の式で空きを出し、返信の下書きを Gmail に作る / 読み取り・空きの確認・下書き
本格構成:上記+先方の「その便で」の返事から仮押さえの候補を作り、期限が近い仮押さえを窓口に知らせる / 問い合わせから仮押さえの管理まで

本記事の想定は半自動化です。 窓口に残るのは、下書きの確認と送信、check の手での返信、仮押さえです。1件15分が6分になる見込みはこの段階のものです。 本格構成でも、運航表への書き込みは窓口の承認の後にします。 仮押さえの候補を作るところまでを自動にし、表に書くのは人です。運航表は桟橋の受付も見ている表で、誤った仮押さえは当日の乗船を止めます。 段階を飛ばさないでください。 最小構成の30件で、日付と人数の抜き出しの決まりを固めます。この決まりが固まらないまま式を組むと、式の側で例外を拾う列が増え続け、だれも式を読めなくなります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
3 名
月間件数
240 件
1件あたり現在時間
15 分
1件あたり導入後時間
6 分
現在  240件 × 15分 ÷ 60 = 60 時間/月
導入後 240件 × 6分 ÷ 60 = 24 時間/月
月間削減時間
36h
削減率
60%
年間削減時間
432h
年間金額換算(時間単価3,000円)
130万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 定期便と貸切の両方を運航し、旅行会社・企業・地域の団体から貸切と団体の問い合わせが月に数百件届く観光船・遊覧船の事業者。問い合わせの受付が Web フォームとメールに分かれ、窓口が運航表を開いて空きを確かめてから返信しているため、返信が翌日以降になりがちな場合。
向いていない
  1. 予約のほぼすべてが予約サイトや予約システムの上で完結し、問い合わせのメールがほとんど無い場合。運航表を紙やホワイトボードで管理していて、表計算に移す予定が無い場合。空きの返事をそのまま予約の確定として扱いたい場合は、この構成では扱いません。

07最小構成で試す方法

  1. 先月の貸切・団体の問い合わせから30件を選ぶ(人数に幅のあるもの、「来月の第2土曜」のような書き方、貸切か団体か分からないものを必ず入れる)
  2. 航路の一覧と時間帯の決まりを文で用意する
  3. 手元の生成AI(ChatGPT、Claude、Gemini など)の画面に、第7章のプロンプトと1件ずつの問い合わせを貼り付ける
  4. 出てきた値を、当時窓口が読み取った値と突き合わせる
  5. 運航表の空きの確認は、これまでどおり手で行う

最小構成では、空きの式はまだ作りません。 確かめるのは、抜き出しが窓口の読み取りと同じになるかだけです。

当時の読み取りのほうが誤っていた、という件が出ることもあります。 備考の「最大45名」を当時の窓口が見落としていた、などです。その件は失敗ではなく、第3章の(b)が実際に起きていた証拠として数えておきます。

出てきた内容判断
日付・人数・航路が当時の読み取りと合うZapier と表の式の組み立てに進む
相対的な日付が日付に直されている指示の禁止を強め、例を足す
人数の幅が1つの数に丸められる下限と上限の指示を明記する
航路の呼び方が一覧に当たらない一覧の「よく使われる呼び方」を足す

08実装時につまずきやすいポイント

問題対策
相対的な日付が日付に直される日付にしてよい書き方を1つに決め、それ以外を禁じる
人数の幅が丸められる下限と上限に分け、判定は上限で行う
貸切か団体かを推して片方だけ返すunknown を許し、両方の空きを案内する
備考の第2希望が落ちるフォームの欄を1つの文にそろえて渡す
先方の返事が新しい問い合わせになるスレッドの ID で前の行を探す
式の結果を読むときに空が返る空なら check として扱い、窓口へ
下書きの空きの数字が丸められる文面をAIに書かせず、定型の文に差し込む
AIのステップの既定が Premium のままStandard に替えて試す
「午後」の便が人によって違う時間帯の決まりを表にする
運航の期間外の日付で式が空を返す期間外は check にし、運航期間を下書きの定型の文に入れる
2隻に分ける案内が要る式では判定せず、窓口が判断する

上の2行が、当日の桟橋の問題につながります。 日付と人数を誤ったまま空きを返すと、その数字が確定まで引き継がれます。どちらも「AIに決めさせない」ことで防ぎます。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 問い合わせた人の氏名・会社名・電話番号・メールアドレス、団体の人数と日程、旅行会社のツアーの企画の情報です。

  1. AIに渡す範囲を絞る … 抜き出しに電話番号やメールアドレスは要りません。フォームの連絡先の欄は AI のステップに渡さず、下書きの宛先にだけ使います
  2. 空きの案内を自動で送らない … 送信は窓口が行います。誤った空きは先方の行程を組み直させます
  3. 運航を約束する文を書かない … 運航は当日の気象と海の状態で決まります。下書きの定型の文に、運航の可否は当日判断であることを必ず入れます
  4. 旅行会社の企画を外に出さない … ツアーの日程や人数は先方の営業上の情報です。「問い合わせ」シートの共有は予約センターに限ります
  5. 個人の問い合わせは別の経路へ … 個人の予約は予約サイトで受けます。フォームに来た個人の情報は、下書きを作ったら行に残しすぎないようにし、保存の期間を決めます
  6. Zap を触れる人を絞る … Zap の設定と実行の記録には、問い合わせの本文が通ります。Zapier のアカウントで Zap を共有する相手を予約センターと管理者に限り、問い合わせの本文が社内の広い範囲に見えないようにします。 退職や異動のときに共有を外す手順も決めておきます

誤りが起きた場合のリスクは、空いていない便を空いていると案内することです。 空きの判断を表の式に置き、送信を人に残すのは、この1つを防ぐためです。

10まず何から始めるか

1週目:表を2つ作る

航路の一覧(番号・名前・よく使われる呼び方)と、時間帯の決まり(「午後」は13時と15時の便、など)を作ります。窓口3名で、問い合わせによく出る呼び方を出し合います。

2週目:30件で試す

先月の問い合わせから30件を選び、手元の生成AIで抜き出させます。相対的な日付が日付に直されていないか、人数の幅が丸められていないかを最優先で見ます。

3週目:「問い合わせ」シートと式を作る

抜き出した値の列と、運航表・貸切枠の表を引く式の列を作ります。2週目の30件の値を手で入れて、式の判定が窓口の判断と同じになるかを確かめます。

4週目:メールの経路から Zap を作る

Gmail のラベルから下書きの作成までを作ります。この時点では、窓口が自分で返信を書き、下書きと見比べるだけにします。

2か月目: 下書きを使って返信を始め、フォームの経路を足します。check の件数と、窓口が直した項目を毎週数えます。3か月目以降: 受けてから送るまでの時間と、1件15分が何分になったかを実測します。問い合わせの当日に空きの返信が出るのが普通になった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-28/最終更新:2026-10-29
確認した内容情報源確認日
AI by Zapier が指示と出力項目(名前・型・説明・必須)で動くこと。モデルの段階が Standard(1タスク)・Advanced(3タスク)・Premium(5タスク、新しいステップの既定)であること。Professional・Team・Enterprise で使え Free では使えないことZapier: Use AI by Zapier to analyze and return data2026-10-28
Zapier Interfaces が Zapier Forms に改称されたこと。すべてのプランで使え、リンクか埋め込みのコードで共有できること。送信の後に「Run a Zap」で Zap に内容を渡せることZapier: Create forms in Zapier Forms2026-10-28
Gmail の New Labeled Email がラベルが付いたときと会話に返信が付いたときに動くこと。New Email・New Email Matching Search の検知の対象が直近1時間であること。Create Draft の操作Zapier: How to get started with Gmail on Zapier2026-10-28
Lookup Spreadsheet Row が列と値で1行を探し、行全体を返すこと。Lookup Spreadsheet Rows (Advanced) が最大500行を返すことZapier: Find and update spreadsheet rows in Google Sheets2026-10-28
Paths が1つのまとまりに最大10本の分岐と Fallback を置けること。Free に含まれないことZapier: Add branching logic to Zap workflows with Paths2026-10-28
文字の条件(Exactly matches など)が大文字と小文字を区別しないことZapier: Filter and path rules in Zaps2026-10-28

運航の可否と、気象・海の状態による欠航の基準は、各事業者の安全管理の決まりに従ってください。 本記事は Zapier の公開情報で確認できた範囲の構成を扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-2203)についてのご相談はこちらから。

AI活用について相談する
目次