Langue: Français
Cet article décrit comment configurer une automatisation qui crée un nouvel enregistrement dans un formulaire chaque fois qu'un enregistrement est ajouté à un autre, y compris lorsque les deux formulaires appartiennent à des bases de données différentes.
Nous assumons le rôle d'un administrateur soutenant deux équipes qui partagent un processus de référencement. L'équipe Santé enregistre les références dans un formulaire Référence. Lorsqu'une référence est marquée pour le programme Nutrition, l'équipe Nutrition devrait voir un enregistrement correspondant apparaître dans son propre formulaire Admission Nutrition, sans que personne n'ait à retaper les détails.
Cela permet d'obtenir un résultat proche de Importer des enregistrements d'un formulaire ActivityInfo à un autre, mais cela s'exécute automatiquement et en continu, et uniquement pour les enregistrements qui remplissent une condition que vous choisissez, au lieu d'une importation unique que vous démarrez manuellement.
L'étape webhook intégrée d'ActivityInfo peut envoyer les détails de la référence à un autre système, mais elle ne peut pas authentifier elle-même la requête qu'elle envoie, et la création d'un enregistrement via l'API d'ActivityInfo nécessite une authentification. Ce tutoriel achemine la requête via Pipedream, une plateforme de flux de travail gratuite qui reçoit le webhook puis renvoie une requête authentifiée à ActivityInfo.
Avant de commencer
- Un formulaire Référence à surveiller, avec ces champs (n'importe quel formulaire fera l'affaire, ajustez les références de champ aux vôtres) :
| Champ | Code | Type ||---|---|---|| Nom complet | NAME | Texte | | Programme | PROGRAM | Sélection unique (les options incluent "Nutrition") |
| Champ | Code | Type ||---|---|---|| Nom complet | NAME | Texte |
- Les ID des formulaires Référence et Admission Nutrition. Ouvrez chaque formulaire et vérifiez la barre d'adresse du navigateur, ou sélectionnez Paramètres du formulaire, puis Exporter les champs, ce qui télécharge une feuille de calcul listant l'ID du formulaire à côté de l'ID et du code de chaque champ.
- Une Clé API personnelle avec la portée "Lecture & écriture".
- Un compte gratuit Pipedream.
Nous faisons référence aux champs par leur code tout au long (NAME plutôt que [Nom complet]). Si vos champs n'ont pas encore de codes, prenez une minute pour les ajouter dans le concepteur de formulaires. Les codes rendent les formules et les modèles lisibles et survivent au changement d'étiquette.
Étape 1 : Créer un flux de travail Pipedream pour recevoir le webhook
Connectez-vous à Pipedream et créez un nouveau flux de travail vierge.
Nouveau flux de travail Donnez un nom à votre nouveau projet, cliquez sur "Create project and continue", saisissez un nom de flux de travail et cliquez sur "Create Workflow".
Créer un nouveau projet
Nommer le projet
Créer un flux de travail Cliquez sur "Add Trigger" et sélectionnez New HTTP / Webhook Requests. Réglez l'autorisation sur "None". Cliquez sur "Save and continue". Pipedream génère une URL unique pour le flux de travail.
Déclencheur
Autorisation sur Aucun
URL de flux de travail personnalisée Copiez cette URL. Vous la collerez dans ActivityInfo à l'étape 5.
Étape 2 : Ajouter l'automatisation dans ActivityInfo
Ouvrez la base de données qui contient le formulaire Référence et sélectionnez "Paramètres de la base de données".
Sélectionnez le formulaire "Référence".
Sélectionnez Automatisations dans le volet de détails du formulaire et sélectionnez Ajouter une automatisation. Nommez l'automatisation "Créer un enregistrement d'admission nutrition".
Ajouter une automatisation
Étape 3 : Choisir le déclencheur
Sélectionnez Cliquez ici pour commencer.
Cliquez ici pour commencer Dans la liste des types de déclencheurs, choisissez Lors de l'ajout d'un enregistrement.
Déclencheur Lors de l'ajout d'un enregistrement Donnez une étiquette au déclencheur, par exemple "Référence ajoutée", puis sélectionnez Sélectionner un formulaire.
Étiqueter le déclencheur Choisissez le formulaire Référence, et confirmez avec Sélectionner un formulaire.
Sélectionner un formulaire Sélectionnez Terminé.
Déclencheur Lors de l'ajout d'un enregistrement
Étape 4 : Nouvelle étape pour filtrer les enregistrements du programme "Nutrition"
Sélectionnez Ajouter une étape, puis Filtre.
Ajouter une étape
Étape de filtre Donnez une étiquette à l'étape, par exemple "Références Nutrition uniquement".
Saisissez la condition :
PROGRAM == "Nutrition"
Sélectionnez Terminé.
Références Nutrition uniquement
Seules les références qui passent cette condition continuent à l'étape suivante. Voir la référence de l'étape de filtre.
Étape 5 : Envoyer la référence à Pipedream
Sélectionnez Ajouter une étape.
Ajouter une étape Sélectionnez Action.
Action Sélectionnez Déclencher un webhook.
Déclencher un webhook Donnez une étiquette à l'étape, par exemple "Envoyer à Pipedream".
Collez l'URL du flux de travail Pipedream de l'étape 1 dans le champ URL du webhook.
Laissez le Format de la charge utile sur "Standard". La requête transporte chaque champ de la référence, indexé par son code. Voir la référence de l'étape webhook pour les autres formats.
Sélectionnez Terminé.
Envoyer à Pipedream Sélectionnez Enregistrer. L'automatisation est maintenant active.
Enregistrer l'automatisation
Étape 6 : Créer l'enregistrement d'admission dans Pipedream
L'action intégrée HTTP Request de Pipedream peut appeler directement l'API d'ActivityInfo, avec les champs de l'enregistrement remplis à partir du déclencheur.
Dans le flux de travail Pipedream, sélectionnez + pour ajouter une étape, recherchez "HTTP", et ajoutez l'action Send any HTTP Request.
Ajouter une étape
HTTP / Webhook
Envoyer n'importe quelle requête HTTP Réglez Method sur
POSTet URL sur :
https://www.activityinfo.org/resources/update
Réglez Authorization Type sur "Basic Auth", saisissez n'importe quelle valeur comme Nom d'utilisateur (par exemple
activityinfo), et votre Clé API personnelle comme Mot de passe. Pipedream stocke cela de manière sécurisée.
Autorisation Sous Headers, ajoutez
Content-Typeavec la valeurapplication/json.
En-têtes Dans le Body, saisissez la requête en JSON brut, en insérant les champs de la référence depuis le déclencheur. Trouvez l'ID du formulaire Admission Nutrition en ouvrant le formulaire et en vérifiant la barre d'adresse du navigateur.
Obtenez votre ID de formulaire
Corps HTTP
{
"changes": [
{
"formId": "c753uwsmu3y7lzvb",
"recordId": "{{steps.trigger.event.body._id}}",
"deleted": false,
"fields": {
"NAME": "{{steps.trigger.event.body.NAME}}",
"INTAKE_DATE": "{{steps.trigger.event.body.REFDATE}}"
}
}
]
}
Cliquez sur "Test" pour confirmer que la requête fonctionne.
Tester la requête HTTP Après un test réussi, déployez le flux de travail.
Déployer le flux de travail
Le recordId ci-dessus réutilise le propre _id de la référence comme ID de l'enregistrement d'admission. Comme les ID d'enregistrement sont uniques sur toute la plateforme, et pas seulement dans un formulaire, c'est une valeur sûre à réutiliser dans le formulaire Admission Nutrition, et cela signifie que la même référence correspond toujours au même enregistrement d'admission au lieu d'en créer un nouveau à chaque nouvelle tentative.
Le point de terminaison update records s'authentifie de la même manière que toute autre requête API d'ActivityInfo : Authentification de base HTTP, avec n'importe quelle valeur comme nom d'utilisateur et la Clé API personnelle comme mot de passe. Un champ de sélection unique comme PROGRAM accepte l'étiquette de l'option ou son ID ; un champ de sélection multiple accepte un tableau d'étiquettes ou d'ID.
Étape 7 : Tester
Ajoutez un enregistrement de test au formulaire Référence avec Programme réglé sur "Nutrition".
Ajouter un enregistrement de test Ouvrez le formulaire Admission Nutrition et vérifiez qu'un nouvel enregistrement a été créé, avec le nom et la date repris de la référence.
Enregistrement de test ajouté Dans Pipedream, vérifiez l'historique d'exécution du flux de travail en cliquant sur les événements en direct. Un nouvel événement devrait apparaître avec l'heure exacte à laquelle le flux de travail s'est exécuté, et l'étape de la requête HTTP devrait se terminer avec succès.
Historique d'exécution Ajoutez un deuxième enregistrement de test avec un Programme différent. Aucun événement ne devrait atteindre Pipedream, et aucun enregistrement d'admission ne devrait être créé. L'étape de filtre arrête l'exécution avant que le webhook ne se déclenche.
Enregistrement de test à filtrer Allez dans les paramètres de votre base de données, sélectionnez votre automatisation, et consultez son historique.
Historique de l'automatisation
Dépannage
- ActivityInfo répond avec
401 Unauthorized. Confirmez que le type d'autorisation de l'étape de requête HTTP est "Basic Auth", avec n'importe quelle valeur comme Nom d'utilisateur et votre Clé API personnelle comme Mot de passe, et que la clé a la portée "Lecture & écriture". - Aucun événement n'atteint Pipedream. Confirmez que le flux de travail est déployé (Étape 6), et que l'URL du webhook collée dans l'étape Déclencher un webhook (Étape 5) correspond exactement à l'URL du déclencheur de Pipedream. Vérifiez également l'historique de l'automatisation pour voir le statut.
- Le webhook ne se déclenche jamais, même pour une référence "Nutrition". Vérifiez la condition du filtre pour une correspondance exacte :
PROGRAM == "Nutrition"compare avec l'étiquette de l'option (ou le code, si le champ en a un) exactement comme elle apparaît dans le formulaire, y compris la casse et les espaces.
Aller plus loin
- Gardez les deux enregistrements synchronisés lors des modifications, pas seulement lors de la création : ajoutez une deuxième automatisation en utilisant le déclencheur En cas de modification d'un enregistrement, pointant vers le même flux de travail Pipedream. Comme l'ID de l'enregistrement d'admission est toujours dérivé de l'ID de la référence, la même action de requête HTTP met à jour l'enregistrement d'admission existant au lieu d'en créer un nouveau.