Manejo automatizado de baja de suscripción de correos: Outlook con integración de BigQuery

Intermedio

Este es unSocial Mediaflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como Set, Code, Merge, Filter, Summarize. Manejo automático de cancelaciones de suscripción a correos: integración de Outlook con BigQuery

Requisitos previos
  • No hay requisitos previos especiales, puede importar y usarlo directamente

Categoría

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
{
  "meta": {
    "instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439"
  },
  "nodes": [
    {
      "id": "3282f715-dba9-4078-93fd-a168340d2274",
      "name": "Nota Adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2280,
        2560
      ],
      "parameters": {
        "width": 1720,
        "height": 860,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d9e29f8b-982b-4dcb-b4ab-e73d3fdf20aa",
      "name": "Nota Adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2280,
        2420
      ],
      "parameters": {
        "color": 5,
        "width": 1720,
        "height": 120,
        "content": "## Email Unsubscribe Handler for Outlook \n\n** Feel free to contact me if you need help implementing (rbreen@ynteractive.com) **"
      },
      "typeVersion": 1
    },
    {
      "id": "7b151f06-fbe0-4103-a8cd-acd441086ad0",
      "name": "Nota Adhesiva10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3100,
        2420
      ],
      "parameters": {
        "width": 780,
        "height": 1000,
        "content": "## How to Implement This n8n Workflow\n\nFollow these steps to configure and deploy the workflow:\n\n1. Connect Your Outlook Account\nIn n8n, go to Credentials > Microsoft Outlook OAuth2.\n\nLog in with the Outlook account that receives replies from your leads.\n\nAssign this credential to the Outlook node that fetches emails.\n\n2. Set Up Google BigQuery\nGo to 👉 https://console.cloud.google.com/\n\nCreate or select a project.\n\nSet up two tables in BigQuery:\n\nunsubscribes (should include at minimum: email, timestamp)\n\nleads (ensure it includes email as a field so you can match and delete)\n\nIn n8n, go to Credentials > Google BigQuery OAuth2 and add your credentials.\n\nAssign this credential to all BigQuery nodes in the workflow.\n\n3. Schedule the Workflow\nUse an Interval node or Cron trigger.\n\nSet it to run every 4 hours (or adjust to your preferred frequency).\n\n✅ You’re All Set!\nEvery time the workflow runs:\n\nIt pulls the last 7 days of email replies from Outlook.\n\nFilters messages that include \"unsubscribe\" (case-insensitive).\n\nSaves the email address to your BigQuery unsubscribes table.\n\nDeletes that email from your BigQuery leads table.\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "737b8659-c432-4541-be15-6875136ac804",
      "name": "Bucle sobre Elementos1",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1100,
        2900
      ],
      "parameters": {
        "options": {},
        "batchSize": "=1"
      },
      "typeVersion": 3
    },
    {
      "id": "e93b95e9-b476-4bc9-af5f-f606b2ec1efa",
      "name": "Resumir",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -960,
        2640
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "1"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "746f69f6-1180-4bbc-ada5-5e797ce75527",
      "name": "Editar Campos",
      "type": "n8n-nodes-base.set",
      "position": [
        -1580,
        2600
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e67355be-e522-4b1f-948e-0d4a68cc4092",
              "name": "email",
              "type": "string",
              "value": "={{ $('Filter for Unsubscribes').item.json.sender.emailAddress.address }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "29eb258f-2c62-47a8-a79e-17f9c4b02818",
      "name": "Editar Campos1",
      "type": "n8n-nodes-base.set",
      "position": [
        -1580,
        2920
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "22d29a78-ada2-41c4-915f-ece2da260703",
              "name": "queryemail",
              "type": "string",
              "value": "={{ $json.email }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6831435f-b8f2-4c09-8d89-e6fca412da83",
      "name": "Ejecutar Cada 4 Horas",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2240,
        2920
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 4
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0d20cc6c-0a1e-4d1b-aee8-0700fcb8e164",
      "name": "Consultar BigQuery para Todas las Bajas",
      "type": "n8n-nodes-base.googleBigQuery",
      "position": [
        -1960,
        3020
      ],
      "parameters": {
        "options": {},
        "sqlQuery": "SELECT * FROM `n8nautomation-453001.email_leads_schema.Unsubscribes` ",
        "projectId": {
          "__rl": true,
          "mode": "list",
          "value": "n8nautomation-453001",
          "cachedResultUrl": "https://console.cloud.google.com/bigquery?project=n8nautomation-453001",
          "cachedResultName": "n8nAutomation"
        }
      },
      "credentials": {
        "googleBigQueryOAuth2Api": {
          "id": "92PxWUCndZ2LZK34",
          "name": "Google BigQuery account"
        }
      },
      "typeVersion": 2.1,
      "alwaysOutputData": true
    },
    {
      "id": "ad0f0314-caf8-48a6-9854-a537ab929515",
      "name": "Hoy y Hace 7 Días",
      "type": "n8n-nodes-base.code",
      "position": [
        -2020,
        2780
      ],
      "parameters": {
        "jsCode": "const pad = (n, width = 2) => String(n).padStart(width, '0');\n\nconst formatDate = (date) => {\n  const offsetMinutes = date.getTimezoneOffset();\n  const sign = offsetMinutes <= 0 ? '+' : '-';\n  const absOffset = Math.abs(offsetMinutes);\n  const offsetHours = pad(Math.floor(absOffset / 60));\n  const offsetMins = pad(absOffset % 60);\n  const timezone = `${sign}${offsetHours}:${offsetMins}`;\n\n  return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}.0000000${timezone}`;\n};\n\nconst now = new Date();\nconst sevenDaysAgo = new Date(now);\nsevenDaysAgo.setDate(now.getDate() - 5);\n\nreturn [\n  {\n    json: {\n      now: formatDate(now),\n      sevenDaysAgo: formatDate(sevenDaysAgo),\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "633e7061-39f9-4b30-95e1-137eb7e9e9ec",
      "name": "Obtener Correos de los Últimos 7 Días",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        -1840,
        2620
      ],
      "webhookId": "ddf2403c-d5c1-4ac0-8136-293fa750e0ba",
      "parameters": {
        "fields": [
          "body",
          "createdDateTime",
          "from",
          "sender"
        ],
        "output": "fields",
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "AQMkADZhNTY3Y2E5LTU4NmMtNGMwNy04MTJiLThkNjkyMzJhMmNkNQAuAAADXiC9rHEGmkKKceK-QpabwAEAw3C9jVjaFUip7UVu8fMd2gAAAgEMAAAA",
          "cachedResultUrl": "https://outlook.office365.com/mail/AQMkADZhNTY3Y2E5LTU4NmMtNGMwNy04MTJiLThkNjkyMzJhMmNkNQAuAAADXiC9rHEGmkKKceK%2FQpabwAEAw3C9jVjaFUip7UVu8fMd2gAAAgEMAAAA",
          "cachedResultName": "Inbox"
        },
        "resource": "folderMessage",
        "filtersUI": {
          "values": {
            "filters": {
              "receivedAfter": "={{ $json.sevenDaysAgo }}",
              "receivedBefore": "={{ $json.now }}"
            }
          }
        },
        "returnAll": true
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "id": "VmTDwKgAl78H8pek",
          "name": "Microsoft Outlook account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8af28462-0892-40c4-8cf5-09c1e1fe31d7",
      "name": "Filtrar por Bajas",
      "type": "n8n-nodes-base.filter",
      "position": [
        -1700,
        2800
      ],
      "parameters": {
        "options": {
          "ignoreCase": true
        },
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": false,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5a99230c-6b9a-499b-8973-62d0c6daea37",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.body.content }}",
              "rightValue": "unsubscribe"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0b2e4262-5718-4c6f-b1a4-6884e385e277",
      "name": "Mantener Solo Bajas Nuevas",
      "type": "n8n-nodes-base.merge",
      "position": [
        -1400,
        2700
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "advanced": true,
        "joinMode": "keepNonMatches",
        "mergeByFields": {
          "values": [
            {
              "field1": "=email",
              "field2": "queryemail"
            }
          ]
        },
        "outputDataFrom": "input1"
      },
      "typeVersion": 3.1
    },
    {
      "id": "8fc0c4ef-6e1b-4626-ae2f-2c6911a30970",
      "name": "Agregar a Nivel de Correo Electrónico",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -1240,
        2580
      ],
      "parameters": {
        "options": {},
        "fieldsToSplitBy": "email",
        "fieldsToSummarize": {
          "values": [
            {
              "field": "1"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "f79c5b11-a65d-4dd6-a07c-7910f03fb6d9",
      "name": "Añadir Bajas a la Tabla",
      "type": "n8n-nodes-base.googleBigQuery",
      "position": [
        -800,
        3060
      ],
      "parameters": {
        "options": {},
        "sqlQuery": "  MERGE INTO `n8nautomation-453001.email_leads_schema.Unsubscribes` AS target\nUSING (\n  SELECT '{{ $json.email }}' AS email\n) AS source\nON target.email = source.email\nWHEN NOT MATCHED THEN\n  INSERT(email) VALUES(source.email);",
        "projectId": {
          "__rl": true,
          "mode": "list",
          "value": "n8nautomation-453001",
          "cachedResultUrl": "https://console.cloud.google.com/bigquery?project=n8nautomation-453001",
          "cachedResultName": "n8nAutomation"
        }
      },
      "credentials": {
        "googleBigQueryOAuth2Api": {
          "id": "92PxWUCndZ2LZK34",
          "name": "Google BigQuery account"
        }
      },
      "typeVersion": 2.1,
      "alwaysOutputData": true
    }
  ],
  "pinData": {},
  "connections": {
    "e93b95e9-b476-4bc9-af5f-f606b2ec1efa": {
      "main": [
        []
      ]
    },
    "746f69f6-1180-4bbc-ada5-5e797ce75527": {
      "main": [
        [
          {
            "node": "0b2e4262-5718-4c6f-b1a4-6884e385e277",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "29eb258f-2c62-47a8-a79e-17f9c4b02818": {
      "main": [
        [
          {
            "node": "0b2e4262-5718-4c6f-b1a4-6884e385e277",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "737b8659-c432-4541-be15-6875136ac804": {
      "main": [
        [
          {
            "node": "e93b95e9-b476-4bc9-af5f-f606b2ec1efa",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f79c5b11-a65d-4dd6-a07c-7910f03fb6d9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6831435f-b8f2-4c09-8d89-e6fca412da83": {
      "main": [
        [
          {
            "node": "ad0f0314-caf8-48a6-9854-a537ab929515",
            "type": "main",
            "index": 0
          },
          {
            "node": "0d20cc6c-0a1e-4d1b-aee8-0700fcb8e164",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ad0f0314-caf8-48a6-9854-a537ab929515": {
      "main": [
        [
          {
            "node": "633e7061-39f9-4b30-95e1-137eb7e9e9ec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0b2e4262-5718-4c6f-b1a4-6884e385e277": {
      "main": [
        [
          {
            "node": "8fc0c4ef-6e1b-4626-ae2f-2c6911a30970",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8af28462-0892-40c4-8cf5-09c1e1fe31d7": {
      "main": [
        [
          {
            "node": "746f69f6-1180-4bbc-ada5-5e797ce75527",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8fc0c4ef-6e1b-4626-ae2f-2c6911a30970": {
      "main": [
        [
          {
            "node": "737b8659-c432-4541-be15-6875136ac804",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f79c5b11-a65d-4dd6-a07c-7910f03fb6d9": {
      "main": [
        [
          {
            "node": "737b8659-c432-4541-be15-6875136ac804",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "633e7061-39f9-4b30-95e1-137eb7e9e9ec": {
      "main": [
        [
          {
            "node": "8af28462-0892-40c4-8cf5-09c1e1fe31d7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0d20cc6c-0a1e-4d1b-aee8-0700fcb8e164": {
      "main": [
        [
          {
            "node": "29eb258f-2c62-47a8-a79e-17f9c4b02818",
            "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?

Intermedio - Redes sociales

¿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
Intermedio
Número de nodos15
Categoría1
Tipos de nodos10
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Robert Breen

Robert Breen

@rbreen

Professional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34