Cómo usar Flows con Google Vision API y Google Cloud Functions
Pájaro
6 oct 2020
Constructor de Flujos
1 min read

Puntos clave
Flows is more than a no-code tool — es un motor de automatización flexible que te permite extender flujos de trabajo con código utilizando servicios externos como Google Cloud Functions o AWS Lambda.
Este tutorial demuestra cómo construir un chatbot de Telegram que utiliza Google Vision API para identificar imágenes (como detectar si una foto contiene un hotdog 🥪).
El ejemplo muestra cómo Flows puede conectarse fácilmente a APIs de reconocimiento de imágenes para procesar automáticamente el contenido enviado por el usuario.
Los desarrolladores pueden aprovechar esta arquitectura para construir automatización en el mundo real, como verificación de entregas, comprobaciones de ID o flujos de trabajo de control de calidad.
Integrar Google Vision API dentro de una función en la nube habilita conocimientos impulsados por IA (detección de objetos, confianza de etiquetas, extracción de metadatos) en los que Flows puede actuar dinámicamente.
El paso “Fetch Variables” en Flow Builder es el puente — llama a la función en la nube y almacena la respuesta de la API para su posterior uso en la conversación.
Bloques de respuesta pueden usar variables como {{isHotDog}} para personalizar respuestas, convirtiendo datos brutos en mensajes de chat contextuales.
Aunque la demostración es lúdica, demuestra cómo los desarrolladores pueden mezclar lógica sin código con funciones serverless para desbloquear potentes capacidades de automatización a través de canales de mensajería.
Destacados de Q&A
¿Qué es Flow Builder?
Flow Builder (o Flows) es el motor de automatización visual de Bird para crear flujos de trabajo de comunicación a través de canales — no se requiere código, aunque se puede extender con código personalizado.
¿Por qué usar Google Cloud Functions con Flows?
Las funciones en la nube te permiten ejecutar código sin servidor para procesar datos (como analizar imágenes o obtener datos de una API externa) y devolver los resultados a tu flujo.
¿Qué hace Google Vision API en esta configuración?
Realiza un análisis de imágenes — identificando objetos, etiquetas o conceptos (como "hot dog") — y devuelve datos estructurados a tu Flow.
¿Cómo conecto una Cloud Function a Flow Builder?
Utiliza el paso de Fetch Variables para llamar al endpoint público HTTPS de la función. La respuesta (por ejemplo,
{ "isHotDog": true }) se puede utilizar en pasos posteriores.Can this be used for casos de negocios reales?
Absolutamente. El mismo enfoque puede validar fotos de entrega, detectar artículos dañados, reconocer documentos o verificar medios subidos.
¿Qué hace que esta integración sea poderosa?
Combina AI vision, serverless flexibility, y multichannel communication, permitiendo automatizaciones más inteligentes sin mantener infraestructura.
¿Necesito experiencia en programación para seguir?
La familiaridad básica con JavaScript (para la Función de Google Cloud) ayuda, pero la mayor parte del proceso —desde la conexión de canales hasta la lógica de flujo— es visual y amigable para principiantes.
Flows es un motor de automatización potente de arrastrar y soltar para crear flujos de comunicación. Inicialmente lo concebimos como una solución sin código, pero descubrimos que muchos usuarios podían lograr un comportamiento realmente poderoso escribiendo algo de código para casos de uso específicos. Estos fragmentos de código pueden estar dentro de Flow Builder, o pueden ser funciones en la nube de terceros como funciones de AWS Lambda o Google Cloud Functions.
Esta es una demostración simple usando GoogleCloud Functions y Flows para hacer reconocimiento de imagen en una imagen enviada por Telegram.
Flujos y Beyond
Como desarrollador de Flows, a menudo pienso en quiénes son nuestros usuarios, por qué utilizan Flows, y qué necesitan para alcanzar sus objetivos; y luego, qué características necesitamos implementar para servir mejor a esos usuarios.
Flows es un potente motor de automatización de arrastrar y soltar para crear flujos de comunicación. Inicialmente lo concebimos como una solución sin código, pero encontramos que muchos usuarios podían lograr comportamientos realmente poderosos escribiendo algo de código para casos de uso específicos. Por ejemplo, puedes crear flujos que generen automáticamente leads y casos en Salesforce en función de las interacciones con clientes a través de múltiples canales. Estos fragmentos de código pueden estar dentro de Flows, o pueden ser funciones en la nube de terceros como funciones de AWS Lambda o Google Cloud Functions.
Un caso de uso interesante: Reconocimiento de Imágenes
Para un ejemplo corto y divertido, te mostraré cómo implementar una aplicación que reconoce hot dogs. Configuraremos un flujo en Flows, que recibirá imágenes de usuarios y decidirá si enviaron o no un hot dog.
Para muchos de nuestros clientes, este tipo de reconocimiento de imágenes puede ser muy poderoso. Imagina que diriges un servicio de entrega y quisieras verificar automáticamente las entregas exitosas. Similar a lo que te voy a mostrar, podrías usar datos de localización, fotos de paquetes, e incluso firmas de los destinatarios para crear un flujo de verificación en Flows.
Un plan para el éxito
Configurando la Google Cloud Function
Primero, necesitaremos configurar una función en la nube. Para comenzar rápidamente, siga el tutorial de inicio rápido de Cloud Functions de Google. Como ‘Trigger’ elija HTTP trigger, ambiente de ejecución: Node.js 10, y en el campo de código fuente inserte el fragmento de código. Es un código simple, que verifica si la solicitud contiene código JSON y responde sí o no.

A continuación, necesitarás desplegar esta función. Para probarla dentro de Google Cloud Platform, sigue los pasos del tutorial.
Para probar desde tu navegador, ve a la siguiente URL insertando la dirección específica para tu función:
https://your-function-address.cloudfunctions.net/HotDogOrNot/?url=hello debería devolver {“isHotDog”: true} y la dirección https://your-function-address.cloudfunctions.net/HotDogOrNot debería devolver {“isHotDog”: false}.
¡Buen trabajo! Has configurado una función de Google Cloud. Ahora necesitamos hacer que nuestra función en la nube sea más inteligente.
Configurando el Google Vision API
Para hacerlo más inteligente, añadamos reconocimiento de imágenes. Para este propósito, utilizaremos el Google Vision API. Para comenzar, sigue los pasos 1-4 en la guía de inicio rápido de Vision API. En el tutorial activarás el Vision API y crearás una cuenta de servicio para utilizarlo.
Ahora vuelve a la función en la nube que creaste. Alterna "Variables de entorno, redes, límites de tiempo y más" y en el archivo "Cuenta de servicio" elige la cuenta de servicio de VisionAPI que acabas de crear. Ahora podemos acceder al Vision API dentro de nuestra función.

Ahora cambiemos el código. En una pestaña “Package.json”, inserta este código. Añadirá la librería de Google Vision API como una dependencia para tu función.
en la pestaña "Index.js" actualiza el código existente con el siguiente fragmento de código.

¿Cuál es la diferencia comparada con la versión anterior? Añadimos una solicitud a VisionAPI, que devuelve las ‘etiquetas’ que encontró en la imagen. Luego, filtramos estas etiquetas por descripción: si contiene “hot dog” y si tiene más del 60% de confianza en esa etiqueta. Si queda al menos 1 etiqueta después del filtrado, significa que encontramos un hotdog en la imagen.
Para entender cómo funciona el Google Vision API y ver respuestas de muestra, consulta la documentación oficial de Vision API.
Después de eso, despliega la nueva versión de nuestra función. Para probarla desde tu navegador, encuentra cualquier imagen de un hotdog y guarda su URL. Ahora ve a la URL de tu función (insertando la dirección correcta de tu función) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image y reemplaza “url_to_image” con una URL a la imagen encontrada. Si hay un hotdog en la imagen, la página devolverá {“isHotDog”: true}.
Ahora conectemos esta función a Flow Builder.
Creating a flow in Flows
Inicia sesión en el Bird Dashboard o regístrate para obtener una cuenta si no tienes una.
Si eres nuevo en Flows y no tienes ningún canal configurado, necesitarás ir a la página de configuración de canales y elegir configurar el canal de Telegram. Elegí Telegram para esta demostración porque es fácil y rápido de configurar.

Ahora tienes un canal que podemos usar en Flows. Ve a la página de Flows, crea un nuevo flujo personalizado y elige el desencadenante del canal "Telegram".

Serás redirigido a una página de flujo, donde deberías elegir tu canal de Telegram como desencadenante, en nuestro caso es "Hotdog". Por favor, añade 2 pasos: "Fetch variables" y "Reply to channel message".
Dentro del paso "Fetch variables" llamaremos a nuestra función en la nube y recuperaremos la respuesta en la variable "isHotDog" que contendrá "true" o "false" como respuesta de la función Google Cloud. En el campo URL, por favor inserta la URL de tu función https://your-function-address.cloudfunctions.net/HotDogOrNot y llena todos los demás campos como en la imagen del contenido del paso "Fetch variable step".
Y dentro del paso "Reply to channel message" responderemos al cliente con un mensaje que contenga la respuesta de sí o no. Para eso inserta en el campo "Reply with message" el siguiente texto: "¿Hotdog en la imagen? {{isHotDog}}".


Si tienes algún problema construyendo el flujo, puedes usar el siguiente fragmento:

Para probarlo, envía una imagen a tu bot de Telegram.
¡Hasta ahora se ve genial! Creamos un pequeño chat bot, que verifica las imágenes que envían los clientes. Para hacerlo más bonito, añadamos algunos pasos más como se muestra a continuación:

Si tienes algún problema construyendo el flujo, puedes usar el siguiente fragmento:
Resultados


Aunque este es un ejemplo divertido, creemos que este tipo de funcionalidad puede ser muy útil para nuestros usuarios.
Si deseas más características como esta integradas en Flows, escribe a nuestro equipo de soporte para hacérnoslo saber.



