Sistema de advertencia de salud impulsado por IA para Grok-3 (con notificación para familiares)

Avanzado

Este es unPersonal Productivity, AI Summarizationflujo de automatización del dominio deautomatización que contiene 17 nodos.Utiliza principalmente nodos como If, Set, Merge, Webhook, EmailSend. Sistema de monitoreo de salud basado en Grok-3 AI con alertas por correo para familiares/médicos

Requisitos previos
  • Punto final de HTTP Webhook (n8n generará automáticamente)
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "9rQdx3QQnniDVxCy",
  "meta": {
    "instanceId": "b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"
  },
  "name": "AI-Powered Grok-3 Health Alert System with Family Notifications",
  "tags": [],
  "nodes": [
    {
      "id": "765f5740-a408-4a7c-91c2-bbb57c9b0999",
      "name": "Webhook - Enviar Datos de Salud",
      "type": "n8n-nodes-base.webhook",
      "position": [
        48,
        32
      ],
      "webhookId": "89151f45-c9a4-4fc9-b000-f1cc96b44b14",
      "parameters": {
        "path": "health-monitor",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "f5ac1b49-b445-4041-8452-c029ce8c70cf",
      "name": "Extraer Datos de Salud",
      "type": "n8n-nodes-base.set",
      "position": [
        256,
        32
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1",
              "name": "patientName",
              "type": "string",
              "value": "={{ $json.body.patientName }}"
            },
            {
              "id": "a2",
              "name": "age",
              "type": "number",
              "value": "={{ $json.body.age }}"
            },
            {
              "id": "a3",
              "name": "bloodPressure",
              "type": "string",
              "value": "={{ $json.body.bloodPressure }}"
            },
            {
              "id": "a4",
              "name": "heartRate",
              "type": "number",
              "value": "={{ $json.body.heartRate }}"
            },
            {
              "id": "a5",
              "name": "weight",
              "type": "number",
              "value": "={{ $json.body.weight }}"
            },
            {
              "id": "a6",
              "name": "height",
              "type": "number",
              "value": "={{ $json.body.height }}"
            },
            {
              "id": "a7",
              "name": "dietLog",
              "type": "string",
              "value": "={{ $json.body.dietLog }}"
            },
            {
              "id": "a8",
              "name": "symptoms",
              "type": "string",
              "value": "={{ $json.body.symptoms }}"
            },
            {
              "id": "a9",
              "name": "familyEmail",
              "type": "string",
              "value": "={{ $json.body.familyEmail }}"
            },
            {
              "id": "a10",
              "name": "doctorEmail",
              "type": "string",
              "value": "={{ $json.body.doctorEmail }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "54e449f5-e947-48c0-b1a1-8909c2371943",
      "name": "Agente de Análisis de Salud con IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        432,
        16
      ],
      "parameters": {
        "text": "=You are a health monitoring AI assistant. Analyze the following patient data and provide a comprehensive health assessment.\n\nPatient Information:\n- Name: {{ $json.patientName }}\n- Age: {{ $json.age }}\n- Blood Pressure: {{ $json.bloodPressure }}\n- Heart Rate: {{ $json.heartRate }} bpm\n- Weight: {{ $json.weight }} kg\n- Height: {{ $json.height }} cm\n- Recent Diet: {{ $json.dietLog }}\n- Symptoms: {{ $json.symptoms }}\n\nProvide your analysis in the following JSON format:\n{\n  \"healthStatus\": \"good/concerning/poor\",\n  \"riskLevel\": \"low/medium/high\",\n  \"healthSummary\": \"Brief overall assessment\",\n  \"dietAnalysis\": \"Analysis of dietary habits\",\n  \"vitalsConcerns\": \"Any concerns about vitals\",\n  \"recommendations\": \"Specific health recommendations\",\n  \"requiresImmediateAttention\": true/false,\n  \"alertFamily\": true/false,\n  \"alertDoctor\": true/false\n}\n\nBe thorough and consider BMI, blood pressure ranges, heart rate norms, and nutritional balance.",
        "options": {
          "systemMessage": "You are a medical AI assistant specializing in health monitoring and preventive care. Provide accurate, evidence-based assessments while being clear that you are not replacing professional medical advice."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "63fbd346-a5ed-4fbf-9017-c6b1049998eb",
      "name": "Analizador de Salida Estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        576,
        240
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a4f56a13-b529-481f-bc91-2b038473ab46",
      "name": "Verificar Si Se Necesita Alerta",
      "type": "n8n-nodes-base.if",
      "position": [
        704,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "c1",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.alertFamily }}",
              "rightValue": true
            }
          ]
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ce55fffe-20f2-4415-aabf-c0ee71431e49",
      "name": "Preparar Datos de Alerta",
      "type": "n8n-nodes-base.set",
      "position": [
        928,
        -16
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1",
              "name": "familyEmail",
              "type": "string",
              "value": "={{ $('Extract Health Data').item.json.familyEmail }}"
            },
            {
              "id": "a2",
              "name": "doctorEmail",
              "type": "string",
              "value": "={{ $('Extract Health Data').item.json.doctorEmail }}"
            },
            {
              "id": "a3",
              "name": "patientName",
              "type": "string",
              "value": "={{ $('Extract Health Data').item.json.patientName }}"
            },
            {
              "id": "a4",
              "name": "healthStatus",
              "type": "string",
              "value": "={{ $json.output.healthStatus }}"
            },
            {
              "id": "a5",
              "name": "riskLevel",
              "type": "string",
              "value": "={{ $json.output.riskLevel }}"
            },
            {
              "id": "a6",
              "name": "healthSummary",
              "type": "string",
              "value": "={{ $json.output.healthSummary }}"
            },
            {
              "id": "a7",
              "name": "recommendations",
              "type": "string",
              "value": "={{ $json.output.recommendations }}"
            },
            {
              "id": "a8",
              "name": "vitalsConcerns",
              "type": "string",
              "value": "={{ $json.output.vitalsConcerns }}"
            },
            {
              "id": "a9",
              "name": "dietAnalysis",
              "type": "string",
              "value": "={{ $json.output.dietAnalysis }}"
            },
            {
              "id": "a10",
              "name": "alertDoctor",
              "type": "boolean",
              "value": "={{ $json.output.alertDoctor }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9cfcd640-34b9-4ae8-8fa7-72f7cd7e8288",
      "name": "Enviar Correo a Familiares",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1104,
        -16
      ],
      "webhookId": "7076809d-c1f4-4c77-92b4-f176ee375baf",
      "parameters": {
        "options": {},
        "subject": "=⚠️ Health Alert for {{ $json.patientName }}",
        "toEmail": "={{ $json.familyEmail }}",
        "fromEmail": "health-monitor@yourdomain.com"
      },
      "typeVersion": 2.1
    },
    {
      "id": "cba5f6d2-1a84-416e-a2fb-720987cc2eb0",
      "name": "Verificar Si Se Necesita Alerta Médica",
      "type": "n8n-nodes-base.if",
      "position": [
        1280,
        -16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "c1",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.alertDoctor }}",
              "rightValue": true
            }
          ]
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "335af2a1-2235-4000-a4f7-23cb76812617",
      "name": "Enviar Correo al Médico",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1456,
        -80
      ],
      "webhookId": "23d7103a-5180-4a43-925d-9985f81d6957",
      "parameters": {
        "options": {},
        "subject": "=Medical Alert: {{ $json.patientName }} - {{ $json.riskLevel.toUpperCase() }} Risk",
        "toEmail": "={{ $json.doctorEmail }}",
        "fromEmail": "health-monitor@yourdomain.com"
      },
      "typeVersion": 2.1
    },
    {
      "id": "c6a213de-e02f-40a9-905f-afefc6e2bb82",
      "name": "Combinar Resultados de Alertas",
      "type": "n8n-nodes-base.set",
      "position": [
        1648,
        32
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1",
              "name": "status",
              "type": "string",
              "value": "alerts_sent"
            },
            {
              "id": "a2",
              "name": "familyAlerted",
              "type": "boolean",
              "value": "={{ $('Send Email to Family').item.json.success || false }}"
            },
            {
              "id": "a3",
              "name": "doctorAlerted",
              "type": "boolean",
              "value": "={{ $('Send Email to Doctor').item.json.success || false }}"
            },
            {
              "id": "a4",
              "name": "message",
              "type": "string",
              "value": "Health alerts have been sent successfully"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5f8c81da-5b99-4548-a038-44ec743523e0",
      "name": "No Se Requiere Alerta",
      "type": "n8n-nodes-base.set",
      "position": [
        1152,
        160
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1",
              "name": "status",
              "type": "string",
              "value": "no_alert_needed"
            },
            {
              "id": "a2",
              "name": "message",
              "type": "string",
              "value": "Health status is within normal parameters. No alerts required."
            },
            {
              "id": "a3",
              "name": "healthStatus",
              "type": "string",
              "value": "={{ $json.output.healthStatus }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e77eff85-7797-4c7b-b17f-af13f50c90c1",
      "name": "Unificar Resultados",
      "type": "n8n-nodes-base.merge",
      "position": [
        1808,
        144
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3
    },
    {
      "id": "877681a2-34e4-4615-b943-e62fe4a48b8e",
      "name": "Responder a Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1968,
        144
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"success\": true, \"analysisComplete\": true, \"healthStatus\": $json.healthStatus || $('AI Health Analysis Agent').item.json.output.healthStatus, \"alertsSent\": $json.status === 'alerts_sent', \"message\": $json.message } }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "16378fbf-436a-4105-bacb-19c8a233ed46",
      "name": "Modelo de Chat OpenRouter",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        400,
        240
      ],
      "parameters": {
        "model": "x-ai/grok-3",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "fKnn6LL7cRFqNHDX",
          "name": "OpenRouter account2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5e920ef8-b1a3-4438-bcfa-aa26f055a5e8",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -448
      ],
      "parameters": {
        "width": 544,
        "height": 432,
        "content": "## Introduction\nAutomates patient health monitoring by analyzing submitted health data via AI, determining alert necessity, and notifying family and doctors when critical conditions detected.  \n\n## How It Works\nWebhook receives health data, AI agent analyzes vitals using OpenRouter with structured parsing. Conditional logic checks alert necessity. If yes: prepares data, emails family, checks doctor criteria, sends doctor email, merges results. If no: skips alerts. Combines outcomes and responds to webhook.\n\n## Workflow Template\nWebhook → Extract Data → AI Agent → [OpenRouter + Memory + Parser] → Check Alert → [Prepare + Email Family + Check Doctor + Email Doctor] OR [No Alert] → Merge → Combine → Respond\n\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9c5fdbe1-805a-4256-97fe-bee6ecee4ed7",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1216,
        -448
      ],
      "parameters": {
        "color": 3,
        "width": 928,
        "height": 320,
        "content": "## Use Cases\n**Chronic Disease:** Diabetic submits glucose readings. AI detects >250mg/dL, alerts family and endocrinologist. **Elderly Care:** Senior's vitals monitored via wearable. AI identifies irregular rhythm, emails caregiver and cardiologist.  \n\n## Customization\nAdjust thresholds by demographics. Add vital types (O2, glucose trends). Customize AI prompts for conditions. Integrate SMS via Twilio. Add escalation logic. Include medication tracking. Connect EHR systems. Implement frequency limits. Add dashboard reporting.\n\n## Benefits\n**Rapid Response:** Detects emergencies in seconds. **Intelligent Filtering:** Prevents false alarms. **Family Peace:** Automated notifications keep loved ones informed. **Clinical Efficiency:** "
      },
      "typeVersion": 1
    },
    {
      "id": "faebc33f-0151-401c-95a1-f9195e64c33a",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        -448
      ],
      "parameters": {
        "color": 5,
        "width": 672,
        "height": 432,
        "content": "\n## Workflow Steps\n1. **Reception & Extraction:** Webhook receives vitals/symptoms, parses JSON payload\n2. **AI Analysis:** OpenRouter analyzes vitals against ranges, accesses history via Memory Tool, formats assessment via Output Parser\n3. **Routing & Notification:** Conditional logic checks severity. Alert path emails family/doctor if critical. No alert logs status\n4. **Consolidation:** Merges outcomes, sends webhook response\n\n## Setup Instructions\nConfigure webhook endpoint with auth token. Add OpenRouter API key and select model. Set up AI Agent with Memory Tool and Output Parser. Connect Gmail/SMTP for notifications with recipient addresses. Configure alert thresholds (temp >38.5°C, BP >140/90, HR <60/>100). Set doctor notification criteria.\n\n## Prerequisites\nn8n instance, OpenRouter API key, AI model access, Patient database, Gmail/SMTP credentials, Family contacts, Doctor contacts, Webhook authentication"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7d5284a7-cef4-4526-ad6f-02cbf608ef9c",
  "connections": {
    "e77eff85-7797-4c7b-b17f-af13f50c90c1": {
      "main": [
        [
          {
            "node": "877681a2-34e4-4615-b943-e62fe4a48b8e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5f8c81da-5b99-4548-a038-44ec743523e0": {
      "main": [
        [
          {
            "node": "e77eff85-7797-4c7b-b17f-af13f50c90c1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "ce55fffe-20f2-4415-aabf-c0ee71431e49": {
      "main": [
        [
          {
            "node": "9cfcd640-34b9-4ae8-8fa7-72f7cd7e8288",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f5ac1b49-b445-4041-8452-c029ce8c70cf": {
      "main": [
        [
          {
            "node": "54e449f5-e947-48c0-b1a1-8909c2371943",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c6a213de-e02f-40a9-905f-afefc6e2bb82": {
      "main": [
        [
          {
            "node": "e77eff85-7797-4c7b-b17f-af13f50c90c1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "335af2a1-2235-4000-a4f7-23cb76812617": {
      "main": [
        [
          {
            "node": "c6a213de-e02f-40a9-905f-afefc6e2bb82",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9cfcd640-34b9-4ae8-8fa7-72f7cd7e8288": {
      "main": [
        [
          {
            "node": "cba5f6d2-1a84-416e-a2fb-720987cc2eb0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a4f56a13-b529-481f-bc91-2b038473ab46": {
      "main": [
        [
          {
            "node": "ce55fffe-20f2-4415-aabf-c0ee71431e49",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "5f8c81da-5b99-4548-a038-44ec743523e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "16378fbf-436a-4105-bacb-19c8a233ed46": {
      "ai_languageModel": [
        [
          {
            "node": "54e449f5-e947-48c0-b1a1-8909c2371943",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "54e449f5-e947-48c0-b1a1-8909c2371943": {
      "main": [
        [
          {
            "node": "a4f56a13-b529-481f-bc91-2b038473ab46",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "63fbd346-a5ed-4fbf-9017-c6b1049998eb": {
      "ai_outputParser": [
        [
          {
            "node": "54e449f5-e947-48c0-b1a1-8909c2371943",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "cba5f6d2-1a84-416e-a2fb-720987cc2eb0": {
      "main": [
        [
          {
            "node": "335af2a1-2235-4000-a4f7-23cb76812617",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "c6a213de-e02f-40a9-905f-afefc6e2bb82",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "765f5740-a408-4a7c-91c2-bbb57c9b0999": {
      "main": [
        [
          {
            "node": "f5ac1b49-b445-4041-8452-c029ce8c70cf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Productividad personal, Resumen de IA

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Evaluación de tareas con IA de Sonar Pro y recordatorios de múltiples fechas límite
Automatizar la asignación de revisiones por pares con Sonar Pro AI y recordatorios de plazos multicanal
Set
Filter
Discord
+
Set
Filter
Discord
23 NodosCheng Siong Chin
Extracción de documentos
Sistema de revisión por pares con IA, con generación automática de criterios de calificación
Automatizar la asignación de revisiones por pares con Slack y notificaciones por correo electrónico
Set
Code
Slack
+
Set
Code
Slack
22 NodosCheng Siong Chin
Extracción de documentos
Qwen3-VL-8B-Thinking旅行规划器
Generador de itinerarios de viaje optimizado por IA basado en Skyscanner, Booking.com y Gmail
Set
Code
Gmail
+
Set
Code
Gmail
18 NodosCheng Siong Chin
Productividad personal
Calificación de tareas impulsada por IA con GPT-4-Turbo y salida en múltiples formatos
Usar GPT-4-Turbo para automatizar la corrección de trabajos y la generación de informes en múltiples formatos
Set
Code
Webhook
+
Set
Code
Webhook
15 NodosCheng Siong Chin
Extracción de documentos
Proceso de reclutamiento impulsado por IA con GPT-4o-mini: de filtrado de CVs a agendamiento de entrevistas
Usar GPT-4o-mini en Airtable para automatizar contrataciones: desde el cribado de CVs hasta la programación de entrevistas
Slack
Filter
Webhook
+
Slack
Filter
Webhook
21 NodosCheng Siong Chin
Recursos Humanos
Rastreador de mercado de oro AI Sonar-Pro: Predicción de precios basada en datos económicos y noticias
Sistema de predicción del mercado de oro con Perplexity Sonar-Pro, datos FRED y informes de WordPress
Set
Merge
Slack
+
Set
Merge
Slack
22 NodosCheng Siong Chin
Comercio de criptomonedas
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos17
Categoría2
Tipos de nodos10
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Cheng Siong Chin

Cheng Siong Chin

@cschin

Dr. Cheng Siong CHIN serves as a Professor in Intelligent Systems Modelling and Simulation in Newcastle University, Singapore. His academic credentials include an M.Sc. in Advanced Control and Systems Engineering from The University of Manchester and a Ph.D. in Robotics from Nanyang Technological University.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34