This workflow follows the Google Calendar → Google Sheets recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Flujo MVP \u2013 WA \u2192 Precalificaci\u00f3n \u2192 Sheets/Trello \u2192 Agenda \u2192 Recordatorios",
"nodes": [
{
"parameters": {
"path": "webhook",
"methods": [
"POST"
]
},
"id": "Webhook_Entrada",
"name": "Webhook (WhatsApp)",
"type": "n8n-nodes-base.webhook"
},
{
"parameters": {
"functionCode": "// Normaliza payload entrante (nombre, telefono, mensaje)\nreturn items.map(i=>{\n const body = i.json.body || i.json;\n return { json: {\n nombre: body.nombre || '', dni: body.dni || '', telefono: body.telefono || '',\n mensaje: body.mensaje || '', origen: 'WA'\n }};\n});"
},
"name": "Function \u2013 Normalizar",
"type": "n8n-nodes-base.function"
},
{
"parameters": {
"sheetId": "<REEMPLAZAR>",
"range": "Casos_MVP!A:Z"
},
"name": "Google Sheets \u2013 Append",
"type": "n8n-nodes-base.googleSheets"
},
{
"parameters": {
"resource": "card",
"operation": "create",
"idList": "<ID_LISTA_NUEVOS>",
"name": "{{ $json.nombre || 'Nuevo caso' }}"
},
"name": "Trello \u2013 Crear tarjeta",
"type": "n8n-nodes-base.trello"
},
{
"parameters": {
"resource": "event",
"operation": "create",
"calendarId": "<REEMPLAZAR>",
"start": "={{$now.plus({ hours: 48 }).toISO()}}",
"end": "={{$now.plus({ hours: 49 }).toISO()}}",
"summary": "Cita inicial \u2013 {{ $json.nombre }}"
},
"name": "Google Calendar \u2013 Crear cita",
"type": "n8n-nodes-base.googleCalendar"
},
{
"parameters": {
"url": "https://graph.facebook.com/v21.0/<PHONE_NUMBER_ID>/messages",
"options": {
"bodyContentType": "json"
},
"jsonParameters": true,
"authentication": "none",
"bodyParametersJson": "={ messaging_product: 'whatsapp', to: $json.telefono, type: 'text', text: { body: '\u00a1Gracias! Tu cita qued\u00f3 agendada. Te recordaremos 24 h y 3 h antes.' } }"
},
"name": "HTTP \u2013 Confirmaci\u00f3n WA",
"type": "n8n-nodes-base.httpRequest"
},
{
"parameters": {
"amount": 24,
"unit": "hours"
},
"name": "Wait \u2013 24h",
"type": "n8n-nodes-base.wait"
},
{
"parameters": {
"url": "https://graph.facebook.com/v21.0/<PHONE_NUMBER_ID>/messages",
"options": {
"bodyContentType": "json"
},
"jsonParameters": true,
"authentication": "none",
"bodyParametersJson": "={ messaging_product: 'whatsapp', to: $json.telefono, type: 'text', text: { body: 'Recordatorio: ten\u00e9s turno ma\u00f1ana. Cualquier cambio, avisanos por ac\u00e1.' } }"
},
"name": "HTTP \u2013 Recordatorio 24h",
"type": "n8n-nodes-base.httpRequest"
},
{
"parameters": {
"amount": 21,
"unit": "hours"
},
"name": "Wait \u2013 21h",
"type": "n8n-nodes-base.wait"
},
{
"parameters": {
"url": "https://graph.facebook.com/v21.0/<PHONE_NUMBER_ID>/messages",
"options": {
"bodyContentType": "json"
},
"jsonParameters": true,
"authentication": "none",
"bodyParametersJson": "={ messaging_product: 'whatsapp', to: $json.telefono, type: 'text', text: { body: 'Recordatorio: tu turno es en 3 horas. Te esperamos en el estudio.' } }"
},
"name": "HTTP \u2013 Recordatorio 3h",
"type": "n8n-nodes-base.httpRequest"
}
],
"connections": {
"Webhook (WhatsApp)": {
"main": [
[
{
"node": "Function \u2013 Normalizar",
"type": "main"
}
]
]
},
"Function \u2013 Normalizar": {
"main": [
[
{
"node": "Google Sheets \u2013 Append",
"type": "main"
},
{
"node": "Trello \u2013 Crear tarjeta",
"type": "main"
},
{
"node": "Google Calendar \u2013 Crear cita",
"type": "main"
}
]
]
},
"Google Calendar \u2013 Crear cita": {
"main": [
[
{
"node": "HTTP \u2013 Confirmaci\u00f3n WA",
"type": "main"
}
]
]
},
"HTTP \u2013 Confirmaci\u00f3n WA": {
"main": [
[
{
"node": "Wait \u2013 24h",
"type": "main"
}
]
]
},
"Wait \u2013 24h": {
"main": [
[
{
"node": "HTTP \u2013 Recordatorio 24h",
"type": "main"
}
]
]
},
"HTTP \u2013 Recordatorio 24h": {
"main": [
[
{
"node": "Wait \u2013 21h",
"type": "main"
}
]
]
},
"Wait \u2013 21h": {
"main": [
[
{
"node": "HTTP \u2013 Recordatorio 3h",
"type": "main"
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Flujo MVP – WA → Precalificación → Sheets/Trello → Agenda → Recordatorios. Uses googleSheets, trello, googleCalendar, httpRequest. Webhook trigger; 10 nodes.
Source: https://github.com/Paulina282000/n8n-legal-ET/blob/34ed9fc0be755da60d6746915bca9fbf5d98fadf/init/workflows/flujo_mvp_whatsapp.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow is a complete, production-ready solution for recovering abandoned carts in Shopify stores using a multi-channel, multi-touch approach. It automates personalized follow-ups via Email, SMS
clients kept booking meetings during my prayer times. i'd either miss a prayer or scramble to reschedule. the problem wasn't the clients — it was that my calendar had no blocked windows for salah. i n
01_order_processing_tilda. Uses stickyNote, googleSheets, httpRequest, telegram. Webhook trigger; 25 nodes.
Turn every sales meeting into a coaching opportunity. This workflow automatically analyzes tldv meeting recordings using OpenAI (GPT-4) to provide instant, actionable feedback to your sales team.
Automated video processing system that monitors S3 for new uploads, generates thumbnails and preview clips, extracts metadata, transcodes to multiple formats, and distributes to CDN with webhook notif