Domina n8n en 2 horas: Curso de n8n para principiantes
Introducción a n8n y Automatizaciones
¿Qué es n8n?
- n8n es una plataforma de automatización que permite crear agentes de inteligencia artificial y automatizar tareas manuales en los negocios.
- El curso se ofrece gratuitamente en YouTube, con la intención de ayudar a quienes buscan dominar esta herramienta.
- Se aclara que este es un curso básico, y se mencionan futuros videos para temas más avanzados.
Presentación del Instructor
- José Ángel Esparza es el instructor, especializado en ayudar a negocios B2B a automatizar procesos de ventas utilizando inteligencia artificial.
- Se invita a los interesados a agendar reuniones para obtener más información sobre sus servicios.
Funcionalidades Básicas de n8n
Uso de n8n
- Existen dos formas de trabajar con n8n: en la nube o self-hosted. La opción en la nube es recomendada para principiantes.
- En la versión en la nube, hay un costo mensual basado en el uso; el plan básico permite 2,500 ejecuciones al mes.
Self-hosted vs. Nube
- La opción self-hosted permite ejecuciones ilimitadas pero requiere conocimientos técnicos para su instalación y configuración.
- Conectar aplicaciones puede ser más complicado en la versión self-hosted debido a pasos adicionales necesarios.
Creación de Workflows
Interfaz y Primeros Pasos
- Al crear una cuenta, se accede a una interfaz donde se pueden diseñar workflows (automatizaciones).
- Cada workflow comienza con un "disparador", que activa la automatización según ciertas acciones.
Tipos de Disparadores
- Los disparadores pueden incluir eventos como enviar formularios o crear nuevos eventos en calendarios.
- Se explica cómo añadir disparadores manualmente y cómo funcionan diferentes tipos como "on form submission".
Integración con Aplicaciones
Conexión con Google Calendar
- Al conectar aplicaciones como Google Calendar, se pueden activar automatizaciones basadas en eventos específicos creados dentro del calendario.
Ejecución Programada
- Las automatizaciones también pueden configurarse para ejecutarse cada cierto tiempo, revisando si hay nuevos eventos.
Nodos y Variables
Estructura del Workflow
- Los nodos representan las aplicaciones conectadas o pasos dentro del workflow; son esenciales para definir acciones específicas.
Tipos de Variables
- Se introducen diferentes tipos de variables: String (cadenas), Number (números), Boolean (verdadero/falso), Array (listas), y Object (objetos).
Ejemplo Práctico
- Un ejemplo práctico muestra cómo declarar variables usando JavaScript, explicando su sintaxis básica y tipos.
Introducción a los Objetos en JavaScript
Acceso a Propiedades de Objetos
- Se utiliza
console.logpara mostrar el valor de una propiedad específica de un objeto, como el nombre del estudiante, que resulta ser "Álvaro Rodríguez".
- Para acceder a propiedades con nombres compuestos (como "nombre y apellidos"), es necesario usar corchetes. Esto evita errores al referirse a propiedades con espacios.
- Los valores de las propiedades pueden ser diversos tipos de datos: strings, números, booleanos, listas u otros objetos.
Estructura Compleja de Objetos
- Se puede crear una propiedad que contenga una lista (array) para representar materias que cursa un estudiante. Por ejemplo: geografía, matemáticas, español e historia.
- Para acceder a un elemento específico dentro de la lista (por ejemplo, matemáticas), se usa la notación de corchetes junto con el índice correspondiente.
Creación y Acceso a Objetos Anidados
- Se introduce una nueva propiedad llamada "institución", que es otro objeto con varias propiedades como nombre y director.
- La matrícula puede ser representada como un objeto anidado dentro del objeto institución, permitiendo definir costos mensuales y anuales.
Ejemplo Práctico
- Al querer acceder al costo mensual de la matrícula desde el objeto estudiante se utiliza la sintaxis adecuada:
estudiante.institución.matrícula.mensual.
- El acceso a otras propiedades también sigue esta lógica; por ejemplo, para obtener la calle se usa
ubicación.calle.
Tipos de Variables en n8n
Comprensión Básica
- En n8n es crucial entender los diferentes tipos de variables: string (texto), número (numérico), booleano (verdadero/falso), array (lista), y objeto (con múltiples propiedades).
Modificación y Guardado
- Al modificar variables en n8n, es importante guardar los cambios. Cada tipo tiene su representación visual en la interfaz.
Uso del Nodo para Crear Variables
Métodos Visuales vs JSON
- Existen dos formas principales para crear variables: mediante mapeo manual o usando formato JSON. Este último requiere encerrar nombres entre comillas.
Ejemplo Práctico
- Al crear variables como precio o producto en formato JSON se debe seguir la sintaxis correcta para asegurar su funcionalidad.
Resultados y Manipulación en n8n
Formato JSON vs Objeto JavaScript
- Aunque el resultado visual parece un objeto JavaScript, realmente está en formato JSON. Es fundamental recordar que este último siempre requiere comillas alrededor de los nombres de las propiedades.
Condicionales en n8n
Uso del Nodo If
- El nodo If permite evaluar condiciones; si son verdaderas o falsas se determina qué camino seguirá la automatización.
Ejemplo Práctico
- Se puede establecer una condición donde solo productos con precios mayores a 500 sean considerados válidos.
Workflows y Ejecuciones
Definición
- Un workflow representa una automatización dentro de n8n; cada ejecución cuenta hacia un límite dependiendo del plan utilizado.
Importancia
- Las ejecuciones permiten monitorear cómo funcionan las automatizaciones y corregir errores cuando sea necesario.
Introducción a la Manipulación de Variables en n8n
Creación de Variables y Condiciones
- Se establece una variable llamada "nombre tienda" que se asigna como verdadera (true), lo que activa el tercer camino en el flujo.
- Se introduce un cuarto camino, conocido como "fallback", para manejar situaciones donde ninguna condición previa se cumple, utilizando la opción "fallback output".
- Al modificar las condiciones, si el nombre de la tienda no contiene un texto específico, se ejecuta el camino de fallback creando una nueva variable llamada "Otra condición".
Nodos If y Filter
- Se presenta el nodo "filter", similar al nodo "if", pero solo permite avanzar si se cumple una única condición sin caminos alternativos.
- Si la variable precio es igual a 500, se crea otra variable llamada "condición cumplida". Si no cumple con esta condición, la automatización se detiene.
Ejemplos Prácticos de Flujos
- Se planea crear un flujo sencillo que evalúe condiciones usando nodos if y switch para manipular variables según los resultados obtenidos.
- La evaluación del producto busca determinar si su nombre es igual a “camiseta”, estableciendo así condiciones adicionales basadas en precios.
Manipulación Avanzada de Variables
- Para trabajar con variables manualmente, se puede seleccionar el campo correspondiente y cambiarlo a “expression” para permitir la inclusión de variables.
- La sintaxis para acceder a propiedades dentro de objetos en n8n utiliza llaves dobles y sigue un formato similar al uso de JSON.
Acceso a Propiedades Anidadas
- Al acceder a propiedades anidadas dentro del objeto tienda, se pueden obtener valores específicos como nombre o país mediante notación punto.
- Es importante entender cómo funciona esta nomenclatura cuando trabajamos con información proveniente del nodo anterior.
Errores Comunes y Soluciones
Manejo de Errores en Nodos
- Al agregar nodos intermedios, pueden surgir errores debido a cambios en las referencias utilizadas; es crucial asegurarse que las variables sean accesibles desde cada nodo.
Uso Correcto del Símbolo Dinero
- El símbolo "$" seguido por “Jason” representa datos del nodo anterior; esto debe ser utilizado correctamente para evitar errores durante la ejecución.
Conexión con Google Sheets
Configuración Inicial
- Se inicia una automatización conectando aplicaciones reales comenzando por seleccionar un disparador manualmente antes de integrar Google Sheets.
Obtención de Datos
- Al buscar acciones disponibles en Google Sheets, se selecciona “get Rows in Sheet” para extraer información específica desde una hoja determinada.
Ejecución y Resultados
Proceso Automático
- Tras ejecutar el paso para obtener datos desde Google Sheets, los resultados muestran encabezados junto con los valores correspondientes extraídos correctamente.
Múltiples Elementos
- Cuando hay múltiples elementos obtenidos (por ejemplo tres filas), cada uno desencadena ejecuciones sucesivas en nodos posteriores automáticamente.
Prevención de Ejecuciones No Deseadas
Controlar Ejecuciones Múltiples
- Para prevenir que ciertos nodos ejecuten acciones múltiples veces debido a entradas repetidas, es necesario activar la opción “execute once” en los ajustes del nodo siguiente.
Automatización Finalizada
Creación Exitosa
- La automatización finaliza exitosamente creando borradores en Gmail utilizando datos extraídos previamente desde Google Sheets.
Introducción al Nodo Split Out
Funcionamiento del Nodo Split Out
- Se elimina información anterior para crear nuevos datos actualizados, utilizando un nodo de "split out" para separar elementos.
- Al activar la automatización, se observa que la información previa desaparece y se presenta una lista de productos con propiedades como nombre, categoría y precio.
- Aunque hay tres productos en la lista, el resultado del nodo solo muestra un ítem debido a que la variable principal es una lista.
- Para obtener los tres ítems necesarios, se utiliza el nodo "split out", que separa listas en sus elementos individuales.
Ejecución del Nodo Split Out
- Al conectar el nodo "split out" y ejecutarlo, se obtienen los tres ítems separados con su respectiva información visualizada correctamente.
Uso de APIs y el Nodo Aggregate
Separación y Creación de Listas
- El nodo "http request" permite obtener información como listas; para trabajar con varios elementos a la vez, se usa "split out".
- Si se desea crear una nueva lista a partir de ciertos elementos, se utiliza el nodo "aggregate", configurando el campo deseado.
Ejemplo Práctico
- Se prueba la automatización nuevamente para recibir un ítem donde este es ahora una lista con los nombres de los productos.
Actualización de Datos en Hojas de Cálculo
Proceso Final
- Con cada uno de los ítems separados obtenidos del nodo "split out", se arrastran las variables correctas hacia la hoja de cálculo para actualizar datos.
Resultados Observados
- La automatización demuestra cómo cambia rápidamente la información en función de lo definido previamente.
Limitaciones en Automatizaciones
Uso del Nodo Límite
- El nodo "límite" restringe cuántos elementos pasan por la automatización; si hay tres ítems pero solo se desean dos, solo estos serán procesados.
Prevención de Errores
- Este nodo ayuda a evitar ejecuciones múltiples innecesarias dentro del flujo automatizado.
Nodos Adicionales para Manipulación
Otros Nodos Importantes
- Existen nodos adicionales como "remove duplicates", "merge" y "summarize", aunque son menos comunes. Se mostrarán ejemplos futuros sobre su uso.
Caso Práctico: Automatización Real
Descripción General
- Se presenta una automatización creada para una agencia de marketing que ahorra tiempo al calificar prospectos mediante inteligencia artificial.
Problemas Comunes Abordados
- Muchas empresas enfrentan problemas con prospectos no calificados o spam; esta solución evita revisiones manuales ineficaces.
Implementación Técnica
Configuración Inicial
- En lugar de usar un webhook real, se utilizará un formulario n8n simplificado para demostrar el proceso básico sin complicaciones técnicas adicionales.
Evaluación Presupuestaria
Filtrado por Presupuesto
- Un nodo filtro evalúa si el presupuesto mensual supera $3000 antes de continuar con otros pasos en la automatización.
Integración con Inteligencia Artificial
Análisis Automático
- La IA analiza datos ingresados por prospectos usando prompts específicos que definen criterios claros sobre qué constituye un prospecto calificado o spam.
Introducción a los Métodos de JavaScript
Uso del Método join
- Se presenta un caso de uso para mostrar cómo el método
joinconvierte una lista en una cadena de texto.
- Al aplicar
join, se observa que los elementos están separados por comas, pero no hay espacios, lo que puede resultar visualmente poco atractivo.
- Para mejorar la legibilidad, se puede modificar el parámetro del método
joinpara incluir una coma y un espacio como separadores.
- Es importante familiarizarse con estos métodos al construir automatizaciones avanzadas en JavaScript.
Manejo de Errores en Automatizaciones
Importancia del Manejo de Errores
- Los errores son comunes en las automatizaciones debido a escenarios inesperados o fallos en la conexión con aplicaciones externas.
- Se muestra un ejemplo donde se desactiva la credencial de Google, lo que provoca un error al ejecutar el flujo de trabajo.
Implementación del Flujo de Error
- Para manejar errores, se debe crear un flujo específico que se active cuando ocurre un error durante la ejecución.
- Este flujo envía notificaciones por correo electrónico con detalles sobre el error ocurrido, facilitando su corrección.
Configuración del Flujo de Manejo de Errores
Conexión entre Automatización y Flujo de Error
- Es necesario conectar el flujo de manejo de errores con la automatización específica donde se desea detectar problemas.
- En la configuración del workflow, se selecciona el flujo creado para manejar errores y se guarda esta configuración.
Prueba del Sistema y Resultados
Ejecución y Notificación
- Se realiza una prueba activando el workflow; si ocurre un error, este será registrado y notificado por correo electrónico.
- El mensaje recibido incluye información sobre qué parte del workflow falló y cuál fue el error específico.
Conclusiones Finales sobre n8n
Resumen del Curso Básico
- Se concluye que este curso básico proporciona una comprensión fundamental sobre cómo funciona n8n y su aplicación práctica.
- Se invita a los espectadores a registrarse para obtener plantillas adicionales y explorar servicios relacionados con la automatización.
Convierte cualquier video en un resumen como este
Videos de YouTube, reuniones, clases. Con transcripción, búsqueda y chat.