Workflow: HTTP Slack Create

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "8e95de061dd3893a50b8b4c150c8084a7848fb1df63f53533941b7c91a8ab996"
    },
    "nodes": [
        {
            "id": "6f938c83-45fd-4189-b9ec-c7a6de4beb2d",
            "name": "Retrieve deals Ids",
            "type": "n8n-nodes-base.set",
            "position": [
                660,
                440
            ],
            "parameters": {
                "options": [],
                "assignments": {
                    "assignments": [
                        {
                            "id": "bad2435b-ec9b-4995-ab39-2dac1c2daa3a",
                            "name": "deal_id_won",
                            "type": "string",
                            "value": "={{ $json.query.deal_id_won }}"
                        },
                        {
                            "id": "2376fad4-c305-4c38-8daa-fd86014ae14b",
                            "name": "deal_id_created",
                            "type": "string",
                            "value": "={{ $json.query.deal_id_created.match(\/0-3-(\\d+)$\/)[1] }}"
                        }
                    ]
                }
            },
            "typeVersion": 3.399999999999999911182158029987476766109466552734375
        },
        {
            "id": "abc534f2-03b4-4f34-8292-bc8011c62c44",
            "name": "Get deal won line items",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                920,
                440
            ],
            "parameters": {
                "url": "https:\/\/api.hubapi.com\/crm\/v4\/associations\/deals\/line_items\/batch\/read",
                "method": "POST",
                "options": [],
                "jsonBody": "={\n  \"inputs\": [\n    {\n      \"id\": \"{{ $json.deal_id_won }}\"\n    }\n  ]\n}",
                "sendBody": true,
                "specifyBody": "json",
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "hubspotAppToken"
            },
            "credentials": {
                "hubspotAppToken": {
                    "id": "yIpa7XqurpoIimjq",
                    "name": "HubSpot App Token account"
                },
                "hubspotOAuth2Api": {
                    "id": "2",
                    "name": "HubSpot account OAuth - Arnaud"
                }
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "eb5ae93e-3b52-4a92-9506-5379bbca8e0b",
            "name": "Slack",
            "type": "n8n-nodes-base.slack",
            "position": [
                1740,
                440
            ],
            "parameters": {
                "text": "=:white_check_mark: {{ `<https:\/\/arnaud-growth.app.n8n.cloud\/workflow\/${$workflow.id}|${$workflow.name}> sucessfull on <https:\/\/app-eu1.hubspot.com\/contacts\/3418361\/record\/0-3\/${$('Retrieve deals Ids').item.json[\"deal_id_won\"]}|Deal won> and <https:\/\/app-eu1.hubspot.com\/contacts\/3418361\/record\/0-3\/${$('Retrieve deals Ids').item.json[\"deal_id_created\"]}|Deal created>`}}\n",
                "select": "channel",
                "channelId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "C051YHBJ1G8"
                },
                "otherOptions": {
                    "includeLinkToWorkflow": false
                }
            },
            "credentials": {
                "slackApi": {
                    "id": "5",
                    "name": "Slack account"
                }
            },
            "typeVersion": 2.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "d18841d0-a270-4db5-9256-17026985c13b",
            "name": "Get batch SKUs from line items",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1100,
                440
            ],
            "parameters": {
                "url": "https:\/\/api.hubapi.com\/crm\/v3\/objects\/line_items\/batch\/read",
                "method": "POST",
                "options": [],
                "jsonBody": "={{ \n\n{\n  \"idProperty\": \"hs_object_id\",\n  \"inputs\": $jmespath($json.results,`[].to[].{id: to_string(toObjectId)}`),\n  \"properties\": [\n    \"hs_object_id\",\n    \"name\",\n    \"hs_sku\"\n  ]\n}\n\n}}",
                "sendBody": true,
                "sendQuery": true,
                "specifyBody": "json",
                "authentication": "predefinedCredentialType",
                "queryParameters": {
                    "parameters": [
                        {
                            "name": "archived",
                            "value": "false"
                        }
                    ]
                },
                "nodeCredentialType": "hubspotAppToken"
            },
            "credentials": {
                "hubspotAppToken": {
                    "id": "yIpa7XqurpoIimjq",
                    "name": "HubSpot App Token account"
                }
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "58a9ae81-26d5-47fb-9de7-bf108cb41f8d",
            "name": "Get Batch Product IDs by SKUs",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1320,
                440
            ],
            "parameters": {
                "url": "https:\/\/api.hubapi.com\/crm\/v3\/objects\/products\/batch\/read",
                "method": "POST",
                "options": [],
                "jsonBody": "={{ {\n  \"idProperty\": \"hs_sku\",\n  \"inputs\":  $jmespath($json.results,\"[].properties.{id:to_string(hs_sku)}\") \n,\n  \"properties\": [\n    \"idProperty\",\n    \"name\",\n    \"hs_object_id\",\n    \"recurringbillingfrequency\",\n\"hs_price_eur\"\n  ]\n}\n\n}}",
                "sendBody": true,
                "specifyBody": "json",
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "hubspotAppToken"
            },
            "credentials": {
                "hubspotAppToken": {
                    "id": "yIpa7XqurpoIimjq",
                    "name": "HubSpot App Token account"
                }
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "27b2619a-af84-475a-9bdc-c86462ea57d3",
            "name": "Create Batch line items based on productId and associate to deals",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1540,
                440
            ],
            "parameters": {
                "url": "https:\/\/api.hubapi.com\/crm\/v3\/objects\/line_items\/batch\/create",
                "method": "POST",
                "options": [],
                "jsonBody": "={{ {\"inputs\":$jmespath($json.results,\"[].id\")\n.map(id => ({\n    \"associations\": [\n        {\n            \"types\": [\n                {\n                    \"associationCategory\": \"HUBSPOT_DEFINED\",\n                    \"associationTypeId\": 20\n                }\n            ],\n            \"to\": {\n                \"id\": $('Retrieve deals Ids').item.json[\"deal_id_created\"]\n            }\n        }\n    ],\n    \"properties\": {\n        \"hs_product_id\": id,\n        \"quantity\": \"1\"\n    }\n})) } \n\n}}",
                "sendBody": true,
                "specifyBody": "json",
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "hubspotAppToken"
            },
            "credentials": {
                "hubspotAppToken": {
                    "id": "yIpa7XqurpoIimjq",
                    "name": "HubSpot App Token account"
                }
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "f6776d74-c818-4f2b-b05a-5e6b53c2ad5f",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -280,
                200
            ],
            "parameters": {
                "width": 565.8142732633208424886106513440608978271484375,
                "height": 838.722456854334495801595039665699005126953125,
                "content": "# Replicate Line Items on New Deal in HubSpot Workflow\n\n## Use Case\nThis workflow solves the problem of manually copying line items from one deal to another in HubSpot, reducing manual work and minimizing errors.\n\n## What this workflow does\n- **Triggers** upon receiving a webhook with deal IDs.\n- **Retrieves** the IDs of the won and created deals.\n- **Fetches** line items associated with the won deal.\n- **Extracts** product SKUs from the retrieved line items.\n- **Fetches** product details based on SKUs.\n- **Creates** new line items for the created deal and associates them.\n- **Sends** a Slack notification with success details.\n\n## Step up steps\n1. Create a HubSpot Deal Workflow\n 1.1 Set up your trigger (ex: when deal stage = Won)\n 1.2 Add step : Create Record (deal)\n 1.3 Add Step : Send webhook. The webhook should be a Get to your n8n first trigger. Set two query parameter : \n   - `deal_id_won` as the Record ID of the deal triggering the HubSpot Workflow\n    - `deal_id_create` as the Record ID of the deal created above. Click Insert Data -> The created object\n2. Set up your HubSpot App token in HubSpot -> Settings -> Integration -> Private Apps\n3. Set up your HubSpot Token integration using the predefined model.\n4. Set up your Slack connection\n5. Add an error Workflow to monitor errors"
            },
            "typeVersion": 1
        },
        {
            "id": "eefcd96e-c182-4362-bc60-6b5bca42e8a4",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                340,
                300
            ],
            "parameters": {
                "height": 393.43781264460130842053331434726715087890625,
                "content": "**Step 1.**\nTriggered by HubSpot Workflow"
            },
            "typeVersion": 1
        },
        {
            "id": "9fedd8cf-6d97-428e-8391-aedff191ba5d",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                600,
                300
            ],
            "parameters": {
                "height": 393.43781264460130842053331434726715087890625,
                "content": "**Step 2.**\nSet the Ids of the deal won and the deal created"
            },
            "typeVersion": 1
        },
        {
            "id": "b00a8849-0a13-40d3-a714-49f0afc54cea",
            "name": "Sticky Note3",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                860,
                300
            ],
            "parameters": {
                "width": 819.2253746903480760011007077991962432861328125,
                "height": 393.43781264460130842053331434726715087890625,
                "content": "**Step 3.**\n- Get line items IDs from the deal won\n- Retrieve the SKUs from those line items\n- Get product based on SKUs\n- Create new line items from Product IDs and associate to the new deal\n"
            },
            "typeVersion": 1
        },
        {
            "id": "8dc60064-83a1-488e-b1a5-7be57d734e88",
            "name": "Webhook",
            "type": "n8n-nodes-base.webhook",
            "position": [
                420,
                440
            ],
            "webhookId": "833df60e-a78f-4a59-8244-9694f27cf8ae",
            "parameters": {
                "path": "833df60e-a78f-4a59-8244-9694f27cf8ae",
                "options": []
            },
            "typeVersion": 2
        }
    ],
    "pinData": [],
    "connections": {
        "Webhook": {
            "main": [
                [
                    {
                        "node": "Retrieve deals Ids",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Retrieve deals Ids": {
            "main": [
                [
                    {
                        "node": "Get deal won line items",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get deal won line items": {
            "main": [
                [
                    {
                        "node": "Get batch SKUs from line items",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get Batch Product IDs by SKUs": {
            "main": [
                [
                    {
                        "node": "Create Batch line items based on productId and associate to deals",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get batch SKUs from line items": {
            "main": [
                [
                    {
                        "node": "Get Batch Product IDs by SKUs",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create Batch line items based on productId and associate to deals": {
            "main": [
                [
                    {
                        "node": "Slack",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

google drive to instagram, tiktok and youtube
View
HTTP Telegram Create Webhook
View
Streamline data from an n8n form into Google Sheet and Airtable
View
Code Itemlists Create Scheduled
View
Acuityscheduling Automate Triggered
View
WooCommerce AI Chatbot Workflow for Post-Sales Support
View
Content to 9:16 Aspect Image Generator v1
View
Business WhatsApp AI RAG Chatbot
View
HTTP Filter Monitor Webhook
View
Crypto Webhook Automate Webhook
View