Laisser un agent IA lire les codes de vérification par SMS
Par Fwrd ·
Un agent IA ne peut pas lire seul les SMS de votre iPhone : vous lui remettez donc le code. Une automatisation Message de Raccourcis passe chaque SMS de code à Fwrd, qui le publie depuis l’iPhone vers un point de terminaison que votre agent peut atteindre, comme un nœud Webhook n8n ou un petit serveur. L’agent extrait ensuite les chiffres avec une expression régulière et les saisit. Réservez cela aux comptes qui vous appartiennent ou que vous avez le droit d’automatiser.
Ce qu’il vous faut : un iPhone sous iOS 26 ou version ultérieure avec le numéro qui reçoit les codes, l’app Raccourcis (elle est déjà sur le téléphone), Fwrd, et une adresse HTTPS publique que votre agent peut lire, comme un flux n8n, un webhook Zapier ou Make, ou votre propre serveur.
Comment un agent IA peut-il obtenir le code SMS reçu sur mon iPhone ?
Par un webhook. Le code arrive sur l’iPhone, Fwrd le publie en JSON vers votre point de terminaison, et votre agent le lit à cet endroit.
iOS ne permet à aucune app, ni à aucun agent, de lire la boîte de réception de Messages ; Existe-t-il une API SMS sur iPhone ? explique pourquoi. Ce qu’il permet, en revanche, c’est une automatisation Message que vous configurez vous-même, qui s’exécute à l’arrivée d’un SMS correspondant et le remet à l’action suivante. Fwrd est cette action. Il envoie le SMS directement depuis l’iPhone vers l’adresse que vous lui donnez, sans compte et sans serveur Fwrd au milieu.
L’endroit où le code arrive dépend de votre agent :
- Un flux n8n avec un agent IA. Un nœud Webhook reçoit le SMS et le flux le transmet. Transférer les SMS de l’iPhone vers n8n : nœud Webhook décrit la configuration du nœud.
- Un agent de navigateur ou un agent LLM sur mesure. Un petit serveur enregistre chaque SMS avec son heure d’arrivée, et l’agent lui demande le code le plus récent après en avoir demandé un.
- Un scénario Zapier ou Make. Un catch hook ou un webhook personnalisé lance l’exécution. Envoyer les SMS de l’iPhone vers Zapier, Make ou n8n couvre chaque outil.
Pour un assistant de discussion qui lit vos SMS en général, et non un code de connexion, voir ChatGPT, Claude ou Gemini peuvent-ils lire vos SMS iPhone ?.
Un agent doit-il manipuler vos codes de connexion ?
Seulement pour vos propres comptes, ou ceux que vous avez le droit d’automatiser, et seulement quand le service ne vous offre rien de mieux.
- Préférez les jetons d’API du service. Si le service propose des clés d’API, OAuth ou un compte de service, donnez-les à l’agent. Il ne touche alors jamais à un écran de connexion, et vous pouvez le révoquer séparément.
- Préférez les clés d’accès ou une app d’authentification pour votre connexion personnelle. Gardez les codes SMS pour les connexions qui n’offrent rien d’autre.
- Toute personne qui peut lire votre point de terminaison peut utiliser le code. Mettez un long secret dans l’adresse, supprimez chaque code une fois utilisé et gardez privés les journaux du point de terminaison.
- Lisez les conditions du service. Certains interdisent la connexion automatisée, et certaines banques interdisent tout partage de codes.
Comment envoyer les SMS de code à votre agent
Ajoutez une destination Webhook qui ne garde que les codes, puis une automatisation Message qui remet chaque SMS de code à Fwrd. Le guide du webhook couvre en détail le côté point de terminaison.
Ajoutez un webhook dans Fwrd. Ouvrez Fwrd, touchez + et choisissez Webhook. Collez l’adresse HTTPS complète de votre point de terminaison dans le champ Configuration, touchez Send Test Message (Envoyer un message test) pour que votre point de terminaison voie les champs, puis enregistrez avec la coche.
Ne gardez que les codes. Dans la même destination, choisissez Only Some Texts (Certains SMS seulement) sous Which Texts (Quels SMS) et activez Looks Like a Code (Ressemble à un code), qui garde les SMS contenant un code de 4 à 8 chiffres. C’est une seule condition : cela fonctionne donc avec l’offre gratuite.
Créez une automatisation Message. Sur iOS 27, ouvrez Raccourcis, touchez Bibliothèque, puis Automatisation, puis +. Si vous voyez Décrire un raccourci, touchez Modifier. Touchez Automatisation, puis Message, remplacez Expéditeur par Message et saisissez une seule espace, pour que tout SMS contenant une espace parvienne au filtre de Fwrd. Sur iOS 26, ouvrez l’onglet Automatisation, touchez +, choisissez Message et saisissez l’espace sous Le message contient.
Faites-la s’exécuter sans demander. Sur iOS 27, touchez la flèche à côté du déclencheur et vérifiez que Confirmer avant l’exécution est désactivé. Sous ⓘ, dans Confidentialité, vérifiez qu’Autoriser l’exécution en mode verrouillé est activé. Sur iOS 26, choisissez Exécuter immédiatement, puis touchez Suivant et Créer un raccourci.
Ajoutez l’action de Fwrd. Recherchez Forward et ajoutez Forward Message to All Destinations (Transférer le message vers toutes les destinations). Réglez son champ Message sur Entrée de raccourci (sur iOS 26, Entrée de raccourci, puis Message). Revenez en arrière pour enregistrer (OK sur iOS 26).
C’est tout : les nouveaux SMS de code arrivent désormais tout seuls sur votre point de terminaison, avec l’iPhone verrouillé ou déverrouillé.
Que reçoit le point de terminaison ?
Une requête POST avec Content-Type: application/json et le SMS tel qu’il est arrivé. Le message est dans content, et le même texte est repris dans text pour les services qui lisent ce champ. Un champ sender n’est ajouté que si vous activez Include Who Sent It (Inclure l’expéditeur) dans les Réglages de Fwrd et choisissez Sender (Expéditeur) dans l’action de Fwrd.
Cette commande curl envoie la même requête que Fwrd : vous pouvez donc construire le côté de l’agent avant l’arrivée d’un vrai code :
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"}'
Pour extraire le code, repérez la première suite de 4 à 8 chiffres dans content :
import re
match = re.search(r"\b(\d{4,8})\b", body["content"])
code = match.group(1) if match else None
Le corps ne contient pas d’horodatage : enregistrez l’heure de votre côté et ignorez les codes antérieurs à votre tentative de connexion. Chaque tentative pour un même SMS porte le même en-tête Idempotency-Key, ce qui vous permet d’écarter les doublons. Des exemples fonctionnels pour n8n et un petit serveur se trouvent dans le dépôt fwrd-sms-webhook-examples sur GitHub.
Les façons de remettre un code à un agent
| Méthode | Qui déplace le code | L’agent vous attend ? |
|---|---|---|
| Vous le lisez et le saisissez | Vous | Oui, à chaque connexion |
| L’agent s’arrête et vous le demande dans la discussion | Vous | Oui, à chaque connexion |
| Le jeton d’API du service à la place | Personne, il n’y a pas de code | Non |
| Fwrd le publie vers votre point de terminaison | L’iPhone, tout seul | Non |
Ce que cette configuration ne peut pas faire
- Lire les codes arrivés plus tôt. L’automatisation ne s’exécute que pour les nouveaux SMS.
- Servir une seule connexion à la fois par numéro. Deux agents qui demandent des codes sur le même numéro peuvent lire ceux de l’autre : mettez l’étape de connexion en file d’attente. Pour les pipelines de CI et de QA, Codes OTP par SMS dans la CI et l’automatisation QA avec un iPhone traite ce cas.
- Fonctionner sans que l’iPhone reste allumé et en ligne. Après un redémarrage, le transfert attend que vous le déverrouilliez une fois, et un iPhone qui n’est pas déverrouillé pendant trois jours redémarre tout seul.
- Envoyer un en-tête d’identification. Fwrd n’en envoie aucun : mettez le secret dans l’adresse ; Fwrd garde l’adresse entière dans le trousseau de l’iPhone. Il refuse aussi les adresses IP et les noms en .local ou .internal.
- Fonctionner dans les deux sens. Fwrd ne peut pas envoyer un SMS depuis l’iPhone pour votre agent.
Questions sur les agents IA et les codes SMS
L’agent peut-il aussi lire mes autres SMS ?
Seulement ceux que vous laissez passer. Avec Looks Like a Code activé, Fwrd ignore les SMS qui n’ont pas de code de 4 à 8 chiffres, et le point de terminaison ne les voit jamais.
Les codes passent-ils par les serveurs de Fwrd ?
Non. Fwrd n’exige aucun compte et n’a pas de serveur : chaque SMS va directement de l’iPhone vers votre point de terminaison HTTPS.
Cela fonctionne-t-il avec les codes des numéros courts ?
Oui. L’automatisation compare ce que dit le SMS, pas son expéditeur : les codes des numéros courts qui ne sont pas dans vos Contacts parviennent donc quand même au filtre de Fwrd.
Combien cela coûte-t-il ?
En octobre 2026, Fwrd est gratuit jusqu’à 15 transferts par mois civil, et un SMS ne compte qu’une fois, quel que soit le nombre d’endroits où il part. Fwrd Pro supprime la limite pour $4.99 par mois ou $29.99 par an aux États-Unis (prix en dollars américains, USD). L’App Store affiche le prix dans votre propre devise.
Donnez le code à votre agent, pas votre téléphone
Fwrd publie chaque SMS de code de votre iPhone vers votre propre webhook en JSON, sans compte ni serveur Fwrd entre les deux. Commencez avec 15 transferts gratuits par mois.
Gratuit jusqu’à 15 transferts par mois. Pro supprime les limites de transferts et de filtres et ajoute une liste Never Forward (Ne jamais transférer), pour $4.99 par mois ou $29.99 par an aux États-Unis (USD), avec un essai gratuit de 7 jours sur l’abonnement annuel pour les clients éligibles. L’App Store affiche le prix dans votre propre devise.
iPhone · iOS 26 ou version ultérieure