ピアノ調律の事業者が調律の依頼を Make で受け、AI で前回の記録と地域から訪問の日程の候補と案内のメールを作る
ピアノ調律の依頼を Make で受け、顧客の台帳から前回の調律の日と調律師の所見を引きます。住所の地域と調律師の予定の空きから訪問の日程の候補を出し、前回の所見を踏まえた案内のメールを下書きします。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- その他/小売
- 対象部門
- 営業
- 対象業務
- 問い合わせ対応/書類作成
- 主な課題
- 問い合わせが多い/属人化している/情報が見つからない
- AIで行う処理
- 生成
- 主な効果
- 対応スピード向上/属人化解消/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 事務がフォームの回答と代表アドレスを開き、依頼を読む
- 顧客の台帳で、名前・住所・電話番号から顧客とピアノを探し、前回の記録を読む
- 住所から地域を決め、その地域を回る調律師と曜日を確かめる
- 調律師のカレンダーを開き、その曜日に作業の時間が取れる日を探す
- 前回の所見と作業の時間を見て、案内のメールを書いて送る
- 返事が来たら調律師のカレンダーに訪問の予定を入れ、台帳に書く
- 自動フォームの新しい回答と、代表アドレスへの依頼のメールをきっかけに、Make のシナリオが動く
- 自動顧客の台帳を、メールアドレス・電話番号・郵便番号と番地の順で引き、顧客とピアノを特定する
- 自動前回の調律の日・担当の調律師・所見を、調律の記録から引く
- 自動住所の町名から、地域の対応表で地域と担当の調律師と訪問の曜日を決める
- 自動ピアノの種類と前回からの年数で、作業の表から作業の時間を決める
- 自動調律師のカレンダーの空き(Free/Busy)を引き、訪問の曜日に作業の時間と移動の余裕が取れる日を3つまで候補にする
- 自動OpenAI API が、候補と作業の時間と前回の所見と準備のお願いだけを使って、案内のメールを書く
- 自動候補の日程と所見の引用が、渡したものと一致するかを確かめ、ルーターで下書きか事務の確認に分ける
- 人事務が下書きを確かめて送る。返事が来たら調律師のカレンダーに予定を入れる
各工程の詳しい説明を読む
- 事務がフォームの回答と代表アドレスを開き、依頼を読む
- 顧客の台帳で、名前・住所・電話番号から顧客とピアノを探し、前回の記録を読む
- 住所から地域を決め、その地域を回る調律師と曜日を確かめる
- 調律師のカレンダーを開き、その曜日に作業の時間が取れる日を探す
- 前回の所見と作業の時間を見て、案内のメールを書いて送る
- 返事が来たら調律師のカレンダーに訪問の予定を入れ、台帳に書く
(a)前回の記録を台帳で探している。 フォームの名前の書き方と台帳の名前が一致しないことがあります。引っ越した人、家族の別の名前で頼んだ人、音楽教室の先生が教室の名前ではなく自分の名前で頼んだ人などです。探すのに数分かかります。
(b)地域と予定の見比べが事務の経験に頼っている。 どの住所がどの地域か、地域の境目の町を誰が回るかは、長く勤める事務が覚えていることです。 新しい事務は地図を開いて調律師に聞きます。
(c)案内に前回の所見が入らない。 所見を読んでから案内を書く時間が無いと、「いつもの調律に伺います」という定型の案内になります。 前回「次回、整調を相談」と書いていたことが、当日になって初めて話題に上り、時間が足りなくなります。
(d)案内までに日数がかかる。 調律師の予定は訪問先で変わることがあり、事務が候補を出したときには埋まっている、ということが起きます。 聞き直しの往復で、案内が数日後になります。
- 【自動】 フォームの新しい回答と、代表アドレスへの依頼のメールをきっかけに、Make のシナリオが動く
- 【自動】 顧客の台帳を、メールアドレス・電話番号・郵便番号と番地の順で引き、顧客とピアノを特定する
- 【自動】 前回の調律の日・担当の調律師・所見を、調律の記録から引く
- 【自動】 住所の町名から、地域の対応表で地域と担当の調律師と訪問の曜日を決める
- 【自動】 ピアノの種類と前回からの年数で、作業の表から作業の時間を決める
- 【自動】 調律師のカレンダーの空き(Free/Busy)を引き、訪問の曜日に作業の時間と移動の余裕が取れる日を3つまで候補にする
- 【自動】 OpenAI API が、候補と作業の時間と前回の所見と準備のお願いだけを使って、案内のメールを書く
- 【自動】 候補の日程と所見の引用が、渡したものと一致するかを確かめ、ルーターで下書きか事務の確認に分ける
- 【人】 事務が下書きを確かめて送る。返事が来たら調律師のカレンダーに予定を入れる
2番目から6番目までをAIの外に置くのが、この設計の分かれ目です。 顧客の特定、地域の判定、作業の時間、空きの計算は、どれも表とカレンダーで答えが決まります。AIが受け取るのは、その答えがそろった後の材料だけです。
9番目で事務がすべての下書きを見るのは、案内が調律師の訪問の約束になるからです。 生成の構成なので、送る前に人が読む形を外しません。
02今回想定するシステム構成
調律の依頼(自社サイトの Google フォーム/代表アドレスへの返信) ▼【トリガー】Google Forms:Watch Responses / Gmail:Watch emails Make のシナリオ ├──▶ Google Sheets:Search Rows(顧客の台帳・調律の記録・地域の対応表・作業の表) ├──▶ 地域・調律師・曜日・作業の時間を決める ├──▶ Google Calendar:Get Free/Busy Information(担当の調律師の空き) ├──▶ 候補の日程を3つまで選ぶ ├──▶ OpenAI(Generate a response、JSON schema、Store は No):案内のメール ├──▶ 候補の日程と所見の引用の照合 ├──▶ Router │ ├ 事務の確認(顧客が特定できない・地域が決まらない・前回から長い・候補が無い) → 事務へ通知 │ ├ 照合が通らない → 事務へ通知 │ ├ 通常 → Gmail:Create a draft email │ └ フォールバック → 事務へ └──▶ Google Sheets:Add a Row(依頼の記録)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Google Forms、Gmail、Google Sheets、Google Calendar、ルーター) | Zapier、n8n、Power Automate |
| 生成AI | OpenAI API(Responses API、構造化出力) | Claude API |
| 保管 | Google スプレッドシート(顧客の台帳・調律の記録・地域の対応表・作業の表・依頼の記録) | Airtable |
| 予定表 | Google カレンダー(調律師ごとの予定) | Microsoft Outlook の予定表 |
新しく足すのは、シナリオと、地域の対応表・作業の表・依頼の記録のシートだけです。 顧客の台帳と調律の記録、調律師のカレンダーはそのまま使います。この構成が書き込むのは、依頼の記録と Gmail の下書きだけで、台帳とカレンダーには書き込みません。
案内は、Make の OpenAI のアプリの Generate a response で書きます。 公式のページでは、このモジュールに Instructions(最初に置くシステムの指示)と Output Format(Text・JSON schema・JSON object)の欄があります。この構成では JSON schema を選びます。同じモジュールの Store は既定が Yes で、生成した応答を後から API で取り出せるように保存します。 顧客の住所や前回の所見を OpenAI の側に残さないために、No にします。
OpenAI のアプリの接続には、処理の地域の設定があります。 公式のページでは、接続の詳細設定で地域を変えられ、既定は Global で、EU と US を選ぶにはアカウントで地域での処理を有効にしておく必要があるとされています。公式のページに挙がっている地域は EU と US だけです。顧客の住所を渡すかどうかは、第7章の前処理で絞ります。
03どうやって実装するのか
処理の起点を決める
フォームの新しい回答と、代表アドレスへの依頼のメールの2つを起点にします。 フォームは Google Forms のアプリの Watch Responses で見張り、メールは Gmail の Watch emails で「調律の依頼」のラベルを見張ります。ラベルは、前回の案内のメールの件名への返信と、件名や本文に「調律」が含まれるものに付けます。
実行の間隔は30分にします。 調律は急ぎの依頼が少なく、候補を出すときの調律師の予定が新しいことのほうが大事です。 30分おきなら、事務が下書きを開いたときに、候補が埋まっていることはまず起きません。
日程の変更の連絡は、同じ入口で受けます。 依頼の記録に同じ顧客の「案内済み」の行があれば、前の候補を外して、新しい候補で案内を作り直します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼 | 名前、住所、電話番号、メールアドレス、ピアノの種類、前に頼んだことがあるか、希望の曜日、気になること/メールの本文(返信の引用を除いたもの) | フォームの回答/Gmail |
| 顧客とピアノ | 顧客のコード、住所、ピアノのメーカー・型・種類(アップライト/グランド)、設置の部屋 | 顧客の台帳のシート |
| 前回の記録 | 前回の調律の日、担当の調律師、所見 | 調律の記録のシート |
| 地域の対応表 | 町名、地域のコード、担当の調律師、訪問の曜日 | 地域の対応表のシート |
| 作業の表 | ピアノの種類と前回からの年数ごとの作業の時間、移動の余裕 | 作業の表のシート |
| 調律師の空き | 調律師ごとの予定の入っている時間帯 | Google カレンダー(Free/Busy) |
質を決めるのは、調律師が書く所見の書き方です。 所見は案内のメールにそのまま引用されることがあるので、「顧客に伝えてよいこと」と「調律師どうしの申し送り」を分けて書く決まりにします。調律の記録に「顧客向けの所見」と「社内の申し送り」の2つの列を作り、AIに渡すのは顧客向けの所見だけにします。
作業の表は、例えば次のように持ちます。
| ピアノの種類 | 前回からの年数 | 作業の時間 | 扱い |
|---|---|---|---|
| アップライト | 2年未満 | 90分 | 通常 |
| アップライト | 2年以上5年未満 | 120分 | 通常 |
| グランド | 2年未満 | 120分 | 通常 |
| グランド | 2年以上5年未満 | 150分 | 通常 |
| どちらも | 5年以上、または記録が無い | - | 調律師が先に電話で聞く |
いちばん下の行は、作業の時間が読めないからです。 長く調律していないピアノは、音の高さが大きく下がっていて、1回で合わせきれないことがあります。 時間を決めて候補を出すと、当日に予定が崩れます。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 依頼 | フォーム/Gmail | Watch Responses/Watch emails |
| 顧客とピアノ | 顧客の台帳 | Search Rows(メールアドレス→電話番号→郵便番号と番地の順) |
| 前回の記録 | 調律の記録 | Search Rows(ピアノのコード、日付の新しい順で1件) |
| 地域と調律師と曜日 | 地域の対応表 | Search Rows(町名) |
| 作業の時間 | 作業の表 | Search Rows(ピアノの種類と年数の区分) |
| 調律師の空き | 調律師のカレンダー | Get Free/Busy Information(担当の調律師のカレンダーIDと、今日から21日間) |
顧客の台帳は、名前では引きません。 名前は書き方の揺れが大きく、同姓の顧客もいます。メールアドレス、電話番号、郵便番号と番地の順に引き、どれでも1件に決まらなければ事務の確認に回します。 1台の家に2台のピアノがあるときも、どちらの依頼かが決まらないので事務へ回します。
Free/Busy の問い合わせには、timeZone に Asia/Tokyo を入れます。 Google Calendar API の公式のページでは、timeZone は応答に使うタイムゾーンで、省略すると UTC になるとされています。午後の訪問の枠が9時間ずれ、夜中の時刻に空きがあるように見えます。 timeMin と timeMax にも +09:00 を付けます。
空きの計算は、ワークフローの式で行います。 訪問の曜日に当たる日だけを取り出し、訪問に使う時間(例:9時半〜17時)から busy を引いて、作業の時間に移動の余裕30分を足した長さが続けて取れる日を、早い順に3つまで候補にします。 希望の曜日があれば、その曜日に当たる候補を先に並べます。
AIへ渡す前に整形する
- 重複の確認 … フォームは送信の時刻、メールはメッセージIDで依頼の記録を引き、記録があれば止めます
- 返信の引用を落とす … 前回の案内のメールへの返信には、前回の案内の全文が付いてきます
- 町名を取り出す … 住所から町名を取り出し、地域の対応表を引きます。境目の町は対応表に番地の範囲まで書きます
- 前回からの年数を出す … 前回の調律の日から今日までの年数を、ワークフローが計算します
- AIに渡す範囲を絞る … 名前、住所、電話番号、メールアドレスは渡しません。渡すのは、候補の日程、作業の時間、ピアノの種類、前回の調律の年月、顧客向けの所見、依頼の「気になること」の欄、準備のお願いの定型の文だけです
4番目をAIに任せないのは、年数で作業の時間が変わるからです。 前回が「2024年11月」なら、今日から何年かを数えるのは式の仕事です。AIが数え違えると、作業の表の別の行の時間で候補を出すことになります。
5番目で住所を渡さないのは、案内の文に住所は要らないからです。 宛名と訪問先の住所の確認の文は、下書きを作るときにワークフローが差し込みます。
「気になること」の欄には、家族の事情が書かれることがあります。 「子どもが受験で毎日弾いている」「介護のため午前は難しい」のような文です。曜日や時間の希望に関わる部分は、事務が候補を選び直す材料で、AIに案内の文で触れさせる必要はありません。 指示では「気になること」をピアノの音や鍵盤の話に限って扱わせ、それ以外の事情は needs_attention に「日程の事情の記載あり」とだけ書かせて事務に回します。
AIに処理させる
させるのは、渡した材料だけを使って案内のメールを書くことです。
| 書くこと | 材料 | 守らせること |
|---|---|---|
| 依頼のお礼と、前回の調律の年月 | 前回の調律の年月 | 年月を書き直さない。記録が無ければ書かない |
| 訪問の日程の候補 | 候補の日程の文字列 | 渡した文字列をそのまま写す |
| 作業の時間 | 作業の時間 | 「約○分」の形で、渡した値だけ |
| 前回の所見から、当日までにしてほしいこと | 顧客向けの所見 | 所見の文を引用し、所見に無いことを書かない |
| 「気になること」への返事 | 依頼の欄 | 「当日、調律師が拝見してご相談します」の形にする。原因や直し方を書かない |
| 準備のお願い | 準備のお願いの定型の文 | ピアノの上の物をどかす、駐車の場所など、定型の文の範囲 |
所見の引用は、quotes という欄に1つずつ写させます。 ワークフローが、その文字列が渡した所見の中にそのまま含まれるかを確かめます。含まれていなければ、案内が正しそうに見えても事務の確認に回します。
| させないこと | 理由 |
|---|---|
| ピアノの状態を見立てる | 調律師が当日に見て決める |
| 整音・整調・修理を勧める | 所見に「次回、相談」とあるときだけ、「当日ご相談します」と書く |
| 料金を書く | 料金は定型の文でワークフローが差し込む |
| 候補に無い日程を書く | 調律師の予定とずれる |
| 社内の申し送りを書く | AIには渡さない |
指示内容を固定する
Instructions の欄(最初に置く指示):
あなたはピアノ調律の事業所の事務として、調律の依頼をくださった方への
案内のメールを書きます。下に渡す材料だけを使ってください。
材料に無いことは書かないでください。
【書く順】
1. 依頼のお礼。前回の調律の年月があれば「前回は○年○月に
伺いました」と書く。
2. 訪問の日程の候補を、渡した順に箇条書きで書く。
3. 作業の時間を「約○分」と書く。
4. 前回の所見があれば、当日までにしていただきたいことを書く。
5. 「気になること」の欄があれば、当日拝見してご相談する旨を書く。
6. 準備のお願いの文を、そのまま書く。
7. 都合のよい候補を返信で知らせてほしいこと、どの候補も合わない
ときは希望の曜日を知らせてほしいことを書く。
【厳守事項】
- 候補の日程は、渡した文字列を1文字も変えずに写す。曜日や時刻の
書き方を整えない。
- 前回の所見を使うときは、所見の文をそのまま quotes に写す。
所見に書かれていない、ピアノの状態や原因を書かない。
- 「気になること」に対して、原因や直し方を書かない。
- 「気になること」のうち、ピアノの音や鍵盤以外の事情には触れず、
needs_attention に「日程の事情の記載あり」と書く。
- 整音・整調・修理を勧めない。所見に「次回相談」とあるときだけ、
「当日、調律師からご相談します」と書く。
- 料金、割引、保証について書かない。
- 宛名は {recipient}、料金の案内は {price_text} と書き、
中身を入れない。
入力の欄(依頼ごとに差し込むもの):
【候補の日程】{slots}
【作業の時間】{duration}
【ピアノの種類】{piano_type}
【前回の調律の年月】{last_tuned}
【顧客向けの所見】{notes_for_customer}
【気になること】{concern}
【準備のお願い】{preparation}
「1文字も変えずに写す」を書くのは、照合をワークフローの文字の比較で行うからです。 AIは「11月20日(木)13:30〜」を「11月20日(木曜日)午後1時30分から」に整えます。整えられると照合を通らず、すべてが事務の確認に回ります。
「原因や直し方を書かない」を名指しで禁じるのは、AIが親切に答えようとするからです。 「最近、ペダルを踏むとキーキー鳴る」と書かれていると、よくある原因と直し方を書き添えます。 当日に別の原因だったとき、案内の文が約束のように残ります。
出力形式を固定する
次の形の JSON を返させます。
{
"subject": "",
"body": "",
"slots_used": ["11月20日(木)13:30〜"],
"quotes": ["湿度が高い部屋。梅雨時は除湿をお勧めしました。"],
"mentions_consultation": false,
"needs_attention": null
}
構造化出力にする1つ目の理由は、照合する欄を本文から分けられることです。 slots_used の各要素が渡した候補の文字列と一致し、本文にも含まれるか。quotes の各要素が顧客向けの所見に含まれるか。どちらもワークフローの文字の比較で確かめます。
2つ目は、値の無い欄の扱いを決めておけることです。 公式のページでは、構造化出力ではすべての項目を required にする必要があり、省略してよい項目は null との組み合わせの型で表すとされています。needs_attention は、AIが材料の足りなさに気づいたときだけ文を入れ、それ以外は null を返させます。 オブジェクトには additionalProperties: false を付けます。
3つ目は、拒否を見分けられることです。 公式のページでは、安全上の理由で応答を拒んだことをプログラムで見分けられるとされています。拒否が返ったときは本文を使わず、事務の確認に回します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 依頼のフォーム | Google Forms の Watch Responses | 依頼を受ける |
| Gmail | Watch emails/Create a draft email | 返信の依頼を受け、案内の下書きを置く |
| 顧客の台帳・調律の記録・地域の対応表・作業の表 | Google Sheets の Search Rows | 顧客・前回の記録・地域・時間を引く(読むだけ) |
| 調律師のカレンダー | Google Calendar の Get Free/Busy Information | 空きだけを引く(読むだけ) |
| OpenAI API | OpenAI の Generate a response(JSON schema、Store は No) | 案内のメール |
| 依頼の記録 | Google Sheets の Add a Row/Update a Row | 依頼・候補・照合の結果・送り方 |
ルーターのルートは、事務の確認→照合が通らない→通常→フォールバックの順に並べます。 公式のページでは、ルートは同時ではなく1本ずつ順に処理され、どの条件にも当たらないデータをフォールバックのルートが処理するとされています。事務の確認に回すのは、顧客が1件に決まらない、地域の対応表に無い町、前回から5年以上か記録が無い、21日間に候補が無い、needs_attention に文があるものです。
案内は下書きまでにし、自動では送りません。 調律の案内は、調律師が家に伺う約束の始まりです。
人が確認する
事務が確かめるのは、下書きの全件です。
- 事務の確認に回ったものを先に見る … 前回から長いピアノは、担当の調律師に電話で状態を聞いてもらうよう回します
- 候補の日程を見る … 調律師のカレンダーを開き、候補の日に新しい予定が入っていないかを見ます
- 所見の使い方を見る … 引用が顧客向けの所見の欄からのものか、案内として伝えてよい書き方かを見ます
- 送る … 宛名と料金の文が差し込まれていることを見て、Gmail の画面から送ります
返事で日程が決まったら、事務が調律師のカレンダーに予定を入れます。 予定の説明には、ピアノの種類と顧客向けの所見と社内の申し送りを入れ、調律師が訪問の前に読めるようにします。
下書きを直したら、直した箇所を依頼の記録に残します。 同じ直しが続くなら、指示か準備のお願いの文を直します。
目標は、160件をならして1件6分です。 下書きの多くは、カレンダーを開いて候補を確かめ、所見の使い方を読んで送るだけで済みます。事務の確認に回る件数が2割を超える月は、地域の対応表か台帳の引き方に抜けがあります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 顧客が1件に決まらない | 案内を作らず、事務へ。家族の名前や旧住所の顧客が多い |
| 地域の対応表に無い町 | 案内を作らず、事務へ。対応表に行を足す |
| 前回から5年以上か、記録が無い | 案内を作らず、担当の調律師へ電話の依頼を回す |
| 21日間に候補が無い | 希望の曜日を広げる問いを入れた下書きにし、事務へ |
| 1軒に2台のピアノ | どちらか、または2台ともかを聞き返す下書きにする |
| 学校・音楽教室など法人の複数台の依頼 | 案内を作らず、事務へ。授業や発表会の無い日に限られ、訪問の曜日の決まりに乗らないことが多い |
Free/Busy で調律師のカレンダーに errors が返る | 候補を作らず、事務へ。busy が空でも空きとみなさない |
| 候補か所見の引用が照合を通らない | 下書きを置かず、事務へ |
| OpenAI API が応答しない | 依頼の記録に「未処理」と書き、次の実行で拾い直す |
上の3行が大半を占めます。 どれもAIの誤りではなく、台帳の引き方と地域の対応表の作り方の問題です。 地域の対応表に無い町が続くなら、隣の市の顧客が増えています。
記録を残す
- 依頼の元の回答とメールの本文(引用を落とす前のもの)
- 特定した顧客とピアノ、引いた前回の記録
- 決めた地域・調律師・作業の時間と、Free/Busy を引いた日時
- 返ってきた JSON の全文と、照合の結果
- 事務が下書きを直した箇所と、送った案内の本文
- 返事で決まった日程と、当日の実際の作業の時間
最後の行は、作業の表を直す材料になります。 前回からの年数の区分ごとに、表の時間と実際の時間がどれだけ違ったかを見ます。 ずれの大きい区分は、表の時間を直します。
04実装レベルの3段階
最小構成では件数がさばけません。 月160件の候補と所見を手で用意するのは続きません。案内の文が材料の外に出ないかを確かめるための段階です。 半自動化で、1件15分が6分になり、この段階が本記事の想定です。 台帳探し、地域と曜日の判定、空き探し、案内の文が自動になり、人に残るのは、すべての下書きの確認と、長く調律していないピアノの取り次ぎです。 本格構成のお知らせは、半自動化の案内が安定してからにします。 依頼が来る前に送るお知らせは、顧客が頼んでいない連絡なので、送ってよい顧客の印を台帳に持たせてから始めます。
05工数削減シミュレーション
導入後 160件 × 6分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 調律師が数名いて、地域ごとに訪問の曜日を決めて回っているピアノ調律の事業者・楽器店の調律の部門。調律の依頼が Web のフォームとメールで月に百件以上届き、事務が顧客の台帳で前回の記録を探し、調律師の予定と担当の地域を見比べて候補の日を返しているため、案内までに日数がかかる場合。調律師が作業の後に所見を台帳に書いている場合。
- 調律師が1名で、依頼を本人が電話で受けて日程をその場で決めている事業者。顧客の台帳が紙のカルテだけで、前回の記録を検索できない場合(先に台帳のデータ化が要ります)。訪問の地域や曜日を決めておらず、依頼ごとに移動の順を組んでいる場合。なお、ピアノの状態の見立て、修理や整音・整調の要否、料金の割引の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の依頼から30件を選ぶ(前回の所見がある依頼、所見の無い依頼、「気になること」が書かれた依頼を混ぜる)
- 30件について、事務が当時送った案内を書き出す
- 第7章の指示を、手元の ChatGPT の画面に貼る
- 30件について、当時の候補の日程と作業の時間と顧客向けの所見を手で用意して貼り、案内を書かせる(名前と住所は貼らない)
- 候補の日程が1文字も変わっていないか、所見に無いことを書いていないかを1件ずつ見る
30件は必ずやってください。 シナリオを組む前に、材料の外に出ずに書けるかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 候補が原文どおりで、所見の外に出ていない | シナリオの組み立てに進む |
| 日程の書き方が整えられる | 「1文字も変えない」を強め、照合の段で止まる前提にする |
| 「気になること」に原因や直し方を書く | 禁止の例を指示に足す。構成は有効 |
所見がそのまま案内に使えないと分かることもあります。 調律師どうしの書き方のまま顧客に見せられない所見が多いなら、所見の列を分ける作業を先にします。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 所見に無いピアノの状態を案内に書く | quotes を照合し、所見の外の文を止める |
| 社内の申し送りが案内に出る | 所見を2つの列に分け、顧客向けだけを渡す |
| 候補の日程の書き方が整えられる | 1文字も変えないを指示し、照合で止める |
| 午後の枠が夜中の空きに見える | Free/Busy に timeZone を入れ、時刻に +09:00 を付ける |
| 名前で台帳を引いて別の顧客になる | メールアドレス・電話番号・郵便番号と番地の順で引く |
| 境目の町で調律師が決まらない | 対応表に番地の範囲まで書く |
| 長く調律していないピアノに通常の時間で候補を出す | 5年以上と記録なしは、調律師の電話に回す |
| 「気になること」に原因や直し方を書く | 名指しで禁じ、「当日ご相談」の形にする |
| 住所や所見が OpenAI の側に残る | Store を No にし、住所は渡さない |
| 下書きを開いたときに候補が埋まっている | 送る前に調律師のカレンダーを確かめる |
上の2行が、この構成の失敗のほとんどです。 どちらも、調律師が書いた所見が、AIを通って顧客に届くところで起きます。所見の列を分け、引用を照合する、の2つで止めます。
5行目と6行目は、AIと関係なく起きます。 台帳の引き方と地域の対応表は、事務の経験を表に移す作業そのものです。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 依頼した人の名前、住所、電話番号、メールアドレス、ピアノの設置の部屋、前回の調律の記録と所見、調律師の予定です。住所と設置の部屋は、家の中の様子が分かる情報です。
- AIに渡すのは、候補と所見と定型の文だけにする … 名前、住所、電話番号は渡しません。宛名と訪問先の確認の文は、ワークフローが差し込みます
- 生成した応答を保存しない設定にする … Generate a response の Store は既定が Yes です。No にしてから運用を始めます
- 処理の地域の設定を確かめる … OpenAI のアプリの接続は既定で Global です。自社の方針で処理の地域を決めている場合は、接続の設定と OpenAI のアカウントの設定を合わせます
- 社内の申し送りを顧客の目に触れさせない … 調律師どうしの書き方には、顧客に向けない言葉が含まれます。AIに渡す前に列で分けます
- ピアノの状態や修理の要否を、案内で約束しない … 見立ては調律師が当日に行います。案内は日程と準備のお願いまでにします
誤りが起きた場合のリスクは、所見に無いピアノの状態を案内に書くことと、空いていない日程を案内することの2つです。 前者は引用の照合で、後者はタイムゾーンと送る前の確認で防ぎます。どちらもAIの賢さではなく、ワークフローの照合と人の確認で守ります。
10まず何から始めるか
1週目:地域の対応表と作業の表を作る
事務と調律師3名で、町名ごとの担当の調律師と訪問の曜日を表にします。境目の町は番地の範囲まで書きます。 ピアノの種類と前回からの年数ごとの作業の時間も決めます。
2週目:30件で試す
先月の依頼から30件を選び、当時の候補と所見を手で用意して、手元の ChatGPT の画面で案内を書かせます。候補の日程が原文どおりか、所見の外に出ていないかを最優先で見ます。
3週目:所見の列を分ける
調律の記録に「顧客向けの所見」と「社内の申し送り」の列を作り、これからの調律から分けて書く決まりにします。 準備のお願いの定型の文と、料金の案内の定型の文も作ります。
4週目:受付から下書きまでをつなぐ
Make で依頼を受け、台帳を引き、地域と作業の時間を決め、Free/Busy で候補を出し、案内の下書きを置くところまで作ります。Store が No、timeZone が Asia/Tokyo になっているかを確かめます。
2か月目: 事務が下書きを直した件数を毎週数え、指示と定型の文を直します。3か月目以降: 1件15分が何分になったかを実測し、新しい事務だけで1週間の依頼を案内できたら、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Google Forms のアプリに Watch Responses などがあること | Make: Google Forms | 2026-10-15 |
| Gmail のアプリに Watch emails・Create a draft email があり、Watch emails がラベルを見張れること | Make: Gmail modules | 2026-10-15 |
| Google Sheets のアプリに Search Rows・Add a Row・Update a Row などがあること | Make: Google Sheets modules | 2026-10-15 |
| Google Calendar のアプリに Get Free/Busy Information などがあること | Make: Google Calendar | 2026-10-15 |
| ルーターのルートが同時ではなく1本ずつ順に処理され、どの条件にも当たらないデータをフォールバックのルートが処理すること | Make: Router | 2026-10-15 |
| Generate a response に Instructions と Output Format(Text・JSON schema・JSON object)の欄があること。Store が応答を後から取り出せるように保存する設定で、既定が Yes であること | Make: OpenAI modules | 2026-10-15 |
| OpenAI のアプリの接続の詳細設定で処理の地域を変えられ、既定が Global で、EU・US には地域での処理の有効化が要ること | Make: OpenAI (ChatGPT, Whisper) | 2026-10-15 |
構造化出力ではすべての項目を required にし、省略してよい項目は null との組み合わせの型で表すこと。additionalProperties: false を付けること。安全上の拒否をプログラムで見分けられること | OpenAI: Structured model outputs | 2026-10-15 |
freeBusy がカレンダーごとの busy を返し、timeZone の既定が UTC であること。カレンダーごとに errors が返りうること | Google Calendar API: Freebusy: query | 2026-10-15 |
ピアノの状態の見立て、修理や整音・整調の要否、料金の扱いは、調律師と事業所の判断で決めてください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1729)についてのご相談はこちらから。
