ツールは月額0円 / 初期設定 約60分 / キャンペーン作成 約15分

IG Harness 導入ガイド
(詳細運用編)

コメント自動DMを、管理画面で実際に作って動かす

🔍 画像は押すと大きく表示できます

これは何のガイド?

IG Harness(アイジー・ハーネス)の管理画面で、Instagramのコメントを受けて自動でDMを送る仕組みを実際に作り、日常運用していくためのガイドです。

IG Harnessは、Instagramのプロアカウント(ビジネス/クリエイター)向けの、オープンソースの自動化ツールです。コメントへの自動返信、コメントをきっかけにしたDMの自動送信、フォロー確認、特典リンクの配布、DMテンプレート、フォロワー管理、1:1のチャット対応——といった機能が管理画面にまとまっています。

IG Harness の公式ページ(GitHub)
IG Harness の公式ページ(GitHub)

セットアップだけで止めると、どうなる?

セットアップを済ませただけで、この管理画面を使わないままにすると、コメントが来てもDMは自動で送られません。キャンペーンを1本も作っていない状態では、IG Harnessは何にも反応しないためです。

その場合は、コメントへの返信も、特典リンクの案内も、これまでどおり1件ずつ手で返すことになります。このガイドは、その手作業を仕組みに置き換えるところまでを扱います。

なお、届く数や反応の数についてはお約束できません。投稿の内容や、相手側の設定によって変わります(Part 13)。

月額0円で動く仕組み

IG Harnessは、あなた自身のCloudflare(クラウドフレア)アカウントの上で動きます。共用のサービスに月額を払うのではなく、自分専用のサーバーを無料枠の中に立てる形です。

  1. 1あなたのInstagramコメントやDMが届く、いつものInstagramです。
  2. 2IG Harness(あなた専用のサーバー)Cloudflareの無料枠の上で動きます。コメントを受け取り、DMを送るのはここです。
  3. 3管理画面ブラウザで開いて、キャンペーンやDMの文面を作ります。この画面もあなた専用です。

ツール自体はオープンソースで、利用料はかかりません。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 は飛ばしてOK
npx create-ig-harness を実行済みで、管理画面のアドレスとAPI Keyを持っている → Part 4・Part 5 を飛ばして Part 6 から読む

このガイドの構成

読みたいところを押すと、そのPartに飛べます。

Part 1 — Cloudflareアカウントを作る

IG Harnessの本体が動く場所になる、Cloudflareの無料アカウントを作ります。すでに持っている方は Part 2 へ進んでください。

登録ページを開く

▼ ここを押すとCloudflareの登録ページが新しいタブで開きます

https://dash.cloudflare.com/sign-up

画像なし(例外)

※ この手順は上のアドレスを開くだけのため、画像はありません。開いた画面は、次の手順2の画像で確認できます。

メールアドレスとパスワードを入力する

この画面は英語ですが、入力するのは2つだけです。

Email: メールアドレス
Password: 新しく決めるパスワード(画面の案内どおり、8文字以上・数字1つ以上・記号1つ以上)

「Continue with Google」でGoogleアカウントから作ることもできます(人によって異なります)。このガイドはメールアドレスで登録する前提で進めます。画像のメールアドレスは記入例です。ご自身のものを入力してください。

手順2:メールアドレスとパスワードを入力する
手順2:メールアドレスとパスワードを入力する

「Sign up」を押す

入力できたら「Sign up」を押します。

手順3:「Sign up」を押す
手順3:「Sign up」を押す

確認メールのリンクを押して有効化する

登録したメールアドレスに、Cloudflareから確認メールが届きます。メール内の確認ボタンを押せば、アカウント作成は完了です。

もし、メールが見当たらないときは

迷惑メールフォルダも確認してください。ここで有効化を済ませておかないと、あとの手順で「Cloudflare アカウントのメール認証が完了していません。」というエラーが出ます。

画像なし(例外)

※ メールの画面のため、画像はありません。

ログインするとこの画面が出る

ログインすると、このホーム画面が開きます。ここで何かを操作する必要はありません。「この画面が出ればOK」の確認です。

画像のアカウント名・ID・他のプロジェクト名は、こちらのアカウントの情報のため伏せています。

手順5:ログインするとこの画面が出る
手順5:ログインするとこの画面が出る

Part 2 — Node.jsを入れる

セットアップコマンドを動かすための道具、Node.js(ノードジェイエス)をパソコンに入れます。すでに入っている方(node -v で v20 以上が出る方)は Part 3 へ。

ダウンロードページを開く

▼ ここを押すとNode.jsのダウンロードページが新しいタブで開きます

https://nodejs.org/ja

画像なし(例外)

※ この手順は上のアドレスを開くだけのため、画像はありません。開いた画面は、次の手順7の画像で確認できます。

「Node.js®を入手」を押す

画面の「Node.js®を入手」を押して、インストーラをダウンロードします。

手順7:「Node.js®を入手」を押す
手順7:「Node.js®を入手」を押す

インストーラを実行する

ダウンロードしたファイルを開き、画面の案内どおり「続ける」(Windowsは「Next」)を押していけばインストール完了です。設定を変える必要はありません。

画像なし(例外)

※ パソコンの画面のため、画像はありません。

ターミナルを開く

ここから「ターミナル」という黒い画面を使います。コマンド(命令文)をコピーして貼り付けるだけなので、難しい操作はありません。

Mac: 画面右上の虫めがね(Spotlight)を押して「ターミナル」と入力し、Enter
Windows: スタートボタンを押して「PowerShell」と入力し、Enter

画像なし(例外)

※ パソコンの画面のため、画像はありません。

Node.jsが入ったか確認する

ターミナルに次をコピーして貼り付け、Enterを押します。

node -v

v22.18.0 のように「v」から始まる数字が出ればOKです。

公式の説明では Node.js 22+ が推奨されています。一方、セットアップコマンドが実際に弾くのは20未満です(出るメッセージは「Node.js 20 以上が必要です(現在: {バージョン})」)。20以上なら進められますが、迷う方は最新版を入れておくと確実です。

もし、「コマンドが見つかりません」と出るときは

ターミナルを一度閉じて開き直してから、もう一度試してください。

画像なし(例外)

※ ターミナルの画面のため、画像はありません。

Part 3 — Meta App を作る

ここから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 を開く

▼ ここを押すとMeta for Developersが新しいタブで開きます

https://developers.facebook.com/apps/

もし、開発者登録の案内が出たときは

このページを初めて開くアカウントでは、先に開発者としての登録を求められます。画面の案内に従って登録を済ませてから、この手順に戻ってください。

画像なし(例外)

※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

アプリを作成する

画面の「アプリを作成」から、Instagramのメッセージとコンテンツを管理するユースケースを選んでアプリを作ります。アプリ名は、あとから自分が見て分かる名前であれば構いません。

画像なし(例外)

※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

App ID と App Secret を控える

セットアップコマンドは、この2つの場所を次のように案内します。

── Meta App ──
場所: developers.facebook.com/apps → アプリを選択 → 設定 → 基本

入力欄の案内は「設定 → 基本 → アプリID」と「設定 → 基本 → アプリシークレット → 表示」です。App Secret は「表示」を押さないと出てきません。

⚠️ App Secret は、あなたのアプリを操作できる鍵です

他人に見せたり、SNSやスクリーンショットに写したりしないでください。

画像なし(例外)

※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

Page Access Token を生成する

セットアップコマンドは、次の道順を表示します。

── Page Access Token ──
場所: developers.facebook.com/apps → Instagram → API の設定
  → アクセストークンを生成(長期トークン推奨)
  ※ Instagram ビジネスアカウントに接続したFacebookページが必要です

入力欄の案内は「EAA... で始まる長い文字列」です。

もし、生成のボタンが押せないときは

画面の注記のとおり、Instagramビジネスアカウントに接続したFacebookページが必要です。接続が済んでいるかを先に確認してください。

画像なし(例外)

※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

Verify Token を決める

これは自分で決める合言葉です。

── Webhook Verify Token ──
任意の文字列を設定してください。
この値は後で Meta Developer Console の Webhook 設定で使用します。

入力欄にはランダムな32桁があらかじめ入っているので、そのままEnterでも構いません。6文字未満だと「Verify Token は6文字以上で入力してください」と出ます。

Part 5 でMetaの画面に同じ値を貼ります。必ず控えておいてください。

画像なし(例外)

※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

Instagram Business Account ID を調べる

セットアップコマンドは、次の取得方法を表示します。

── 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 の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

Part 4 — セットアップコマンドを実行する

ここが本番です。コマンドを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 にログインが必要です
ブラウザが開きます。Cloudflare にログインしてください。

Part 1 のアカウントでログインし、表示される許可の画面で許可します。すでにログイン済みなら「Cloudflare 認証済み」と出て、この手順は飛ばされます。成功すると「Cloudflare ログイン完了」、続いて「Cloudflare アカウント:」に英数字のIDが表示されます。

もし、ここで止まったときは

次のどれかが表示されます。書かれているとおりに対処すれば進めます。「Cloudflare ログインに失敗しました。もう一度試してください。」と出たときは、もう一度同じコマンドを実行します。

Cloudflare アカウントのメール認証が完了していません。Cloudflare ダッシュボードに届く確認メールを開いて認証してください。
認証 / アカウント不一致の可能性があります。`npx wrangler whoami` でログイン中の Cloudflare アカウントを確認してください。
OAuth トークンが切れています。`npx wrangler logout && npx wrangler login` で再ログインしてください。
D1 の無料枠を使い切っています。古い D1 を削除するか有料プランへ移行してください。

画像なし(例外)

※ ターミナルの画面のため、画像はありません。

Meta の5つの情報を順に入力する

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 TokenEAA... で始まる長い文字列手順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 設定を .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 で開きます。

画像なし(例外)

※ ターミナルの画面のため、画像はありません。

Part 5 — Webhookとアプリ公開の設定

セットアップコマンドの最後に出た①と②を、Metaの画面で設定します。このPartも画像を掲載していません。手順23で表示された、あなた専用の値をそのまま貼り付けていきます。

Webhookを登録する

手順23の①に表示された、あなた専用の値を使います。

① Webhook を Meta Developer Console で設定してください:
   Callback URL: <あなたのWorker URL>/webhook
   Verify Token: <あなたが決めたVerify Token>
   → developers.facebook.com/apps → Webhooks → Instagram

Meta 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 の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

3つのフィールドを購読する

同じWebhookの画面で、messages / messaging_postbacks / comments の3つを購読します。

コメントで反応させるには comments が必要です。ここが抜けていると、コメントが来ても何も起きません。

画像なし(例外)

※ Meta for Developers の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

3つのURLとアイコン・カテゴリを入力する

手順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 の画面は、アカウントの状態によって表示が変わります。本ガイドでは画像を載せず、セットアップコマンドが表示する道順をそのまま引用しています。

Part 6 — 管理画面にログインする

ここからは管理画面の操作です。手順23で控えたアドレスとAPI Keyを使います。

管理画面を開く

パソコンのブラウザで、手順23の③のアドレス(.pages.dev で終わるURL)を開きます。

画像なし(例外)

※ アドレスは人によって違うため、画像はありません。開いた画面は、次の手順29の画像で確認できます。

API Keyを貼り付ける

「管理画面にログイン」という画面が出ます。「API Key」の欄に、手順23で保存したAPI Keyを貼り付けます。

API Keyは秘密の値のため、画像では欄を空のままにしています。

手順29:API Keyを貼り付ける
手順29:API Keyを貼り付ける

「ログイン」を押す

貼り付けたら「ログイン」を押します。押している間は「ログイン中...」と表示されます。

もし、「APIキーが正しくありません」と出たときは

コピーの前後に余計な空白や改行が混ざっていることがあります。もう一度、手順23で保存した値だけを貼り直してください。「接続に失敗しました」と出るときは、アドレスを間違えていないかを確認します。

手順30:「ログイン」を押す
手順30:「ログイン」を押す

ダッシュボードが出れば成功

この画面が出ればログイン成功です。上に4枚のカードが並びます。

「フォロワー数」=IG Harnessが把握しているフォロワーの数
「今日のDM数」=今日送ったDMの数
「アクティブルール数」=有効になっているコメントルールの数
「アクティブシナリオ数」=有効になっているシナリオの数

下の「クイックアクション」からは「フォロワー管理」「コメントルール」「シナリオ」へ直接移動できます。

手順31:ダッシュボードが出れば成功
手順31:ダッシュボードが出れば成功

サイドメニューの並びを確認する

左側が全体のメニューです。よく使う順に並んでいます。

メニューここで何をするか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 で扱います)。

左下には、動いているバージョン・「セットアップガイド」・「ログアウト」が並びます。左上はアカウント切替です。

手順32:サイドメニューの並びを確認する
手順32:サイドメニューの並びを確認する

Part 7 — キャンペーンを作る(本体・最重要)

ここがこのガイドの本体です。「リールにコメントが来たら、自動でDMを送り、フォローを確認して、特典のリンクを渡す」——この一連の流れを1画面で作ります。画面の説明にも「リールにコメント → 自動DMで LINE 誘導するセットを1画面で作成」と書かれています。

⚠️ 先に知っておいてください

作ったキャンペーンは、「キャンペーン作成」を押した瞬間から稼働します。「作成後すぐに有効にする」のようなチェックはありません。止め方は手順47・48で必ず確認してください。

「+ 新規キャンペーン」を押す

左メニューの「キャンペーン」を開き、右上の「+ 新規キャンペーン」を押します。

作成画面はアドレスの直打ちでは開けません

必ずこの一覧の「+ 新規キャンペーン」から入ってください。作成画面のアドレスを直接開くと「見つかりません」と表示されます。

手順33:「+ 新規キャンペーン」を押す
手順33:「+ 新規キャンペーン」を押す

① キャンペーン名を入力する

一番上の「① キャンペーン名」に、自分が後から見て分かる名前を入れます。

欄の下に「管理画面に表示される名前。ユーザーには見えません」と書いてあるとおり、相手には見えません。

最初から「リール自動返信」+日時の名前が入っています。そのままでも構いませんが、あとで見分けやすい名前にしておくと運用が楽です。

画像の名前は、撮影用の記入例です。

手順34:① キャンペーン名を入力する
手順34:① キャンペーン名を入力する

② トリガーで「リールコメント」を選ぶ

「② 何に反応して発動する?」で、何をきっかけに動かすかを選びます。3つあります。

🎥 リールコメント — 指定のリール・投稿にコメントが付いたら発動
💬 DMキーワード — 指定キーワードを含むDMを受け取ったら発動
📖 ストーリーメンション — 自分のストーリーがメンション・シェアされたら発動

このガイドは「リールコメント」で進めます。

手順35:② トリガーで「リールコメント」を選ぶ
手順35:② トリガーで「リールコメント」を選ぶ

対象リールを選ぶ(空欄のままでも進めます)

すぐ下の「対象リール (空欄なら全投稿)」で、どの投稿に反応させるかを選びます。「リールを選択(複数可)」を押すと、自分の投稿が並びます。

⚠️ 空欄のままにすると、全ての投稿に効きます

画面にも「選ばない場合は 全ての投稿 に適用されるデフォルトキャンペーンになります。」と書かれています。特定の1本だけで試したい方は、必ずここでリールを選んでください。あとから個別のリールを指定したキャンペーンを作れば、画面の説明どおり「個別リール指定のキャンペーンを作ると、そちらが優先されるので今後も柔軟に上書き可能。」です。

画像なし(例外)

※ ここには自分の実際の投稿が並ぶため、画像は載せていません。

反応するキーワードを入力する

「キーワード(任意)」に、反応させたい言葉を入れます。欄の案内は「例: 欲しい(空欄なら全コメントに反応)」です。

画像は「欲しい」と入れた例です。空欄にすると、そのキャンペーンの対象になっている投稿の全部のコメントに反応します。

手順37:反応するキーワードを入力する
手順37:反応するキーワードを入力する

コメントへの公開返信を入力する

「コメントへの公開返信(任意)」は、コメント欄に見える形で返す文章です。最大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つ目については、画像のように「届いてなかったら『リクエスト』フォルダ見てね」と書いておくのが実用的です。

手順38:コメントへの公開返信を入力する
手順38:コメントへの公開返信を入力する

③ 最初のDMの本文を入力する

「③ コメントがきたら、このDMを送る」が、相手が最初に受け取るDMです。

「📝 新しく作る」と「📂 作り置きから選ぶ」があり、ここでは新しく作ります。画像を付けることもできます(任意)。

最初から「コメントありがとう!🎁/下のボタンから特典を受け取ってね」という文章が入っています。特に決まっていない方は、画像と同じこの文章のままでOKです。

右側に「Instagram DM プレビュー」が常に出ているので、相手にどう見えるかを確認しながら書けます。

手順39:③ 最初のDMの本文を入力する
手順39:③ 最初のDMの本文を入力する

ボタンの文字を入力する

DMの下に付くボタンの文字です。初期値は「特典を受け取る」です。

欄の下に「このボタンを押すと フォロー確認 → 特典DMが送信されます」と書かれています。

手順40:ボタンの文字を入力する
手順40:ボタンの文字を入力する

④ フォロー確認のON/OFFを切り替える

「④ フォローしている人だけに特典を配る」は最初からONになっています。

画面の説明はこうです。
OFF: ボタンを押したら即特典DMを送信
ON: ボタンを押したらフォロー確認 → フォロー済みのみ特典DM、未達は別DMで案内

フォローを条件にしたくない場合は、ここのチェックを外します。

手順41:④ フォロー確認のON/OFFを切り替える
手順41:④ フォロー確認のON/OFFを切り替える

フォロー未達の人に送るDMを入力する

手順41をONにしている場合だけ使う文章です。

初期値は「まずは @ をフォローしてから、もう一度このボタンを押してね」、ボタンの文字は「フォローしたよ」です。

初期値の「@」のあとは空白のままなので、自分のアカウント名を書き足しておくと親切です。

手順42:フォロー未達の人に送るDMを入力する
手順42:フォロー未達の人に送るDMを入力する

⑤ 特典DMの本文と誘導先URLを入力する

「⑤ 特典DM(ボタン押下後に送る)」が、フォロー確認を通った人に届く最後のDMです。

初期値は「フォローありがとうございます!🎉/特典はこちらのリンクから👇」です。

その下の「誘導先 URL *」は必須です。特典を置いているページのアドレスを入れます。欄の案内は「https://line.me/R/ti/p/@xxx または https://example.com/lp」です。https:// で始まらないと保存できません。

画像は https://example.com/ を入れた記入例です。ボタンの文字の初期値は「LINEで受け取る」なので、渡すものに合わせて書き換えてください。

手順43:⑤ 特典DMの本文と誘導先URLを入力する
手順43:⑤ 特典DMの本文と誘導先URLを入力する

⑥ フォローアップDM(使わないならそのまま)

「⑥ フォローアップDM(任意・最大3本)」は、特典DMのあとに時間差でもう一通送る機能です。

画面の説明は「特典DMが届いた後に、時間差でもう一通送ります。」「Meta の 24時間ルール に収まる範囲で 24h × 60 = 1440分まで。」です。

使わない場合は「0/3」のまま、何もせずに次へ進みます。

画像なし(例外)

※ 入力欄は「+ フォローアップを追加」を押すと現れるため、画像はありません。

「キャンペーン作成」を押す

一番下の「キャンペーン作成」を押すと、キャンペーンができます。

⚠️ 押した瞬間から稼働します

作成したキャンペーンは、その時点から実際にコメントに反応します。手順36で対象リールを空欄のままにしていた場合は、全ての投稿が対象です。試すだけのつもりなら、押す前にもう一度、対象リールとキーワードを確認してください。止め方はこのあとの手順47・48です。

手順45:「キャンペーン作成」を押す
手順45:「キャンペーン作成」を押す

作成後の画面を確認する

作成すると詳細画面が開きます。上に「稼働中」と出ていれば動いている状態です。

「📊 配信フロー」は、反応 → DM配信 → ボタン押下 → 特典配信 → URLタップ → LINE追加の各段階が、どこまで進んだかを横棒で見る画面です。

その下の「⚙️ 設定」で、何に反応するか・対象投稿の件数・フォロー確認のON/OFF・特典URL・公開返信の内容を、あとから見返せます。

画像の数値・投稿サムネイル・キャンペーン名は、こちらのアカウントの実データのため伏せています。

手順46:作成後の画面を確認する
手順46:作成後の画面を確認する

一時停止で止める

画面の右上に「一時停止」があります。押すと止まり、コメントが来ても反応しなくなります。

もし、間違えて公開してしまったら

まずこの「一時停止」を押してください。設定を消さずに動作だけを止められます。直したあとで、また稼働中に戻せます。

手順47:一時停止で止める
手順47:一時停止で止める

削除する(消してよいときだけ)

完全に消すときは、右上の「削除」です。押すと「このキャンペーンを削除しますか?この操作は取り消せません。」と確認が出ます。

⚠️ 先に「一時停止」で十分か考えてください

削除は取り消せません。設定を残したまま止めたいだけなら、手順47の「一時停止」で足ります。

手順48:削除する(消してよいときだけ)
手順48:削除する(消してよいときだけ)

Part 8 — コメントルール

コメントルールは、キャンペーンとは別に「このキーワードのコメントには、この文章で公開返信する」を単体で作る機能です。サイドメニューには出ていないため、アドレスを直接開きます。

⚠️ 先に正直にお伝えします

2026年8月6日にこのガイド用の画面で検証したところ、ルールの「作成」を押した時点で「保存に失敗しました」と表示され、ルールを作れませんでした(2回とも同じ結果)。原因はIG Harness側の処理にあると考えられます。そのため、このPartは入力画面までの手順をご案内し、作成できることを断定しません。手順54に、失敗したときの対応を書いています。

コメントルールの画面を開く

管理画面のアドレスの末尾に /comment-rules を付けて開きます。ダッシュボードの「クイックアクション」にある「コメントルール」からも行けます。

画像なし(例外)

※ アドレスは人によって違うため、画像はありません。開いた画面は、次の手順50の画像で確認できます。

「+ 新規ルール」を押す

「コメントルール/Instagramコメントへの自動返信ルールを管理」という画面です。右上の「+ 新規ルール」を押します。

1件もないときは、中央の「+ 最初のルールを作成」からでも同じ画面が開きます。

手順50:「+ 新規ルール」を押す
手順50:「+ 新規ルール」を押す

ルール名・キーワード・返信テキストを入力する

「新規ルールを作成」のフォームが開きます。埋めるのは3か所です。

「ルール名 *」(必須)— 欄の案内は「例: 価格問い合わせ自動返信」
「キーワード」— 欄の案内は「例: 価格」
「返信テキスト」— 欄の案内は「自動返信するメッセージを入力」

「対象投稿 (省略可)」を空にしておくと、画面の説明どおり「省略時: すべての投稿への該当キーワードコメントに反応」になります。

その下の「🎯 すべてのコメントに反応(キーワード不要)」にチェックを入れると、キーワードなしで全部のコメントに反応します(説明は「対象投稿が指定されていれば、その投稿への全コメント。未指定なら全投稿の全コメント」)。最初はチェックを入れないことをおすすめします。

画像は、返信テキストに「お問い合わせありがとうございます。DMで詳細をお送りしました。」と入れた記入例です。

手順51:ルール名・キーワード・返信テキストを入力する
手順51:ルール名・キーワード・返信テキストを入力する

マッチタイプを選ぶ

キーワードの右にある「マッチタイプ」で、言葉の拾い方を決めます。

「部分一致」(最初から選ばれています)— コメントの中にその言葉が含まれていれば反応
「完全一致」— コメントがその言葉だけのときに反応
「正規表現」— 書き方のルールを使って細かく指定(慣れている方向けです)

迷ったら「部分一致」のままでOKです。

なお「レスポンスタイプ」は「テキスト」と「画像 (URL)」の2つです。文章で返すなら「テキスト」のままにします。「遅延 (秒)」は、返信までの待ち時間です(初期値0)。

手順52:マッチタイプを選ぶ
手順52:マッチタイプを選ぶ

「作成後すぐに有効にする」のチェックを外す

「作成」ボタンのすぐ上にある「作成後すぐに有効にする」は、最初からチェックが入っています。

このままだと、作った瞬間から実際のコメントに反応します。まず動きを確かめたい方は、ここのチェックを外してから作成してください。あとから一覧の「有効にする」で動かせます。

手順53:「作成後すぐに有効にする」のチェックを外す
手順53:「作成後すぐに有効にする」のチェックを外す

「作成」を押す

「作成」を押します。うまくいけば、下の一覧にルールが追加されます。

もし、「保存に失敗しました」と表示されたときは

このガイドの検証時(2026年8月6日)も、この表示が出てルールを作成できませんでした。入力内容の問題ではなく、IG Harness側の処理で起きているものと考えられます。同じ表示が出たときは、キーワードでの自動返信をキャンペーンの「コメントへの公開返信」(手順38)で代わりに作れます。あわせて、下のGitHub Issuesに状況を報告しておくと確実です。

▼ 不具合の報告はこちら(GitHub Issues・新しいタブで開きます)

https://github.com/Shudesu/ig-harness-oss/issues

もし、間違えて有効にしてしまったら

一覧に出ているルールの「無効にする」を押せば止まります。消すときは「削除」で、「このルールを削除しますか?」と確認が出ます。

手順54:「作成」を押す
手順54:「作成」を押す

Part 9 — シナリオ

シナリオは、DMを自動で配信するまとまりです。コメントルールと同じく、サイドメニューには出ていません。

シナリオの画面を開く

管理画面のアドレスの末尾に /scenarios を付けて開きます。ダッシュボードの「クイックアクション」の「シナリオ」からも行けます。

画像なし(例外)

※ アドレスは人によって違うため、画像はありません。開いた画面は、次の手順58の画像で確認できます。

「+ 新規シナリオ」を押す

シナリオの画面の右上にある「+ 新規シナリオ」を押します。押すと、下に「新規シナリオを作成」のフォームが開きます。

画像なし(例外)

※ この手順はボタンを1つ押すだけのため、画像はありません。ボタンの位置と、開いたあとの画面は、手順58の画像で確認できます(画像の右上が「+ 新規シナリオ」です)。

シナリオ名を入力する

「シナリオ名 *」に、自分が後から見て分かる名前を入れます。欄の案内は「例: ウェルカムDMシナリオ」です。

画像なし(例外)

※ この手順は名前を1つ入力するだけのため、画像はありません。入力する欄は、手順58の画像のいちばん上にある「シナリオ名 *」です。

トリガータイプを選ぶ

「トリガータイプ」で、何をきっかけに動かすかを選びます。選べるのは4つです。

手動
フォロワー追加時 (friend_add)
DMキーワード (dm_keyword)
コメント (comment)

⚠️ ここも「作成後すぐに有効にする」が最初からONです

そのまま「作成」を押すと、その時点から動きます。試すだけならチェックを外してから作成し、あとから「有効にする」で動かしてください。間違えて有効にしてしまったときは、一覧の「無効にする」で止まります。

「フォロワー追加時」は、フォローされた瞬間にこちらからDMを送るという意味ではありません。Instagramの仕様上、相手からコメントやDMで先に接触がないとDMは送れません(Part 13 で扱います)。

手順58:トリガータイプを選ぶ
手順58:トリガータイプを選ぶ

Part 10 — DMテンプレートと画像

同じDMを何度も書かなくて済むように、文面と画像をあらかじめ用意しておけます。

DMテンプレートの一覧を見る

左メニューの「DMテンプレート」です。画面の説明は「キャンペーンで使い回せる DM の土台(画像+テキスト+ボタン)」。

カードごとに「編集」「テスト配信」「削除」が並びます。ここで作ったものが、キャンペーン作成画面の「📂 作り置きから選ぶ」に出てきます(手順39・手順43)。

画像のテンプレート本文は、こちらのアカウントの実データのため伏せています。

⚠️ 「テスト配信」は本物のDMです

押すと実際にDMが送られます。中身を直すだけなら「編集」を使ってください。

手順59:DMテンプレートの一覧を見る
手順59:DMテンプレートの一覧を見る

画像をアップロードする

左メニューの「画像ギャラリー」です。右上の「+ アップロード」から画像を追加します。

画面の説明は「R2 にアップロード済みの画像(リッチメッセージで使用)」です。ここに入れた画像が、キャンペーンやDMテンプレートの「+ 画像を選択(任意)」で選べるようになります。

画像の既存ファイルは、こちらのアカウントの実データのため伏せています。

手順60:画像をアップロードする
手順60:画像をアップロードする

Part 11 — フォロワーとチャット

届いた相手を確認したり、1:1で返事をしたりする場所です。

フォロワー一覧を見る

左メニューの「フォロワー」です。画面の説明は「Instagramフォロワーの管理」。

上の欄で「ユーザー名・名前で検索」ができ、「タグ:」で絞り込めます。下に件数と「前へ/次へ」のページ送りが出ます。

ここに並ぶのは、IG Harnessがやりとりを通じて把握した相手です。Instagramのフォロワー全員が最初から入っているわけではありません。

画像の氏名・ユーザー名・アイコンは、実在の第三者のため全て伏せています。

手順61:フォロワー一覧を見る
手順61:フォロワー一覧を見る

チャットで1対1の返信をする

左メニューの「チャット」です。左の一覧から相手を選ぶと、真ん中に会話が出ます。

下の「メッセージを入力...」に文章を書いて「送信」を押すと、その相手にDMが届きます。右側には相手の「ステータス」「IGSID(アイジーエスアイディー)」「登録日」と、「Instagram プロフィール ↗」へのリンクが出ます。

IGSIDは、その相手を見分けるためにInstagram側が付けている番号です(相手には見えません)。

画像の会話履歴・氏名・アイコンは、実在の第三者のため全て伏せています。

⚠️ 「送信」を押すと、本物のDMが相手に届きます

練習のつもりで押さないでください。文面を確かめたいだけなら、下書きのまま送信ボタンを押さずに画面を離れれば大丈夫です。

手順62:チャットで1対1の返信をする
手順62:チャットで1対1の返信をする

Part 12 — 設定

つないでいるInstagramアカウントと、外部サービスの接続先を管理する画面です。

Instagramアカウントと接続先を確認する

左メニューの「設定」です。画面の説明は「Instagram アカウントと外部サービスの連携を管理」。

上の「📷 Instagram アカウント」に、つないでいるアカウントが表で並びます。「アカウント」「IG User ID」「トークン」「トークン期限」「状態」「操作」の6列です。既定で使うアカウントには「デフォルト」と付きます。説明のとおり「複数の IG アカウントを登録すると、サイドバーの切替で各アカウントのデータを管理できます」。

「トークン更新」は、Metaで作り直したアクセストークンを入れ替えるためのボタンです。普段の運用で押す必要はありません。トークンの期限が切れたときに使います。

下の「🔗 LINE Harness 接続先」は、特典リンクを別のツールにつなぐための欄です。使っていない場合は「接続先が未登録です。下のフォームから追加してください」と表示されます。使う予定がなければ、そのままで問題ありません。

画像のIG User ID・トークン・トークン期限は伏せています。

⚠️ ここの追加・削除・変更は慎重に

接続しているアカウントを「停止」したり消したりすると、キャンペーンが動かなくなります。触る前に、何が止まるかを確認してください。

手順63:Instagramアカウントと接続先を確認する
手順63:Instagramアカウントと接続先を確認する

Part 13 — 知っておくべき制約と正直な限界

この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)。同じ目的はキャンペーンの「コメントへの公開返信」で代替できます。

成果についてはお約束できません。このガイドは「仕組みを動かすところまで」を扱います。届く数・反応の数は、投稿の内容や相手の設定によって変わります。

Part 14 — 困ったときは

もし、セットアップの途中で失敗したら

もう一度 npx create-ig-harness を実行してください。ターミナルに 「前回の途中から再開します(完了済み: …)」と表示され、済んだところは飛ばして 続きから始まります。途中でやめたときに出る「セットアップをキャンセルしました」のあとも 同じです

もし、環境チェックで止まったら

実際に出るメッセージは次のとおりです。

Node.js 20 以上が必要です(現在: {バージョン})
npx が見つかりません。Node.js をインストールしてください。

どちらも Part 2 に戻って、Node.jsを入れ直せば解決します

もし、Cloudflareの認証で止まったら

実際に出るメッセージは次のとおりです。

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/issues

Part 8 の「保存に失敗しました」のように、画面の表示と実際の動きが食い違うときは、 Issues に画面の文言をそのまま書いて報告すると早く進みます