Segmentación automática de asistentes de Zoom en KlickTipp según el compromiso

Avanzado

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 22 nodos.Utiliza principalmente nodos como Klicktipp, If, Set, Wait, Crypto. Automatización de la segmentación de participantes de Zoom en KlickTipp según el compromiso

Requisitos previos
  • Punto final de HTTP Webhook (n8n generará automáticamente)
  • Pueden requerirse credenciales de autenticación para la API de destino
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": "95b3ab5a70ab1c8c1906357a367f1b236ef12a1409406fd992f60255f0f95f85",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "0659ddd3-cbad-4f95-a993-f2362e5fdd97",
      "name": "Crypto",
      "type": "n8n-nodes-base.crypto",
      "notes": "This node prepares the response to the Zoom endpoint in order to answer to the validation.",
      "position": [
        -160,
        -112
      ],
      "parameters": {
        "type": "SHA256",
        "value": "={{ $json.body.payload.plainToken }}",
        "action": "hmac",
        "secret": "dm4D484mTSKT67HpYQ8U0w"
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "f66d1b66-7059-4261-94df-f5fa65bea7a1",
      "name": "Construir cuerpo de validación",
      "type": "n8n-nodes-base.set",
      "notes": "This node builds the body for the response to the Zoom endpoint in order to answer for validation.",
      "position": [
        64,
        -112
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "plainToken",
              "value": "={{ $json.body.payload.plainToken }}"
            },
            {
              "name": "encryptedToken",
              "value": "={{ $json.data }}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "e6cdca55-ccaf-4786-8dc5-530ef2cc0394",
      "name": "Responder a Webhook (Validación)",
      "type": "n8n-nodes-base.respondToWebhook",
      "notes": "This node sends the response back to the Zoom endpoint.",
      "position": [
        272,
        -112
      ],
      "parameters": {
        "options": {}
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "106611cd-1631-4fd8-871d-28fdda7ee5b2",
      "name": "Construir cuerpo de evento normal",
      "type": "n8n-nodes-base.set",
      "notes": "This node builds a body for a response to the endpoint in case of a regular event.",
      "position": [
        -160,
        80
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "status",
              "value": "ok"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "dbec7433-2faf-47d0-8f06-6d7c4c20971b",
      "name": "Responder a Webhook (Eventos)",
      "type": "n8n-nodes-base.respondToWebhook",
      "notes": "This node answers to the endpoint in case of regular Zoom events - such as ending meetings in this case.",
      "position": [
        64,
        80
      ],
      "parameters": {
        "options": {}
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "dd1d32e6-ab68-4aaf-b1f4-6df83223724e",
      "name": "Verificación de validación de URL",
      "type": "n8n-nodes-base.if",
      "notes": "This node checks whether the received data was a ending meeting or a URL validation call by Zoom.",
      "position": [
        -384,
        -16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8516a75f-6aa9-4b72-828a-f5627d066ecc",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.body.event }}",
              "rightValue": "endpoint.url_validation"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.2
    },
    {
      "id": "78ecf8f8-9fb4-4b14-b079-6038e0693c79",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -656,
        -304
      ],
      "parameters": {
        "color": 4,
        "width": 1104,
        "height": 752,
        "content": "## Meeting data reception\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ee6d0810-3968-481b-b214-dd81e7afeb69",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -304
      ],
      "parameters": {
        "color": 2,
        "width": 448,
        "height": 752,
        "content": "## Pulling webinar data - participants and absentees\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b115c42e-89c4-48ab-aad8-2557978053bd",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        -304
      ],
      "parameters": {
        "color": 3,
        "width": 1312,
        "height": 752,
        "content": "## Segment all participants and absentees from the past webinar\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6de2ce31-dca8-43aa-ab89-4aeebc327822",
      "name": "Etiquetar participante con asistencia completa1",
      "type": "CUSTOM.klicktipp",
      "notes": "This node tags the contacts of your first webinar branch  for the full attendance if they have attended more than 90% of the webinar.",
      "position": [
        2016,
        224
      ],
      "parameters": {
        "email": "={{ $json.email }}",
        "tagId": [
          "13445224"
        ],
        "resource": "contact-tagging"
      },
      "credentials": {
        "klickTippApi": {
          "id": "K9JyBdCM4SZc1cXl",
          "name": "DEMO KlickTipp account"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "27d21cf7-6378-466d-b196-bf11806e2ed8",
      "name": "Etiquetar participante por asistencia completa",
      "type": "CUSTOM.klicktipp",
      "notes": "This node tags the contacts of your first webinar branch  for the full attendance if they have attended more than 90% of the webinar.",
      "position": [
        2000,
        -48
      ],
      "parameters": {
        "email": "={{ $json.email }}",
        "tagId": [
          "13440472"
        ],
        "resource": "contact-tagging"
      },
      "credentials": {
        "klickTippApi": {
          "id": "K9JyBdCM4SZc1cXl",
          "name": "DEMO KlickTipp account"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "5296bb95-1c28-4a95-b776-11997cf344be",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        480
      ],
      "parameters": {
        "color": 7,
        "width": 1104,
        "height": 1920,
        "content": "Community Node Disclaimer: This workflow uses KlickTipp community nodes.\n\n\n### Introduction\nThis workflow automates the end-to-end integration between Zoom and KlickTipp using n8n. It listens to Zoom meeting events (specifically, when a meeting ends), fetches attendance data, subscribes the participants and tags them in KlickTipp based on how long they attended. This enables precise segmentation for follow-ups and campaign automation based on actual user engagement.\n\n### Benefits\n- **Fully automated tagging**: No manual effort—participants are tagged in KlickTipp based on attendance percentage.\n- **Precise segmentation**: Supports differentiated tags for full, partial, or no attendance per meeting type.\n- **Dual-meeting support**: Handles multiple meeting types (e.g. Beginner vs. Expert) in one automated flow.\n\n### Key Features\n- **Zoom Webhook Listener**:\n  - Reacts to `meeting.ended` events.\n  - Validates Zoom URL on webhook registration using HMAC.\n- **Zoom API Integration**:\n  - Pulls past meeting details and participant list using meeting UUID.\n  - Uses `duration` fields to calculate attendance.\n- **Conditional Logic**:\n  - Uses Switch nodes to differentiate meetings by topic.\n  - Filters out internal users.\n  - Applies IF logic to check attendance thresholds (e.g. ≥ 90%, ≥ 60%).\n- **KlickTipp Subscription & Tagging**:\n  - Subscribes participant to KlickTipp based on meeting data\n  - Applies different tags for each attendance segment:\n    - Full attendance (≥ 90%)\n    - General attendance\n    - No attendance\n  - Supports tagging per meeting name (ex.: meeting E-Mail Zustellung für Anfänger vs. meeting E-Mail Zustellung für Experten).\n- **Scalable Structure**:\n  - Easily extendable to more meetings by duplicating the Switch and tagging logic.\n\n### Setup Instructions\n**Zoom Preparation**\n   - Ensure Zoom API access is enabled.\n   - Set up recurring meetings or meetings.\n   - Enable webhook event `meeting.ended` for your Zoom webhook and the scopes `meeting:read:meeting`, `meeting:read:list_past_participants`.\n\n**KlickTipp Preparation**\n   - Create these custom fields (if not already present):\n  - `Zoom | meeting selection` (Text)\n- `Zoom | meeting start` (Date & Time)\n- `Zoom | Join URL` (URL)\n- `Zoom | Registration ID` (Text)\n- `Zoom | Duration meeting` (Text)\n\n  - Manually add the following tags:\n     - `Zoom meeting E-Mail Zustellung für Anfänger`\n     - `Zoom meeting E-Mail Zustellung für Anfänger attended`\n     - `Zoom meeting E-Mail Zustellung für Anfänger attended fully`\n     - `Zoom meeting E-Mail Zustellung für Anfänger not attended`\n     - `Zoom meeting E-Mail Zustellung für Experten`\n     - `Zoom meeting E-Mail Zustellung für Experten attended`\n     - `Zoom meeting E-Mail Zustellung für Experten attended fully`\n     - `Zoom meeting E-Mail Zustellung für Experten not attended`\n\n\n**n8n Configuration**\n   - Configure the webhook node for the Zoom endpoint and connect it to your webhook.\n   - Set up API credentials for Zoom and KlickTipp.\n  \n\n### Testing and Deployment\n1. End a Zoom meeting connected to the flow.\n2. Verify:\n   - The webhook triggers.\n   - Participants are fetched from Zoom.\n   - Tags are applied correctly in KlickTipp.\n3. Review KlickTipp contact records for tag and custom field updates.\n\n> 💡 *Pro Tip*: Use test emails and simulate different durations to validate tagging logic.\n\n### Campaign Expansion Ideas\n- Add additional meeting topics and tag logic by extending the Switch node.\n- Trigger personalized email sequences in KlickTipp based on attendance status.\n- Combine this workflow with registration tracking for full-funnel automation.\n- Use conditional routing to send follow-ups only to specific attendance segments.\n\n### Customization\n- Update tag names in the KlickTipp nodes to match your campaign naming convention.\n- Adjust attendance thresholds (e.g. 80% instead of 90%) in IF nodes.\n- Add fallback conditions for missing data or error handling on Zoom API calls.\n- Use more granular time ranges for segmentation of attendance (e.g. 0–30%, 30–60%, etc.).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4ac87f98-1281-41d5-b607-3a4e2919ac2e",
      "name": "Filtrar usuarios internos",
      "type": "n8n-nodes-base.filter",
      "notes": "This node filters out internal users from the webinar such as the host.",
      "position": [
        976,
        80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6c66e073-723a-44a2-83c7-0ece10385a3b",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('Split webinar participants').item.json.internal_user }}",
              "rightValue": ""
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.2
    },
    {
      "id": "fc1718e5-321e-4e7e-8cdd-cd6bf34e78e6",
      "name": "Dividir participantes del webinar",
      "type": "n8n-nodes-base.splitOut",
      "notes": "This node iterates through all participants.",
      "position": [
        752,
        80
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "participants"
      },
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "3a7eb266-fc42-4448-a750-287230ccc4cc",
      "name": "Enrutar por nombre de webinar",
      "type": "n8n-nodes-base.switch",
      "notes": "This node filters for the different webinars via the name in order to process them.",
      "position": [
        1184,
        80
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "E-Mail Zustellung für Anfänger",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8de9cdc6-5393-4daa-acbd-7d14fbcd2586",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.topic }}",
                    "rightValue": "E-Mail Zustellung für Anfänger"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "E-Mail Zustellung für Experten",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "bb59b2cb-b22c-4325-8373-f2a50dcb5ef1",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.topic }}",
                    "rightValue": "E-Mail Zustellung für Experten"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "notesInFlow": true,
      "typeVersion": 3.2
    },
    {
      "id": "9e068327-0a37-41a0-95b0-31fdd60ae887",
      "name": "Verificar asistencia completa",
      "type": "n8n-nodes-base.if",
      "notes": "This node checks whether the participants have spent more than 90% in the webinar or not.",
      "position": [
        1744,
        -32
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "55a73ac0-4754-4ae4-b6ac-cc3b46b19580",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $('Split webinar participants').item.json.duration }}",
              "rightValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.duration * 60 * 0.9 }}"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.2
    },
    {
      "id": "6da889bc-4e87-4a27-93bb-a3875469ab7b",
      "name": "Verificar asistencia completa1",
      "type": "n8n-nodes-base.if",
      "notes": "This node checks whether the participants have spent more than 90% in the webinar or not.",
      "position": [
        1760,
        240
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f3673baa-a23b-4f19-91d9-5b1bac26e064",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $('Split webinar participants').item.json.duration }}",
              "rightValue": "={{ $('Listen to ending Zoom meetings').item.json.body.payload.object.duration * 60 * 0.9 }}"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.2
    },
    {
      "id": "3368dabc-71e4-4b5d-a5d7-2cd767806672",
      "name": "Esperar 1 segundo",
      "type": "n8n-nodes-base.wait",
      "notes": "This node waits 1 second to avoid calling the past webinar to early before it is available.",
      "position": [
        272,
        80
      ],
      "webhookId": "bc96ac17-e335-45dc-bd96-0dcfbfc2e374",
      "parameters": {
        "amount": 1
      },
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "05b7c7ee-4a94-4f6f-b8a7-daddb0f774c9",
      "name": "Escuchar finalización de reuniones de Zoom",
      "type": "n8n-nodes-base.webhook",
      "notes": "This node is listening to Zoom events and triggers when a webinar was ended.",
      "position": [
        -608,
        -16
      ],
      "webhookId": "0149ebe4-2dd9-420d-af7c-d60439f22451",
      "parameters": {
        "path": "0149ebe4-2dd9-420d-af7c-d60439f22451",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "notesInFlow": true,
      "typeVersion": 2.1
    },
    {
      "id": "0c825304-48c3-4d03-9228-9a0f4b806b62",
      "name": "Obtener participantes pasados de reunión de Zoom",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "This node pulls data of the webinar participants in order to process them.",
      "position": [
        512,
        80
      ],
      "parameters": {
        "url": "=https://api.zoom.us/v2/past_meetings/{{ $('Listen to ending Zoom meetings').item.json.body.payload.object.uuid }}/participants",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "zoomOAuth2Api"
      },
      "credentials": {
        "zoomOAuth2Api": {
          "id": "qmYwItfGtnNF2XQQ",
          "name": "Ricardo's Zoom account"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "fc622fae-a156-41a2-a10f-601f8aca4dc5",
      "name": "Suscribir participante",
      "type": "n8n-nodes-klicktipp.klicktipp",
      "notes": "This node subscribes the participant based on the meeting data as a new contact in KlickTipp or updates it.",
      "position": [
        1536,
        -32
      ],
      "parameters": {
        "email": "={{ $json.user_email }}",
        "tagId": "13327964",
        "fields": {
          "dataFields": [
            {
              "fieldId": "fieldFirstName",
              "fieldValue": "={{ \n  // Take the \"name\" field from the current JSON item\n  $json.name\n    // Remove leading/trailing spaces (just in case)\n    .trim()\n    // Split the string into an array, using a space as the separator\n    .split(\" \")\n    // Select the first element of the array (the first word)\n    [0] \n}}"
            },
            {
              "fieldId": "fieldLastName",
              "fieldValue": "={{ \n  /* take \"name\" or empty string if missing */ ($json.name || '')\n    /* trim leading/trailing whitespace */ .trim()\n    /* split into words by any whitespace */ .split(/\\s+/)\n    /* get last word */ .slice(-1)[0]\n    /* fallback */ || ''\n}}"
            }
          ]
        },
        "listId": "358895",
        "resource": "subscriber",
        "operation": "subscribe"
      },
      "credentials": {
        "klickTippApi": {
          "id": "K9JyBdCM4SZc1cXl",
          "name": "DEMO KlickTipp account"
        }
      },
      "notesInFlow": true,
      "typeVersion": 3
    },
    {
      "id": "bd71ca87-dbd7-4525-9ae6-a072069baa67",
      "name": "Suscribir participante1",
      "type": "n8n-nodes-klicktipp.klicktipp",
      "notes": "This node subscribes the participant based on the meeting data as a new contact in KlickTipp or updates it.",
      "position": [
        1536,
        240
      ],
      "parameters": {
        "email": "={{ $json.user_email }}",
        "tagId": "13327965",
        "fields": {
          "dataFields": [
            {
              "fieldId": "fieldFirstName",
              "fieldValue": "={{ \n  // Take the \"name\" field from the current JSON item\n  $json.name\n    // Remove leading/trailing spaces (just in case)\n    .trim()\n    // Split the string into an array, using a space as the separator\n    .split(\" \")\n    // Select the first element of the array (the first word)\n    [0] \n}}"
            },
            {
              "fieldId": "fieldLastName",
              "fieldValue": "={{    /* take \"name\" or empty string if missing */ ($json.name || '')     /* trim leading/trailing whitespace */ .trim()     /* split into words by any whitespace */ .split(/\\s+/)     /* get last word */ .slice(-1)[0]     /* fallback */ || '' }}"
            }
          ]
        },
        "listId": "358895",
        "resource": "subscriber",
        "operation": "subscribe"
      },
      "credentials": {
        "klickTippApi": {
          "id": "K9JyBdCM4SZc1cXl",
          "name": "DEMO KlickTipp account"
        }
      },
      "notesInFlow": true,
      "typeVersion": 3
    }
  ],
  "pinData": {
    "Listen to ending Zoom meetings": [
      {
        "body": {
          "event": "meeting.ended",
          "payload": {
            "object": {
              "id": "89034789500",
              "type": 8,
              "uuid": "VYiYZEtvRKOkALJpZPP7Yw==",
              "topic": "E-Mail Zustellung für Experten",
              "host_id": "imnEs0zeTWSDBv5eq2M4tg",
              "duration": 30,
              "end_time": "2025-09-19T10:31:19Z",
              "timezone": "Europe/Berlin",
              "start_time": "2025-09-19T10:30:43Z"
            },
            "account_id": "t0mC6eOWQ6KZg4QL1sUQgg"
          },
          "event_ts": 1758277879717
        },
        "query": {},
        "params": {},
        "headers": {
          "host": "n8n-test-u24934.vm.elestio.app",
          "clientid": "jDZWANnaRpGCbjH9lZqA_A",
          "x-real-ip": "170.114.6.87",
          "connection": "close",
          "user-agent": "Zoom Marketplace/1.0a",
          "traceparent": "00-d3e223800451ec8e49b6e2165a46ed34-174f4b5b0cc9cd0f-00",
          "content-type": "application/json; charset=utf-8",
          "authorization": "wmnEKko8Q5KhGKWGtM2UCA",
          "content-length": "362",
          "x-zm-signature": "v0=39bc87ae68445bfd78f163e39273ef6fe6e50c437702e7d7363e962d9fbe1244",
          "x-forwarded-for": "170.114.6.87",
          "x-zm-request-id": "9ad68e27_30ca_4983_b464_bfd4b540a86e",
          "x-zm-trackingid": "v=2.0;clid=us06;rid=WEB_613edca7cc9fbbae8f60b949bb6e49b6",
          "x-forwarded-port": "443",
          "x-forwarded-proto": "https",
          "x-zm-request-timestamp": "1758277900"
        },
        "webhookUrl": "https://n8n-test-u24934.vm.elestio.app/webhook/0149ebe4-2dd9-420d-af7c-d60439f22451",
        "executionMode": "production"
      }
    ]
  },
  "connections": {
    "0659ddd3-cbad-4f95-a993-f2362e5fdd97": {
      "main": [
        [
          {
            "node": "f66d1b66-7059-4261-94df-f5fa65bea7a1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3368dabc-71e4-4b5d-a5d7-2cd767806672": {
      "main": [
        [
          {
            "node": "0c825304-48c3-4d03-9228-9a0f4b806b62",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd1d32e6-ab68-4aaf-b1f4-6df83223724e": {
      "main": [
        [
          {
            "node": "0659ddd3-cbad-4f95-a993-f2362e5fdd97",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "106611cd-1631-4fd8-871d-28fdda7ee5b2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f66d1b66-7059-4261-94df-f5fa65bea7a1": {
      "main": [
        [
          {
            "node": "e6cdca55-ccaf-4786-8dc5-530ef2cc0394",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9e068327-0a37-41a0-95b0-31fdd60ae887": {
      "main": [
        [
          {
            "node": "27d21cf7-6378-466d-b196-bf11806e2ed8",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "4ac87f98-1281-41d5-b607-3a4e2919ac2e": {
      "main": [
        [
          {
            "node": "3a7eb266-fc42-4448-a750-287230ccc4cc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3a7eb266-fc42-4448-a750-287230ccc4cc": {
      "main": [
        [
          {
            "node": "fc622fae-a156-41a2-a10f-601f8aca4dc5",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "bd71ca87-dbd7-4525-9ae6-a072069baa67",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fc622fae-a156-41a2-a10f-601f8aca4dc5": {
      "main": [
        [
          {
            "node": "9e068327-0a37-41a0-95b0-31fdd60ae887",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6da889bc-4e87-4a27-93bb-a3875469ab7b": {
      "main": [
        [
          {
            "node": "6de2ce31-dca8-43aa-ab89-4aeebc327822",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "bd71ca87-dbd7-4525-9ae6-a072069baa67": {
      "main": [
        [
          {
            "node": "6da889bc-4e87-4a27-93bb-a3875469ab7b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "106611cd-1631-4fd8-871d-28fdda7ee5b2": {
      "main": [
        [
          {
            "node": "dbec7433-2faf-47d0-8f06-6d7c4c20971b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fc1718e5-321e-4e7e-8cdd-cd6bf34e78e6": {
      "main": [
        [
          {
            "node": "4ac87f98-1281-41d5-b607-3a4e2919ac2e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dbec7433-2faf-47d0-8f06-6d7c4c20971b": {
      "main": [
        [
          {
            "node": "3368dabc-71e4-4b5d-a5d7-2cd767806672",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "05b7c7ee-4a94-4f6f-b8a7-daddb0f774c9": {
      "main": [
        [
          {
            "node": "dd1d32e6-ab68-4aaf-b1f4-6df83223724e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0c825304-48c3-4d03-9228-9a0f4b806b62": {
      "main": [
        [
          {
            "node": "fc1718e5-321e-4e7e-8cdd-cd6bf34e78e6",
            "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 - Creación de contenido, 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 nodos22
Categoría2
Tipos de nodos13
Descripción de la dificultad

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

Autor
KlickTipp

KlickTipp

@KlickTipp

Reach more people. 100% GDPR compliant. Quickly create automated email campaigns, SMS and marketing automations. Market your knowledge independently of Google & Co., sell lucrative products and activate your customers.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34