Crear canales de Discord desde Google Sheets y notificar a los miembros
Este es unAI, Marketingflujo de automatización del dominio deautomatización que contiene 14 nodos.Utiliza principalmente nodos como Filter, Discord, GoogleSheets, GoogleSheetsTrigger, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Crear un canal de Discord desde Google Sheets y notificar a los miembros
- •Bot Token de Discord o Webhook
- •Credenciales de API de Google Sheets
Nodos utilizados (14)
Categoría
{
"id": "onboarding-workflow-template",
"meta": {
"instanceId": "template-instance-id",
"templateCredsSetupCompleted": false
},
"name": "Discord Channel Creation from Google Sheets with Member Notifications",
"tags": [],
"nodes": [
{
"id": "c9ed5dd5-e2b9-4e6b-b0b5-3af3729428a7",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
-60
],
"parameters": {
"width": 280,
"height": 340,
"content": "## Monitor New Project Entries\nMonitors Google Sheets for new project entries and initiates the workflow when a new row is added to the Project Onboarding sheet."
},
"typeVersion": 1
},
{
"id": "f8509721-482a-4088-93a8-59c3abd86af9",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-420,
-60
],
"parameters": {
"width": 280,
"height": 340,
"content": "## Filter Valid Project Entries\nFilters entries to only process projects that don't have Discord channels created yet (Discord ID is empty) and have a valid timestamp."
},
"typeVersion": 1
},
{
"id": "5c51ca61-5591-4512-8b26-5988d0ce9dc9",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
-60
],
"parameters": {
"width": 280,
"height": 340,
"content": "## Create New Discord Channel\nCreates a new Discord channel with the Project ID as the channel name in the specified category for project organization."
},
"typeVersion": 1
},
{
"id": "b5a5eb5a-e4fa-4ed3-b590-972eb9c0080f",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-60
],
"parameters": {
"width": 280,
"height": 340,
"content": "## Update Google Sheets with Channel Info\nUpdates the Google Sheet with the newly created Discord channel ID and marks the status as 'Discord Created' for tracking purposes."
},
"typeVersion": 1
},
{
"id": "08e09442-ee10-4421-9ff8-9ed234c8dad3",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
-60
],
"parameters": {
"width": 580,
"height": 360,
"content": "## Send Project Announcement\nSends a formatted message to the Discord channel announcing the new project with key details and team assignments."
},
"typeVersion": 1
},
{
"id": "f418dff7-e57c-40b7-a4a3-8b6357936b85",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1420,
-60
],
"parameters": {
"width": 280,
"height": 340,
"content": "## Complete Onboarding Process\nMarks the onboarding process as complete in the tracking sheet after all messages have been sent successfully."
},
"typeVersion": 1
},
{
"id": "9042f971-3a6e-4125-ba4c-326793446a9e",
"name": "Monitor New Project Entries",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-620,
120
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyX"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "PROJECT_SHEET_ID",
"cachedResultName": "Project Onboarding"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "YOUR_GOOGLE_SHEET_URL_HERE"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 1
},
{
"id": "c0f8af86-cd7c-42d5-b8c3-d20a75e4a9cf",
"name": "Filtrar Valid Project Entries",
"type": "n8n-nodes-base.filter",
"position": [
-320,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a5d0b0c6-424b-441d-bcf7-7a5ac25698b2",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json['Discord ID'] }}",
"rightValue": "Created"
},
{
"id": "f3cef95a-0856-4eff-a2ad-c42a64bae076",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.Timestamp }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "97ddddfb-8bc8-43e9-b06a-4c95a423c7f6",
"name": "Create Discord Channel",
"type": "n8n-nodes-base.discord",
"position": [
-20,
120
],
"webhookId": "YOUR_DISCORD_WEBHOOK_ID",
"parameters": {
"name": "={{ $json['Project ID'] }}",
"guildId": {
"__rl": true,
"mode": "list",
"value": "YOUR_DISCORD_GUILD_ID",
"cachedResultName": "Your Discord Server"
},
"options": {
"categoryId": {
"__rl": true,
"mode": "list",
"value": "YOUR_DISCORD_CATEGORY_ID",
"cachedResultName": "New Projects Category"
}
}
},
"credentials": {
"discordBotApi": {
"id": "YOUR_DISCORD_BOT_CREDENTIAL_ID",
"name": "Discord Bot API"
}
},
"typeVersion": 2
},
{
"id": "005657e7-eef2-45e0-aceb-694bee90757f",
"name": "Update Sheet with Discord Channel ID",
"type": "n8n-nodes-base.googleSheets",
"position": [
280,
120
],
"parameters": {
"columns": {
"value": {
"Domain ID": "={{ $('Filter Valid Project Entries').item.json['Domain ID'] }}",
"Discord ID": "={{ $json.id }}",
"Discord Server Creation": "Discord Created"
},
"mappingMode": "defineBelow",
"matchingColumns": [
"Domain ID"
]
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "PROJECT_SHEET_ID",
"cachedResultName": "Project Onboarding"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "YOUR_GOOGLE_SHEET_URL_HERE"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.5
},
{
"id": "2a5bfd36-9fe4-4832-8a6c-6063bd620483",
"name": "Check Message Sending Status",
"type": "n8n-nodes-base.filter",
"position": [
560,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "36a3a601-2204-4080-a869-ee00506a7fec",
"operator": {
"type": "dateTime",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('Monitor New Project Entries').item.json.Timestamp }}",
"rightValue": ""
},
{
"id": "7675f210-3bc8-41b9-9dee-53b13926eaa1",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json['Discord Server Creation'] }}",
"rightValue": "Discord Created"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a7499f15-0c8d-4505-92c0-0967432700ee",
"name": "Send Project Announcement Message",
"type": "n8n-nodes-base.discord",
"position": [
900,
120
],
"webhookId": "YOUR_DISCORD_WEBHOOK_ID",
"parameters": {
"content": "=Congratulations Team! We Got A New Project 🤩 🥳 @everyone\n\n@ProjectManager Please assign this project to the respective team\n\n**Project ID:** {{ $('Filter Valid Project Entries').item.json['Project ID'] }}\n**Project Type:** {{ $('Filter Valid Project Entries').item.json['Product Type'] }}\n**Client Name:** {{ $('Filter Valid Project Entries').item.json['Client Name'] }}\n\n**What is the main goal of this client? What he/she is trying to achieve with this project?**\n{{ $('Filter Valid Project Entries').item.json['What is the main goal of this client? What he/she is trying to achieve with this project?'] }}\n\n**Is there any task that we need to do immediately on this project?**\n{{ $('Filter Valid Project Entries').item.json['Is there any task that we need to do immediately on this project?'] }}\n\n**Our commitments to the client that operation team should know?**\n{{ $('Filter Valid Project Entries').item.json['Our commitments to the client that operation team should know?'] }}",
"guildId": {
"__rl": true,
"mode": "list",
"value": "YOUR_DISCORD_GUILD_ID",
"cachedResultName": "Your Discord Server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Update Sheet with Discord Channel ID').item.json['Discord ID'] }}"
}
},
"credentials": {
"discordBotApi": {
"id": "YOUR_DISCORD_BOT_CREDENTIAL_ID",
"name": "Discord Bot API"
}
},
"typeVersion": 2
},
{
"id": "3c43a71e-fa48-407a-8cd6-b4fd866d1657",
"name": "Send Additional Project Details",
"type": "n8n-nodes-base.discord",
"position": [
1140,
120
],
"webhookId": "YOUR_DISCORD_WEBHOOK_ID",
"parameters": {
"content": "=**Additional Project Information:**\n\n**Anything else you want to share about this project?**\n{{ $('Filter Valid Project Entries').item.json['Anything else you want to share about this project?'] }}\n\n**Access Information:**\n**Google Analytics:** {{ $('Filter Valid Project Entries').item.json['Access [Google Analytics]'] }}\n**Google Search Console:** {{ $('Filter Valid Project Entries').item.json['Access [Google Search Console]'] }}\n**Website Backend:** {{ $('Filter Valid Project Entries').item.json['Access [Website Backend]'] }}\n\n**Competitors & Keywords:**\n{{ $('Filter Valid Project Entries').item.json['List of top competitors & seed keywords? (whatever is available)'] }}\n\n**Call Recording:** {{ $('Filter Valid Project Entries').item.json['Call Recording URL'] }}\n\n**Communication Method:** {{ $('Filter Valid Project Entries').item.json['Communication Method (if any)'] }}",
"guildId": {
"__rl": true,
"mode": "list",
"value": "YOUR_DISCORD_GUILD_ID",
"cachedResultName": "Your Discord Server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.channel_id }}"
}
},
"credentials": {
"discordBotApi": {
"id": "YOUR_DISCORD_BOT_CREDENTIAL_ID",
"name": "Discord Bot API"
}
},
"typeVersion": 2
},
{
"id": "4a7b142a-9fc4-4eb8-baf2-1745a3597e69",
"name": "Mark Onboarding Complete",
"type": "n8n-nodes-base.googleSheets",
"position": [
1480,
120
],
"parameters": {
"columns": {
"value": {
"Discord ID": "={{ $('Check Message Sending Status').item.json['Discord ID'] }}",
"Discord Server Creation": "Discord Created, Onboarding Message Sent"
},
"mappingMode": "defineBelow",
"matchingColumns": [
"Discord ID"
]
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "PROJECT_SHEET_ID",
"cachedResultName": "Project Onboarding"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "YOUR_GOOGLE_SHEET_URL_HERE"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets OAuth2"
}
},
"typeVersion": 4.6
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "template-version-id",
"connections": {
"97ddddfb-8bc8-43e9-b06a-4c95a423c7f6": {
"main": [
[
{
"node": "005657e7-eef2-45e0-aceb-694bee90757f",
"type": "main",
"index": 0
}
]
]
},
"9042f971-3a6e-4125-ba4c-326793446a9e": {
"main": [
[
{
"node": "Filter Valid Project Entries",
"type": "main",
"index": 0
}
]
]
},
"2a5bfd36-9fe4-4832-8a6c-6063bd620483": {
"main": [
[
{
"node": "a7499f15-0c8d-4505-92c0-0967432700ee",
"type": "main",
"index": 0
}
]
]
},
"Filter Valid Project Entries": {
"main": [
[
{
"node": "97ddddfb-8bc8-43e9-b06a-4c95a423c7f6",
"type": "main",
"index": 0
}
]
]
},
"3c43a71e-fa48-407a-8cd6-b4fd866d1657": {
"main": [
[
{
"node": "4a7b142a-9fc4-4eb8-baf2-1745a3597e69",
"type": "main",
"index": 0
}
]
]
},
"a7499f15-0c8d-4505-92c0-0967432700ee": {
"main": [
[
{
"node": "3c43a71e-fa48-407a-8cd6-b4fd866d1657",
"type": "main",
"index": 0
}
]
]
},
"005657e7-eef2-45e0-aceb-694bee90757f": {
"main": [
[
{
"node": "2a5bfd36-9fe4-4832-8a6c-6063bd620483",
"type": "main",
"index": 0
}
]
]
}
}
}¿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 - Inteligencia Artificial, Marketing
¿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.
Flujos de trabajo relacionados recomendados
Incrementors
@incrementorsCompartir este flujo de trabajo