Workflow: Telegram Code Create

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "ac9d33c4ed758aeca18fdf8990bc14f18826f99beb38fb06a023fa013ee39a0b"
    },
    "nodes": [
        {
            "id": "9cfeb58b-140f-4941-8442-4e33c671e325",
            "name": "No Operation, do nothing",
            "type": "n8n-nodes-base.noOp",
            "position": [
                440,
                840
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "c4e7c596-4f2a-48e0-a932-ad40157c6282",
            "name": "Get interest name",
            "type": "n8n-nodes-base.telegramTrigger",
            "position": [
                100,
                660
            ],
            "webhookId": "3c85f114-6321-4e6d-9b5e-726e1493ee4e",
            "parameters": {
                "updates": [
                    "message"
                ],
                "additionalFields": []
            },
            "credentials": {
                "telegramApi": {
                    "id": "JR5rQqmm6CGac5CF",
                    "name": "Sender Token"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "69d432d1-4ab1-4059-af5c-ba589dfe16bc",
            "name": "Check message contents",
            "type": "n8n-nodes-base.if",
            "position": [
                280,
                660
            ],
            "parameters": {
                "conditions": {
                    "number": [
                        {
                            "value1": "={{ $json.message.chat.id }}",
                            "value2": -1001805495093,
                            "operation": "equal"
                        }
                    ],
                    "string": [
                        {
                            "value1": "={{ $json.message.text }}",
                            "value2": "#interest",
                            "operation": "startsWith"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "345274b6-2d56-4d54-937a-dd9153fd1fdc",
            "name": "Extract message",
            "type": "n8n-nodes-base.code",
            "position": [
                460,
                460
            ],
            "parameters": {
                "jsCode": "let inputData = items[0].json; \/\/ get the input data\nlet message = inputData.message; \/\/ replace 'message' with the correct field name\n\nlet messageContent = '';\n\nif (message && message.text) {\n  messageContent = message.text;\n}\n\nreturn [\n  {\n    json: {\n      messageContent: messageContent\n    }\n  }\n];\n"
            },
            "typeVersion": 2
        },
        {
            "id": "cd808029-1a46-4fad-9065-c726960fb427",
            "name": "Split Message",
            "type": "n8n-nodes-base.code",
            "position": [
                660,
                460
            ],
            "parameters": {
                "jsCode": "let inputData = items[0].json; \/\/ get the input data\nlet variableContent = String(inputData.messageContent || ''); \/\/ replace 'variable' with the correct field name, convert to string and assign empty string if undefined\n\nlet regex = \/#(\\w+)\\b(.*)\/; \/\/ regex to match hashtag word and rest of the content\nlet matches = regex.exec(variableContent);\n\nlet extractedContent = '';\nlet remainingContent = '';\n\nif (matches !== null) {\n  extractedContent = matches[1];\n  remainingContent = matches[2].trim();\n} else {\n  remainingContent = variableContent.trim();\n}\n\nreturn [\n  {\n    json: {\n      extractedContent: extractedContent,\n      remainingContent: remainingContent    }\n  }\n];\n"
            },
            "typeVersion": 2
        },
        {
            "id": "6f541faf-7756-415e-8391-5470166b8a01",
            "name": "Connect to Graph API",
            "type": "n8n-nodes-base.facebookGraphApi",
            "position": [
                840,
                460
            ],
            "parameters": {
                "edge": "=",
                "node": "=search?type=adinterest&q={{ $json.remainingContent }}\n&limit=1000000&locale=en_US ",
                "options": [],
                "graphApiVersion": "v17.0"
            },
            "credentials": {
                "facebookGraphApi": {
                    "id": "AEVlPxPoTe92kkJS",
                    "name": "Facebook Graph account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "394a34ce-f56d-4a79-8fbb-f37681cbee76",
            "name": "Split Interests into a Table",
            "type": "n8n-nodes-base.code",
            "position": [
                1020,
                460
            ],
            "parameters": {
                "jsCode": "let inputData = items[0].json; \/\/ get the input data\nlet outputData = [];\n\nfor(let key in inputData) {\n    if(inputData.hasOwnProperty(key)) {\n        let itemKey = key;\n        let itemValue = inputData[key];\n        \n        for(let subKey in itemValue) {\n            if(itemValue.hasOwnProperty(subKey)) {\n                let formattedItem = {\n                    'Item': itemKey,\n                    'SubItem': subKey,\n                    'Value': itemValue[subKey]\n                };\n                \n                outputData.push({json: formattedItem});\n            }\n        }\n    }\n}\n\nreturn outputData;"
            },
            "typeVersion": 2
        },
        {
            "id": "1d3f66a4-322f-4398-b887-52ccd2f2f5fe",
            "name": "Get variables",
            "type": "n8n-nodes-base.code",
            "position": [
                1200,
                460
            ],
            "parameters": {
                "jsCode": "let outputData = items.map(item => {\n    let data = item.json.Value;\n    \n    return {\n        json: {\n            'name': data.name,\n            'audience_size_lower_bound': data.audience_size_lower_bound,\n            'audience_size_upper_bound': data.audience_size_upper_bound,\n            'path': data.path,\n            'description': data.description,\n            'topic': data.topic\n        }\n    };\n});\n\nreturn outputData;"
            },
            "typeVersion": 2
        },
        {
            "id": "082ddf0f-29ef-424a-a2a2-4bf9e260657f",
            "name": "Create a Spreadsheet",
            "type": "n8n-nodes-base.spreadsheetFile",
            "position": [
                1380,
                460
            ],
            "parameters": {
                "options": [],
                "operation": "toFile",
                "fileFormat": "csv"
            },
            "typeVersion": 2
        },
        {
            "id": "44e4f97a-cd86-4b60-b761-49dc46f7e36b",
            "name": "Send the Spreadsheet file",
            "type": "n8n-nodes-base.telegram",
            "position": [
                1560,
                460
            ],
            "parameters": {
                "chatId": "-1001805495093",
                "operation": "sendDocument",
                "binaryData": true,
                "additionalFields": {
                    "fileName": "report.csv"
                }
            },
            "credentials": {
                "telegramApi": {
                    "id": "JR5rQqmm6CGac5CF",
                    "name": "Sender Token"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "22bc6129-7d10-46fd-98e2-0f3fc7a93344",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                800,
                340
            ],
            "parameters": {
                "width": 948.6687115198118362968671135604381561279296875,
                "height": 296.532504054275477756164036691188812255859375,
                "content": "## Facebook API\n\nTo get the API Key you need to follow these steps:\nhttps:\/\/developers.facebook.com\/docs\/commerce-platform\/setup\/api-setup\/"
            },
            "typeVersion": 1
        }
    ],
    "pinData": [],
    "connections": {
        "Get variables": {
            "main": [
                [
                    {
                        "node": "Create a Spreadsheet",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Split Message": {
            "main": [
                [
                    {
                        "node": "Connect to Graph API",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Extract message": {
            "main": [
                [
                    {
                        "node": "Split Message",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get interest name": {
            "main": [
                [
                    {
                        "node": "Check message contents",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Connect to Graph API": {
            "main": [
                [
                    {
                        "node": "Split Interests into a Table",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create a Spreadsheet": {
            "main": [
                [
                    {
                        "node": "Send the Spreadsheet file",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check message contents": {
            "main": [
                [
                    {
                        "node": "Extract message",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "No Operation, do nothing",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Split Interests into a Table": {
            "main": [
                [
                    {
                        "node": "Get variables",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Manual N8Ntrainingcustomerdatastore Create Triggered
View
Shopify order UTM to Baserow
View
Wait Redis Automate Triggered
View
Wait Splitout Send Webhook
View
PUQ Docker NextCloud deploy
View
Manual Automate Triggered
View
Send updates about the position of the ISS every minute to a topic in RabbitMQ
View
Microsoft Outlook AI Email Assistant
View
Manual HTTP Update Webhook
View
Manual Rundeck Automate Triggered
View