Comment utiliser Flows avec Google Vision API et Google Cloud Functions
Oiseau
6 oct. 2020
Constructeur de flux
1 min read

Points Clés
Flows est plus qu'un outil sans code — c’est un moteur d'automatisation flexible qui vous permet d'étendre les workflows avec du code en utilisant des services externes comme Google Cloud Functions ou AWS Lambda.
Ce tutoriel démontre comment créer un chatbot Telegram qui utilise Google Vision API pour identifier des images (comme détecter si une photo contient un hotdog 🥪).
L'exemple montre comment Flows peut facilement se connecter à des API de reconnaissance d'image pour traiter le contenu soumis par les utilisateurs automatiquement.
Les développeurs peuvent tirer parti de cette architecture pour créer des automatisations dans le monde réel, telles que la vérification de livraison, les contrôles d'identité ou les workflows de contrôle qualité.
Intégrer Google Vision API dans une fonction Cloud permet des informations basées sur l'IA (détection d'objets, confiance des étiquettes, extraction de métadonnées) sur lesquelles Flows peut agir dynamiquement.
L'étape « Fetch Variables » dans Flow Builder est le pont — elle appelle la fonction cloud et stocke la réponse de l'API pour une utilisation ultérieure dans la conversation.
Les blocs de réponse peuvent utiliser des variables comme {{isHotDog}} pour personnaliser les réponses, transformant les données brutes en messages contextuels de chat.
Bien que la démo soit ludique, elle démontre comment les développeurs peuvent mélanger la logique sans code avec des fonctions serverless pour débloquer des capacités d'automatisation puissantes à travers les canaux de messagerie.
Points forts des Q&A
Qu'est-ce que Flow Builder ?
Flow Builder (ou Flows) est le moteur d'automatisation visuelle de Bird pour créer des flux de communication sur plusieurs canaux — aucun code n'est requis, bien qu'il puisse être étendu avec du code personnalisé.
Pourquoi utiliser Google Cloud Functions avec Flows ?
Les fonctions Cloud vous permettent d'exécuter du code sans serveur pour traiter des données (comme l'analyse d'images ou la récupération de données d'une API externe) et de réinjecter les résultats dans votre flux.
Que fait Google Vision API dans cette configuration ?
Il effectue une analyse d'image — identifiant des objets, des étiquettes ou des concepts (comme « hot dog ») — et renvoie des données structurées à votre Flow.
Comment puis-je connecter une fonction Cloud à Flow Builder ?
Utilisez l'étape Fetch Variables pour appeler le point de terminaison HTTPS public de la fonction. La réponse (par exemple,
{ "isHotDog": true }) peut être utilisée dans des étapes ultérieures.Peut-on l'utiliser pour des cas commerciaux réels ?
Absolument. La même approche peut valider les photos de livraison, détecter les articles endommagés, reconnaître les documents ou vérifier les médias téléchargés.
Qu'est-ce qui rend cette intégration puissante ?
Il combine AI vision, flexibilité serverless, et communication multicanal, permettant des automatisations plus intelligentes sans maintenir d'infrastructure.
Ai-je besoin d'expérience en codage pour suivre ?
Une familiarité de base avec JavaScript (pour la fonction Google Cloud) est utile, mais la plupart du processus — de la connexion des canaux à la logique de flux — est visuel et adapté aux débutants.
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.
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 pense 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 très puissant en écrivant du code pour des cas d'utilisation spécifiques. Par exemple, vous pouvez créer des flux qui génèrent automatiquement des pistes et des cas dans Salesforce en fonction des interactions des clients sur plusieurs canaux. Ces morceaux de code peuvent être à l'intérieur de Flows, ou ils peuvent être des fonctions cloud tiers comme les fonctions AWS Lambda ou les Google Cloud Functions.
Un cas d'utilisation intéressant : Reconnaissance d'image
Pour un exemple court et amusant, je vais vous montrer comment implémenter une application qui reconnaît les hot-dogs. Nous allons configurer un flux dans Flows, qui recevra des images des utilisateurs et décidera, s'ils ont envoyé un hot-dog ou non.
Pour beaucoup de nos clients, ce type de reconnaissance d'image peut être très puissant. Imaginez que vous dirigez un service de livraison et que vous souhaitez vérifier automatiquement les livraisons réussies. Semblable à ce que je vais montrer, vous pourriez utiliser des données de localisation, des photos de colis et même des signatures de réception 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, suivez le tutoriel rapide des Cloud Functions de Google. Comme « Déclencheur », choisissez le déclencheur HTTP, environnement d'exécution : Node.js 10, et dans le champ du code source, insérez le bout de code. 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 sur 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-fonction.cloudfunctions.net/HotDogOrNot/?url=hello devrait renvoyer {“isHotDog”: true} et l'adresse https://votre-adresse-fonction.cloudfunctions.net/HotDogOrNot devrait renvoyer {“isHotDog”: false}.
Bravo ! 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 dans le guide de démarrage rapide de Vision API. Dans le tutoriel, vous activerez le Vision API et créerez un compte de service pour l'utiliser.
Retournez maintenant à la fonction de cloud que vous avez créée. Activez "Variables d'environnement, mise en réseau, délais d'expiration, etc." 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 à l'intérieur de notre fonction.

Maintenant, modifions le code. Sur un onglet "Package.json", insérez ce code. Cela ajoutera la bibliothèque Google Vision API comme dépendance à votre fonction.
sur 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 labels par description : s'il contient « hot dog » et s'il a plus de 60% de confiance dans ce label. S'il reste au moins 1 label après filtrage, cela signifie que nous avons trouvé un hotdog sur l'image.
Pour comprendre comment fonctionne le Google Vision API et pour voir des réponses d'exemple, consultez la documentation officielle de Vision API.
Ensuite, déployez la nouvelle version de notre fonction. Pour la tester depuis votre navigateur, trouvez une image de hotdog et enregistrez son URL. Allez maintenant à l'URL de votre fonction (en insérant la bonne adresse 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 renverra {« 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 vous rendre sur la page de configuration des canaux et choisir de configurer le canal Telegram. J'ai choisi Telegram pour cette démo parce qu'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 devriez choisir votre canal Telegram comme déclencheur, dans notre cas c'est "Hotdog". Veuillez ajouter 2 étapes : "Fetch variables" et "Reply to channel message".
À l'intérieur de l'étape "Fetch variables", nous appellerons notre fonction cloud et récupérerons la réponse dans la variable "isHotDog" qui contiendra "true" ou "false" comme réponse de la fonction GoogleClound. Dans le champ URL, veuillez insérer l'URL vers votre fonction https://your-function-address.cloudfunctions.net/HotDogOrNot et remplir tous les autres champs comme sur l'image "Fetch variable step content".
Et à l'intérieur de l'étape "Reply to channel message", nous répondrons au client avec un message contenant la réponse oui ou non. Pour cela, insérez dans le champ "Reply with 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 chat bot, 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 pensons 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.



