Segmentation automatisée des participants Zoom vers KlickTipp basée sur l'engagement
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 22 nœuds.Utilise principalement des nœuds comme Klicktipp, If, Set, Wait, Crypto. Segmentation automatisée des participants Zoom vers KlickTipp basée sur l'engagement
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (22)
Catégorie
{
"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": "Construire le corps de validation",
"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": "Répondre à Webhook (Validation)",
"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": "Construire le corps d'événement 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": "Répondre à Webhook (Événements)",
"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": "Vérification de validation d'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": "Note autocollante",
"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": "Note autocollante1",
"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": "Note autocollante2",
"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": "Étiqueter le participant avec présence complète1",
"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": "Étiqueter le participant pour présence complète",
"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": "Note autocollante3",
"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": "Filtrer les utilisateurs internes",
"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": "Diviser les participants au webinaire",
"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": "Router par nom de webinaire",
"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": "Vérifier la présence complète",
"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": "Vérifier la présence complète1",
"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": "Attendre 1 seconde",
"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": "Écouter les réunions Zoom terminées",
"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": "Obtenir les participants passés des réunions 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": "Abonner le participant",
"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": "Abonner le participant1",
"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
}
]
]
}
}
}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é - Création de contenu, 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
KlickTipp
@KlickTippReach 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.
Partager ce workflow