
Flows est un puissant moteur d’automatisation par glisser-déposer pour créer des flux de communication. Nous l’avons initialement conçu comme une solution sans code, mais nous avons constaté que de nombreux utilisateurs pouvaient obtenir un comportement très puissant en écrivant un peu de code pour des cas d'utilisation spécifiques. Ces morceaux de code peuvent être à l'intérieur de Flow Builder, ou ils peuvent être des fonctions cloud tierces comme les fonctions AWS Lambda ou les fonctions Google Cloud.
Business in a box.
Découvrez nos solutions.
Parlez à notre équipe de vente
Ceci est une simple démonstration utilisant GoogleCloud Functions et Flows pour faire de la reconnaissance d'image sur une image envoyée sur Telegram.
Flows et au-delà
En tant que développeur de Flows, je me demande souvent qui sont nos utilisateurs, pourquoi ils utilisent Flows, et ce dont ils ont besoin pour atteindre leurs objectifs ; et ensuite, quelles fonctionnalités nous devons mettre en œuvre pour mieux servir ces utilisateurs.
Flows est un puissant moteur d'automatisation par glisser-déposer pour créer des flux de communication. Nous l'avons initialement conçu comme une solution sans code, mais nous avons constaté que de nombreux utilisateurs pouvaient obtenir un comportement vraiment puissant en écrivant du code pour des cas d'utilisation spécifiques. Ces morceaux de code peuvent être à l'intérieur de Flows, ou ils peuvent être des fonctions cloud tierces comme les fonctions AWS Lambda ou les Google Cloud Functions.
Un cas d'utilisation intéressant : la reconnaissance d'images
Pour un exemple court et amusant, je vais vous montrer comment mettre en œuvre une application qui reconnaît les hot dogs. Nous allons configurer un flux dans Flows, qui recevra des images des utilisateurs et décidera si elles ont envoyé un hot dog ou non.
Pour bon nombre de nos clients, ce type de reconnaissance d'images peut être très puissant. Imaginez que vous dirigez un service de livraison et que vous vouliez vérifier automatiquement les livraisons réussies. Comme ce que je vais vous montrer, vous pourriez utiliser des données de localisation, des photos de colis, et même des signatures de destinataires pour créer un flux de vérification dans Flows.
Un plan pour le succès
Configuration de la Google Cloud Function
Tout d'abord, nous devrons configurer une fonction cloud. Pour démarrer rapidement, créez une fonction cloud en utilisant ce tutoriel : https://cloud.google.com/functions/docs/quickstart-console. En tant que ‘Trigger’, choisissez le déclencheur HTTP, environnement d'exécution : Node.js 10, et insérez le code dans le champ source. C’est un code simple, qui vérifie si la requête contient du code JSON et répond par oui ou non.

Ensuite, vous devrez déployer cette fonction. Pour la tester dans Google Cloud Platform, suivez les étapes du tutoriel.
Pour tester depuis votre navigateur, allez à l'URL suivante en insérant l'adresse spécifique de votre fonction :
https://votre-adresse-de-fonction.cloudfunctions.net/HotDogOrNot/?url=hello
devrait retourner {“isHotDog”: true} et l'adresse https://votre-adresse-de-fonction.cloudfunctions.net/HotDogOrNot
devrait retourner {“isHotDog”: false}.
Bien joué ! Vous avez configuré une fonction cloud Google. Maintenant, nous devons rendre notre fonction cloud plus intelligente.
Configuration de l'API Google Vision
Pour le rendre plus intelligent, ajoutons la reconnaissance d'images. À cette fin, nous utiliserons le Google Vision API. Pour commencer, suivez les étapes 1 à 4 de ce tutoriel : https://cloud.google.com/vision/docs/quickstart-client-libraries. Dans le tutoriel, vous activerez l'API Vision et créerez un compte de service pour l'utiliser.
Maintenant, revenez à la fonction cloud que vous avez créée. Activez « Variables d'environnement, réseaux, délais et plus » et dans le fichier « Compte de service » choisissez le compte de service VisionAPI que vous venez de créer. Nous pouvons maintenant accéder à l'API Vision dans notre fonction.

Modifions maintenant le code. Dans un onglet « Package.json », insérez ce code. Cela ajoutera la bibliothèque Google Vision API comme dépendance à votre fonction.
Dans l'onglet "Index.js", mettez à jour le code existant avec l'extrait de code suivant.

Quelle est la différence par rapport à la version précédente ? Nous avons ajouté une requête à VisionAPI, qui renvoie les ‘labels’ qu'il a trouvés sur l'image. Ensuite, nous filtrons ces étiquettes par description : si elle contient « hot dog » et si elle a plus de 60% de confiance en cette étiquette. S'il reste au moins 1 étiquette après le filtrage, cela signifie que nous avons trouvé un hotdog sur l'image.
Pour comprendre comment fonctionne Google VisionAPI et à quoi ressemble la réponse, consultez leur documentation, https://cloud.google.com/vision/docs
Après cela, déployez la nouvelle version de notre fonction. Pour la tester depuis votre navigateur, trouvez n'importe quelle image de hotdog et enregistrez son URL. Allez maintenant à l'URL de votre fonction (en insérant l'adresse correcte pour votre fonction) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image
et remplacez « url_to_image » par une URL vers l'image trouvée. S'il y a un hotdog dans l'image, la page retournera {“isHotDog”: true}.
Connectons maintenant cette fonction à Flow Builder.
Créer un flux dans Flows
Connectez-vous au Tableau de bord Bird ou inscrivez-vous pour un compte si vous n'en avez pas.
Si vous êtes nouveau sur Flows et que vous n'avez aucun canal configuré, vous devrez accéder à la page de configuration des canaux et choisir de configurer le canal Telegram. J'ai choisi Telegram pour cette démo car il est facile et rapide à configurer.

Maintenant, vous avez un canal que nous pouvons utiliser dans Flows. Allez à la page Flows, créez un nouveau flux personnalisé et choisissez le déclencheur de canal « Telegram ».

Vous serez redirigé vers une page de flux où vous devrez choisir votre canal Telegram comme déclencheur, dans notre cas il s’agit de « Hotdog ». Veuillez ajouter 2 étapes : « Récupérer des variables » et « Répondre au message du canal ».
À l'intérieur de l'étape « Récupérer des variables », nous appellerons notre fonction cloud et récupérerons la réponse dans la variable « isHotDog » qui contiendra « true » ou « false » en tant que réponse de la fonction GoogleClound. Dans le champ URL, veuillez insérer l'URL de votre fonction https://your-function-address.cloudfunctions.net/HotDogOrNot
et remplissez tous les autres champs comme sur l'image du contenu de l'étape « Récupérer la variable ».
Et à l'intérieur de l'étape « Répondre au message du canal », nous répondrons au client avec un message contenant la réponse oui ou non. Pour cela, insérez dans le champ « Répondre avec message » le texte suivant « Hotdog sur l'image? {{isHotDog}}".


Si vous avez des difficultés à créer le flux, vous pouvez utiliser l'extrait suivant :

Pour le tester, envoyez une image à votre bot Telegram.
Jusqu'à présent, ça a l'air cool ! Nous avons créé un petit chatbot, qui vérifie les images envoyées par les clients. Pour le rendre plus joli, ajoutons quelques étapes supplémentaires comme indiqué ci-dessous:

Si vous avez des difficultés à créer le flux, vous pouvez utiliser l'extrait suivant :
Résultats


Bien que ce soit un exemple amusant, nous croyons que ce type de fonctionnalité peut être très utile pour nos utilisateurs.
Si vous souhaitez plus de fonctionnalités comme celle-ci intégrées dans Flows, écrivez à notre équipe de support pour nous le faire savoir.