002_ Seguimiento después de una reunión perdida de Loom

Avanzado

Este es unLead Nurturing, Multimodal AIflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como Set, Asana, Gmail, Merge, CalendlyTrigger. Usar GPT-4, Loom y Asana para seguir automáticamente con reuniones canceladas de Calendly

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Clave de API de OpenAI
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": "gRYLffc4P6MCj1nq",
  "meta": {
    "instanceId": "e854ccd1d846d48f876ea4ce7613a148e39ed800c748cb59061b490defde7afd",
    "templateCredsSetupCompleted": true
  },
  "name": "002_ Loom Follow Up After Missed Meetings",
  "tags": [],
  "nodes": [
    {
      "id": "b64fc7c9-49c3-4b15-bf7f-4af5c85ccfba",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        912,
        -464
      ],
      "parameters": {
        "width": 448,
        "height": 1008,
        "content": "## 📩 Auto-Follow Up After Missed Meetings\n\nThis workflow detects canceled meetings from Calendly, generates a personalized Loom follow-up email with GPT, and creates a task in Asana to ensure leads are never lost.\n\t•\tGPT writes a friendly follow-up message tailored to the invitee.\n\t•\tA Loom link is inserted into the email for a personal touch.\n\t•\tAn Asana task is created so your team can follow up manually if needed.\n\n### Who it’s for\n\t•\tB2B consultants, agencies, and founders who book calls via Calendly.\n\t•\tSales teams who want to automate lead recovery from no-shows.\n\t•\tAnyone who wants to turn cancellations into conversations.\n\n### How to Set Up\n\t1.\tCreate a Calendly webhook for the invitee.canceled event.\n\t2.\tAdd your OpenAI, Gmail, and Asana credentials in n8n.\n\t3.\tCustomize the GPT prompt in the Message a Model node.\n\t4.\tPaste your Loom link into the Loom Link node.\n\t5.\tSet your Asana assignee and project in the Create Task node.\n\n### Requirements\n\t•\tCalendly (for webhooks)\n\t•\tOpenAI API Key\n\t•\tGmail account (OAuth)\n\t•\tAsana account with project access\n\n### How to Customize\n\t•\tUpdate the GPT prompt tone or call-to-action.\n\t•\tAutomate the Loom link generation via API or AI later.\n\t•\tAdd a Slack notification node for internal visibility.\n\n**Need Help?**\n\nJoin the [Discord](https://discord.com/invite/XPKeKXeB7d) or ask in the [Forum](https://community.n8n.io/)."
      },
      "typeVersion": 1
    },
    {
      "id": "5bfb5129-2770-463f-9a91-4a4c9b555116",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        -512
      ],
      "parameters": {
        "color": 7,
        "width": 624,
        "height": 304,
        "content": "## ⚙️ Workflow Breakdown  \n1. **Calendly Webhook Trigger:** Fires when a user cancels a scheduled event.  \n2. **Edit Fields:** Extracts name, email, event type, and reason from the webhook.  \n3. **GPT Message Generator:** Uses OpenAI to draft a personalized follow-up message.  \n4. **Loom Link Injection:** Adds your pre-recorded Loom video URL to the output.  \n5. **Merge:** Combines GPT message with user details and Loom link.  \n6. **Send Gmail Message:** Sends the tailored follow-up via Gmail.  \n7. **Create Asana Task:** Logs the missed call and Loom link for manual follow-up."
      },
      "typeVersion": 1
    },
    {
      "id": "59bc495c-ded1-420d-b003-b68dd2a18ece",
      "name": "Nota adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        -448
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 192,
        "content": "## 🎥 Demo Video  \n👉 **[Click here to watch the setup guide](https://www.loom.com/share/c3ea85bbb00c4640917983d3dba9a5ec?sid=ed62e4c9-9e3d-486e-a40c-e2056320b5ef)**  "
      },
      "typeVersion": 1
    },
    {
      "id": "ef243f1b-89f0-43d4-a70d-4143591cb141",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1424,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Calendly Trigger\n[Read more about Calendly Credentials](https://docs.n8n.io/integrations/builtin/credentials/calendly/)\n\nStarts the workflow when someone cancels a meeting.\nOnly runs when a scheduled call is canceled.. no extra filters needed.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d0c3256a-6f48-4ad1-85a6-144baf939337",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1920,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Edit Node\n[Read more about Edit Node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/)\n\nPulls out the important info from the canceled meeting:\n• Type of meeting\n• Name and email of the person\n• Date and time\n• Reason for canceling\n\n\n\n\n\n\n\n\n\n\n\n\n\nThis step helps keep everything simple and easy to use later.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3972b672-9fa8-49f8-b9ab-c0faf2481f67",
      "name": "Nota adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2432,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Write Message with AI\n[Read more about Chat Model node](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/)\n\nUses AI to write a personal message for the person who canceled.\nThe message:\n• Says it’s okay they canceled\n• Summarizes what the call was about\n• Offers to reschedule\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9220ee04-df37-4a36-892a-58602ea67ce9",
      "name": "Nota adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2944,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 832,
        "height": 416,
        "content": "## Add Video Link & Finalize Message\nThis step adds your Loom video to the AI-written message, then combines everything into one complete email.\n\nIt takes:\n\t•\tThe custom message written by AI\n\t•\tThe Loom video link you provided\n\t•\tThe person’s name and email\n\nAnd merges them into a single, ready-to-send message.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7e37e529-767f-4846-ae83-6eb74ed8ca9a",
      "name": "Nota adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3888,
        -432
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Send Email with Gmail\n[Read more about Gmail node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/)\n\nSends the follow-up email using your Gmail account.\nIt includes the message, subject line, and Loom video.\n\nMake sure your Gmail is connected first.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "389d8b13-e996-42ad-9032-4db56eb8e1f5",
      "name": "Nota adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3888,
        32
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 464,
        "content": "## Create Task in Asana\n[Read more about Asana node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.asana/)\n\nMakes a task in Asana to remind your team to follow up.\nThe task includes:\n• Name of the person\n• A note that an email was sent\n• Link to the Loom video\n\nIt also assigns the task to your teammate and adds it to a project."
      },
      "typeVersion": 1
    },
    {
      "id": "75c3e26b-34b6-40d1-8725-983975a628c1",
      "name": "Trigger on Meeting Cancellation",
      "type": "n8n-nodes-base.calendlyTrigger",
      "position": [
        1568,
        48
      ],
      "webhookId": "2e498516-c66c-404c-9222-d9ed6533a6ee",
      "parameters": {
        "events": [
          "invitee.canceled"
        ]
      },
      "typeVersion": 1
    },
    {
      "id": "9837aba5-f367-417d-bb77-e218669efa23",
      "name": "Extract Meeting Info",
      "type": "n8n-nodes-base.set",
      "position": [
        2064,
        48
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"event\": \"invitee.canceled\",\n  \"payload\": {\n    \"event_type\": {\n      \"name\": \"Discovery Call\"\n    },\n    \"scheduled_event\": {\n      \"start_time\": \"2025-07-23T14:00:00Z\"\n    },\n    \"cancel_reason\": \"Something came up\",\n    \"invitee\": {\n      \"name\": \"Sarah Johnson\",\n      \"email\": \"sarah@example.com\"\n    }\n  }\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "5c1c2c96-fb1f-4bb0-b3b6-f1b4821e5fd3",
      "name": "Write Follow-Up Message (GPT)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2528,
        112
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a helpful assistant that writes friendly, casual emails in a warm and natural tone.\n\nWrite only the email body — do not include a subject line or greeting like “Subject:”\nUse this context: [insert payload here]"
            },
            {
              "content": "=Write a short, friendly follow-up email for someone who just canceled our scheduled meeting. Their name is {{ $json[\"payload\"][\"invitee\"][\"name\"] }}.\n\nKeep the tone casual and warm.\n\nLet them know it’s totally fine, but you recorded a quick Loom video in case they still want to check it out. End with a light invitation to reschedule if they’d like."
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "e4tOzT9cxtVeZl61",
          "name": "n8n free OpenAI API credits"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5526f0d0-3edf-4941-993b-af89a131630a",
      "name": "Add Loom Video URL",
      "type": "n8n-nodes-base.set",
      "position": [
        3104,
        112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b9bf2ffb-d054-45e5-beaf-fec53279aa2f",
              "name": "loom_link",
              "type": "string",
              "value": "https://www.loom.com/share/970a3fba1ed44352a2194f1ef6a8dc45"
            },
            {
              "id": "244e1c42-e468-44d0-8b8a-8564e33e6633",
              "name": "subject",
              "type": "string",
              "value": "Sorry we missed each other — here’s a quick video"
            },
            {
              "id": "13ce91ca-e10f-43cc-8342-e7c1b6d4fcd9",
              "name": "email_body",
              "type": "string",
              "value": "={{ $json[\"message\"][\"content\"] + \"\\n\\nWatch here: https://www.loom.com/share/970a3fba1ed44352a2194f1ef6a8dc45\" }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8c7d279f-8040-472c-aa6f-4706a61450cd",
      "name": "Fusionar Message & Video",
      "type": "n8n-nodes-base.merge",
      "position": [
        3520,
        32
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "0465ac4e-59b9-41eb-977c-db1c5c2262c8",
      "name": "Send Correo electrónico with Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        4032,
        -208
      ],
      "webhookId": "3c1516df-b824-4c91-ae15-f86f3df39732",
      "parameters": {
        "sendTo": "={{ $json[\"payload\"][\"invitee\"][\"email\"] }}",
        "message": "={{ $json.email_body }}",
        "options": {},
        "subject": "={{ $json.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "6AMtRHaUvaghku3x",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "445db016-07b9-49a8-a4de-a7057291c75f",
      "name": "Create Task in Asana",
      "type": "n8n-nodes-base.asana",
      "position": [
        4048,
        304
      ],
      "parameters": {
        "name": "=Follow-up with {{ $json.payload.invitee.name }} after missed call",
        "workspace": "1210873801747271",
        "authentication": "oAuth2",
        "otherProperties": {
          "notes": "=Missed meeting with {{ $json.payload.invitee.name }}.\nEmail sent with this Loom: {{ $json.loom_link }}",
          "assignee": "1210873801747258",
          "projects": [
            "1210873956748877"
          ]
        }
      },
      "credentials": {
        "asanaOAuth2Api": {
          "id": "fSmxcIhns7y1gW5b",
          "name": "Asana account"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "04eef1f8-925b-4a4f-bbcb-e48028aed5cc",
  "connections": {
    "5526f0d0-3edf-4941-993b-af89a131630a": {
      "main": [
        [
          {
            "node": "Merge Message & Video",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "445db016-07b9-49a8-a4de-a7057291c75f": {
      "main": [
        []
      ]
    },
    "9837aba5-f367-417d-bb77-e218669efa23": {
      "main": [
        [
          {
            "node": "5c1c2c96-fb1f-4bb0-b3b6-f1b4821e5fd3",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge Message & Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Message & Video": {
      "main": [
        [
          {
            "node": "Send Email with Gmail",
            "type": "main",
            "index": 0
          },
          {
            "node": "445db016-07b9-49a8-a4de-a7057291c75f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email with Gmail": {
      "main": [
        []
      ]
    },
    "5c1c2c96-fb1f-4bb0-b3b6-f1b4821e5fd3": {
      "main": [
        [
          {
            "node": "5526f0d0-3edf-4941-993b-af89a131630a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "75c3e26b-34b6-40d1-8725-983975a628c1": {
      "main": [
        [
          {
            "node": "9837aba5-f367-417d-bb77-e218669efa23",
            "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 - Nutrición de leads, IA Multimodal

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos16
Categoría2
Tipos de nodos7
Descripción de la dificultad

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

Autor
James Carter

James Carter

@arioloop

Automation engineer | 10+ years streamlining Sales & Marketing. Use my link to book an initial consultation for custom n8n work.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34