Workflow: GoogleSheets Discord Create

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "a2434c94d549548a685cca39cc4614698e94f527bcea84eefa363f1037ae14cd"
    },
    "nodes": [
        {
            "id": "b3a0fa7c-eb47-4f51-98d7-ac1a8de7b05d",
            "name": "On new or updated row",
            "type": "n8n-nodes-base.googleSheetsTrigger",
            "position": [
                800,
                380
            ],
            "parameters": {
                "options": {
                    "columnsToWatch": [
                        "Security Code"
                    ]
                },
                "pollTimes": {
                    "item": [
                        {
                            "mode": "everyMinute"
                        }
                    ]
                },
                "sheetName": {
                    "__rl": true,
                    "mode": "list",
                    "value": "gid=0",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1Np8TQv7kWwwrGiPkWWsmr4WYWAosv1BMBwwCd0f-dis\/edit#gid=0",
                    "cachedResultName": "Investments"
                },
                "documentId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "1Np8TQv7kWwwrGiPkWWsmr4WYWAosv1BMBwwCd0f-dis",
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1Np8TQv7kWwwrGiPkWWsmr4WYWAosv1BMBwwCd0f-dis\/edit?usp=drivesdk",
                    "cachedResultName": "Investments"
                }
            },
            "credentials": {
                "googleSheetsTriggerOAuth2Api": {
                    "id": "35",
                    "name": "TEST USER"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "61b96d9b-801c-43e6-b89a-a55245386e4f",
            "name": "Send message",
            "type": "n8n-nodes-base.discord",
            "position": [
                1200,
                380
            ],
            "parameters": {
                "text": "=```\n{{ $json.ascii_table }}\n```",
                "options": [],
                "webhookUri": "https:\/\/discord.com\/api\/webhooks\/..."
            },
            "typeVersion": 1
        },
        {
            "id": "2dc9ce88-2079-4419-9f48-2281ac25cb36",
            "name": "Convert to ASCII table",
            "type": "n8n-nodes-base.code",
            "position": [
                1000,
                380
            ],
            "parameters": {
                "jsCode": "\/* configure columns to be displayed *\/\nconst columns_to_display = [\n  \"Security Code\",\n  \"Price\",\n  \"Quantity\",\n]\n\n\/* End of configuration section (do not edit code below) *\/\nconst google_sheets_data = $('On new or updated row').all();\n\n\/**\n * Takes a list of objects and returns an ascii table with\n * padding and headers.\n *\/\nfunction ascii_table(data, columns_to_display) {\n  let table = \"\"\n  \n  \/\/ Get the headers\n  let headers = []\n  for (let i = 0; i < columns_to_display.length; i++) {\n    headers.push(columns_to_display[i])\n  }\n\n  \/\/ Get the longest string in each column\n  let longest_strings = []\n  for (let i = 0; i < headers.length; i++) {\n    let longest_string = headers[i].length\n    for (let j = 0; j < data.length; j++) {\n      let string_length = data[j].json[headers[i]].length\n      if (string_length > longest_string) {\n        longest_string = string_length\n      }\n    }\n    longest_strings.push(longest_string)\n  }\n\n  \/\/ Add the headers to the table\n  for (let i = 0; i < headers.length; i++) {\n    table += headers[i].toString().padEnd(longest_strings[i] + 2, \" \")\n  }\n\n  \/\/ Add the data to the table\n  for (let i = 0; i < data.length; i++) {\n    table += \"\\n\"\n    for (let j = 0; j < headers.length; j++) {\n      table += data[i].json[headers[j]].toString().padEnd(longest_strings[j] + 2, \" \")\n    }\n  }\n\n  return table\n}\n\noutput = {\n  ascii_table: ascii_table(google_sheets_data, columns_to_display),\n}\n\nconsole.log(output.ascii_table)\n\nreturn output"
            },
            "typeVersion": 1
        },
        {
            "id": "2db7b37b-22f9-424d-a889-33f8a0db2b01",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                340,
                220
            ],
            "parameters": {
                "width": 402,
                "height": 433,
                "content": "## Send Google Sheets data as a message to a Discord channel\nThis workflow sends a message to a Discord channel when a new row is added or a row is updated in a Google Sheet. The message will send all data rows in the Google Sheet.\n\n### How it works\nUsing a code node, we can use the obtained Google Sheet data to create a custom message that will be sent to Discord. The message will be sent to the Discord channel specified in the Discord node.\n\n### Setup\nThis workflow requires that you set up a Discord webhook and have an existing Google Sheet with data. See how to set up a Discord webhook [here](https:\/\/docs.n8n.io\/integrations\/builtin\/credentials\/discord\/#creating-a-webhook-in-discord).\n"
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "On new or updated row": {
            "main": [
                [
                    {
                        "node": "Convert to ASCII table",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Convert to ASCII table": {
            "main": [
                [
                    {
                        "node": "Send message",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Aggregate Stickynote Create Triggered
View
Get the price of BTC in EUR and send an SMS when the price is larger than EUR 9000
View
Splitout GoogleCalendar Create Webhook
View
Import multiple Manufacturers from Google Sheets to Shopware 6
View
Splitout Code Automation Webhook
View
✨🔪 Advanced AI Powered Document Parsing & Text Extraction with Llama Parse
View
Enhance Chat Responses with Real-Time Search Data via Bright Data & Gemini AI
View
UTM Link Creator & QR Code Generator with Scheduled Google Analytics Reports
View
Generate google meet links in slack
View
Manual Emailsend Send Triggered
View