Aller au contenu
FormFlow

Publier les soumissions dans un canal Microsoft Teams ou Discord

Ajoutez un point de terminaison de webhook dans l'onglet Livraison d'un formulaire, choisissez Message Teams ou Message Discord et collez une adresse de webhook qui vous appartient. C'est un format de charge utile, pas une intégration native avec Teams ou Discord.

Cet article a été traduit automatiquement. Lire l'original en anglais

A dark plate titled 'Post Submissions to a Microsoft Teams or Discord channel', listing a webhook endpoint set to Teams message or Discord message, the Form's name and up to five answers, answers as plain text, and a link to the Submission.

FormFlow peut publier un court message dans un canal Microsoft Teams ou Discord chaque fois qu'un formulaire reçoit une soumission. Il le fait via un point de terminaison de webhook, le même mécanisme que celui qui transmet les soumissions à n'importe quelle URL qui vous appartient ; seul le choix Envoyer comme change. Ce n'est pas une intégration native avec Teams ou Discord : il n'y a aucune application à installer et aucun sélecteur de canal. Vous collez une adresse de webhook, et FormFlow lui envoie un message dans le format attendu par ce service. La version Slack de cette configuration est décrite dans Envoyer les soumissions à Slack via un webhook. Les formats Teams et Discord sont arrivés ensemble dans la version v1.73.12.

Ce qu'il vous faut d'abord

  • Un formulaire de votre équipe que vous pouvez modifier.

  • Pour Teams : un flux de travail Teams créé à partir du modèle "Post to a channel when a webhook request is received", avec "Who can trigger" réglé sur "Anyone". Créez-le dans Teams en suivant la documentation de Microsoft ; cet article ne couvre que le côté FormFlow.

  • Pour Discord : l'URL du webhook indiquée dans les paramètres d'Intégrations de votre canal. Les canaux de forum et de médias ne sont pas pris en charge.

  • Une adresse https. FormFlow refuse le http simple pour les points de terminaison de webhook.

Ajoutez le point de terminaison

  1. Ouvrez le formulaire et allez dans son onglet Livraison.

  2. Repérez Points de terminaison du webhook et choisissez Ajouter un point de terminaison.

  3. Dans le champ Envoyer comme, choisissez Message Teams ou Message Discord. La valeur par défaut est FormFlow JSON (signé) : ce choix est donc toute la différence entre un point de terminaison de messagerie et un webhook ordinaire.

  4. Le champ d'URL s'intitule désormais URL du webhook entrant. Collez-y l'URL du flux de travail Teams ou celle du webhook Discord. Le champ est masqué pendant la saisie, et vous pouvez l'afficher pour vérifier ce que vous avez collé.

  5. Laissez Livrer activé. Il l'est par défaut ; désactivez-le pour arrêter la livraison vers ce point de terminaison.

  6. Enregistrez le formulaire.

Le texte d'aide sous Envoyer comme indique quelle adresse coller pour le format choisi, et précise qu'elle est stockée chiffrée et jamais renvoyée par e-mail. La ligne repliée du point de terminaison affiche le nom du format plutôt que l'adresse, de sorte que l'URL ne reste pas en clair sur toute la page.

Envoyez un test

Chaque ligne de point de terminaison propose une action Envoyer le test. Elle publie une seule ligne, "FormFlow test — submissions from this form will arrive here.", à l'adresse de la ligne : sous forme de carte dans Teams, de message dans Discord. Si la requête réussit, vous voyez Test livré ; si elle échoue, vous voyez La livraison du test a échoué, avec le texte d'erreur du récepteur lui-même, tronqué à 300 caractères.

Teams accepte la requête avant l'exécution de son flux de travail : Test livré signifie donc que Teams a reçu la requête, pas qu'une carte est déjà apparue. Vérifiez le canal après votre premier envoi de test.

Deux conditions s'appliquent. Enregistrez d'abord le formulaire : un point de terminaison jamais enregistré ne peut pas être testé, et l'action vous le dit. Et chaque personne peut envoyer 20 tests de livraison par heure, échecs compris. Un test est un bouton, pas une barrière : le point de terminaison livre les soumissions que vous l'ayez pressé ou non.

Ce qui arrive dans le canal

Le message est une sonnette, pas le dossier. Les deux formats disent la même chose dans la syntaxe que lit chaque service : le nom du formulaire, jusqu'à cinq réponses, le nombre de champs laissés de côté et un lien vers la soumission dans votre panneau.

Dans Teams

  • Une carte dont la première ligne est "New submission — " suivie du nom du formulaire.

  • Jusqu'à cinq réponses, une par ligne, chacune avec un libellé en gras et une valeur.

  • Une ligne telle que "and 3 more fields" lorsque le formulaire a plus de cinq réponses.

  • Un bouton View submission qui ouvre la soumission dans votre panneau.

Chaque réponse, chaque libellé et le nom du formulaire sont envoyés en texte brut. Teams interpréterait le markdown dans un titre ou une liste de faits ; FormFlow ne les utilise donc pour rien de ce qu'a saisi la personne qui soumet le formulaire : elle ne peut pas ajouter de lien à la carte. Aucune mention n'est jamais envoyée non plus, si bien que saisir <at> dans une réponse ne notifie personne. Les libellés, les valeurs et le nom du formulaire sont chacun tronqués à 200 caractères.

Dans Discord

  • Une première ligne en gras : "New submission — " suivie du nom du formulaire.

  • Jusqu'à cinq réponses, une par ligne, chacune avec un libellé en gras et une valeur.

  • Une ligne en italique telle que "and 3 more fields" lorsque le formulaire a plus de cinq réponses.

  • Un lien View submission à la fin, qui ouvre la soumission dans votre panneau.

Les caractères markdown d'une réponse sont échappés : la personne qui soumet le formulaire ne peut donc pas créer de libellé en gras, de titre, de lien masqué ni de bloc de code. Le message demande à Discord de ne résoudre aucune mention, si bien qu'une réponse contenant @everyone ne notifie personne, et il lui demande de ne pas afficher d'aperçu de lien. Discord refuse un message de plus de 2 000 caractères ; FormFlow raccourcit les réponses avant d'atteindre cette limite, de sorte que le lien vers la soumission est conservé. Voici le texte que FormFlow envoie pour un formulaire de deux réponses :

**New submission — Contact form**

**Name:** Ada Lovelace
**Message:** Can you send a quote

[View submission](<link to the Submission in your panel>)

Sur les deux services, les espaces à l'intérieur d'une valeur sont réduits, de sorte qu'une valeur ne tient jamais que sur une seule ligne.

Limites à connaître

  • À sens unique. FormFlow envoie ; rien de ce qui se passe dans Teams ou Discord ne revient vers FormFlow.

  • Cinq réponses au maximum, de 200 caractères chacune. Pour la soumission complète, utilisez le lien ou la boîte des soumissions.

  • Teams et Discord ignorent la signature. Chaque format de webhook est signé, mais aucun des deux services ne la vérifie : il n'y a donc pas de secret de signature à copier pour ces points de terminaison.

  • Les soumissions que FormFlow classe comme spam ne sont pas transmises. Seules les soumissions acceptées et non classées comme spam parviennent à un point de terminaison de webhook.

  • Les nouvelles tentatives, le délai entre elles et la désactivation sont communs à tous les formats de webhook. Un récepteur qui échoue en continu peut voir son point de terminaison désactivé ; vérifiez donc la ligne si les messages cessent d'arriver.

  • Les canaux de forum et de médias de Discord ne sont pas pris en charge.

  • L'adresse est un identifiant secret. Quiconque détient l'URL du flux de travail Teams ou celle du webhook Discord peut publier dans ce canal. Traitez-la comme un mot de passe, et créez-en une nouvelle dans Teams ou Discord si elle fuite.

Ce que cela ne décide pas

Cela ne choisit pas votre canal et ne gère pas Teams ou Discord à votre place : l'adresse que vous collez fixe l'endroit où arrivent les messages, et cela se configure dans le service. Cela ne fait pas de la messagerie votre boîte de réception ; lire, rechercher et exporter les soumissions reste dans FormFlow. Et le message n'est pas une copie des données. Si vous avez besoin de chaque champ sous forme de données structurées, ajoutez un second point de terminaison avec le format FormFlow JSON par défaut, comme décrit dans Envoyer les soumissions à un webhook et relancer ce que votre récepteur a manqué.

Pointez votre premier formulaire vers FormFlow.

Aucun backend à construire, aucun frontend à héberger.

Commencer gratuitement