Repositorio demostrativo sobre como utilizar la API de n8n con python scripts. n8n tiene una API que permite a los desarrolladores interactuar con el sistema de automatización de procesos. Permite realizar diversas operaciones, como crear, actualizar y eliminar flujos de trabajo (workflows), así como gestionar credenciales y ejecutar flujos de trabajo de manera programática.
- Código 100% en Python 🐍.
- Fácil de usar y configurar ⚙️.
- Soporte para múltiples plataformas 🌐.
- Documentación completa 📖.
- PostgresSQL como base de datos para n8n 🐘.
- Python Script que:
- Se conecta a la api de n8n.
- Crea un workflow que obtiene datos de una api y los envía vía correo electrónico.
- Lista todos los workflows existentes.
- Asegúrate de tener n8n en funcionamiento y accesible. Puedes utilizar como referencia la siguiente guía.
- Crear una Cuenta de Usuario
- Necesitarás un token de la API de n8n para autenticarte.
- Versión: Python 3.7 o superior
Visita el sitio web oficial de Python: python.org. Descarga la última versión de Python 3.x para Windows (asegúrate de elegir entre la versión de 32 bits o 64 bits según tu sistema).
Abre el archivo descargado (por ejemplo, python-3.x.x-amd64.exe). Asegúrate de marcar la opción "Add Python to PATH" antes de hacer clic en "Install Now".
Si deseas personalizar la instalación, selecciona "Customize installation" y elige las características que deseas incluir, como pip, documentación, etc.
Abre el símbolo del sistema (cmd) y ejecuta el siguiente comando para verificar que Python se haya instalado correctamente:
python --versionAbre la terminal y ejecuta el siguiente comando según tu distribución:
-
Ubuntu/Debian:
sudo apt-get install python3
-
Fedora:
sudo dnf install python3
Ejecuta el siguiente comando en la terminal:
python3 --versionVe a python.org y descarga la versión más reciente de Python para macOS.
Localiza el archivo descargado en tu carpeta de Descargas y haz doble clic en él para iniciar la instalación. Sigue las instrucciones en pantalla para completar la instalación.
Abre la Terminal y ejecuta:
python3 --versionDespués de instalar Python, pip generalmente se instala automáticamente. Verifica su instalación ejecutando:
pip --versionSi pip no está instalado, puedes instalarlo usando el script get-pip.py. Sigue estos pasos:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.py-
Clona el repositorio:
git clone https://github.com/potlitel/n8n_ELK.git
-
Navega al directorio del proyecto:
cd tu_repositorio -
Crear un Entorno Virtual (opcional pero recomendado): Esto ayuda a manejar las dependencias sin afectar tu instalación global de Python.
python -m venv venv
-
Activar el Entorno Virtual:
-
En Windows:
venv\Scripts\activate
-
En Linux/Mac
source venv/bin/activate
-
-
Instalar las Dependencias:
pip install -r requirements.txt
1. Configuración de Credenciales SMTP en n8n para Gmail, puede usar también Mailtrap u otro de su preferencia.
Para crear credenciales SMTP en n8n y enviar correos con Gmail, sigue estos pasos clave basados en la documentación oficial de n8n:
- Debes tener habilitada la verificación en dos pasos en tu cuenta de Gmail.
- Genera una contraseña de aplicación (app password) para usar con n8n (esto es más seguro que usar tu contraseña principal).
- Entra a tu cuenta de Google y habilita la verificación en dos pasos si no lo has hecho ya.
- Ve a la sección de Contraseñas de aplicaciones de Google.
- Genera una nueva contraseña para la aplicación, asignándole un nombre identificativo como
n8n credential. - Guarda esta contraseña, pues la necesitarás para la configuración en n8n.
- Ve a la sección de Credenciales en n8n.
- Crea una nueva credencial de tipo Send Email.
- En los campos SMTP pon:
- User: tu dirección de correo Gmail completa (p.ej.
tunombre@gmail.com) - Password: la contraseña de aplicación generada en Google.
- Host:
smtp.gmail.com - Port:
465(SSL) o587(TLS)
- User: tu dirección de correo Gmail completa (p.ej.
- Activa el toggle de SSL/TLS para el puerto
465o asegúrate que STARTTLS esté activo si usas el puerto587. - Guarda la credencial.
Esta configuración garantiza que n8n utilice SMTP Gmail de forma segura y autorizada para enviar emails desde tus workflows.
Para iniciar los servicios de n8n y PostgreSQL como soporte de base de datos, es necesario ejecutar el fichero docker-compose.yml.
Esto se hace con el siguiente comando:
docker-compose up -dEste comando levantará los contenedores configurados en el archivo, asegurando que ambos servicios estén operativos y correctamente conectados.
3. Asegúrate de tener listos todos los requisitos previos antes de continuar.
-
Desde una terminal, diríjase hacia la ubicación del proyecto.
-
Desde el editor de texto de su preferencia, abra el script basic_n8n.py y localice la sección siguiente:
"credentials": { "smtp": { "id": "smtp-credential-id" # Reemplaza con el ID real de tu credencial SMTP }
reemplace el valor "id": "smtp-credential-id" por el id de la credencial creada en n8n.
-
Localice además la sección siguiente, correspondiente al nodo 'n8n-nodes-base.sendEmail'
"parameters": { "fromEmail": "remitente@gmail.com", "toEmail": "destinatario@gmail.com", "subject": "Mensaje desde n8n - Datos JSON recibidos", "text": "={{JSON.stringify($json)}}", },
y modifique los campos "fromEmail" y "toEmail" según corresponda con su entorno
-
Especifique el valor del API key creado previamente en la variable N8N_API_KEY
-
Use el siguiente comando para ejecutar el fichero basic_n8n.py
python basic_n8n.py
¡Las contribuciones son bienvenidas! Si deseas ayudar a mejorar este proyecto, puedes hacerlo siguiendo estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama con tu feature o corrección:
git checkout -b nombre-de-tu-rama - Realiza tus cambios y realiza commits claros y descriptivos.
- Envía un pull request describiendo detalladamente tus modificaciones.
Por favor, asegúrate de que tu código sigue las buenas prácticas, y si haces mejoras significativas, considera incluir pruebas o documentación adicional.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
¡Gracias por visitar y usar este proyecto! ✨
Si tienes dudas, sugerencias o quieres contribuir, no dudes en abrir un issue 📥 o contactarme directamente:
- GitHub: potlitel 👨💻
- Email: potlitel@gmail.com ✉️
¡Espero tus aportes y comentarios! 💬😊
https://www.mdfaisal.com/blog/using-n8n-with-docker-compose https://felo.ai/search/DQWs9zBhuQC88af9uJ2CKu https://felo.ai/search/aB9YE9G5tUtEoZ7ZeEH5TG https://felo.ai/search/9gXDkxfXBaUMZofhKdWqHw https://felo.ai/search/aB9YE9G5tUtEoZ7ZeEH5TG https://github.com/naskio/n8n-nodes-python docker pull naskio/n8n-python
como adapto el script para que copie la image actual de bing hacia mi host local?(Contiene el script suministrado por la IA para descargar el wallpaper actual) https://felo.ai/search/aB9YE9G5tUtEoZ7ZeEH5TG
Ponme un ejemplo práctico en python de interacción con n8n usando la api https://felo.ai/search/9gXDkxfXBaUMZofhKdWqHw
Me gustaría un script en python que interactue con n8n, cree un nuevo workflow que ejecute un sript de python todos los días https://felo.ai/search/9gXDkxfXBaUMZofhKdWqHw
https://www.perplexity.ai/search/pudieras-suministrarme-un-scri-ZOwvRIs5TBS6hSXLGsFy5A
https://www.perplexity.ai/search/tengo-la-siguiente-declaracion-EYr1w5LuRHqXwhNTuX53YA