002_ Suivi après une réunion manquée Loom
Ceci est unLead Nurturing, Multimodal AIworkflow d'automatisation du domainecontenant 16 nœuds.Utilise principalement des nœuds comme Set, Asana, Gmail, Merge, CalendlyTrigger. Utiliser GPT-4, Loom et Asana pour suivre automatiquement les réunions Calendly annulées
- •Compte Google et informations d'identification Gmail API
- •Clé API OpenAI
Nœuds utilisés (16)
Catégorie
{
"id": "gRYLffc4P6MCj1nq",
"meta": {
"instanceId": "e854ccd1d846d48f876ea4ce7613a148e39ed800c748cb59061b490defde7afd",
"templateCredsSetupCompleted": true
},
"name": "002_ Loom Follow Up After Missed Meetings",
"tags": [],
"nodes": [
{
"id": "b64fc7c9-49c3-4b15-bf7f-4af5c85ccfba",
"name": "Note adhésive",
"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": "Note adhésive1",
"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": "Note adhésive8",
"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": "Note adhésive3",
"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": "Note adhésive4",
"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": "Note adhésive5",
"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": "Note adhésive6",
"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": "Note adhésive7",
"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": "Note adhésive9",
"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": "Déclencheur sur annulation de réunion",
"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": "Extraire les infos de la réunion",
"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": "Rédiger le message de suivi (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": "Ajouter l'URL vidéo Loom",
"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": "Fusionner message et vidéo",
"type": "n8n-nodes-base.merge",
"position": [
3520,
32
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "0465ac4e-59b9-41eb-977c-db1c5c2262c8",
"name": "Envoyer l'email avec 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": "Créer une tâche dans 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": "8c7d279f-8040-472c-aa6f-4706a61450cd",
"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": "8c7d279f-8040-472c-aa6f-4706a61450cd",
"type": "main",
"index": 0
}
]
]
},
"8c7d279f-8040-472c-aa6f-4706a61450cd": {
"main": [
[
{
"node": "0465ac4e-59b9-41eb-977c-db1c5c2262c8",
"type": "main",
"index": 0
},
{
"node": "445db016-07b9-49a8-a4de-a7057291c75f",
"type": "main",
"index": 0
}
]
]
},
"0465ac4e-59b9-41eb-977c-db1c5c2262c8": {
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Nurturing de leads, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
James Carter
@arioloopAutomation engineer | 10+ years streamlining Sales & Marketing. Use my link to book an initial consultation for custom n8n work.
Partager ce workflow