登録ページを開く
▼ ここを押すとCloudflareの登録ページが新しいタブで開きます
https://dash.cloudflare.com/sign-up画像なし(例外)
※ この手順は上のアドレスを開くだけのため、画像はありません。開いた画面は、次の手順2の画像で確認できます。
コメント自動DMを、管理画面で実際に作って動かす
🔍 画像は押すと大きく表示できます
IG Harness(アイジー・ハーネス)の管理画面で、Instagramのコメントを受けて自動でDMを送る仕組みを実際に作り、日常運用していくためのガイドです。
IG Harnessは、Instagramのプロアカウント(ビジネス/クリエイター)向けの、オープンソースの自動化ツールです。コメントへの自動返信、コメントをきっかけにしたDMの自動送信、フォロー確認、特典リンクの配布、DMテンプレート、フォロワー管理、1:1のチャット対応——といった機能が管理画面にまとまっています。
セットアップを済ませただけで、この管理画面を使わないままにすると、コメントが来てもDMは自動で送られません。キャンペーンを1本も作っていない状態では、IG Harnessは何にも反応しないためです。
その場合は、コメントへの返信も、特典リンクの案内も、これまでどおり1件ずつ手で返すことになります。このガイドは、その手作業を仕組みに置き換えるところまでを扱います。
なお、届く数や反応の数についてはお約束できません。投稿の内容や、相手側の設定によって変わります(Part 13)。
IG Harnessは、あなた自身のCloudflare(クラウドフレア)アカウントの上で動きます。共用のサービスに月額を払うのではなく、自分専用のサーバーを無料枠の中に立てる形です。
ツール自体はオープンソースで、利用料はかかりません。Cloudflareの無料枠を超えて使う場合や、Instagram側の仕様変更については、それぞれの提供元の条件に従います。
Instagramのプロアカウント(ビジネス または クリエイター)
Instagramビジネスアカウントに接続したFacebookページ
Cloudflareアカウント(無料枠でOK)
Meta for Developers のアカウント(開発者登録)
パソコン(MacでもWindowsでもOK)
メールアドレス
初期セットアップ:約60分(CloudflareとMetaのアカウントを持っている方は約30分)
日常運用のキャンペーン1本作成:約15分
いずれも目安です。値を控える時間や、画面の待ち時間で前後します。
このガイドで扱う範囲(自分のアカウントに自分で導入する)では、Meta側の審査を通す必要はありません。
Cloudflareアカウントを持っている → Part 1 は飛ばしてOK
ターミナルで node -v と打って v20 以上が出る → Part 2 は飛ばしてOK
Meta App を作成済みで、App ID・App Secret・Page Access Token を持っている → Part 3 は飛ばしてOKnpx create-ig-harness を実行済みで、管理画面のアドレスとAPI Keyを持っている → Part 4・Part 5 を飛ばして Part 6 から読む
読みたいところを押すと、そのPartに飛べます。
IG Harnessの本体が動く場所になる、Cloudflareの無料アカウントを作ります。すでに持っている方は Part 2 へ進んでください。
▼ ここを押すとCloudflareの登録ページが新しいタブで開きます
https://dash.cloudflare.com/sign-up画像なし(例外)
※ この手順は上のアドレスを開くだけのため、画像はありません。開いた画面は、次の手順2の画像で確認できます。
この画面は英語ですが、入力するのは2つだけです。
Email: メールアドレス
Password: 新しく決めるパスワード(画面の案内どおり、8文字以上・数字1つ以上・記号1つ以上)
「Continue with Google」でGoogleアカウントから作ることもできます(人によって異なります)。このガイドはメールアドレスで登録する前提で進めます。画像のメールアドレスは記入例です。ご自身のものを入力してください。
入力できたら「Sign up」を押します。
登録したメールアドレスに、Cloudflareから確認メールが届きます。メール内の確認ボタンを押せば、アカウント作成は完了です。
もし、メールが見当たらないときは
迷惑メールフォルダも確認してください。ここで有効化を済ませておかないと、あとの手順で「Cloudflare アカウントのメール認証が完了していません。」というエラーが出ます。
画像なし(例外)
※ メールの画面のため、画像はありません。
ログインすると、このホーム画面が開きます。ここで何かを操作する必要はありません。「この画面が出ればOK」の確認です。
画像のアカウント名・ID・他のプロジェクト名は、こちらのアカウントの情報のため伏せています。
セットアップコマンドを動かすための道具、Node.js(ノードジェイエス)をパソコンに入れます。すでに入っている方(node -v で v20 以上が出る方)は Part 3 へ。
▼ ここを押すとNode.jsのダウンロードページが新しいタブで開きます
https://nodejs.org/ja画像なし(例外)
※ この手順は上のアドレスを開くだけのため、画像はありません。開いた画面は、次の手順7の画像で確認できます。
画面の「Node.js®を入手」を押して、インストーラをダウンロードします。
ダウンロードしたファイルを開き、画面の案内どおり「続ける」(Windowsは「Next」)を押していけばインストール完了です。設定を変える必要はありません。
画像なし(例外)
※ パソコンの画面のため、画像はありません。
ここから「ターミナル」という黒い画面を使います。コマンド(命令文)をコピーして貼り付けるだけなので、難しい操作はありません。
Mac: 画面右上の虫めがね(Spotlight)を押して「ターミナル」と入力し、Enter
Windows: スタートボタンを押して「PowerShell」と入力し、Enter
画像なし(例外)
※ パソコンの画面のため、画像はありません。
ターミナルに次をコピーして貼り付け、Enterを押します。
node -vv22.18.0 のように「v」から始まる数字が出ればOKです。
公式の説明では Node.js 22+ が推奨されています。一方、セットアップコマンドが実際に弾くのは20未満です(出るメッセージは「Node.js 20 以上が必要です(現在: {バージョン})」)。20以上なら進められますが、迷う方は最新版を入れておくと確実です。
もし、「コマンドが見つかりません」と出るときは
ターミナルを一度閉じて開き直してから、もう一度試してください。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
ここからInstagram側の準備です。Meta for Developers(メタ・フォー・デベロッパーズ)で「アプリ」を1つ作り、5つの値を控えます。
このPartは画像を掲載していません。Metaの画面はアカウントの状態によって表示が変わるため、セットアップコマンドが表示する道順をそのまま引用して進めます。
Meta for Developers でアプリ情報を確認してください
https://developers.facebook.com/apps/必要な情報:
1. Meta App ID / App Secret — アプリ基本設定から取得
2. Page Access Token (長期) — Instagram ビジネスアカウントに接続したページのトークン
3. Webhook Verify Token — 任意の文字列(セットアップ後に Webhook 設定で使用)
4. Instagram Business Account ID — Instagram Graph API で取得
まだ設定していなければ、上のURLから Meta アプリを作成してください。ここに出てくる Webhook(ウェブフック)は、InstagramでコメントやDMが起きたことを、IG Harnessへ自動で知らせるための連絡先の設定です(Part 5 で登録します)。
▼ ここを押すとMeta for Developersが新しいタブで開きます
https://developers.facebook.com/apps/もし、開発者登録の案内が出たときは
このページを初めて開くアカウントでは、先に開発者としての登録を求められます。画面の案内に従って登録を済ませてから、この手順に戻ってください。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
画面の「アプリを作成」から、Instagramのメッセージとコンテンツを管理するユースケースを選んでアプリを作ります。アプリ名は、あとから自分が見て分かる名前であれば構いません。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
セットアップコマンドは、この2つの場所を次のように案内します。
── Meta App ──
場所: developers.facebook.com/apps → アプリを選択 → 設定 → 基本入力欄の案内は「設定 → 基本 → アプリID」と「設定 → 基本 → アプリシークレット → 表示」です。App Secret は「表示」を押さないと出てきません。
⚠️ App Secret は、あなたのアプリを操作できる鍵です
他人に見せたり、SNSやスクリーンショットに写したりしないでください。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
セットアップコマンドは、次の道順を表示します。
── Page Access Token ──
場所: developers.facebook.com/apps → Instagram → API の設定
→ アクセストークンを生成(長期トークン推奨)
※ Instagram ビジネスアカウントに接続したFacebookページが必要です入力欄の案内は「EAA... で始まる長い文字列」です。
もし、生成のボタンが押せないときは
画面の注記のとおり、Instagramビジネスアカウントに接続したFacebookページが必要です。接続が済んでいるかを先に確認してください。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
これは自分で決める合言葉です。
── Webhook Verify Token ──
任意の文字列を設定してください。
この値は後で Meta Developer Console の Webhook 設定で使用します。入力欄にはランダムな32桁があらかじめ入っているので、そのままEnterでも構いません。6文字未満だと「Verify Token は6文字以上で入力してください」と出ます。
Part 5 でMetaの画面に同じ値を貼ります。必ず控えておいてください。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
セットアップコマンドは、次の取得方法を表示します。
── Instagram Business Account ID ──
取得方法: Graph API Explorer で次のクエリを実行:
GET /me?fields=id,name&access_token={page_access_token}
または: /me/accounts でページ一覧 → Instagram ビジネスアカウントのID入力欄の案内は「例: 17841400008460056」です。数字以外を入れると「Instagram Business Account ID は数字で入力してください」と出ます。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
ここが本番です。コマンドを1つ実行すると、あとは画面の質問に答えていくだけで、IG Harnessが自動で組み上がります。Part 3 で控えた5つの値を手元に置いてから始めてください。
ターミナルに次をコピーして貼り付け、Enterを押します。
npx create-ig-harnessもし、Ok to proceed? (y) と聞かれたら
y を入力してEnterを押してください(初回だけ表示される、ダウンロードの確認です)。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
最初に環境チェックが流れ、続いてタイトルと案内が表示されます。
環境チェック中...
環境チェック完了 Instagram Harness セットアップ 📖 セットアップガイド (スクリーンショット付き):
https://harness-wiki.pages.dev/article/ig-harness-complete-setup-guide
各ステップで詰まったらこのページを参照してください。▼ コマンドが案内する公式のセットアップガイド(新しいタブで開きます)
https://harness-wiki.pages.dev/article/ig-harness-complete-setup-guideもし、「Node.js 20 以上が必要です」と出たときは
Part 2 に戻って、新しいNode.jsを入れ直してください。「npx が見つかりません。Node.js をインストールしてください。」と出たときも同じです。
途中でやめたあとに実行し直すと「前回の途中から再開します(完了済み: …)」と表示され、済んだところは飛ばして続きから始まります。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
ターミナルに次の案内が表示され、少し待つとブラウザが開きます。
Cloudflare 認証チェック中...
Cloudflare にログインが必要です
ブラウザが開きます。Cloudflare にログインしてください。Part 1 のアカウントでログインし、表示される許可の画面で許可します。すでにログイン済みなら「Cloudflare 認証済み」と出て、この手順は飛ばされます。成功すると「Cloudflare ログイン完了」、続いて「Cloudflare アカウント:」に英数字のIDが表示されます。
もし、ここで止まったときは
次のどれかが表示されます。書かれているとおりに対処すれば進めます。「Cloudflare ログインに失敗しました。もう一度試してください。」と出たときは、もう一度同じコマンドを実行します。
Cloudflare アカウントのメール認証が完了していません。Cloudflare ダッシュボードに届く確認メールを開いて認証してください。
認証 / アカウント不一致の可能性があります。`npx wrangler whoami` でログイン中の Cloudflare アカウントを確認してください。
OAuth トークンが切れています。`npx wrangler logout && npx wrangler login` で再ログインしてください。
D1 の無料枠を使い切っています。古い D1 を削除するか有料プランへ移行してください。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
Part 3 で控えた値を、聞かれた順に貼り付けていきます。
Meta for Developers でアプリ情報を確認してください
https://developers.facebook.com/apps/必要な情報:
1. Meta App ID / App Secret — アプリ基本設定から取得
2. Page Access Token (長期) — Instagram ビジネスアカウントに接続したページのトークン
3. Webhook Verify Token — 任意の文字列(セットアップ後に Webhook 設定で使用)
4. Instagram Business Account ID — Instagram Graph API で取得
まだ設定していなければ、上のURLから Meta アプリを作成してください。| 聞かれること | 欄に出ている案内 | 入れる値 |
|---|---|---|
| App ID(数字) | 設定 → 基本 → アプリID | 手順13で控えた数字 |
| App Secret | 設定 → 基本 → アプリシークレット → 表示 | 手順13で控えた文字列 |
| Page Access Token | EAA... で始まる長い文字列 | 手順14で生成したトークン |
| Verify Token(任意の文字列) | ランダム32桁が最初から入っています | 手順15で決めた合言葉 |
| Instagram Business Account ID(数字) | 例: 17841400008460056 | 手順16で調べた数字 |
途中でやめると「セットアップをキャンセルしました」と出ます。もう一度実行すれば続きから進められます。
⚠️ ここで入力する値は、画面に貼らないでください
App Secret と Page Access Token は、あなたのInstagramを操作できる鍵です。スクリーンショットやチャットに貼らないよう気をつけてください。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
ここから先は自動です。数分かかることがあります(目安です)。画面を閉じずにそのまま待ちます。
IG Harness をダウンロード中... → ダウンロード完了
依存関係インストール中... → 依存関係インストール完了
ワークスペースパッケージをビルド中... → ビルド完了
D1 データベース作成中... → D1 データベース作成完了
テーブル作成中... → テーブル作成完了
R2 バケット作成中... → R2 バケット作成完了 ({バケット名})
Worker デプロイ中... → Worker デプロイ完了
シークレット設定中... → シークレット設定完了
Admin UI ビルド中... → Admin UI ビルド完了
Admin UI デプロイ中... → Admin UI デプロイ完了
MCP server をビルド中... → MCP server ビルド完了2回目以降に実行したときは「R2 バケット: 作成済み(…)(スキップ)」「D1 データベース: 作成済み(…)」「Worker: デプロイ済み(…)」のように、済んだ項目が飛ばされます。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
最後に、次の質問が出ます。
MCP 設定を .mcp.json に追加しますか?(Claude Code / Cursor 用)Claude Code や Cursor から IG Harness を操作したい方向けの設定です。使う予定がなければ、そのまま進めて構いません。追加すると「.mcp.json に MCP 設定を追加しました(…)」と表示されます。
⚠️ .mcp.json にはAPI Keyが平文で入ります
このファイルをGitで公開したり、そのまま人に渡したりしないでください。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
セットアップが終わると、あなた専用の値が4つ表示されます。
① Webhook を Meta Developer Console で設定してください:
Callback URL: <あなたのWorker URL>/webhook
Verify Token: <あなたが決めたVerify Token>
→ developers.facebook.com/apps → Webhooks → Instagram
→ messages, messaging_postbacks, comments を購読
② Meta App 公開時に Dashboard へ貼り付ける URL:
Privacy Policy URL: <あなたのWorker URL>/privacy-policy
Data Deletion URL: <あなたのWorker URL>/data-deletion
Terms of Service URL: <あなたのWorker URL>/terms-of-service
→ developers.facebook.com/apps → アプリ設定 → ベーシック
→ アプリアイコン (1024x1024 PNG) と カテゴリ (ビジネス) も忘れずに
③ 管理画面:
<あなたの管理画面URL>
④ API Key:
<自動生成された64文字>
→ この値は再表示できません。安全な場所に保存してください⚠️ 「この値は再表示できません」
画面にもそう書いてあります。ターミナルを閉じる前に、API Keyをコピーして保存してください。保存先は、パスワード管理アプリか、メモアプリのパスワード付きノートがおすすめです。
③の管理画面のアドレス(.pages.dev で終わるURL)も、あわせて控えておきます。Part 6 で開きます。
画像なし(例外)
※ ターミナルの画面のため、画像はありません。
セットアップコマンドの最後に出た①と②を、Metaの画面で設定します。このPartも画像を掲載していません。手順23で表示された、あなた専用の値をそのまま貼り付けていきます。
手順23の①に表示された、あなた専用の値を使います。
① Webhook を Meta Developer Console で設定してください:
Callback URL: <あなたのWorker URL>/webhook
Verify Token: <あなたが決めたVerify Token>
→ developers.facebook.com/apps → Webhooks → InstagramMeta for Developers でアプリを開き、Webhooks の Instagram に、上の Callback URL と Verify Token を登録します。Verify Token は手順15で決めた合言葉と一字一句同じである必要があります。
セットアップコマンドは、同じ内容を英語の手順書きでも表示します。
╔══════════════════════════════════════════════╗
║ Meta Webhook Setup Guide ║
╠══════════════════════════════════════════════╣
║ 1. Go to developers.facebook.com/apps ║
║ 2. Select your app → Webhooks ║
║ 3. Subscribe to "Instagram" webhooks ║
║ 4. Callback URL: ... ║
║ 5. Verify Token: ... ║
║ 6. Subscribe: messages, messaging_postbacks ║
║ 7. Add "comments" field subscription ║
╚══════════════════════════════════════════════╝もし、登録が弾かれるときは
Verify Token の打ち間違い(前後の空白を含む)が原因になりやすいところです。手順23の画面をもう一度見て、そのままコピーして貼り直してください。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
同じWebhookの画面で、messages / messaging_postbacks / comments の3つを購読します。
コメントで反応させるには comments が必要です。ここが抜けていると、コメントが来ても何も起きません。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
手順23の②に表示された、3つのURLを貼り付けます。
② Meta App 公開時に Dashboard へ貼り付ける URL:
Privacy Policy URL: <あなたのWorker URL>/privacy-policy
Data Deletion URL: <あなたのWorker URL>/data-deletion
Terms of Service URL: <あなたのWorker URL>/terms-of-service
→ developers.facebook.com/apps → アプリ設定 → ベーシック
→ アプリアイコン (1024x1024 PNG) と カテゴリ (ビジネス) も忘れずにこの3つのページは、IG Harnessが自動で用意しています。表示されたURLをそのまま貼るだけです。アプリアイコン(1024×1024のPNG)とカテゴリの選択も、画面の案内どおり済ませます。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
Meta for Developers のアプリを「開発」から「公開」に切り替えます。
手順26の3つのURLとアイコン・カテゴリが埋まっていないと、切り替えができません。
もし、切り替えのトグルが押せないときは
未入力の項目が残っています。画面に表示される不足項目の案内を見て、手順26に戻って埋めてください。
画像なし(例外)
※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。
ここからは管理画面の操作です。手順23で控えたアドレスとAPI Keyを使います。
パソコンのブラウザで、手順23の③のアドレス(.pages.dev で終わるURL)を開きます。
画像なし(例外)
※ アドレスは人によって違うため、画像はありません。開いた画面は、次の手順29の画像で確認できます。
「管理画面にログイン」という画面が出ます。「API Key」の欄に、手順23で保存したAPI Keyを貼り付けます。
API Keyは秘密の値のため、画像では欄を空のままにしています。
貼り付けたら「ログイン」を押します。押している間は「ログイン中...」と表示されます。
もし、「APIキーが正しくありません」と出たときは
コピーの前後に余計な空白や改行が混ざっていることがあります。もう一度、手順23で保存した値だけを貼り直してください。「接続に失敗しました」と出るときは、アドレスを間違えていないかを確認します。
この画面が出ればログイン成功です。上に4枚のカードが並びます。
「フォロワー数」=IG Harnessが把握しているフォロワーの数
「今日のDM数」=今日送ったDMの数
「アクティブルール数」=有効になっているコメントルールの数
「アクティブシナリオ数」=有効になっているシナリオの数
下の「クイックアクション」からは「フォロワー管理」「コメントルール」「シナリオ」へ直接移動できます。
左側が全体のメニューです。よく使う順に並んでいます。
| メニュー | ここで何をするか | ManyChatで言うと |
|---|---|---|
| ダッシュボード | 全体の数字を見る | ホーム/概要 |
| フォロワー | フォロワー一覧・タグ管理 | Audience |
| チャット | 1:1でDMを返す | Live Chat |
| キャンペーン | コメント自動DMの本体を作る | Growth Tools と Automation をまとめたもの |
| DMテンプレート | 使い回すDMの土台を作る | Flow内のメッセージ部品 |
| 画像ギャラリー | DMで使う画像を置く | メディアライブラリ |
| 設定 | Instagramアカウントと接続先の管理 | Settings |
コメントルールとシナリオは、メニューに出ていません
この2つはキャンペーンに統合されたため、サイドメニューから外れています。開くときは管理画面のアドレスの末尾に /comment-rules /scenarios を付けます(Part 8・Part 9 で扱います)。
左下には、動いているバージョン・「セットアップガイド」・「ログアウト」が並びます。左上はアカウント切替です。
ここがこのガイドの本体です。「リールにコメントが来たら、自動でDMを送り、フォローを確認して、特典のリンクを渡す」——この一連の流れを1画面で作ります。画面の説明にも「リールにコメント → 自動DMで LINE 誘導するセットを1画面で作成」と書かれています。
⚠️ 先に知っておいてください
作ったキャンペーンは、「キャンペーン作成」を押した瞬間から稼働します。「作成後すぐに有効にする」のようなチェックはありません。止め方は手順47・48で必ず確認してください。
左メニューの「キャンペーン」を開き、右上の「+ 新規キャンペーン」を押します。
作成画面はアドレスの直打ちでは開けません
必ずこの一覧の「+ 新規キャンペーン」から入ってください。作成画面のアドレスを直接開くと「見つかりません」と表示されます。
一番上の「① キャンペーン名」に、自分が後から見て分かる名前を入れます。
欄の下に「管理画面に表示される名前。ユーザーには見えません」と書いてあるとおり、相手には見えません。
最初から「リール自動返信」+日時の名前が入っています。そのままでも構いませんが、あとで見分けやすい名前にしておくと運用が楽です。
画像の名前は、撮影用の記入例です。
「② 何に反応して発動する?」で、何をきっかけに動かすかを選びます。3つあります。
🎥 リールコメント — 指定のリール・投稿にコメントが付いたら発動
💬 DMキーワード — 指定キーワードを含むDMを受け取ったら発動
📖 ストーリーメンション — 自分のストーリーがメンション・シェアされたら発動
このガイドは「リールコメント」で進めます。
すぐ下の「対象リール (空欄なら全投稿)」で、どの投稿に反応させるかを選びます。「リールを選択(複数可)」を押すと、自分の投稿が並びます。
⚠️ 空欄のままにすると、全ての投稿に効きます
画面にも「選ばない場合は 全ての投稿 に適用されるデフォルトキャンペーンになります。」と書かれています。特定の1本だけで試したい方は、必ずここでリールを選んでください。あとから個別のリールを指定したキャンペーンを作れば、画面の説明どおり「個別リール指定のキャンペーンを作ると、そちらが優先されるので今後も柔軟に上書き可能。」です。
画像なし(例外)
※ ここには自分の実際の投稿が並ぶため、画像は載せていません。
「キーワード(任意)」に、反応させたい言葉を入れます。欄の案内は「例: 欲しい(空欄なら全コメントに反応)」です。
画像は「欲しい」と入れた例です。空欄にすると、そのキャンペーンの対象になっている投稿の全部のコメントに反応します。
「コメントへの公開返信(任意)」は、コメント欄に見える形で返す文章です。最大3パターンまで入れられます。
画面の説明のとおり「複数入れると毎回ランダムで1つ選ばれます(ボット感を減らす)。{{username}} でコメントした人の @username を差し込めます。全部空欄ならDMのみ。」です。
この欄の下に、Instagramの仕様についての大事な注記が2つ出ています。
ℹ️ IG仕様:これは POST /{media_id}/comments による @mention 付きトップレベルコメントとして投下されます(親コメント直下のスレッド返信ではありません)。本物のスレッド型 reply は Meta App Review (Advanced Access) 通過後のみ動作します。
⚠️ IG仕様:未フォローのユーザーへのDMは「メッセージリクエスト」に振り分けられたり届かないことがあります。公開返信でリクエスト確認を促すと到達率UP。
1つ目については Part 13 でくわしく扱います。2つ目については、画像のように「届いてなかったら『リクエスト』フォルダ見てね」と書いておくのが実用的です。
「③ コメントがきたら、このDMを送る」が、相手が最初に受け取るDMです。
「📝 新しく作る」と「📂 作り置きから選ぶ」があり、ここでは新しく作ります。画像を付けることもできます(任意)。
最初から「コメントありがとう!🎁/下のボタンから特典を受け取ってね」という文章が入っています。特に決まっていない方は、画像と同じこの文章のままでOKです。
右側に「Instagram DM プレビュー」が常に出ているので、相手にどう見えるかを確認しながら書けます。
DMの下に付くボタンの文字です。初期値は「特典を受け取る」です。
欄の下に「このボタンを押すと フォロー確認 → 特典DMが送信されます」と書かれています。
「④ フォローしている人だけに特典を配る」は最初からONになっています。
画面の説明はこうです。
OFF: ボタンを押したら即特典DMを送信
ON: ボタンを押したらフォロー確認 → フォロー済みのみ特典DM、未達は別DMで案内
フォローを条件にしたくない場合は、ここのチェックを外します。
手順41をONにしている場合だけ使う文章です。
初期値は「まずは @ をフォローしてから、もう一度このボタンを押してね」、ボタンの文字は「フォローしたよ」です。
初期値の「@」のあとは空白のままなので、自分のアカウント名を書き足しておくと親切です。
「⑤ 特典DM(ボタン押下後に送る)」が、フォロー確認を通った人に届く最後のDMです。
初期値は「フォローありがとうございます!🎉/特典はこちらのリンクから👇」です。
その下の「誘導先 URL *」は必須です。特典を置いているページのアドレスを入れます。欄の案内は「https://line.me/R/ti/p/@xxx または https://example.com/lp」です。https:// で始まらないと保存できません。
画像は https://example.com/ を入れた記入例です。ボタンの文字の初期値は「LINEで受け取る」なので、渡すものに合わせて書き換えてください。
「⑥ フォローアップDM(任意・最大3本)」は、特典DMのあとに時間差でもう一通送る機能です。
画面の説明は「特典DMが届いた後に、時間差でもう一通送ります。」「Meta の 24時間ルール に収まる範囲で 24h × 60 = 1440分まで。」です。
使わない場合は「0/3」のまま、何もせずに次へ進みます。
画像なし(例外)
※ 入力欄は「+ フォローアップを追加」を押すと現れるため、画像はありません。
一番下の「キャンペーン作成」を押すと、キャンペーンができます。
⚠️ 押した瞬間から稼働します
作成したキャンペーンは、その時点から実際にコメントに反応します。手順36で対象リールを空欄のままにしていた場合は、全ての投稿が対象です。試すだけのつもりなら、押す前にもう一度、対象リールとキーワードを確認してください。止め方はこのあとの手順47・48です。
作成すると詳細画面が開きます。上に「稼働中」と出ていれば動いている状態です。
「📊 配信フロー」は、反応 → DM配信 → ボタン押下 → 特典配信 → URLタップ → LINE追加の各段階が、どこまで進んだかを横棒で見る画面です。
その下の「⚙️ 設定」で、何に反応するか・対象投稿の件数・フォロー確認のON/OFF・特典URL・公開返信の内容を、あとから見返せます。
画像の数値・投稿サムネイル・キャンペーン名は、こちらのアカウントの実データのため伏せています。
画面の右上に「一時停止」があります。押すと止まり、コメントが来ても反応しなくなります。
もし、間違えて公開してしまったら
まずこの「一時停止」を押してください。設定を消さずに動作だけを止められます。直したあとで、また稼働中に戻せます。
完全に消すときは、右上の「削除」です。押すと「このキャンペーンを削除しますか?この操作は取り消せません。」と確認が出ます。
⚠️ 先に「一時停止」で十分か考えてください
削除は取り消せません。設定を残したまま止めたいだけなら、手順47の「一時停止」で足ります。
コメントルールは、キャンペーンとは別に「このキーワードのコメントには、この文章で公開返信する」を単体で作る機能です。サイドメニューには出ていないため、アドレスを直接開きます。
⚠️ 先に正直にお伝えします
2026年8月6日にこのガイド用の画面で検証したところ、ルールの「作成」を押した時点で「保存に失敗しました」と表示され、ルールを作れませんでした(2回とも同じ結果)。原因はIG Harness側の処理にあると考えられます。そのため、このPartは入力画面までの手順をご案内し、作成できることを断定しません。手順54に、失敗したときの対応を書いています。
管理画面のアドレスの末尾に /comment-rules を付けて開きます。ダッシュボードの「クイックアクション」にある「コメントルール」からも行けます。
画像なし(例外)
※ アドレスは人によって違うため、画像はありません。開いた画面は、次の手順50の画像で確認できます。
「コメントルール/Instagramコメントへの自動返信ルールを管理」という画面です。右上の「+ 新規ルール」を押します。
1件もないときは、中央の「+ 最初のルールを作成」からでも同じ画面が開きます。
「新規ルールを作成」のフォームが開きます。埋めるのは3か所です。
「ルール名 *」(必須)— 欄の案内は「例: 価格問い合わせ自動返信」
「キーワード」— 欄の案内は「例: 価格」
「返信テキスト」— 欄の案内は「自動返信するメッセージを入力」
「対象投稿 (省略可)」を空にしておくと、画面の説明どおり「省略時: すべての投稿への該当キーワードコメントに反応」になります。
その下の「🎯 すべてのコメントに反応(キーワード不要)」にチェックを入れると、キーワードなしで全部のコメントに反応します(説明は「対象投稿が指定されていれば、その投稿への全コメント。未指定なら全投稿の全コメント」)。最初はチェックを入れないことをおすすめします。
画像は、返信テキストに「お問い合わせありがとうございます。DMで詳細をお送りしました。」と入れた記入例です。
キーワードの右にある「マッチタイプ」で、言葉の拾い方を決めます。
「部分一致」(最初から選ばれています)— コメントの中にその言葉が含まれていれば反応
「完全一致」— コメントがその言葉だけのときに反応
「正規表現」— 書き方のルールを使って細かく指定(慣れている方向けです)
迷ったら「部分一致」のままでOKです。
なお「レスポンスタイプ」は「テキスト」と「画像 (URL)」の2つです。文章で返すなら「テキスト」のままにします。「遅延 (秒)」は、返信までの待ち時間です(初期値0)。
「作成」ボタンのすぐ上にある「作成後すぐに有効にする」は、最初からチェックが入っています。
このままだと、作った瞬間から実際のコメントに反応します。まず動きを確かめたい方は、ここのチェックを外してから作成してください。あとから一覧の「有効にする」で動かせます。
「作成」を押します。うまくいけば、下の一覧にルールが追加されます。
もし、「保存に失敗しました」と表示されたときは
このガイドの検証時(2026年8月6日)も、この表示が出てルールを作成できませんでした。入力内容の問題ではなく、IG Harness側の処理で起きているものと考えられます。同じ表示が出たときは、キーワードでの自動返信をキャンペーンの「コメントへの公開返信」(手順38)で代わりに作れます。あわせて、下のGitHub Issuesに状況を報告しておくと確実です。
▼ 不具合の報告はこちら(GitHub Issues・新しいタブで開きます)
https://github.com/Shudesu/ig-harness-oss/issuesもし、間違えて有効にしてしまったら
一覧に出ているルールの「無効にする」を押せば止まります。消すときは「削除」で、「このルールを削除しますか?」と確認が出ます。
シナリオは、DMを自動で配信するまとまりです。コメントルールと同じく、サイドメニューには出ていません。
管理画面のアドレスの末尾に /scenarios を付けて開きます。ダッシュボードの「クイックアクション」の「シナリオ」からも行けます。
画像なし(例外)
※ アドレスは人によって違うため、画像はありません。開いた画面は、次の手順58の画像で確認できます。
シナリオの画面の右上にある「+ 新規シナリオ」を押します。押すと、下に「新規シナリオを作成」のフォームが開きます。
画像なし(例外)
※ この手順はボタンを1つ押すだけのため、画像はありません。ボタンの位置と、開いたあとの画面は、手順58の画像で確認できます(画像の右上が「+ 新規シナリオ」です)。
「シナリオ名 *」に、自分が後から見て分かる名前を入れます。欄の案内は「例: ウェルカムDMシナリオ」です。
画像なし(例外)
※ この手順は名前を1つ入力するだけのため、画像はありません。入力する欄は、手順58の画像のいちばん上にある「シナリオ名 *」です。
「トリガータイプ」で、何をきっかけに動かすかを選びます。選べるのは4つです。
手動
フォロワー追加時 (friend_add)
DMキーワード (dm_keyword)
コメント (comment)
⚠️ ここも「作成後すぐに有効にする」が最初からONです
そのまま「作成」を押すと、その時点から動きます。試すだけならチェックを外してから作成し、あとから「有効にする」で動かしてください。間違えて有効にしてしまったときは、一覧の「無効にする」で止まります。
「フォロワー追加時」は、フォローされた瞬間にこちらからDMを送るという意味ではありません。Instagramの仕様上、相手からコメントやDMで先に接触がないとDMは送れません(Part 13 で扱います)。
同じDMを何度も書かなくて済むように、文面と画像をあらかじめ用意しておけます。
左メニューの「DMテンプレート」です。画面の説明は「キャンペーンで使い回せる DM の土台(画像+テキスト+ボタン)」。
カードごとに「編集」「テスト配信」「削除」が並びます。ここで作ったものが、キャンペーン作成画面の「📂 作り置きから選ぶ」に出てきます(手順39・手順43)。
画像のテンプレート本文は、こちらのアカウントの実データのため伏せています。
⚠️ 「テスト配信」は本物のDMです
押すと実際にDMが送られます。中身を直すだけなら「編集」を使ってください。
左メニューの「画像ギャラリー」です。右上の「+ アップロード」から画像を追加します。
画面の説明は「R2 にアップロード済みの画像(リッチメッセージで使用)」です。ここに入れた画像が、キャンペーンやDMテンプレートの「+ 画像を選択(任意)」で選べるようになります。
画像の既存ファイルは、こちらのアカウントの実データのため伏せています。
届いた相手を確認したり、1:1で返事をしたりする場所です。
左メニューの「フォロワー」です。画面の説明は「Instagramフォロワーの管理」。
上の欄で「ユーザー名・名前で検索」ができ、「タグ:」で絞り込めます。下に件数と「前へ/次へ」のページ送りが出ます。
ここに並ぶのは、IG Harnessがやりとりを通じて把握した相手です。Instagramのフォロワー全員が最初から入っているわけではありません。
画像の氏名・ユーザー名・アイコンは、実在の第三者のため全て伏せています。
左メニューの「チャット」です。左の一覧から相手を選ぶと、真ん中に会話が出ます。
下の「メッセージを入力...」に文章を書いて「送信」を押すと、その相手にDMが届きます。右側には相手の「ステータス」「IGSID(アイジーエスアイディー)」「登録日」と、「Instagram プロフィール ↗」へのリンクが出ます。
IGSIDは、その相手を見分けるためにInstagram側が付けている番号です(相手には見えません)。
画像の会話履歴・氏名・アイコンは、実在の第三者のため全て伏せています。
⚠️ 「送信」を押すと、本物のDMが相手に届きます
練習のつもりで押さないでください。文面を確かめたいだけなら、下書きのまま送信ボタンを押さずに画面を離れれば大丈夫です。
つないでいるInstagramアカウントと、外部サービスの接続先を管理する画面です。
左メニューの「設定」です。画面の説明は「Instagram アカウントと外部サービスの連携を管理」。
上の「📷 Instagram アカウント」に、つないでいるアカウントが表で並びます。「アカウント」「IG User ID」「トークン」「トークン期限」「状態」「操作」の6列です。既定で使うアカウントには「デフォルト」と付きます。説明のとおり「複数の IG アカウントを登録すると、サイドバーの切替で各アカウントのデータを管理できます」。
「トークン更新」は、Metaで作り直したアクセストークンを入れ替えるためのボタンです。普段の運用で押す必要はありません。トークンの期限が切れたときに使います。
下の「🔗 LINE Harness 接続先」は、特典リンクを別のツールにつなぐための欄です。使っていない場合は「接続先が未登録です。下のフォームから追加してください」と表示されます。使う予定がなければ、そのままで問題ありません。
画像のIG User ID・トークン・トークン期限は伏せています。
⚠️ ここの追加・削除・変更は慎重に
接続しているアカウントを「停止」したり消したりすると、キャンペーンが動かなくなります。触る前に、何が止まるかを確認してください。
このPartは、あとから「聞いていない」となりやすいところを先にまとめたものです。どれも設定でどうにかなるものではなく、Instagram側の仕様です。
1. コメントへの返信は、親コメントの下にぶら下がりません
キャンペーンの「コメントへの公開返信」(手順38)は、投稿全体のコメント欄に、@ユーザー名を付けた新しいコメントとして並びます。相手のコメントの直下にネストされた「返信」にはなりません。
管理画面にも、そのまま書かれています。
ℹ️ IG仕様:これは POST /{media_id}/comments による @mention 付きトップレベルコメントとして投下されます(親コメント直下のスレッド返信ではありません)。本物のスレッド型 reply は Meta App Review (Advanced Access) 通過後のみ動作します。
✕ こうはなりません
田中さん「欲しいです!」
└ あなた「@tanaka DMを送りました🎁」
相手のコメントの下にぶら下がる、スレッド型の返信
◯ 実際はこうなります
田中さん「欲しいです!」
あなた「@tanaka DMを送りました🎁」
コメント欄に、独立した新しいコメントとして並ぶ
@ユーザー名が付くので、相手には通知が届きます。会話としては成立しますが、見た目のぶら下がり方が違う、ということです。
2. 未フォローの相手へのDMは、届かないことがあります
管理画面の注記です。
⚠️ IG仕様:未フォローのユーザーへのDMは「メッセージリクエスト」に振り分けられたり届かないことがあります。公開返信でリクエスト確認を促すと到達率UP。
対策も画面に書いてあるとおりです。公開返信の文章に「届いてなかったら『リクエスト』フォルダ見てね」の一言を入れておきます(手順38の画像がその例です)。
3. 新しくフォローされた人に、こちらから自動DMを送ることはできません
Instagramの仕様で、DMを送れるのは相手から先に接触があってからです。コメント・DM・ストーリーへのメンションなどで相手が動いたときに、そこから24時間の枠が開きます。
そのため、この仕組みの入口は「フォロー」ではなく「コメント」になります。キャンペーンのトリガーが3つとも相手の行動(コメント・DM・メンション)から始まっているのは、このためです。
キャンペーンの⑥フォローアップDMに「Meta の 24時間ルール に収まる範囲で 24h × 60 = 1440分まで。」と書かれているのも、同じ制限によるものです。
4. 他のInstagram自動化ツールと同じアカウントにつなぐ場合
同じInstagramアカウントに複数のアプリをつないでいると、Meta側で「どのアプリが先に受け取るか」が決まります。先に受け取る側になっていないアプリには、通知が十分に届かないことがあります。
すでに他のツールを使っていて、これから切り替える・併用するという方は、Meta側のルーティングの設定を確認してください。この画面は本ガイドでは扱っていません(アカウントごとに状況が違うためです)。
5. このガイドで扱っていないこと
コメントルールの作成は、検証時に「保存に失敗しました」で完了できませんでした(Part 8)。同じ目的はキャンペーンの「コメントへの公開返信」で代替できます。
成果についてはお約束できません。このガイドは「仕組みを動かすところまで」を扱います。届く数・反応の数は、投稿の内容や相手の設定によって変わります。
もう一度 npx create-ig-harness を実行してください。ターミナルに
「前回の途中から再開します(完了済み: …)」と表示され、済んだところは飛ばして
続きから始まります。途中でやめたときに出る「セットアップをキャンセルしました」のあとも
同じです
実際に出るメッセージは次のとおりです。
Node.js 20 以上が必要です(現在: {バージョン})
npx が見つかりません。Node.js をインストールしてください。
どちらも Part 2 に戻って、Node.jsを入れ直せば解決します
実際に出るメッセージは次のとおりです。
Cloudflare アカウントのメール認証が完了していません。Cloudflare ダッシュボードに届く確認メールを開いて認証してください。
認証 / アカウント不一致の可能性があります。`npx wrangler whoami` でログイン中の Cloudflare アカウントを確認してください。
OAuth トークンが切れています。`npx wrangler logout && npx wrangler login` で再ログインしてください。
D1 の無料枠を使い切っています。古い D1 を削除するか有料プランへ移行してください。
表示された文章のとおりに対処してから、もう一度コマンドを実行します
上から順に確認します。
1. キャンペーンが「稼働中」になっているか(手順46・47)
2. 対象リールの指定と、実際にコメントが付いた投稿が合っているか(手順36)
3. キーワードが、実際のコメントの言葉と合っているか(手順37)
4. Webhookで comments を購読しているか(手順25)
5. Meta App が公開になっているか(手順27)
npx create-ig-harness update
実行すると「マイグレーション確認中...」→「マイグレーション完了」→ 「Worker 再デプロイ中...」→「Worker 再デプロイ完了」→「Admin UI 再デプロイ中...」→ 「Admin UI 再デプロイ完了(…)」→「アップデート完了!」と流れます。 変更がないときは「マイグレーション完了(変更なし)」と出ます
▼ ソースコードはこちら(GitHub)
https://github.com/Shudesu/ig-harness-oss▼ 不具合報告・質問はこちら(GitHub Issues)
https://github.com/Shudesu/ig-harness-oss/issuesPart 8 の「保存に失敗しました」のように、画面の表示と実際の動きが食い違うときは、 Issues に画面の文言をそのまま書いて報告すると早く進みます