n8n : utiliser l'API SMS de Free mobile pour vos workflows

Saviez-vous que Free met à disposition une API SMS pour envoyer des notifications SMS directement sur votre téléphone ?
Note : L’API permet d’envoyer des notifications uniquement à votre numéro de téléphone Free, elle ne permet pas d’envoyer des SMS à d’autres numéros, mais c’est parfait pour un système de notification.
Activer la fonctionnalité “notification par sms”
Bien entendu, il faut disposer d’un numéro de téléphone Free pour accéder à cette fonctionnalité. Ensuite, il faut vous rendre dans les paramètres de votre compte Free mobile (https://mobile.free.fr/account/mes-options):
Activer la fonctionnalité (dans “mes options > notification par sms”) :
Copier la clé API pour le besoin juste après.
Utiliser l’API dans n8n
Pour l’exemple, on va créer un workflow qui notifie par sms. On va faire en sorte que ce workflow s’exécute, par le biais d’un autre workflow.
On va créer ceci :
Faire un node Set avec les variables suivantes :
On va définir :
- user => votre numéro d’utilisateur Free mobile
- pass => la clé API de notification SMS
Pourquoi ne pas définir sous forme de Credential ?
Les variables, user, pass et mess sont directement encoder dans l’url, pour le moment d’après mes recherches, on peut pas créer de Credential n8n pour les mettre directement dans une URL. Si j’ai faux, merci de me le signaler en commentaire 😄.
Comme nous allons envoyer le message comme variable dans l’url, nous allons créer un node pour encoder le message dans l’url :
Le code :
{{ encodeURIComponent( $json["mess"]) }}
Ensuite, un node HTTP request :
L’URL avec les variables :
https://smsapi.free-mobile.fr/sendmsg?user={{$json.user}}&pass={{$json.pass}}&msg={{$json.mess}}
Pour pouvoir l’utiliser à partir d’un autre workflow on va utiliser le trigger “Execute Workflow Trigger”. Ce trigger prend en paramètre le résultat d’un node précédent, on va le voir après, lors d’un déclenchement à partir d’un autre workflow.
Test avec un autre workflow
Dans le node “Envoi message” on crée une variable “mess” avec notre message test qui sera pris en paramètre du précédent workflow.
Pour le node execute Workflow :
Dans Workflow ID on va mette l’ID du workflow.
Comment obtenir l’ID ?
Tout simplement avec l’URL du Workflow en question :
https://n8n.monlab.fr/workflow/4LjGtoFyzPKgn2xr
Voici un exemple de résultat si c’est ok :
Conclusion
On a vu dans ce tutoriel :
- Comment activer les notification SMS avec Free mobile
- Comment envoyer un SMS de notification avec l’API
- Comment exécuter un workflow avec un autre