Workflow: Wait Code Automation

Workflow Details

Download Workflow
{
    "id": "aOP0D1cAqzGv7Xa8",
    "meta": {
        "instanceId": "0a5638e14e0c728ef975d18d109cfb41edae575e3d911724f4f1eccde06a729f"
    },
    "name": "spy tool",
    "tags": [],
    "nodes": [
        {
            "id": "5690844d-5322-4c62-8c83-eb4d4dc9c481",
            "name": "OpenAI Chat Model",
            "type": "@n8n\/n8n-nodes-langchain.lmChatOpenAi",
            "position": [
                1400,
                340
            ],
            "parameters": {
                "model": "gpt-4o",
                "options": []
            },
            "credentials": {
                "openAiApi": {
                    "id": "ZOKbogCxHnP2W0H5",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "3b1c034f-501b-423c-844f-9cb607fa91e6",
            "name": "Gmail",
            "type": "n8n-nodes-base.gmailTool",
            "position": [
                1580,
                340
            ],
            "webhookId": "6a510528-22e0-4140-b987-770bb7a138de",
            "parameters": {
                "sendTo": "tom@sleak.chat",
                "message": "={{ $fromAI(\"change\", \"What relevant part has changed on the website?\") }}",
                "options": {
                    "appendAttribution": false
                },
                "subject": "=Relevant changes on {{ $('parse results').item.json.website_url }}",
                "emailType": "text",
                "descriptionType": "manual",
                "toolDescription": "=Use this tool if you need to send an email, but only if the terms in the instructions mentioned explicitly state so\n"
            },
            "credentials": {
                "gmailOAuth2": {
                    "id": "jtANm6k92Kl6ent1",
                    "name": "Gmail account"
                }
            },
            "typeVersion": 2.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "4d448a02-4569-451e-8be5-59bfc48f36d8",
            "name": "parse results",
            "type": "n8n-nodes-base.code",
            "position": [
                1180,
                -160
            ],
            "parameters": {
                "jsCode": "const parsedObject = JSON.parse($('convert message to website url & instruction').first().json.choices[0].message.content);\n\nreturn parsedObject"
            },
            "typeVersion": 2
        },
        {
            "id": "238298c4-5bba-4ac1-b3cc-ab5a28888560",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1420,
                -120
            ],
            "parameters": {
                "width": 260,
                "height": 180,
                "content": "## Note: almost never works right away\nAdjust the prompts in the 'Tools agent' and 'Gmail' node as desired to steer the agent's behavior in the right direction"
            },
            "typeVersion": 1
        },
        {
            "id": "0d519c06-aa30-4a33-895f-9185936d27cf",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                480,
                100
            ],
            "parameters": {
                "width": 150,
                "height": 80,
                "content": "Connect your Firecrawl account"
            },
            "typeVersion": 1
        },
        {
            "id": "9e327bbe-0096-4a4d-aec2-2e4cae7d91bd",
            "name": "Sticky Note3",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1740,
                80
            ],
            "parameters": {
                "width": 150,
                "height": 80,
                "content": "Connect your own OpenAI account\n"
            },
            "typeVersion": 1
        },
        {
            "id": "30ce0e22-f536-462f-8f94-f3fd92ae036f",
            "name": "Sticky Note4",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1660,
                300
            ],
            "parameters": {
                "width": 150,
                "height": 80,
                "content": "Connect your own Gmail account\n"
            },
            "typeVersion": 1
        },
        {
            "id": "bc003781-3d91-49b6-b6bb-b2970b39256a",
            "name": "convert message to website url & instruction",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                940,
                -160
            ],
            "parameters": {
                "url": "https:\/\/api.openai.com\/v1\/chat\/completions",
                "method": "POST",
                "options": [],
                "jsonBody": "={\n  \"model\": \"gpt-4o-2024-08-06\",\n  \"messages\": [\n              {\n        \"role\": \"user\",\n        \"content\": \"convert the following message to a website url (just the plain text url, NOT formatted or in markdown) and prompt to AI. Make the prompt as verbose as possible. Message: {{ $('New espionage assignment').first().json.assignment_instructions }}\"\n    }\n  ],\n  \"response_format\": {\n    \"type\": \"json_schema\",\n    \"json_schema\": {\n      \"name\": \"variable_extraction\",\n      \"schema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"website_url\": { \"type\": \"string\" },\n          \"prompt\": { \"type\": \"string\" }\n        },\n        \"required\": [\"website_url\", \"prompt\"],\n        \"additionalProperties\": false\n      },\n      \"strict\": true\n    }\n  }\n}\n",
                "sendBody": true,
                "specifyBody": "json",
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "openAiApi"
            },
            "credentials": {
                "openAiApi": {
                    "id": "ZOKbogCxHnP2W0H5",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "6a8c172d-ac39-4cb0-b601-39fc770695ed",
            "name": "New espionage assignment",
            "type": "n8n-nodes-base.formTrigger",
            "position": [
                700,
                -160
            ],
            "webhookId": "7470334f-93e1-47af-9521-d3a232c38b13",
            "parameters": {
                "options": [],
                "formTitle": "New espionage assignment",
                "formFields": {
                    "values": [
                        {
                            "fieldLabel": "assignment_instructions"
                        }
                    ]
                }
            },
            "notesInFlow": false,
            "typeVersion": 2.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "c5c64e5c-88de-45e3-bb9b-4096e74a6e83",
            "name": "wait 1 day",
            "type": "n8n-nodes-base.wait",
            "position": [
                940,
                80
            ],
            "webhookId": "22e689e4-b93d-4c59-81e5-43c070833454",
            "parameters": {
                "unit": "days",
                "amount": 1
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "62a278ff-ed00-4e54-a608-001237551113",
            "name": "scrape page - 1",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                700,
                80
            ],
            "parameters": {
                "url": "https:\/\/api.firecrawl.dev\/v1\/scrape",
                "method": "POST",
                "options": [],
                "jsonBody": "={\n  \"url\": \"{{ $('parse results').item.json.website_url }}\",\n  \"formats\": [\n    \"markdown\"\n  ],\n  \"onlyMainContent\": true,\n  \"waitFor\": 5000\n}",
                "sendBody": true,
                "specifyBody": "json",
                "authentication": "genericCredentialType",
                "genericAuthType": "httpHeaderAuth"
            },
            "credentials": {
                "httpBasicAuth": {
                    "id": "h2XRcXzLcEfvDVKb",
                    "name": "Unnamed credential"
                },
                "httpHeaderAuth": {
                    "id": "FoyIka0WgFG4FPxA",
                    "name": "Header Auth account 2"
                }
            },
            "retryOnFail": true,
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "89c15d8f-7f8e-4391-b24a-07579964ca5c",
            "name": "scrape page - 2",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1180,
                80
            ],
            "parameters": {
                "url": "https:\/\/api.firecrawl.dev\/v1\/scrape",
                "method": "POST",
                "options": [],
                "jsonBody": "={\n  \"url\": \"{{ $('parse results').item.json.website_url }}\",\n  \"formats\": [\n    \"markdown\"\n  ],\n  \"onlyMainContent\": true,\n  \"waitFor\": 5000\n}",
                "sendBody": true,
                "specifyBody": "json",
                "authentication": "genericCredentialType",
                "genericAuthType": "httpHeaderAuth"
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "FoyIka0WgFG4FPxA",
                    "name": "Header Auth account 2"
                }
            },
            "retryOnFail": true,
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "7b148c5b-d4ae-498a-b7ef-2ed4ecc0a665",
            "name": "send e-mail?",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                1420,
                80
            ],
            "parameters": {
                "text": "={{ $('parse results').item.json.prompt }}\n\nNOTE: ONLY send an email if the situation meets the above condition. Otherwise, do NOT use the tool\n\nNOTE: this concerns differences between the \"old version page\" (scrape from yesterday) and \"new version page\" (scrape from now)",
                "options": {
                    "systemMessage": "=old version page: \\n\\n {{ JSON.stringify($('scrape page - 1').item.json[\"data\"][\"markdown\"]) }} \\n\\n \/\/\/ \\n\\n new version page: \\n\\n {{ JSON.stringify($('scrape page - 1').item.json[\"data\"][\"markdown\"]) }}"
                },
                "promptType": "define",
                "hasOutputParser": true
            },
            "typeVersion": 1.6999999999999999555910790149937383830547332763671875
        },
        {
            "id": "7897d707-2c27-43bf-9ea0-90ab7996bf4a",
            "name": "Sticky Note5",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                920,
                -260
            ],
            "parameters": {
                "width": 150,
                "height": 80,
                "content": "Connect your own OpenAI account\n"
            },
            "typeVersion": 1
        }
    ],
    "active": true,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "dec23eea-1590-4418-ab2b-1cb4a6ccfdc6",
    "connections": {
        "Gmail": {
            "ai_tool": [
                [
                    {
                        "node": "send e-mail?",
                        "type": "ai_tool",
                        "index": 0
                    }
                ]
            ]
        },
        "wait 1 day": {
            "main": [
                [
                    {
                        "node": "scrape page - 2",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "send e-mail?": {
            "main": [
                [
                    {
                        "node": "scrape page - 1",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "parse results": {
            "main": [
                [
                    {
                        "node": "scrape page - 1",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "scrape page - 1": {
            "main": [
                [
                    {
                        "node": "wait 1 day",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "scrape page - 2": {
            "main": [
                [
                    {
                        "node": "send e-mail?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "OpenAI Chat Model": {
            "ai_languageModel": [
                [
                    {
                        "node": "send e-mail?",
                        "type": "ai_languageModel",
                        "index": 0
                    }
                ]
            ]
        },
        "New espionage assignment": {
            "main": [
                [
                    {
                        "node": "convert message to website url & instruction",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "convert message to website url & instruction": {
            "main": [
                [
                    {
                        "node": "parse results",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Stickynote Executeworkflow Create Triggered
View
Podcast Digest
View
The Ultimate Guide to Optimize WordPress Blog Posts with AI
View
CoinMarketCap_AI_Data_Analyst_Agent
View
HTTP Respondtowebhook Create Webhook
View
Get SSL Certificate
View
Create a post and update the post in WordPress
View
Supabase Setup Postgres
View
Splitout Code Send Scheduled
View
n8n_mysql_purge_history_greater_than_10_days
View