FwrdのロゴFwrdApp Storeでダウンロード

AIエージェントにSMSの認証コードを読ませる方法

Fwrd ·

AIエージェントは、iPhoneのSMSを自分では読めないので、コードを渡します。ショートカットの「メッセージ」のオートメーションが、コードのSMSを1通ずつFwrdに渡し、FwrdがiPhoneから、エージェントが届くエンドポイントへ投稿します。エンドポイントは、n8nのWebhookノードや小さなサーバーなどです。エージェントは、正規表現で数字を取り出して入力します。ご自分のアカウント、または自動化する権限のあるアカウントだけで使ってください。

必要なもの: コードが届く番号のiOS 26以降のiPhone。ショートカットアプリ(最初から入っています)。Fwrd。そして、エージェントが読める公開のHTTPSアドレスです。n8nのワークフロー、ZapierやMakeのWebhook、ご自分のサーバーなどが使えます。

AIエージェントは、iPhoneに届くSMSのコードをどう受け取りますか?

Webhook経由です。コードがiPhoneに届くと、FwrdがJSONでエンドポイントへ投稿し、エージェントがそこから読み取ります。

iOSでは、どのアプリもエージェントも、メッセージの受信トレイを読めません。その理由は、iPhoneにSMSのAPIはある?iOSでSMSを取り出す方法で説明しています。許されているのは、ご自分で設定する「メッセージ」のオートメーションです。条件に合うSMSが届いたときに動き、それを次のアクションに渡します。そのアクションがFwrdです。FwrdはSMSを、iPhoneから直接、指定されたアドレスへ送ります。アカウントも、間に入るFwrdのサーバーもありません。

コードの届け先は、エージェントの種類で決まります。

  • n8nのAI Agentワークフロー。 Webhookノードが本文を受け取り、ワークフローがそれを次へ渡します。ノードの設定は、iPhoneのSMSをn8nに転送する:Webhookノードの設定で説明しています。
  • ブラウザのエージェントや、独自のLLMエージェント。 小さなサーバーが、各SMSを届いた時刻とともに保存し、エージェントは、コードを要求したあとに、最新のコードをそこへ問い合わせます。
  • ZapierやMakeのシナリオ。 Catch Hookまたはカスタムのwebhookが、実行を開始します。各ツールの手順は、iPhoneのSMSをZapier、Make、n8nへ送信で説明しています。

ログインコードではなく、チャット型アシスタントにSMS全般を読ませたい場合は、ChatGPTやClaudeはiPhoneのSMSを読めますかをご覧ください。

エージェントにログインコードを扱わせてよいですか?

ご自分のアカウント、または自動化する権限のあるアカウントだけです。しかも、サービスがほかに良い手段を提供していない場合に限ります。

  • サービス自身のAPIトークンを優先します。 サービスがAPIキー、OAuth、サービスアカウントを提供しているなら、それをエージェントに渡してください。エージェントはログイン画面に触れず、そのトークンだけを個別に無効にできます。
  • ご自分のサインインには、パスキーや認証アプリを優先します。 SMSのコードは、ほかに手段のないログインのために取っておいてください。
  • エンドポイントを読める人は、コードを使えます。 アドレスに長い秘密の文字列を含め、使い終えたコードは削除し、エンドポイントのログは非公開にしてください。
  • サービスの規約を確認します。 自動化したサインインを禁じているサービスや、コードの共有そのものを禁じている銀行もあります。

コードのSMSをエージェントへ送る手順

コードだけを残すWebhookの送り先を追加し、続けて、コードのSMSをFwrdに渡す「メッセージ」のオートメーションを作ります。エンドポイント側の詳細は、Webhookのガイドで説明しています。

  1. FwrdにWebhookを追加します。 Fwrdを開き、「+」をタップして「Webhook」を選びます。「設定」欄に、エンドポイントのHTTPSアドレス全体を貼り付け、「テストメッセージを送信」をタップしてエンドポイントにフィールドを見せたら、チェックマークで保存します。

  2. コードだけを残します。 同じ送り先で、「転送するSMS」の「一部のSMSのみ」を選び、「コードらしいもの」をオンにします。4〜8桁のコードを含むSMSが残ります。条件は1つなので、無料プランでも使えます。

  3. 「メッセージ」のオートメーションを作成します。 iOS 27では、ショートカットアプリを開き、「ライブラリ」>「オートメーション」の順にタップして、「+」をタップします。「ショートカットを説明」が表示されたら、「編集」をタップします。「オートメーション」をタップして「メッセージ」を選び、「差出人」を「メッセージ」に変更して、スペースを1つ入力します。スペースを含むSMSなら、すべてFwrdのフィルタに届きます。iOS 26では、「オートメーション」タブを開き、「+」をタップして、「メッセージ」を選び、「メッセージが次を含む」にスペースを入力します。

  4. 確認なしで実行されるようにします。 iOS 27では、トリガーの横の矢印をタップして「実行前に確認」がオフになっていることを確認します。ⓘ>「プライバシー」で、「ロック中に実行を許可」がオンになっていることを確認します。iOS 26では「すぐに実行」を選び、「次へ」>「新規ショートカットを作成」をタップします。

  5. Fwrdのアクションを追加します。 「転送」を検索し、「メッセージをすべての送り先に転送」を追加します。「メッセージ」を「ショートカットの入力」に設定します(iOS 26では「ショートカットの入力」>「メッセージ」)。戻るをタップして保存します(iOS 26では「完了」)。

  6. これで完了です。 新しいコードのSMSが、iPhoneのロック中でも自動的にエンドポイントへ届きます。

エンドポイントは何を受け取りますか?

Content-Type: application/jsonのPOSTで、届いたままのSMSの本文を受け取ります。メッセージはcontentに入り、同じ本文が、そのフィールドを読むサービスのためにtextにも入ります。senderフィールドが付くのは、Fwrdの「設定」で「差出人を含める」をオンにし、Fwrdのアクションで「差出人」を選んだ場合だけです。

次のcurlコマンドは、Fwrdと同じリクエストを送ります。最初のコードが届く前に、エージェント側を作り込めます。

curl -X POST "https://your-endpoint.example/sms/long-secret" \
  -H "Content-Type: application/json" \
  -d '{"content": "Your code is 123456", "text": "Your code is 123456"}'

コードを取り出すには、contentの中で最初に現れる4〜8桁の数字を一致させます。

import re

match = re.search(r"\b(\d{4,8})\b", body["content"])
code = match.group(1) if match else None

本文にタイムスタンプは含まれないため、時刻はご自分の側で記録し、ログインを試みた時刻より古いコードは無視してください。同じSMSに対する送信は、すべて同じIdempotency-Keyヘッダを持つため、重複は取り除けます。n8nと小さなサーバーの動作例は、GitHubのfwrd-sms-webhook-examplesリポジトリにあります。

エージェントにコードを渡す方法

方法 コードを運ぶ人 エージェントはあなたを待つか
自分で読んで入力する あなた はい。ログインのたびに
エージェントが止まって、チャットで尋ねる あなた はい。ログインのたびに
代わりにサービスのAPIトークンを使う 誰も運ばない。コードがない いいえ
Fwrdがエンドポイントへ投稿する iPhoneが自動で いいえ

この方法でできないこと

  • それ以前に届いたコードは読めません。 オートメーションが動くのは、新しいSMSだけです。
  • 1つの番号で、同時に扱えるサインインは1回だけです。 同じ番号でコードを要求する2つのエージェントは、互いのコードを読んでしまうことがあるので、サインインの手順を順番待ちにしてください。CIやQAのパイプラインについては、iPhoneでSMSのワンタイムコードをCI・QAに渡す方法で説明しています。
  • iPhoneの電源とオンラインの状態を保ちます。 再起動後は、誰かが一度ロックを解除するまで転送が待機します。また、3日間ロックを解除しないiPhoneは自動的に再起動します。
  • Fwrdはログイン用のヘッダを送りません。 秘密の文字列はアドレスに含めてください。Fwrdは、アドレス全体をiPhoneのキーチェーンに保存します。また、IPアドレスと、.localや.internalの名前は受け付けません。
  • 一方向のみです。 Fwrdは、エージェントのためにiPhoneからSMSを送ることはできません。

AIエージェントとSMSのコードについてのよくある質問

エージェントは、ほかのSMSも読めますか?

通したものだけです。「コードらしいもの」をオンにすると、4〜8桁のコードがないSMSはFwrdが除外し、エンドポイントには届きません。

コードはFwrdのサーバーを通りますか?

いいえ。Fwrdにはアカウントも、自前のサーバーもありません。各SMSはiPhoneからご自分のHTTPSエンドポイントへ直接送られます。

ショートコードの送信元からのコードでも動きますか?

はい。オートメーションは送信元ではなくSMSの内容で一致を判断するので、連絡先にない短い番号からのコードも、Fwrdのフィルタに届きます。

料金はいくらですか?

2026年10月時点で、Fwrdは毎月15件まで無料で、1通のSMSは、いくつの送り先に届いても1件として数えます。Fwrd Proなら上限がなくなり、料金は米国で月額$4.99、または年額$29.99です。App Storeには、お使いの国または地域の通貨で価格が表示されます。

エージェントに渡すのは、電話ではなくコードです

Fwrdは、iPhoneに届いたコードのSMSを、ご自分のWebhookへJSONで投稿します。アカウントは不要で、間にFwrdのサーバーも入りません。毎月15件まで無料で転送できます。

毎月15件まで無料。Fwrd Proなら、転送とフィルタの上限がなくなり、「転送しない」リストも使えます。料金は月額$4.99、または年額$29.99で、年額プランには対象の方向けに7日間の無料トライアルがあります。

App Storeでダウンロード

iPhone · iOS 26以降