REQUIREMENTS DEFINITION / PHASE 1
Instagram DM自動化システム 要件定義書
株式会社アデッソ様 / Phase 1
1. 要件サマリー
1.1 プロジェクトの目的
アデッソ様は8つのInstagramアカウントを運用し、1日約240件のDMを手動で送信されています。
本プロジェクトでは タレント獲得パイプライン(ハッシュタグ検索 → DM → LINE誘導 → クロージング)のうち、
自動化可能な部分を効率化し、マネージャー様の時間を「DM送信作業」から「タレント育成・マネジメント」へ移行することを目指します。
⚡
業務効率の向上
DM応答の自動化・対象者抽出の自動化でDM業務工数を削減
🛡️
凍結リスクの組織管理
送信量制御・LINE通知で属人判断をシステム化
🎯
誤送信の防止
所属タレント等への誤送信を除外リストで完全防止
📊
成果データの蓄積
送信実績・抽出結果の自動蓄積で運用改善基盤を構築
1.2 Phase 1 で実装する5機能
| 機能ID | 機能名 | 概要 |
| FUNC-001 |
DM自動応答 |
受信DM・コメント・ストーリーリプライにテンプレートで自動返信。3〜10分ディレイ、夜間→翌朝送信、キーワード判定による出し分け(追加開発) |
| FUNC-006 |
送信量制御 |
1日30件上限、20件で警告、30件で送信導線停止。LINE公式アカウント「アデッソ」から4名へMulticast配信 |
| FUNC-007 |
除外リスト |
所属タレント約80名の事前除外、過去送信者の自動除外(半年〜1年で再送可)、アカウント間横断除外 |
| FUNC-018 |
データ抽出 |
毎朝03:00自動抽出+運用者の任意タイミングでの手動抽出。Apify+AIカテゴリー分類+信頼度スコア。カテゴリーは動的追加可能。未処理候補は処理されるまで蓄積、除外済はグレーアウト残置、送信済は自動非表示 |
| FUNC-020 |
管理画面 |
抽出リスト・テンプレ編集・返信履歴・ホットリード一覧・分岐ルール・除外リスト・送信実績・設定・AIチャットの9画面構成。設定画面にはカテゴリーマスタ管理(動的追加・編集・削除)を含む |
2. 業務フロー(To-Be)
2.1 一日の運用タイムライン
本機能の運用は「毎朝の自動抽出 → 担当者が画面で確認 → 手動でDM送信 → 返信は自動応答」の流れになります。
時刻
担当
操作
03:00
システム
全アカウントの候補者抽出を自動実行(前日からの新着投稿を反映)
09:00〜
担当者
管理画面で本日の候補を確認、優先順位を判断
09:00
〜18:00
担当者
各アカウントから1日30件の手動DM送信(テキストコピー→Instagramでペースト)
随時
システム
受信DM・コメントへの自動応答(3〜10分ディレイ)
20件到達
システム
警告 LINE通知(4名)+画面色変化(黄)
30件到達
システム
停止 LINE通知+画面色変化(赤)+送信導線を非活性化
22時〜
翌7時
システム
夜間に受信した返信は溜めておき、翌朝9〜10時にまとめて送信
2.2 業務フロー全体像
1ターゲット抽出毎朝Apifyで自動実行 → AI分類 → 除外照合 → 候補リスト生成
▼
2候補者確認・手動DM送信管理画面で目視確認 → テキストコピー → Instagram でペースト → 送信
▼
3DM返信の自動応答受信DM検知 → 3〜10分ディレイ → キーワード判定 → テンプレート返信
▼
4LINE誘導自動応答内に LINE URL → LINE上で担当者が個別対話 → クロージング
3. 業務要件
3.1 業務要件一覧(21項目)
共通基盤
| ID | 業務要件 | 対応機能 |
| BIZ-001 | DM受信への自動応答および対象者抽出の自動化により、マネージャーのDM関連業務の作業負荷を軽減 | FUNC-001/018/020 |
| BIZ-002 | アカウント凍結リスクをシステム的に管理(送信上限の自動制御・アラート通知) | FUNC-006 |
| BIZ-003 | 送信実績等のデータを自動蓄積し、管理画面で閲覧可能に | FUNC-020 |
| BIZ-004 | 所属タレント・既存取引先等への誤送信を防止(除外リストによる自動照合) | FUNC-007 |
テンプレート・応答
| ID | 業務要件 | 対応機能 |
| BIZ-005 | アカウント別・カテゴリー別のDMテンプレート(初回手動送信用/自動応答用)を管理可能に | FUNC-001/020 |
| BIZ-015 | DM返信内容(「結構です」「LINE教えて」等)に応じて、キーワード判定で応答テンプレートを出し分け(追加開発) | FUNC-001/020 |
| BIZ-016 | DMへの「いいね」を検知し、ホットリード一覧に表示。自動DM送信はMeta規約上のリスクのため行わず、テンプレートをコピー→手動送信 | FUNC-001/020 |
| BIZ-017 | DM内で質問が来た場合、内容を問わず一律でLINE登録誘導テンプレートを返信 | FUNC-001 |
| BIZ-018 | 自動応答は3〜10分のランダム遅延で送信。夜間(22時〜翌朝7〜8時)に受信した返信は翌朝9〜10時にまとめて送信 | FUNC-001 |
抽出・カテゴリー分類
| ID | 業務要件 | 対応機能 |
| BIZ-009 | 候補者を自己紹介・投稿内容・ハッシュタグからAIでカテゴリー分類(信頼度スコア・「要確認」フラグ併用、最終判断は目視確認) | FUNC-018 |
| BIZ-009-2 | カテゴリー自体を運用側で動的に追加・編集・削除可能に。追加カテゴリーはAI分類対象・テンプレ枠・抽出リスト・実績集計に自動連動 | FUNC-018/020 |
| BIZ-010 | ターゲット層キーワード(ミスコン、学生美人コンテスト、地下アイドル等)を運用側でいつでも追加・変更可能に | FUNC-018/020 |
| BIZ-011 | 明確にDMが送れないアカウント(非公開/bioで「DM返信不可」「フォロワー限定」「営業お断り」等を明示)を抽出時に除外 | FUNC-018 |
除外・送信制御
| ID | 業務要件 | 対応機能 |
| BIZ-012 | 過去にDMを送信した相手を対象リストから自動除外(半年〜1年経過は再送可、許容期間は設定変更可能) | FUNC-007/018 |
| BIZ-013 | アカウント間で同一ユーザーへの重複送信を防止(あるユーザーに1度DMを送信したら、他アカウントの抽出からも除外) | FUNC-007/018 |
| BIZ-019 | 1アカウント1日30件の送信上限。実送信検知ベースで件数表示、20件で警告、30件で送信導線を停止 | FUNC-006/020 |
運用UI
| ID | 業務要件 | 対応機能 |
| BIZ-014 | DMテンプレート文面をアカウント×カテゴリー単位でワンクリックコピー可能に(運用負荷の軽減) | FUNC-020 |
| BIZ-020 | 一度でも返信があったユーザーの全アカウント横断リスト表示、新着返信件数をアカウント名横にバッジ表示 | FUNC-020 |
| BIZ-021 | 送信上限・アラート閾値・自動応答ディレイ・除外リスト・DMテンプレート・LINE通知先等の運用パラメータを管理画面から変更可能に | FUNC-020 |
| BIZ-022 | ターゲット抽出をバッチ実行(毎朝03:00)に加え、運用者が管理画面から任意のタイミングで手動実行できるように(日中にキーワード追加時等の即時抽出) | FUNC-018/020 |
| BIZ-023 | ターゲット一覧は毎日の抽出結果が上書きではなく追加で蓄積。未処理候補は処理されるまで残り続け、除外済はグレーアウト残置、送信済は自動非表示 | FUNC-018/020 |
4. 機能要件
4.1 機能一覧
| ID | 機能名 | 概要 | 区分 |
| FUNC-001 | DM自動応答 | テンプレート方式(案①固定/案②キーワード判定)。ディレイ・夜間運用・LINE一律誘導 | 公式API |
| FUNC-006 | 送信量制御 | 30件/日上限、20件警告、実送信検知、LINE通知(4名)、APIエラー監視 | ツール支援 |
| FUNC-007 | 除外リスト | 所属タレント、過去送信者、DM不可アカウント、アカウント間横断除外 | ツール支援 |
| FUNC-018 | データ抽出 | 毎朝03:00自動抽出+運用者の任意タイミング手動抽出。AIカテゴリー分類(カテゴリー動的追加可)、信頼度スコア、抽出結果は蓄積(未処理は残置、除外はグレーアウト、送信済は自動非表示) | 3rd Party |
| FUNC-020 | 管理画面 | 9画面構成(抽出リスト・テンプレ編集・返信履歴・ホットリード・分岐ルール・除外・送信実績・設定(カテゴリーマスタ管理を含む)・AIチャット) | ツール支援 |
5. 機能詳細&画面イメージ
5.1 FUNC-001:DM自動応答
DM返信の3案体制
案①:固定テンプレート方式(既存スコープ) — 受信内容にかかわらず1テンプレで返信。確実・安全。
案②:キーワード判定方式(追加開発) — 受信DMをキーワードで判定して応答テンプレを切替。「結構です」→終了、「LINE教えて」→LINE案内など。
案③:AI生成方式(採用見送り) — 意図しない文面リスク・追加コストのため見送り(5/11打合せにて)。
処理フロー
1Webhook受信Instagram から DM/コメント/ストーリーリプライを検知
▼
2冪等性・除外チェック重複処理防止 + 除外リスト照合
▼
3時間帯判定夜間(22時〜翌7時)受信は翌朝9〜10時送信キューへ
▼
4テンプレ選択案①: 固定 / 案②: キーワード判定で切替 / 質問: 一律 LINE誘導
▼
53〜10分ランダムディレイBot判定回避・固定時間回避
▼
6自動返信送信+ログ記録Messenger API で送信 → Supabase に履歴保存
画面イメージ:DM自動応答のイメージ
案②キーワード判定方式採用時のDMやりとり例
instagram.com/direct/inbox
こんにちは!御社のオーディションに興味があります。詳しく教えてもらえますか?
@candidate_a / 21:45
DM ありがとうございます!詳細は LINE でお送りしますので、こちらからご登録をお願いします 👉 line.me/R/ti/p/xxxx
アデッソ公式 / 翌09:23(夜間受信のため翌朝送信+6分ディレイ)
LINE 教えてください!
@candidate_b / 14:12
ありがとうございます!こちらからご登録ください 👉 line.me/R/ti/p/xxxx
アデッソ公式 / 14:19(7分ディレイ)/ キーワード「LINE 教えて」→ LINE案内テンプレ
結構です。お断りします。
@candidate_c / 15:30
ご返信ありがとうございました。今後ともよろしくお願いいたします。
アデッソ公式 / 15:34(4分ディレイ)/ キーワード「お断り」→ 終了テンプレ
仕様詳細
| 項目 | 内容 |
| トリガー | ユーザーからのDM受信、コメント、ストーリーリプライ |
| ディレイ | 3〜10分のランダム遅延(最小・最大は管理画面で変更可) |
夜間時間帯の自動応答制御 (システム動作仕様) | 夜間時間帯(22時〜翌朝9時)に受信した返信DMはシステムが自動応答を保留し、翌朝9時以降にキューから取り出して3〜10分のランダムディレイで送信。運用者の手動操作ルールではなく、システムが自動判定・自動制御する動作仕様。時間帯の閾値は管理画面で変更可能 |
| DM内質問への対応 | 内容を問わず一律で LINE登録誘導テンプレート を返信 |
| 24時間ルール | Instagram APIにより受信から24時間以内のみ自動返信可能。Human Agent タグで最大7日延長 |
| レート制限 | 200通/時間/アカウントを超過しない設計 |
| エラー処理 | 送信失敗時は指数バックオフで最大3回再試行(1s→2s→4s) |
| 冪等性 | メッセージID + アカウントIDで重複処理を防止 |
| LINE誘導 | テンプレ文面に {{LINE誘導URL}} 変数で挿入(URLはアデッソ様にてご準備) |
対応可否一覧
| ユーザーのアクション | Webhook検知 | 自動DM応答 | 備考 |
| DM送信(初回) | ○ | ○ | テンプレートで自動応答 |
| DM送信(2回目以降) | ○ | ✕ | 初回応答済みはスキップ、手動対応 |
| 投稿へのコメント | ○ | ○ | 24時間あたり1通/ユーザー |
| ストーリーリプライ | ○ | ○ | 24時間あたり1通/ユーザー |
| DMへのいいね(リアクション) | ○ | ✕ | Meta規約上のリスク → ホットリード一覧表示+手動DM運用 |
| フォロー | ✕ | ✕ | API廃止(2018年) |
5.2 FUNC-006:送信量制御・凍結防止アラート
アカウント別の日次送信数を実送信検知でカウントし、警告20件・停止30件の2段階で凍結リスクを管理します。
画面イメージ:送信件数表示
画面右上の件数表示は色変化+送信導線停止と連動
⚠️ 本日 23/30件
20件到達 → LINE通知(4名)
画面イメージ:LINE通知
LINE公式アカウント「アデッソ」から関係者4名へMulticast配信
⚠️ 送信件数 警告
アカウント:モデル系①
本日の送信数:20件 / 30件
残り:10件
15:32
⛔ 送信上限到達
アカウント:モデル系①
本日の送信数:30件 / 30件
送信導線を停止しました
17:48
仕様詳細
| 項目 | 内容 |
| デフォルト上限 | 30件/日/アカウント |
| 警告閾値 | 20件到達でLINE通知+画面色変化(緑→黄) |
| 停止閾値 | 30件到達でLINE通知+画面色変化(黄→赤)+送信導線を自動非活性化 |
| 件数カウント | 実送信検知(Webhook)ベース。Instagram遷移ボタン押下のみではカウントされない |
| 通知連携 | LINE Messaging API でLINE公式アカウント「アデッソ」から関係者4名へMulticast配信 |
| カウンターリセット | 毎日深夜0時に自動リセット |
| APIエラー率監視 | 400/429/410エラーの発生頻度を監視(410はアカウント凍結検知 → 即座にLINE通知+自動停止) |
5.3 FUNC-007:除外リスト管理
所属タレント約80名・既存取引先・配信停止要求者・DM不可アカウントを抽出時に除外します。
除外ロジックの優先順位
1同一バッチ内の重複除外複数ハッシュタグで同一ユーザーがヒットした場合
▼
2グローバル除外リスト所属タレント約80名等(CSVで初期投入)
▼
3アカウント別の個別除外条件フォロワー数下限等の個別条件
▼
4過去N日以内の既抽出ユーザー同一アカウントでの重複抽出防止
▼
5過去送信者(全アカウント横断)再送許容期間(180日/365日等)に応じて判定。アカウント間で1度送信したら他アカウントからも除外
5.4 FUNC-018:データ抽出・対象者リスト化
毎朝03:00にApifyで自動抽出。AIでカテゴリー分類+信頼度スコア付与、DM不可アカウント除外、過去送信者除外を実施します。
抽出フロー
1設定ハッシュタグから Apifyで投稿取得1ハッシュタグあたり最大50件(例:#キッズモデル/#子役/#ジュニアモデル = 計150件)
▼
2重複除外+直近N日フィルタ古い投稿は除外(N値は管理画面で設定可)
▼
3AI 一次絞り込みハッシュタグ+投稿キャプション+プロフィールでカテゴリー該当判定
▼
4プロフィール詳細取得フォロワー数・自己紹介文を取得
▼
5AI 詳細カテゴリー分類+信頼度スコア大人モデル/ミュージシャン/子役/ママ運用等。曖昧領域は「要確認」フラグ
▼
6DM不可アカウント除外非公開/bioで「DM返信不可」「フォロワー限定」「営業お断り」等を明示
▼
7候補リスト生成+管理画面表示アカウント別タブで表示
カテゴリー該当率の目安
| ハッシュタグの種類 | 例 | 該当率 | 50件中残る件数 |
| カテゴリ特化型 | #キッズモデル, #子役 | 70〜90% | 35〜45件 |
| 中粒度 | #モデル, #モデル募集 | 40〜60% | 20〜30件 |
| 汎用 | #起業, #副業, #ファッション | 10〜30% | 5〜15件 |
5.5 FUNC-020:管理画面(9画面構成)
マネージャー様(4〜5名)が利用する Web管理画面。以下の9画面で構成されます。
9画面構成の全体像
| # | 画面 | 主な機能 |
| ① | 抽出リスト画面 | 候補者一覧/手動抽出ボタン/状態フィルタ/蓄積表示/テキストコピー/IG遷移 |
| ② | DMテンプレート編集 | 初回手動送信用/自動応答用/いいね返信用。カテゴリー追加時にテンプレ枠が自動生成 |
| ③ | 返信履歴 | DM返信/コメント返信/既読バッジ/IG遷移ボタン |
| ④ | ホットリード一覧 | いいねリアクションユーザー/IG遷移/テンプレコピー |
| ⑤ | 分岐ルール(任意) | 案②キーワード判定方式採用時のみ |
| ⑥ | 除外リスト管理 | 所属タレント等/CSV取込 |
| ⑦ | 送信実績ダッシュボード | 期間集計/アカウント別実績 |
| ⑧ | 設定画面 | カテゴリーマスタ管理(動的追加・編集・削除)/アカウント別 抽出設定/送信制御/自動応答ディレイ/グローバル除外/LINE通知先 |
| ⑨ | AIチャット | 投稿内容の相談・アドバイス |
① 抽出リスト画面(メイン画面)
毎朝の抽出結果+手動抽出結果が蓄積表示。テキストコピー → Instagram遷移 → ペースト の運用。未処理は処理されるまで残り続け、除外済はグレーアウト残置、送信済は自動非表示
📋 ADESSO DM
- 👥抽出リスト
- 📝テンプレート
- 💬返信履歴
- ❤️ホットリード
- 🚫除外リスト
- 📊送信実績
- ⚙️設定
- 🤖AIチャット
モデル系① IG
モデル系② IG3
役者 IG1
ミュージシャン IG
子どもタレント IG5
ママ運用 IG
抽出件数: 58件(除外対象: 12件) | 最終抽出: 2026/05/11 03:00
運用ポイント(DM送信動線)
① 「コピー」ボタン押下で既存テンプレート機能の変数差込済文面がクリップボードへコピー →
② 「IG」ボタンで Instagram プロフィールに遷移 →
③ DM画面でペーストして送信 →
④ 実送信を Webhook で検知して「本日 X/30件」がカウントアップし、当該候補はリストから自動非表示
※ 「コピー」ボタンは抽出リストから直接呼び出せるよう動線を改善したもので、テンプレート機能そのものはv1.0から存在
ターゲット一覧の蓄積仕様
| 状態 | 表示 | 状態遷移トリガー |
| 未処理 | アクティブ表示(蓄積) | 抽出時に生成。処理されるまで残る |
| 除外済 | グレーアウト残置 | 除外ボタン押下/DM不可自動判定 |
| 送信済 | リストから自動非表示 | DM送信を Webhook で検知 |
ターゲット抽出の実行モード
| モード | トリガー | 用途 |
| バッチ実行 | 毎朝03:00(システム自動) | 全アカウントの定常抽出 |
| 手動実行 | 運用者が画面ボタン押下 | キーワード/カテゴリー追加直後の即時抽出 |
| 再抽出 | 運用者が画面ボタン押下 | 抽出結果が少なかった場合の同条件再実行 |
② DMテンプレート編集画面
アカウント×カテゴリー単位で「初回手動送信用 / 自動応答用 / いいね返信用」を管理。カテゴリーは動的追加可能で、追加時はテンプレート枠が自動生成される
📋 ADESSO DM
- 👥抽出リスト
- 📝テンプレート
- 💬返信履歴
- ❤️ホットリード
- 🚫除外リスト
- 📊送信実績
- ⚙️設定
- 🤖AIチャット
📝 編集
利用可能な変数: {{ユーザー名}} {{投稿日}} {{LINE誘導URL}}
👁 プレビュー(変数差込済)
@model_aoiさん、はじめまして!
5月10日の投稿を拝見してご連絡いたしました。
株式会社アデッソでは、モデル・タレントとして活躍したい方を募集しております。
詳細をLINEでお伝えさせていただきます。
👉 line.me/R/ti/p/xxxx
③ 返信履歴画面
アカウント名横に新着件数バッジ表示。既読管理は返信単位。各行に Instagram 遷移ボタンを配置し、送信元ユーザーのプロフィールへ直接アクセス可能
📋 ADESSO DM
- 👥抽出リスト
- 📝テンプレート
- 💬返信履歴 9
- ❤️ホットリード
- 🚫除外リスト
- 📊送信実績
- ⚙️設定
- 🤖AIチャット
| 既読 |
ユーザー |
受信時刻 |
受信内容 |
自動応答 |
アカウント |
操作 |
| 未読 |
@candidate_a |
5/11 09:23 |
LINE 登録しました! |
送信済 LINE案内テンプレ |
モデル系① |
IG |
| 未読 |
@candidate_b |
5/11 10:45 |
もう少し詳しく聞きたいです |
送信済 LINE案内テンプレ |
モデル系① |
IG |
| 既読 |
@candidate_c |
5/11 08:12 |
結構です |
送信済 終了テンプレ |
役者 |
IG |
| 夜間 |
@candidate_d |
5/11 02:14 |
興味あります |
送信予定 09:21 |
子どもタレント |
IG |
④ ホットリード一覧画面
DMへ「いいね」リアクションがついたユーザーを表示。自動DMは行わず、テンプレコピー→手動DM運用。各行に Instagram 遷移ボタンを配置
📋 ADESSO DM
- 👥抽出リスト
- 📝テンプレート
- 💬返信履歴
- ❤️ホットリード 4
- 🚫除外リスト
- 📊送信実績
- ⚙️設定
- 🤖AIチャット
運用:DMへの「いいね」を検知して表示しています。返信用テンプレを 「📋いいね返信」 ボタンでコピー → Instagram で手動DM送信してください(自動DM送信はMeta規約上のリスクのため行いません)。
| 状態 |
ユーザー |
いいね日時 |
送信済みDM抜粋 |
アカウント |
操作 |
| 未対応 |
@candidate_e |
5/11 11:05 |
初回DM(5/10送信) |
モデル系① |
📋 いいね返信
IG
対応済
|
| 未対応 |
@candidate_f |
5/11 09:48 |
初回DM(5/10送信) |
子どもタレント |
📋 いいね返信
IG
対応済
|
| 対応済 |
@candidate_g |
5/10 18:22 |
初回DM(5/9送信) |
役者 |
対応済
IG
|
⑤ 分岐ルール画面(案②キーワード判定方式採用時)
受信DMのキーワードに応じて応答テンプレを切り替えるルールを管理
adesso-dm.app/branch-rules
分岐ルール(モデル系① × 大人モデル)
| 優先 |
キーワード(OR) |
応答テンプレート |
送信件数 |
操作 |
| 1 |
「LINE」「ライン」「教えて」「興味」 |
LINE案内テンプレ |
142 |
編集 |
| 2 |
「お断り」「結構」「いらない」「不要」 |
終了テンプレ |
38 |
編集 |
| 3 |
「料金」「費用」「いくら」 |
料金案内テンプレ |
21 |
編集 |
| — |
どのルールにも該当しなかった場合 → 汎用テンプレ(一律 LINE 誘導) |
87 |
編集 |
⑥ 除外リスト管理画面
所属タレント・取引先・DM不可アカウント等を管理。CSV一括取込対応
⑦ 送信実績ダッシュボード画面
期間集計+アカウント別実績テーブル。CSV出力対応
送信実績
| アカウント |
本日 |
今週 |
今月 |
残り/上限 |
状態 |
| モデル系① | 23 | 89 | 312 | 7 / 30 ⚠️ | 警告中 |
| モデル系② | 12 | 76 | 278 | 18 / 30 | 正常 |
| 役者向け | 8 | 45 | 189 | 22 / 30 | 正常 |
| ミュージシャン | 6 | 32 | 134 | 24 / 30 | 正常 |
| 子どもタレント | 11 | 67 | 245 | 19 / 30 | 正常 |
⑧ 設定画面
運用パラメータを画面から変更可能
設定 — モデル系①
🏷️ カテゴリーマスタ管理(全アカウント共通)
大人モデル ✎ ×
ミュージシャン ✎ ×
役者 ✎ ×
子どもタレント ✎ ×
ママ運用 ✎ ×
シニアタレント ✎ ×
インフルエンサー ✎ ×
運用側でカテゴリー自体を動的に追加・編集・削除可能。追加されたカテゴリーは AI 分類対象・テンプレート枠・抽出リスト表示・実績集計に自動連動します。
📌 ターゲット絞り込み・キーワード(アカウント別)
大人モデル ×
ミュージシャン ×
役者 ×
ミスインターナショナル ×
地下アイドル ×
運用側でいつでもキーワード追加・変更が可能。反映は翌日の朝バッチから(または手動抽出で即時反映)。
🏷 抽出ハッシュタグ
#モデル ×
#モデル募集 ×
#オーディション ×
⏱ 自動応答ディレイ
最小〜最大の範囲で ランダム に決定(Bot判定回避)
📱 LINE通知先
| LINE公式アカウント | アデッソ(アデッソ様運用) |
| 通知配信先 | 友だち追加済み4名(Multicast配信) |
⑨ AIチャット画面
投稿内容の相談・アドバイス取得用(DM文面の自動生成は含まない)
AIチャット
子どもモデル向けの投稿で、母親にリーチしやすいキャプションのアイデアを教えて
子どもモデル向けの投稿では、以下のアプローチが効果的です:
1. お子様の「輝く瞬間」をテーマに
2. 安心・安全を強調した表現
3. 実績や所属タレントの活躍事例
4. 撮影現場の雰囲気を伝える写真
ありがとう。「輝く瞬間」を活かしたキャプション例を3つください
例1:✨子どもたちの輝く笑顔、私たちが大切に守ります✨
例2:その瞬間が、明日の自信になる。
例3:本気で夢を追いかける子どもたちのストーリー、はじまります📷
※ DM文面の自動生成ではなく、投稿内容の相談用ツール
6. 非機能要件
| カテゴリ | 要件 | 詳細 |
| 性能 | API制限遵守 | Instagram Graph APIのレート制限(200コール/時/アカウント)を超過しない |
| 応答時間 | DM受信から3〜10分のディレイ後に自動応答が送信されること |
| セキュリティ | 認証 | Supabase Authによるログイン認証 |
| APIキー管理 | Instagram API トークン、Apify APIキー、LLM APIキーは環境変数で管理 |
| 通信暗号化 | Vercel・SupabaseのHTTPS通信を利用 |
| 可用性 | 稼働時間 | VPS上のn8nは24時間稼働 |
| データ管理 | バックアップ | Supabaseの標準バックアップ機能を利用 |
| 法令遵守 | プライバシーポリシー | Meta App Review審査要件としてプライバシーポリシー掲載が必要(アデッソ様にてご準備) |
7. 前提条件・スコープ外
7.1 スコープ外
| 項目 | 理由 |
| 先制DM送信の自動化 | Instagram公式APIでエンドポイントなし → 手動継続 |
| AI自動応答(LLM連携) | テンプレート方式で初期導入。将来検討 |
| LINE公式アカウント側の自動化 | 本フェーズ対象外 |
| Instagram投稿の自動作成 | 本フェーズ対象外 |
| TikTok対応 | Phase 2以降で検討 |
| いいね送信・フォロー操作の自動化 | Instagram APIで該当エンドポイントが2018年に廃止 |
7.2 アデッソ様にご準備いただくもの
| ご準備内容 | 用途 | 関連 |
| 使用するハッシュタグ一覧 | 抽出設定 | FUNC-018 |
| DMテンプレート文面(アカウント×カテゴリー別) | 初回送信・自動返信 | FUNC-001/020 |
| 事前除外リスト(所属タレント等 CSV) | 送信不要者の登録 | FUNC-007 |
| LINE誘導URL | テンプレートに差込 | FUNC-001 |
| LINE公式アカウント「アデッソ」 | 通知配信元 | FUNC-006 |
| LINE通知先4名の友だち追加 | 通知受信 | FUNC-006 |
| プライバシーポリシー・利用規約・データ削除URL | Metaアプリ審査 | 全般 |
| 本番テスト用Instagramアカウント | 本番検証 | 全般 |
| 過去のDM送信・返信履歴データ(任意) | 初期投入 | FUNC-007 |
8. システム構成
🖥️ プレゼンテーション層
管理画面(Vercel + Next.js)
Supabase Auth 認証
⚙️ ワークフロー層
n8n(VPS 24時間稼働)
WF1: DM自動応答
WF2: 送信量制御
WF3: データ抽出
💾 データ層
Supabase PostgreSQL
送信ログ
除外リスト
テンプレートマスタ
抽出候補リスト
🌐 外部サービス
Instagram Messenger API
Instagram Graph API
Apify Scraper
LINE Messaging API
LLM API(OpenAI/Claude)
8.1 月額ランニングコスト
| レイヤー | 採用技術 | 月額費用 |
| ワークフロー自動化 | n8n(セルフホスト) | VPS費に含む |
| フロントエンド | Vercel(Hobbyプラン) | ¥0 |
| データベース | Supabase(Freeプラン) | ¥0(→Pro: ¥3,370) |
| データ抽出 | Apify(Starterプラン) | ¥4,350 ($29) |
| VPSサーバー | Xserver VPS 2GB | ¥830 |
| LLM API | OpenAI / Claude / Gemini | 従量課金 |
| ドメイン | 独自ドメイン | ¥100 |
| 合計 | 約 ¥5,280/月 + 従量課金 |
8.2 Meta App Review(API審査)
⚠️ 重要
本プロジェクトのDM自動応答機能を実現するには、Meta社によるApp Review審査を通過する必要があります。審査を通過しない限り、DM自動応答機能は一切動作しません。
| 項目 | 内容 |
| 取得するパーミッション | instagram_manage_messages(Advanced Access) |
| 審査所要期間 | 通常2〜6週間 |
| 主な審査要件 | アプリ利用目的の説明、Human Agent エスカレーション、自動応答停止導線、プライバシーポリシー掲載 等 |
| 申請担当 | FCP: アプリ作成・申請・審査対応 / アデッソ様: Meta Business Suite管理者アクセス提供・ビジネス認証 |
9. リスク管理
9.1 凍結リスク
| ID | リスク | 可能性 | 影響 | 対策 |
| RSK-F-001 | 先制DM大量送信によるアカウント凍結 | 中 | 高 | FUNC-006: 30件/日上限、20件警告 |
| RSK-F-002 | 同一文面の大量送信による検知 | 中 | 高 | アカウント別テンプレートで文面分散 |
| RSK-F-003 | 短時間での集中送信 | 中 | 中 | 3〜10分ランダムディレイ+夜間→翌朝送信 |
| RSK-F-004 | 凍結発生時の業務停止 | 低 | 高 | 凍結検知アラート、復旧SOP整備 |
9.2 技術リスク
| ID | リスク | 可能性 | 影響 | 対策 |
| RSK-T-001 | Meta App Review審査の差し戻し・長期化 | 中 | 高 | 早期申請、差し戻し時の追加対応体制 |
| RSK-T-002 | Apifyのサービス仕様変更・停止 | 中 | 中 | 代替ツール事前調査 |
| RSK-T-003 | Instagram API仕様変更 | 中 | 高 | 保守サポート契約で対応 |
10. 成果物
| No. | 成果物 | 形式・納品方法 |
| 1 | n8nワークフロー一式 | VPSサーバーへデプロイ(DM自動応答、送信量制御、データ抽出の3WF) |
| 2 | 管理画面(Vercel + Supabase)一式 | Vercelへデプロイ、ソースコード一式 |
| 3 | Supabaseデータベース | テーブル作成・データ移行済み |
| 4 | 簡易運用マニュアル | PDF / Google Docs(凍結復旧SOP含む) |
| 5 | テスト結果報告書 | PDF / Google Docs |
11. 受入基準
| ID | 受入基準 | 対応機能 |
| AC-001 | DM受信からテンプレートによる自動応答が送信されること | FUNC-001 |
| AC-002 | 8アカウント全てに送信量制御(30件/日)が正しく機能 | FUNC-006 |
| AC-003 | 除外リスト登録済みユーザーへDMが送信されない | FUNC-007 |
| AC-013 | テキストコピーボタンで変数差込済の文面がクリップボードへコピー | FUNC-020 |
| AC-014 | 抽出リストに「本日 X/30件」が実送信検知ベースで表示、20件で黄、30件で赤+送信導線非活性化 | FUNC-006/020 |
| AC-015 | LINE公式アカウント「アデッソ」から4名へ通知が同時配信 | FUNC-006 |
| AC-016 | 同一ユーザーへ1度DM送信後、他アカウントの抽出からも除外 | FUNC-007/018 |
| AC-017 | ターゲット層キーワード変更が翌朝の抽出に反映 | FUNC-018/020 |
| AC-018 | 手動抽出ボタン押下で運用者の任意のタイミングで抽出を実行可能。結果は既存リストに追加表示 | FUNC-018 |
| AC-018-2 | 抽出結果が毎日上書きではなく追加で蓄積。未処理は残り続け、除外済はグレーアウト残置、送信済は自動非表示 | FUNC-018/020 |
| AC-018-3 | カテゴリーを管理画面から追加・編集・削除でき、AI分類・テンプレ枠・抽出リスト・実績集計に自動連動 | FUNC-018/020 |
| AC-021 | 夜間時間帯(22時〜翌朝9時)受信DMはシステムが自動応答を保留し、翌朝9時以降にキューから取り出して送信 | FUNC-001 |
| AC-022 | 3〜10分のランダムディレイで自動応答送信 | FUNC-001 |
| AC-023 | DMいいねを検知してホットリード一覧表示(自動DM送信は行わない) | FUNC-018/020 |
| AC-023-2 | 返信履歴画面・ホットリード一覧画面の各行から、当該ユーザーのInstagramプロフィールへ遷移できること | FUNC-020 |
※全24項目の受入基準は Markdown 版要件定義書 §11 を参照
12. 用語集
| 用語 | 定義 |
| 先制DM | フォロー関係のないユーザーへ最初に送るDM。Instagram公式APIでは送信不可 |
| 24時間ルール | Instagram Messenger APIで、ユーザー受信から24時間以内のみ返信可能 |
| Human Agent タグ | 24時間ウィンドウを最大7日間に延長するタグ |
| ホットリード | 送信DMに「いいね」リアクションをつけた高関心ユーザー |
| 信頼度スコア | AIカテゴリー分類の確信度(0〜100)。閾値以下は「要確認」フラグ |
| Apify | Webスクレイピング・自動化プラットフォーム。Instagram Scraper Actor を利用 |
| Meta App Review | Instagram API の高度パーミッション取得のためのMeta社審査(2〜6週間) |
| n8n | オープンソースのワークフロー自動化ツール |
| Supabase | PostgreSQLベースのBaaS。Auth・RLS・バックアップ標準搭載 |
13. 残存確認事項
13.1 確定済みの事項
5/11打合せにて確定
- 送信量制御:警告20件・停止30件
- 通知手段:LINE公式アカウント「アデッソ」から4名へMulticast配信
- セグメント分類:アカウント×カテゴリー、ターゲット層キーワードは運用側で動的追加・変更可能
- DM返信出し分け:キーワード判定方式(案②、追加開発)。AI判定方式(案③)は見送り
- DMいいね対応:ホットリード一覧+テンプレコピー動線。自動DM送信は行わない
- コメント対応:自社投稿コメント自動応答は不要。DM内質問は 一律LINE登録誘導テンプレート
- アカウント間横断除外:1度送信したユーザーは他アカウントからも除外
- 自動応答ディレイ:3〜10分ランダム。夜間時間帯(22時〜翌朝9時)はシステムが自動応答を保留し、翌朝9時以降に送信(自動応答制御ロジック)
5/12 追加・明確化
- ターゲット抽出の手動実行機能:バッチ03:00以外に、運用者が管理画面から任意のタイミングで抽出を実行可能
- ターゲット一覧の蓄積仕様:未処理は処理されるまで残置、除外済はグレーアウト残置、送信済は Webhook 検知で自動非表示
- カテゴリーの動的追加・編集・削除:既定カテゴリー以外にも運用側で随時追加可能。AI分類・テンプレ枠・抽出リスト・実績集計に自動連動
- テキストコピー機能の位置付け:完全な新機能ではなく、v1.0から存在するテンプレート機能の動線改善(抽出リストからワンクリックでクリップボードへ)
- 夜間制御の位置付け:運用ルールではなく、システムが自動判定・自動制御する動作仕様
13.2 未確定事項(要追加検討)
- 「ミスコン」「学生美人コンテスト」「地下アイドル」等の取り扱い:既存カテゴリー(大人モデル等)に紐づく 追加キーワード として扱うか、独立した新規カテゴリー として扱うかをアデッソ様に確認。判断軸は「専用テンプレート文面が必要か」「『大人モデル AND ミスコン』のような掛け合わせ検索の必要性」
- メッセージ内スタンプ(リアクション)への対応
- メンション(投稿でのタグ付け)への対応
- Meta App Review申請の進捗(プライバシーポリシー・利用規約URLの提供時期)
- AIチャット機能:利用するLLMモデルの選定、API利用料の負担方法
- 抽出フィルタ方式(X案 直近N日 / Y案 前日のみ / ハイブリッド)の選択
- 任意採用のご提案項目(P-1〜P-8)の採否
- 追加開発の正式お見積り(案②キーワード判定方式 等)
- 開発開始時期の調整(5月半ばずれ込みのため別途ご相談)
株式会社アデッソ様 Instagram DM自動化 要件定義書(Phase 1)/ v1.3 / 2026-05-12
© Future Core Partners