写真館が撮影の後の写真の選定・データの納品・アルバムの注文を Make で追い、段階ごとの案内の文面を作って返事の無い客を拾う
写真館で撮影を終えた客ごとに、写真の選定・データの納品・アルバムの注文の段階と期限を追います。毎朝、案内を出す時期の客と返事の無い客を拾い、撮影の種類と段階に合った案内の文面を下書きします。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- その他/小売
- 対象部門
- カスタマーサポート/営業
- 対象業務
- 台帳・マスタ管理/書類作成
- 主な課題
- 人手が足りない/営業フォローが追いつかない/期限・対応漏れが起きる
- AIで行う処理
- 生成
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 受付の担当が朝、案件台帳を開き、段階と期限を見て、案内を出す客を探す
- その客との前回のメールを Gmail で探し、返事があったかを確かめる
- 撮影の種類と段階に合わせて、文面を一から書く(ギャラリーのURL、期限、データの受け取りの方法、アルバムの案内)
- データの納品のときは、Google ドライブのフォルダを開いて共有の設定をし、リンクを文面に貼る
- 送ったら、案件台帳の段階と最後に連絡した日を書き換える
- 自動客から写真館の代表アドレスに返事が届くと、Make のシナリオ1が案件台帳の「最後に返事があった日」を書き換える
- 自動毎朝9時に Make のシナリオ2が動き、案件台帳から、案内を出す時期の客と、返事の無いまま日がたった客を拾う
- 自動段階に応じて、ギャラリーのURL、選定の期限、データのフォルダの共有リンクと期限、アルバムの注文の締めを集める
- 自動Claude API が、撮影の種類・段階・期限・前回の連絡と返事の有無から、案内の文面を書く
- 自動ルーターで、最初の案内は承認済みの文例との照合を通ったものだけ送り、2回目以降と期限切れは Gmail の下書きに置く
- 人受付の担当が下書きを開き、期限と客の事情を確かめて送る
- 自動送ったものは、案件台帳の段階・連絡の回数・最後に連絡した日を書き換える
- 人期限の延長や料金の相談の返事が来たら、受付の担当が店の決まりに沿って答える
各工程の詳しい説明を読む
- 受付の担当が朝、案件台帳を開き、段階と期限を見て、案内を出す客を探す
- その客との前回のメールを Gmail で探し、返事があったかを確かめる
- 撮影の種類と段階に合わせて、文面を一から書く(ギャラリーのURL、期限、データの受け取りの方法、アルバムの案内)
- データの納品のときは、Google ドライブのフォルダを開いて共有の設定をし、リンクを文面に貼る
- 送ったら、案件台帳の段階と最後に連絡した日を書き換える
(a)返事の無い客を追えない。 案件台帳には「選定の案内済み」と書かれていても、その後に客から返事があったかは、Gmail を開かないと分かりません。 返事の無い客を拾うには、1行ずつメールを探すことになり、忙しい日には飛ばされます。
(b)期限が過ぎてから気づく。 選定の期限を過ぎた客、データの受け取りの期限が近い客は、台帳の日付の列を目で追わないと見つかりません。 七五三の繁忙期には案件の行が数百行になり、期限の近い行が埋もれます。
(c)アルバムの声かけが漏れる。 データの納品が終わると、受付の担当の中では「この客は終わった」と感じます。アルバムの注文の案内を出すはずの客が、納品済みのまま止まります。 写真館にとっては、撮影の後の売上になるはずだった注文です。
(d)文面が担当ごとに違う。 同じ選定のお願いでも、期限の書き方、ギャラリーの見方の説明、催促の言い回しが担当ごとに違います。2回目の催促で、1回目と違う期限を書いてしまうこともあります。
- 【自動】 客から写真館の代表アドレスに返事が届くと、Make のシナリオ1が案件台帳の「最後に返事があった日」を書き換える
- 【自動】 毎朝9時に Make のシナリオ2が動き、案件台帳から、案内を出す時期の客と、返事の無いまま日がたった客を拾う
- 【自動】 段階に応じて、ギャラリーのURL、選定の期限、データのフォルダの共有リンクと期限、アルバムの注文の締めを集める
- 【自動】 Claude API が、撮影の種類・段階・期限・前回の連絡と返事の有無から、案内の文面を書く
- 【自動】 ルーターで、最初の案内は承認済みの文例との照合を通ったものだけ送り、2回目以降と期限切れは Gmail の下書きに置く
- 【人】 受付の担当が下書きを開き、期限と客の事情を確かめて送る
- 【自動】 送ったものは、案件台帳の段階・連絡の回数・最後に連絡した日を書き換える
- 【人】 期限の延長や料金の相談の返事が来たら、受付の担当が店の決まりに沿って答える
1番目が、この設計の土台です。 返事があったかどうかを台帳に書き込んでおけば、2番目で「返事の無い客」を表の条件だけで拾えます。 第3章の(a)で1行ずつメールを探していた作業が、ここで要らなくなります。
5番目で送り方を分けるのは、間違えたときの重さが違うからです。 最初の案内は、どの客にも同じ形で出すもので、文例と照らして期限とURLが合っていれば送ってよいと店が決めておけます。 2回目以降は、返事の無い理由が客ごとに違います。
02今回想定するシステム構成
客からの返事(Gmail の代表アドレス) ▼【トリガー1】Gmail:Watch emails(シナリオ1) Make ── Google Sheets:Search Rows → Update a Row(最後に返事があった日) ▼【トリガー2】毎朝9時(シナリオ2) Make ├──▶ Google Sheets:Search Rows(案内を出す時期の客/返事の無い客) ├──▶ Google Drive:Get a Share Link(データの納品のときだけ) ├──▶ Claude API(Make an API Call):段階ごとの案内の文面 ├──▶ Router:段階と連絡の回数で分岐 │ ├ 最初の案内で照合を通った → Gmail:Send an email │ ├ 2回目以降・期限切れ → Gmail:Create a draft email │ └ フォールバック → 案件台帳に「要確認」と書く └──▶ Google Sheets:Update a Row(段階・連絡の回数・連絡日) ▼【人】受付の担当が下書きを確かめて送る
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Gmail、Google Sheets、Google Drive、ルーター) | Zapier、n8n、Power Automate |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API |
| 保管 | Google スプレッドシート(案件台帳・文例の一覧・撮影の種類ごとの段階の表) | Airtable |
| データの受け渡し | Google ドライブ(客ごとの納品のフォルダ) | Dropbox |
新しく足すのは、2本のシナリオと、案件台帳の列と、文例の一覧だけです。 オンラインのギャラリー、Google ドライブのフォルダ、Gmail の代表アドレスはそのまま使います。この構成が書き込むのは、案件台帳、Gmail の送信と下書き、ドライブのフォルダの共有の設定だけです。
返事の検知は Gmail の Watch emails で行います。 公式のページでは、Watch emails はフォルダまたはラベルを見張り、送信元・件名・含む語などの絞り込みと、Gmail の検索式による絞り込みが使え、1回の実行で扱う件数の上限は500までとされています。
データの共有リンクは Google Drive の Get a Share Link で作ります。 公式のページでは、Get a Share Link はファイルやフォルダの権限を設定して共有のリンクを返し、権限の種類(閲覧者など)と、特定のメールアドレスへの限定を選べ、有効期限は未来の日時で、1年より先にはできないとされています。
定時の実行はシナリオのスケジュールで設定します。 公式のページでは、シナリオは決まった間隔のほか、毎日・平日・毎週などに動かせ、最短の間隔はプランによって違うとされています。
文面は Claude API で書きます。 Make の Anthropic Claude のアプリには Create a Prompt と Make an API Call などがあります。アプリの説明に構造化出力の設定が書かれていないため、この構成では Make an API Call で Messages API を呼び、output_config.format に JSON スキーマを書きます。
03どうやって実装するのか
処理の起点を決める
シナリオ1は、客からの返事を起点にします。 Watch emails で代表アドレスの受信箱を見張り、送信元のアドレスが案件台帳にある客のものだけを扱います。 15分ごとに動かし、1回で扱う件数の上限は50にします。返事が来た客の行の「最後に返事があった日」を、受信の日付で書き換えます。
シナリオ2は、毎朝9時に1回動かします。 受付が開く前に下書きをそろえ、開店の準備のあいだに確かめて送れるようにします。1日に何度も動かさないのは、同じ客に1日に二度案内が届くのを避けるためです。 拾う条件はすべて日付で決まるので、1日1回で足ります。
シナリオ2が拾う条件は、撮影の種類ごとの段階の表に書いておきます。 例えば次のような決まりです。
| 段階 | 最初の案内を出す日 | 返事が無いときの2回目 | 期限切れの連絡 |
|---|---|---|---|
| 写真の選定 | 撮影日の5日後 | 最初の案内から7日後 | 選定の期限の翌日 |
| データの納品 | レタッチ済みになった日 | 最初の案内から10日後 | 受け取りの期限の7日前 |
| アルバムの注文 | データの納品の14日後 | 最初の案内から14日後 | 注文の締めの翌日 |
日数は写真館が決める値で、表を書き換えればシナリオを直さずに変えられます。 ワークフローは、この表と案件台帳の日付を比べるだけです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 案件台帳 | 客の名前・メールアドレス、撮影日、撮影の種類、段階、各段階の期限、連絡の回数、最後に連絡した日、最後に返事があった日、受付のメモ | 案件台帳のシート |
| 段階の表 | 撮影の種類ごとの段階と、案内を出す日数 | 段階の表のシート |
| 文例の一覧 | 段階ごとに写真館が承認した最初の案内の文例と、必ず入れる項目 | 文例の一覧のシート |
| ギャラリーの情報 | 客ごとの閲覧のURLと、選定の期限 | 案件台帳の列 |
| データのフォルダ | 客ごとの納品のフォルダ | Google ドライブ |
| 返事の要点 | 客からの最後の返事の件名と、受付のメモ | 案件台帳の列 |
質を決めるのは、受付のメモです。 「祖父母に見せてから選ぶので月末まで待ってほしい」「アルバムは要らないと当日に言われた」と書かれていれば、2回目の催促の文面が変わり、アルバムの案内はそもそも出しません。 メモを書く列を案件台帳に1つ持たせ、客と話したことをそこに残す運用にします。
文例の一覧には、必ず入れる項目を段階ごとに書いておきます。 選定の案内なら「ギャラリーのURL」「選定の期限」「選ぶ枚数」、データの納品なら「共有リンク」「リンクの期限」「保存のお願い」です。最初の案内を自動で送ってよいかは、この項目がすべて文面に入っているかで決めます。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 返事をくれた客 | 案件台帳 | Search Rows(送信元のアドレスで探す) |
| 案内を出す時期の客 | 案件台帳と段階の表 | Search Rows(段階と日付の条件) |
| 返事の無い客 | 案件台帳 | Search Rows(最後に連絡した日より後に返事が無く、日数を超えたもの) |
| 共有リンク | Google ドライブ | Get a Share Link(客のメールアドレスに限定、閲覧者、期限付き) |
| 文例と必須の項目 | 文例の一覧 | Search Rows(段階で探す) |
返事の無い客は、2つの日付を比べて拾います。 「最後に返事があった日」が「最後に連絡した日」より前か空で、かつ最後に連絡した日から段階の表の日数を超えたものです。シナリオ1が返事の日付を書き込んでいるので、メールを開かずに表の条件だけで決まります。
共有リンクは、客のメールアドレスに限って作ります。 「リンクを知っている人なら誰でも」にすると、転送されたメールから写真が見られます。 有効期限は写真館の受け取りの期限に合わせ、その日付を文面に入れます。期限は1年より先にできないので、長く持っていてほしいデータは「保存してください」と文面で頼みます。
同じ家族の別の撮影があるときは、案件の番号で分けます。 送信元のアドレスで引くと、七五三と家族写真の2行に当たることがあります。2行に当たったら、件名に含まれる案件の番号で選び、番号が無ければ両方の行の返事の日を書き換えます。 返事の中身を読み分けるのは受付の担当です。
AIへ渡す前に整形する
- 段階と日付の確認 … 段階の表と比べて、案内を出す日を過ぎているかを確かめます
- 受付のメモの確認 … 「アルバム不要」「連絡不要」などの決まった語があれば、その段階を飛ばします
- 期限の文字の用意 … 期限は日付と曜日の文字にしてから渡します(「10月25日(日)」)
- 残りの日数の計算 … 期限までの日数をワークフローが計算して渡します
- AIに渡す範囲を絞る … 渡すのは、名字、撮影の種類、段階、期限、残りの日数、連絡の回数、受付のメモです。子どもの名前、写真そのもの、電話番号は渡しません
3番目と4番目は、AIに日付を計算させないための準備です。 「あと5日」と書かせるなら、5はワークフローが出した数字を使わせます。AIが撮影日から数え直すと、1日ずれることがあります。
5番目で子どもの名前を外すのは、文面に要らないからです。 七五三の案内でも「お子さまの写真」と書けば足ります。写真そのものをAIに渡すことはこの構成ではありません。 文面に名前が要るときは、受付の担当が下書きに書き足します。
AIに処理させる
させるのは、段階と連絡の回数に合わせて、件名と本文を書くことだけです。 誰に送るか、いつ送るか、期限をいつにするかは、すべてワークフローと店が決めています。
| 段階と回数 | 文面に入れること | 言い回し |
|---|---|---|
| 選定・最初 | 撮影のお礼、ギャラリーのURL、選定の期限、選ぶ枚数 | 案内として |
| 選定・2回目以降 | 期限まであと何日か、受付のメモに沿った一言 | 確認として。急かさない |
| 選定・期限切れ | 期限が過ぎたこと、店の決まりにある対応の案内 | 事実を伝える |
| データの納品・最初 | 共有リンク、リンクの期限、保存のお願い | 案内として |
| データ・期限前 | リンクの期限まであと何日か、保存のお願い | 確認として |
| アルバム・最初 | アルバムと台紙の案内、注文の締め、注文の方法 | 押しつけない |
| アルバム・2回目 | 注文の締めまであと何日か | 一度だけ、短く |
アルバムの案内は、2回目で終わりにします。 写真館にとっては売上でも、3回目の案内は客にとって売り込みに見えます。 段階の表の側で回数の上限を決め、AIは回数に合わせた長さで書くだけです。
| させないこと | 理由 |
|---|---|
| 期限を延ばす・新しい期限を書く | 延長を認めるかは店の決まり |
| 料金・割引を書く | アルバムの値段と特典は店が決めて案内する |
| 日付を計算する | ワークフローが計算した日付と日数を使う |
| 写真の出来に触れる | 文面だけを見て写真の中身を書かない |
| URLとリンクを作る・直す | 渡されたURLをそのまま入れる |
| 返事が無い理由を推し量る | 書かれていない事情に触れない |
2行目は起きやすい失敗です。 アルバムの案内に、AIは「今ならお得に」と書きがちです。特典は店の決まりで、期間や条件があります。 書かれた1文が、店の約束として受け取られます。
指示内容を固定する
あなたは写真館の受付の担当として、撮影をされたお客さまへの案内メールを
書きます。下に渡した段階と回数に合わせて、件名と本文を書いてください。
日付・日数・URL・リンクは、渡したものをそのまま使ってください。
【段階ごとに必ず入れること】
- stage が selection:ギャラリーのURL、選定の期限、選ぶ枚数
- stage が delivery:共有リンク、リンクの期限、データを保存していただく
お願い
- stage が album:アルバムと台紙のご案内(下の案内文をそのまま)、
注文の締め、注文の方法
【回数ごとの言い回し】
- attempt が 1:ご案内として書く。
- attempt が 2 以上:確認として短く書く。急かす言い方をしない。
memo に事情があれば、それに沿った一言を入れる。
- overdue が true:期限が過ぎたことを事実として伝え、after_deadline_note
の文をそのまま写す。延長や例外を書かない。
【厳守事項】
- 日付は deadline_text、日数は days_left をそのまま書く。計算しない。
- URLとリンクは url の値をそのまま入れる。直したり、短くしたりしない。
- 料金・割引・特典・期間限定の言葉を書かない。
- 期限を延ばす、新しい期限を決める、と読める文を書かない。
- 写真の出来や写っている人のことを書かない。
- memo が空なら、返事が無い理由を推し量る言葉を書かない。
- お子さまの名前は書かない。「お子さま」と書く。
- 必ず入れる項目のうち書けなかったものがあれば、missing_items に並べる。
【お客さま】{family_name} 様
【撮影の種類】{shoot_type}
【段階・回数・期限切れ】{stage} / {attempt} / {overdue}
【期限】{deadline_text}(あと {days_left} 日)
【URLまたはリンク】{url}
【受付のメモ】{memo}
【店の案内文】{album_note} / {after_deadline_note}
【店名と署名】{signature}
「期限を延ばすと読める文」を禁じるのは、AIが気をきかせるからです。 2回目の催促で、AIは「ご都合が合わなければご相談ください」と書き、それが期限の延長を受け付けると読まれます。 延長を受けるかは店の決まりで、店の決まりがあれば after_deadline_note に書いて渡します。
URLを「短くしない」と書くのは、AIが長いURLを省略したり、表記を整えたりすることがあるからです。 1文字違うリンクは、客には開けないリンクです。
出力形式を固定する
次の形の JSON を返させます。
{
"case_id": "",
"stage": "selection | delivery | album",
"attempt": 1,
"subject": "",
"body": "",
"included_items": ["url", "deadline", "count"],
"missing_items": [],
"url_in_body": "",
"deadline_in_body": "",
"needs_attention": false
}
構造化出力にする1つ目の理由は、自動で送ってよいかをワークフローが判定できることです。 最初の案内では、missing_items が空で、url_in_body が渡したURLと一致し、deadline_in_body が渡した期限と一致したものだけを送ります。1つでも合わなければ下書きに回します。 Claude API の構造化出力は、スキーマを output_config.format に渡すと、その形の JSON が応答の本文に入る仕組みです。
2つ目は、ルーターの条件にそのまま使えることです。 stage と attempt と needs_attention で分岐させます。スキーマでは、オブジェクトに additionalProperties: false を付ける必要があります。 数値の最小・最大の制約は書けないので、attempt の範囲はワークフローの側で確かめます。
3つ目は、応答の終わり方を確かめられることです。 公式のページでは、stop_reason が max_tokens のときは出力が途中で切れてスキーマに合わないことがあるとされています。stop_reason を見て、通常の終わり方でなければ送らず、下書きも作らずに「要確認」にします。
案件台帳には、次の列を足します。
| 列 | 中身 |
|---|---|
| 最後に返事があった日 | シナリオ1が書き込む |
| 連絡の回数(段階ごと) | シナリオ2が送るたびに1つ増やす |
| 最後に連絡した日 | 送信または下書きの作成の日 |
| 送り方 | 自動送信/下書き/要確認 |
| 受付のメモ | 客と話したこと。「アルバム不要」などの決まった語 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Gmail | Watch emails/Send an email/Create a draft email | 返事の検知、最初の案内の送信、2回目以降の下書き |
| 案件台帳・段階の表・文例の一覧 | Google Sheets の Search Rows/Update a Row | 客を拾い、段階と日付を書き換える |
| Google ドライブ | Get a Share Link | 客のアドレスに限った閲覧のリンク(期限付き) |
| Claude API | Anthropic Claude の Make an API Call | 段階ごとの文面 |
ルーターのルートは、次の順に並べます。 1本目は needs_attention が true のもの、2本目は2回目以降と期限切れ(下書き)、3本目は最初の案内で照合を通ったもの(送信)、最後にフォールバックです。公式のページでは、ルートは1本ずつ順に処理され、どの条件にも当たらないデータはフォールバックのルートが受け持つとされています。送信のルートを最後のほうに置くのは、迷ったものが先に下書きのルートに落ちるようにするためです。
ギャラリーには書き込みません。 選定が終わったかどうかは、受付の担当がギャラリーの画面で確かめて、案件台帳の段階を書き換えます。
人が確認する
受付の担当が確かめるのは、下書きに回ったものだけです。 最初の案内で照合を通ったものは自動で送られ、案件台帳に「自動送信」と残ります。
- 期限と残りの日数 … 下書きの日付が案件台帳と同じかを見ます
- 受付のメモとの食い違い … メモに「月末まで待ってほしい」とあるのに催促になっていないかを見ます
- 期限切れの文面 … 店の決まりの文が写されているか、延長と読める文が無いかを見ます
- 送る … Gmail の画面から送り、案件台帳の送り方を「下書き→送信済み」にします
自動送信の分は、週に一度、送った件数と文面を流し見ます。 最初の案内の文例を変えたときは、変えた週だけ自動送信を止め、すべてを下書きにして確かめます。
選定とアルバムの注文の中身を確かめるのは、これまでどおり受付の担当です。 客が選んだ写真の枚数が多すぎる、アルバムの仕様の相談が来た、といった返事には人が答えます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 送信元のアドレスが案件台帳に無い | 返事の日を書き換えず、受付の担当に知らせる。家族の別のアドレスからの返事が多い |
| 1つのアドレスが2つの案件に当たる | 件名の案件の番号で選ぶ。無ければ両方を書き換え、受付が中身を見る |
| 受付のメモに「連絡不要」 | その段階を飛ばし、案件台帳に「停止」と書く |
| 共有リンクが作れない | データの納品の案内を作らず「要確認」。フォルダの場所を確かめる |
| 文面に必須の項目が欠ける | 自動送信せず、下書きに回す |
| 客のメールが届かずに戻る | 案件台帳に「不達」と書き、電話での連絡に回す |
| Claude API が応答しない | 連絡の回数を増やさず、翌朝のシナリオで拾い直す |
| 撮影の種類が段階の表に無い | 拾わずに「要確認」と書く。新しい撮影のメニューを足したときに起きる |
上の2行が大半を占めます。 七五三の撮影では、予約は母親のアドレスで入っても、選定の返事は父親や祖父母のアドレスから届くことがあります。案件台帳に「家族のアドレス」の列を足し、受付が分かったときに書き足していくほうが効きます。
記録を残す
- 送った文面と送り方(自動送信/下書きから送信)、送信の日時
- AIに渡した入力と、返ってきた JSON の全文、
stop_reason - 自動送信の判定の結果(必須の項目、URL、期限が一致したか)
- 作った共有リンクの権限の種類、相手のアドレス、有効期限
- 受付の担当が下書きを直した箇所
- 段階ごとの連絡の回数と、返事が来るまでの日数
4つ目を残すのは、データの受け取りの問い合わせに答えるためです。 「リンクが開けない」と言われたとき、期限が切れたのか、別のアドレスで開こうとしているのかが、この記録で分かります。
最後の行は、段階の表の日数を見直す材料になります。 選定の返事が平均して何日で来るかが分かれば、2回目の催促を出す日を、客の返事の実際に合わせて決め直せます。
04実装レベルの3段階
最小構成では件数がさばけません。 月300件を1件ずつ貼り付けるのは続きません。書き分けられるかを確かめるための段階です。 半自動化で、1件8分が2分になり、この段階が本記事の想定です。 客を探す作業、返事の確認、文面、台帳の書き換えが自動になり、受付の担当に残るのは、下書きに回ったものの確認と送信です。 本格構成に進むかは、ギャラリーの側に選定の状況を取り出す方法があるかで決まります。 取り出せない場合は、段階の書き換えを受付の担当が続けます。
05工数削減シミュレーション
導入後 300件 × 2分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 七五三・成人式・家族写真・前撮りなどの撮影を月に百件前後受け、撮影の後に写真の選定、データの納品、アルバムの注文と客とのやり取りが何週間も続く写真館。案件の進み具合を Google スプレッドシートで管理し、客への連絡を Gmail で行っていて、返事の無い客への連絡を受付の担当が思い出したときに書いているため、選定の期限やデータの受け取りの期限が過ぎてから気づくことがある場合。
- 撮影が月に数十件で、受付の担当が全員の進み具合を覚えていられる写真館。写真の選定とアルバムの注文を撮影の当日に店頭で済ませ、撮影の後に客とやり取りする場面が無い場合。写真の受け渡しに使う販売の仕組みに、段階ごとの通知と催促の機能がすでにある場合。なお、料金の変更や期限の延長を認めるかどうかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月撮影した客から20件を選ぶ(撮影の種類と段階が偏らないようにし、返事の無かった客を数件入れる)
- 20件について、撮影の種類・段階・期限・連絡の回数・受付のメモを書き出す
- 手元の Claude の画面に、第7章の指示と1件分の情報を貼り付けて文面を書かせる
- 当時、受付の担当が実際に送った文面と並べて読む
- 期限・URL・必須の項目が抜けずに入っているかを数える
20件は必ずやってください。 シナリオを組む前に、段階と回数で言い回しを書き分けられるか、期限とURLを写し間違えないかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の文面と同じ中身で、期限とURLが正しい | シナリオの組み立てに進む |
| 2回目の文面が1回目と同じ長さで急かして読める | 回数ごとの言い回しを指示に足せば直る。構成は有効 |
| アルバムの案内に特典や割引が入る | 禁止を足し、店の案内文をそのまま写させる |
3行目は、ほぼ必ず一度は出ます。 売り込みの文に慣れた書き方なので、指示で止めてから自動送信の段を作ってください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 家族の別のアドレスからの返事を拾えない | 家族のアドレスの列を足す。 拾えなかった返事は受付に知らせる |
| 期限を延ばすと読める文が入る | 指示で禁じ、期限切れの文面は店の決まりの文を写させる |
| アルバムの案内に特典が入る | 店の案内文をそのまま写させ、下書きに「お得」「割引」があれば印を付ける |
| 共有リンクを誰でも開ける設定にしてしまう | 客のアドレスに限り、閲覧者で作る |
| 日付が1日ずれる | 期限の文字と残りの日数をワークフローが作って渡す |
| 同じ客に1日に二度届く | シナリオ2は1日1回。連絡の回数と日付で二重を止める |
| 「アルバム不要」の客に案内が届く | 受付のメモの決まった語で段階を飛ばす |
| 新しい撮影のメニューで拾われない | 段階の表に無い種類は「要確認」にし、メニューを足すときに表も足す |
| 文例を変えた週に自動送信の誤りが出る | 文例を変えた週は自動送信を止めて下書きにする |
上の2行が、この構成の失敗のほとんどです。 前者は「返事が来ているのに催促する」、後者は「店が認めていない約束をする」で、どちらも客との信頼に直接ひびきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 客の名前、メールアドレス、撮影の種類と日付、受付のメモ、そして子どもを含む家族の写真のデータです。
- 写真そのものをAIに渡さない … この構成でAIに渡すのは文面に要る情報だけで、写真のデータは Google ドライブの中から動かしません。 子どもの名前も渡しません
- 共有リンクを客に限る … 共有の設定は、客のメールアドレスに限った閲覧者で作り、有効期限を付けます。期限を過ぎたリンクの扱いは店の決まりで決めます
- 自動で送るのは最初の案内だけ … 2回目以降と期限切れの連絡は受付の担当が確かめてから送ります。文例を変えたら、自動送信を一度止めます
- AIのサービスの選び方 … この構成の利用者は写真館の受付の担当で、文面の宛先は保護者です。写真に子どもが写る業種なので、未成年が使う(使いうる)サービスでの利用を規約で制限している生成AIのサービスは避けます。 使う生成AIの規約は、導入の前に写真館で確かめてください
- 案件台帳の閲覧の範囲を決める … 家族のアドレスと受付のメモがまとまった表です。受付と店長に限ります
- データの保管の期間を決める … 納品のフォルダと共有の設定を、いつまで残すかを先に決めます
誤りが起きた場合のリスクは、別の客のリンクを送ってしまうことと、店が認めていない約束を書いてしまうことの2つです。 前者はリンクを客のアドレスに限ることで被害を止め、後者は禁止の指示と下書きの確認で止めます。
10まず何から始めるか
1週目:段階の表と文例を作る
撮影の種類ごとに、段階と案内を出す日数を表にします。段階ごとの最初の案内の文例と、必ず入れる項目を決めます。いま受付の担当が送っている文面の中から、いちばん問い合わせの少ないものを文例にします。
2週目:20件で試す
先月の客から20件を選び、手元の Claude の画面で文面を書かせます。期限とURLを写し間違えないか、2回目の文面が急かして読めないかを最優先で見ます。
3週目:案件台帳の列を足す
最後に返事があった日、連絡の回数、送り方、受付のメモ、家族のアドレスの列を足します。今月の撮影の分から、受付のメモを書く運用を始めます。
4週目:シナリオ1をつなぐ
返事の検知と台帳の書き換えまでを作ります。この時点では案内を作らず、「返事の無い客」が表の条件で正しく拾えるかを1週間見ます。
2か月目: シナリオ2を足し、すべてを下書きで運用します。照合を通る割合を毎週数えます。3か月目以降: 最初の案内だけ自動送信に切り替え、1件8分が何分になったかを実測します。選定の期限を過ぎる客とアルバムの案内の漏れが減ったことを確かめた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| シナリオを決まった間隔・毎日・平日・毎週などで動かせ、最短の間隔がプランによること | Make: Schedule a scenario | 2026-10-15 |
| Google Sheets のアプリに Search Rows・Update a Row などがあり、Search Rows で AND と OR の条件と返す件数の上限を指定できること | Make: Google Sheets modules | 2026-10-15 |
| ルーターのルートが1本ずつ順に処理され、どの条件にも当たらないデータをフォールバックのルートが処理すること | Make: Router | 2026-10-15 |
| Gmail のアプリに Watch emails・Send an email・Create a draft email などがあること。Watch emails がフォルダまたはラベルを見張り、送信元・件名などの絞り込みと Gmail の検索式を使え、1回の上限が500までであること | Make: Gmail modules | 2026-10-15 |
| Google Drive のアプリに Get a Share Link などがあり、権限の種類とメールアドレスの限定を選べ、有効期限が未来の日時で1年より先にできないこと | Make: Google Drive modules | 2026-10-15 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call などがあり、アプリの説明に構造化出力の記載が無いこと | Make: Anthropic Claude | 2026-10-15 |
構造化出力がスキーマを output_config.format(type: json_schema)に渡して使い、オブジェクトに additionalProperties: false が必要で、数値の最小・最大の制約に対応しないこと。stop_reason が max_tokens のときは出力がスキーマに合わないことがあること | Claude: Structured outputs | 2026-10-15 |
期限の延長、料金、特典の扱いは、写真館の決まりに沿って店長と受付の担当が判断してください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1647)についてのご相談はこちらから。
