n8n
Workflow
Streamline Your Zoom Meetings With Secure Automated Stripe Payments
This n8n workflow automates tasks and integrates with various services. Streamline Your Zoom Meetings With Secure Automated Stripe Payments - ready to import and run in your n8n instance.
n8n
workflow.json
About This Script
This n8n workflow automates tasks and integrates with various services. Streamline Your Zoom Meetings With Secure Automated Stripe Payments - ready to import and run in your n8n instance.
Features:
- Makes HTTP requests to external APIs
- Conditional logic and branching
Source Code
{
"nodes": [
{
"id": "fcc38ae8-0dbf-4676-b47b-ba77f97a38b8",
"name": "Create Zoom meeting",
"type": "n8n-nodes-base.zoom",
"position": [
180,
480
],
"parameters": {
"topic": "={{ $('Creation Form').item.json.title }}",
"authentication": "oAuth2",
"additionalFields": {
"password": "={{ Math.random().toString(36).slice(-4); }}",
"startTime": "={{ new Date(new Date($('Creation Form').item.json.date_start).getTime() + ($('Creation Form').item.json.hour * 3600000) + ($('Creation Form').item.json.minute * 60000)).toISOString() }}"
}
},
"credentials": {
"zoomOAuth2Api": {
"id": "JQ9fG5WNTVssHxGj",
"name": "Zoom account"
}
},
"typeVersion": 1
},
{
"id": "3d2dea09-c463-447b-9a9d-daca8fdcac06",
"name": "Create Stripe Product",
"type": "n8n-nodes-base.httpRequest",
"position": [
400,
480
],
"parameters": {
"url": "https://api.stripe.com/v1/products",
"method": "POST",
"options": [],
"sendBody": true,
"contentType": "form-urlencoded",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $('Creation Form').item.json.title }}"
},
{
"name": "default_price_data[unit_amount]",
"value": "={{ $('Creation Form').item.json.price * 100 }}"
},
{
"name": "default_price_data[currency]",
"value": "={{ $('Config').item.json.currency }}"
}
]
},
"nodeCredentialType": "stripeApi"
},
"credentials": {
"stripeApi": {
"id": "qjose8z3RR7Xzm7b",
"name": "Stripe Dev"
}
},
"typeVersion": 4.1
},
{
"id": "01ab74fb-19a1-42ef-a0ad-31107c7ded3f",
"name": "Config",
"type": "n8n-nodes-base.set",
"notes": "Setup your flow",
"position": [
-220,
640
],
"parameters": {
"options": [],
"assignments": {
"assignments": [
{
"id": "038b54b7-9559-444e-8653-c5256a5b784e",
"name": "currency",
"type": "string",
"value": "EUR"
},
{
"id": "64d1eeee-cabe-403b-a634-f3238f586f58",
"name": "sheet_url",
"type": "string",
"value": "https://docs.google.com/spreadsheets/d/1ZliqqBNo6X0iM9yXBOiCG1e4Q7L7bQKMFmjvbSgUSnA/edit#gid=0"
},
{
"id": "997fe5a1-f601-458d-899c-673dff4acb04",
"name": "teacher_email",
"type": "string",
"value": "emm.bernard@gmail.com"
}
]
}
},
"notesInFlow": true,
"typeVersion": 3.3
},
{
"id": "2aa87b96-924b-472c-8cc6-2de028ce0195",
"name": "Send email to teacher",
"type": "n8n-nodes-base.gmail",
"position": [
1040,
480
],
"parameters": {
"sendTo": "={{ $('Config').item.json.teacher_email }}",
"message": "=<b>Congratulations, your event has been succesfully created \ud83c\udf89</b><br/><br/>\n\nTitle: {{ $('Creation Form').item.json.title }}<br/>\nPrice: {{ $('Creation Form').item.json.price }} {{ $('Config').item.json.currency }}<br/>\nStart date: {{ $('Creation Form').item.json.date_start }}<br/><br/>\n\n<b>Payment link:</b><br/>\n {{ $('Create payment link').item.json.url }}<br/>\n<i>Start sharing this link to get subscriptions</i><br/><br/>\n<b>Participant list:</b><br/>\n{{ $('Config').item.json.sheet_url }}#gid={{ $('Create Stripe Product').item.json.created }}\n<br/><br/>\n<b>Zoom infos:</b><br/>\nLink: {{ $('Create Zoom meeting').item.json.join_url }}<br/>\nSession ID: {{ $('Create Zoom meeting').item.json.id }}<br/>\nPassword: {{ $('Create Zoom meeting').item.json.password }}<br/> ",
"options": [],
"subject": "=\ud83c\udf89 {{ $('Creation Form').item.json.title }} has been created!"
},
"credentials": {
"gmailOAuth2": {
"id": "DMcPDN0IHPwGmI7f",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "40f66f09-19c9-40eb-a9c4-138464ccd371",
"name": "Create participant list",
"type": "n8n-nodes-base.googleSheets",
"position": [
840,
480
],
"parameters": {
"title": "={{ $('Creation Form').item.json.date_start }} - {{ $('Creation Form').item.json.title }} - {{ $('Create Stripe Product').item.json.created }}",
"options": {
"index": 0,
"sheetId": "={{ $('Create Stripe Product').item.json.created }}"
},
"operation": "create",
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.sheet_url }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "RICzFHixgHXMuKmg",
"name": "Google Sheets account"
}
},
"typeVersion": 4.3,
"alwaysOutputData": true
},
{
"id": "67ff21d2-57b8-4ccd-91ee-a1bff1ea23b2",
"name": "Add participant to list",
"type": "n8n-nodes-base.googleSheets",
"position": [
400,
800
],
"parameters": {
"columns": {
"value": [],
"schema": [
{
"id": "city",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "city",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "postal_code",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "postal_code",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "amount",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "amount",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "currency",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "currency",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": []
},
"options": [],
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "={{ $('On payment').item.json.data.object.metadata.event_sheet_id }}"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.sheet_url }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "RICzFHixgHXMuKmg",
"name": "Google Sheets account"
}
},
"typeVersion": 4.3
},
{
"id": "67e317ba-77d5-4f77-8fe2-d38e1a68c6f1",
"name": "Send confirmation to participant",
"type": "n8n-nodes-base.gmail",
"position": [
620,
800
],
"parameters": {
"sendTo": "={{ $('On payment').item.json.data.object.customer_details.email }}",
"message": "=Dear {{ $('On payment').item.json.data.object.customer_details.name }},<br/><br/>\n\nWe are very happy to announce that your subscription to our event <b>{{ $json.title }}</b> starting on <b>{{ $json.start }}</b> is now confirmed.<br/><br/>\n\nHere are the infos you will need to participate:<br/> \nZoom link: {{ $('On payment').item.json.data.object.metadata.zoom_link }}<br/>\nZoom password:{{ $('On payment').item.json.data.object.metadata.zoom_password }}<br/>\nZoom ID: {{ $('On payment').item.json.data.object.metadata.zoom_id }}<br/><br/> \n\nLooking forward to see you there!<br/>\nKind regards<br/>",
"options": {
"appendAttribution": false
},
"subject": "Than you for your subscription \ud83d\ude4f"
},
"credentials": {
"gmailOAuth2": {
"id": "DMcPDN0IHPwGmI7f",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "ac5ca5f3-f9ca-494f-8e78-33dd663111ab",
"name": "Notify teacher",
"type": "n8n-nodes-base.gmail",
"position": [
840,
800
],
"parameters": {
"sendTo": "={{ $('Config').item.json.teacher_email }}",
"message": "=<b>A new participant registred for the event {{ $('Retrieve event infos').item.json.title }} ({{ $('Retrieve event infos').item.json.start }})!</b><br/><br/>\n\n<b>Name: {{ $('On payment').item.json.data.object.customer_details.name }}</b><br/>\n<b>Email: {{ $('On payment').item.json.data.object.customer_details.email }}</b><br/><br/>\n\n<b>Participant list:</b><br/>\n{{ $('Config').item.json.sheet_url }}#gid={{ $('On payment').item.json.data.object.metadata.event_sheet_id }} ",
"options": [],
"subject": "New participant registred \u261d\ufe0f"
},
"credentials": {
"gmailOAuth2": {
"id": "DMcPDN0IHPwGmI7f",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "33e5283f-3854-4ada-8412-858c205f1d1e",
"name": "Create payment link",
"type": "n8n-nodes-base.httpRequest",
"position": [
620,
480
],
"parameters": {
"url": "https://api.stripe.com/v1/payment_links",
"method": "POST",
"options": [],
"sendBody": true,
"contentType": "form-urlencoded",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "line_items[0][price]",
"value": "={{ $json.default_price }}"
},
{
"name": "line_items[0][quantity]",
"value": "1"
},
{
"name": "metadata[event_sheet_id]",
"value": "={{ $('Create Stripe Product').item.json.created }}"
},
{
"name": "metadata[zoom_link]",
"value": "={{ $('Create Zoom meeting').item.json.join_url }}"
},
{
"name": "metadata[zoom_password]",
"value": "={{ $('Create Zoom meeting').item.json.password }}"
},
{
"name": "metadata[zoom_id]",
"value": "={{ $('Create Zoom meeting').item.json.id }}"
},
{
"name": "metadata[title]",
"value": "={{ $('Creation Form').item.json.title }}"
},
{
"name": "metadata[start_time]",
"value": "={{ $('Create Zoom meeting').item.json.start_time }}"
},
{
"name": "metadata[price]",
"value": "={{ $('Creation Form').item.json.price }}"
},
{
"name": "metadata[currency]",
"value": "={{ $('Config').item.json.currency }}"
}
]
},
"nodeCredentialType": "stripeApi"
},
"credentials": {
"stripeApi": {
"id": "qjose8z3RR7Xzm7b",
"name": "Stripe Dev"
}
},
"typeVersion": 4.1
},
{
"id": "600c5382-bdac-4131-a784-399f5be2b54b",
"name": "Format participant",
"type": "n8n-nodes-base.set",
"position": [
180,
800
],
"parameters": {
"options": [],
"assignments": {
"assignments": [
{
"id": "dabd3bc2-ca92-4d99-a223-b0ad18945121",
"name": "email",
"type": "string",
"value": "={{ $('On payment').item.json.data.object.customer_details.email }}"
},
{
"id": "d40709f6-ffcd-4055-a374-9044a9a5e3b2",
"name": "name",
"type": "string",
"value": "={{ $('On payment').item.json.data.object.customer_details.name }}"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "c8a90ac5-14cd-4ff2-bd5b-c35724f085d1",
"name": "Format event",
"type": "n8n-nodes-base.set",
"position": [
840,
280
],
"parameters": {
"options": [],
"assignments": {
"assignments": [
{
"id": "a29943ba-b516-41a8-8f85-5bcee5eda0d1",
"name": "title",
"type": "string",
"value": "={{ $('Creation Form').item.json.title }}"
},
{
"id": "bf642fde-c4c2-42b4-beed-ef65efdab55b",
"name": "start",
"type": "string",
"value": "={{ $('Creation Form').item.json.date_start }}"
},
{
"id": "33f7a58e-624d-4ccc-bbea-ed3365cede20",
"name": "price",
"type": "number",
"value": "={{ $('Creation Form').item.json.price }}"
},
{
"id": "c948f71e-3b12-4c6a-a1f9-ee9a511fe262",
"name": "currency",
"type": "string",
"value": "={{ $('Config').item.json.currency }}"
},
{
"id": "887461ca-db0d-442e-8008-5fe6a6fbdd8f",
"name": "zoom_link",
"type": "string",
"value": "={{ $('Create Zoom meeting').item.json.join_url }}"
},
{
"id": "4b2bd5e2-3bd5-443a-94a3-9ababfd9d881",
"name": "zoom_id",
"type": "string",
"value": "={{ $('Create Zoom meeting').item.json.id }}"
},
{
"id": "a1cea8e2-9954-4143-b71f-5ea194a873dd",
"name": "zoom_password",
"type": "string",
"value": "={{ $('Create Zoom meeting').item.json.password }}"
},
{
"id": "faa52bc6-dfbe-49e2-bc95-dae198a61293",
"name": "payment_link",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "d7f5f0f5-cc7b-436a-9ad1-0b8f410c62c6",
"name": "payment_id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "020b22d0-f525-4120-9f8b-2fa33e88c2e1",
"name": "event_sheet_id",
"type": "string",
"value": "={{ $json.metadata.event_sheet_id }}"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "def10b04-98c3-46cc-bdeb-9592c7466992",
"name": "Store event",
"type": "n8n-nodes-base.googleSheets",
"position": [
1040,
280
],
"parameters": {
"columns": {
"value": [],
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": []
},
"options": [],
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "0"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "={{ $('Config').item.json.sheet_url }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "RICzFHixgHXMuKmg",
"name": "Google Sheets account"
}
},
"typeVersion": 4.3,
"alwaysOutputData": true
},
{
"id": "594fc7a1-f299-49c4-a25b-07cf2ced16f7",
"name": "Creation Form",
"type": "n8n-nodes-base.formTrigger",
"position": [
-500,
480
],
"webhookId": "1c6fe52c-48ab-4688-b5ae-7e24361aa603",
"parameters": {
"path": "1c6fe52c-48ab-4688-b5ae-7e24361aa602",
"options": [],
"formTitle": "Create a new meeting",
"formFields": {
"values": [
{
"fieldLabel": "title",
"requiredField": true
},
{
"fieldType": "number",
"fieldLabel": "price",
"requiredField": true
},
{
"fieldType": "date",
"fieldLabel": "date_start",
"requiredField": true
},
{
"fieldType": "number",
"fieldLabel": "hour"
},
{
"fieldType": "number",
"fieldLabel": "minute"
}
]
},
"responseMode": "lastNode",
"formDescription": "This automates the creation of a Zoom Meeting and a Stripe Payment page, streamlining your event setup process."
},
"typeVersion": 2
},
{
"id": "18fec11b-da39-4fe2-afab-d1585e3d9a99",
"name": "On payment",
"type": "n8n-nodes-base.stripeTrigger",
"disabled": true,
"position": [
-500,
780
],
"webhookId": "ee7d6932-0583-47a3-b442-8bc161eee5e9",
"parameters": {
"events": [
"checkout.session.completed"
]
},
"credentials": {
"stripeApi": {
"id": "qjose8z3RR7Xzm7b",
"name": "Stripe Dev"
}
},
"typeVersion": 1
},
{
"id": "1d95a7a5-7ddc-4338-9784-1d0554f39808",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
118
],
"parameters": {
"color": "#FFF59D",
"width": 275.01592825011585,
"height": 468.76027109756643,
"content": "Configuration note: update with your credentials or endpoint."
},
"typeVersion": 1
},
{
"id": "58312523-1bee-4a56-9ab2-dc166fe30573",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-920,
500
],
"parameters": {
"color": "#FFF59D",
"width": 372,
"height": 200.14793114506386,
"content": "Configuration note: update with your credentials or endpoint."
},
"typeVersion": 1
},
{
"id": "09153c6b-33cb-4fd1-8fa2-3513bca01f0c",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
660
],
"parameters": {
"color": "#FFF59D",
"width": 519.9859025074911,
"height": 106.11515926602786,
"content": "Configuration note: update with your credentials or endpoint."
},
"typeVersion": 1
},
{
"id": "da13aadc-eb3c-4d99-8e2b-3e56a40d09f3",
"name": "if is creation flow",
"type": "n8n-nodes-base.if",
"position": [
-20,
640
],
"parameters": {
"options": {
"looseTypeValidation": true
},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "40ddf809-1602-4120-ae7e-8be61437b50d",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $(\"Creation Form\").isExecuted }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "ca62dd52-cb79-45c1-a26a-91ba4c16b6ed",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
340
],
"parameters": {
"color": "#FFF59D",
"width": 202.64787116404852,
"height": 85.79488430601403,
"content": "Configuration note: update with your credentials or endpoint."
},
"typeVersion": 1
},
{
"id": "aebdc1b5-ccf7-4299-a8ec-10eb448c4d72",
"name": "the end",
"type": "n8n-nodes-base.noOp",
"position": [
1040,
800
],
"parameters": [],
"typeVersion": 1
}
],
"connections": {
"Config": {
"main": [
[
{
"node": "if is creation flow",
"type": "main",
"index": 0
}
]
]
},
"On payment": {
"main": [
[
{
"node": "Config",
"type": "main",
"index": 0
}
]
]
},
"Format event": {
"main": [
[
{
"node": "Store event",
"type": "main",
"index": 0
}
]
]
},
"Creation Form": {
"main": [
[
{
"node": "Config",
"type": "main",
"index": 0
}
]
]
},
"Notify teacher": {
"main": [
[
{
"node": "the end",
"type": "main",
"index": 0
}
]
]
},
"Format participant": {
"main": [
[
{
"node": "Add participant to list",
"type": "main",
"index": 0
}
]
]
},
"Create Zoom meeting": {
"main": [
[
{
"node": "Create Stripe Product",
"type": "main",
"index": 0
}
]
]
},
"Create payment link": {
"main": [
[
{
"node": "Create participant list",
"type": "main",
"index": 0
},
{
"node": "Format event",
"type": "main",
"index": 0
}
]
]
},
"if is creation flow": {
"main": [
[
{
"node": "Create Zoom meeting",
"type": "main",
"index": 0
}
],
[
{
"node": "Format participant",
"type": "main",
"index": 0
}
]
]
},
"Create Stripe Product": {
"main": [
[
{
"node": "Create payment link",
"type": "main",
"index": 0
}
]
]
},
"Add participant to list": {
"main": [
[
{
"node": "Send confirmation to participant",
"type": "main",
"index": 0
}
]
]
},
"Create participant list": {
"main": [
[
{
"node": "Send email to teacher",
"type": "main",
"index": 0
}
]
]
},
"Send confirmation to participant": {
"main": [
[
{
"node": "Notify teacher",
"type": "main",
"index": 0
}
]
]
}
},
"n8n_version": "1.5.0"
}
Requirements
n8n instance, API credentials for connected services
Tags
#n8n
#automation
#workflow