Workflow: Zendesk HubSpot Create

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"
    },
    "nodes": [
        {
            "id": "dcd5f025-9af9-4e3a-96fc-25a33dcc6c00",
            "name": "Ticket Exists",
            "type": "n8n-nodes-base.if",
            "position": [
                900,
                320
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{ $json[\"external_id\"] }}",
                            "operation": "isNotEmpty"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "a5e8ec4d-bc80-4153-a677-91be2e7d02b7",
            "name": "Get user data of Ticket requester",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                220,
                480
            ],
            "parameters": {
                "id": "={{ $json[\"requester_id\"] }}",
                "resource": "user",
                "operation": "get"
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "6dc07af8-d446-4704-9a08-e65f89772a9b",
            "name": "Only keep needed data",
            "type": "n8n-nodes-base.set",
            "position": [
                440,
                480
            ],
            "parameters": {
                "values": {
                    "number": [
                        {
                            "name": "id",
                            "value": "={{ $json[\"id\"] }}"
                        },
                        {
                            "name": "contactExternalId",
                            "value": "={{ $json[\"external_id\"] }}"
                        }
                    ],
                    "string": [
                        {
                            "name": "contactEmail",
                            "value": "={{ $json[\"email\"] }}"
                        },
                        {
                            "name": "contactName",
                            "value": "={{ $json[\"name\"] }}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "id": "c3ca22e4-ae76-49ee-b117-f6da9d90ec1a",
            "name": "Add user data",
            "type": "n8n-nodes-base.merge",
            "position": [
                640,
                320
            ],
            "parameters": {
                "mode": "mergeByKey",
                "propertyName1": "requester_id",
                "propertyName2": "id"
            },
            "typeVersion": 1
        },
        {
            "id": "713b919a-3a39-4466-b9b8-cc3575f02e45",
            "name": "Update existing ticket",
            "type": "n8n-nodes-base.hubspot",
            "position": [
                1280,
                300
            ],
            "parameters": {
                "resource": "ticket",
                "ticketId": "={{ $json[\"external_id\"] }}",
                "operation": "update",
                "updateFields": {
                    "ticketName": "={{ $json[\"raw_subject\"] }}",
                    "description": "={{ $json[\"description\"] }}"
                },
                "authentication": "oAuth2"
            },
            "credentials": {
                "hubspotOAuth2Api": {
                    "id": "21",
                    "name": "HubSpot account"
                }
            },
            "typeVersion": 1,
            "continueOnFail": true
        },
        {
            "id": "1eb40a93-2d36-4b3e-a39d-f19f369adc4e",
            "name": "Update Zendesk ticket with External Id",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                2020,
                480
            ],
            "parameters": {
                "id": "={{ $node[\"Contact Exists\"].json[\"id\"] }}",
                "operation": "update",
                "updateFields": {
                    "externalId": "={{ $json[\"objectId\"] }}"
                }
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "a11c8809-c22f-40f5-a019-79274eba4d70",
            "name": "Get last execution timestamp",
            "type": "n8n-nodes-base.functionItem",
            "position": [
                -260,
                300
            ],
            "parameters": {
                "functionCode": "\/\/ Code here will run once per input item.\n\/\/ More info and help: https:\/\/docs.n8n.io\/nodes\/n8n-nodes-base.functionItem\n\/\/ Tip: You can use luxon for dates and $jmespath for querying JSON structures\n\n\/\/ Add a new field called 'myNewField' to the JSON of the item\nconst staticData = getWorkflowStaticData('global');\n\nif(!staticData.lastExecution){\n  staticData.lastExecution = new Date().toISOString();\n}\n\nitem.executionTimeStamp = new Date().toISOString();\nitem.lastExecution = staticData.lastExecution;\n\n\nreturn item;"
            },
            "typeVersion": 1
        },
        {
            "id": "a62685c9-f786-4e7c-9e2d-cdcb1e0a3aea",
            "name": "Get tickets updated after last execution",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                -40,
                300
            ],
            "parameters": {
                "options": {
                    "query": "=updated>{{ $json[\"lastExecution\"] }}",
                    "sortBy": "updated_at",
                    "sortOrder": "desc"
                },
                "operation": "getAll"
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "c1b23aa8-a9f6-4966-b1dc-fe48c203364c",
            "name": "Set new last execution timestamp",
            "type": "n8n-nodes-base.functionItem",
            "position": [
                2360,
                300
            ],
            "parameters": {
                "functionCode": "\/\/ Code here will run once per input item.\n\/\/ More info and help: https:\/\/docs.n8n.io\/nodes\/n8n-nodes-base.functionItem\n\/\/ Tip: You can use luxon for dates and $jmespath for querying JSON structures\n\n\/\/ Add a new field called 'myNewField' to the JSON of the item\nconst staticData = getWorkflowStaticData('global');\n\nstaticData.lastExecution = $item(0).$node[\"Get last execution timestamp\"].executionTimeStamp;\n\nreturn item;"
            },
            "executeOnce": true,
            "typeVersion": 1
        },
        {
            "id": "97ae70de-bce8-4861-a256-17002625da58",
            "name": "Every 5 minutes",
            "type": "n8n-nodes-base.cron",
            "position": [
                -460,
                300
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyX",
                            "unit": "minutes",
                            "value": 5
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "1d2dd552-175c-4405-b304-d4136dd2968b",
            "name": "Create new Ticket",
            "type": "n8n-nodes-base.hubspot",
            "position": [
                1780,
                480
            ],
            "parameters": {
                "stageId": "1",
                "resource": "ticket",
                "pipelineId": "0",
                "ticketName": "={{ $node['Ticket Exists'].json[\"raw_subject\"] }}",
                "authentication": "oAuth2",
                "additionalFields": {
                    "description": "={{ $node['Ticket Exists'].json[\"description\"] }}",
                    "associatedContactIds": "={{ [].concat($node[\"Create or update contact\"].json[\"vid\"]) }}"
                }
            },
            "credentials": {
                "hubspotOAuth2Api": {
                    "id": "21",
                    "name": "HubSpot account"
                }
            },
            "executeOnce": false,
            "typeVersion": 1
        },
        {
            "id": "e2217f74-f1b2-4449-9937-543758a333ea",
            "name": "Update External Id in Zendesk for contact",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                1520,
                480
            ],
            "parameters": {
                "id": "={{ $node[\"Ticket Exists\"].json[\"requester_id\"] }}",
                "resource": "user",
                "operation": "update",
                "updateFields": {
                    "external_id": "={{ $json[\"vid\"] }}"
                }
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "144a3395-9f61-4aad-99e0-4a689145f93d",
            "name": "Create or update contact",
            "type": "n8n-nodes-base.hubspot",
            "position": [
                1280,
                480
            ],
            "parameters": {
                "email": "={{ $json[\"contactEmail\"] }}",
                "resource": "contact",
                "authentication": "oAuth2",
                "additionalFields": []
            },
            "credentials": {
                "hubspotOAuth2Api": {
                    "id": "21",
                    "name": "HubSpot account"
                }
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "Add user data": {
            "main": [
                [
                    {
                        "node": "Ticket Exists",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Ticket Exists": {
            "main": [
                [
                    {
                        "node": "Update existing ticket",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Create or update contact",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Every 5 minutes": {
            "main": [
                [
                    {
                        "node": "Get last execution timestamp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create new Ticket": {
            "main": [
                [
                    {
                        "node": "Update Zendesk ticket with External Id",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Only keep needed data": {
            "main": [
                [
                    {
                        "node": "Add user data",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Update existing ticket": {
            "main": [
                [
                    {
                        "node": "Set new last execution timestamp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create or update contact": {
            "main": [
                [
                    {
                        "node": "Update External Id in Zendesk for contact",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get last execution timestamp": {
            "main": [
                [
                    {
                        "node": "Get tickets updated after last execution",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get user data of Ticket requester": {
            "main": [
                [
                    {
                        "node": "Only keep needed data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Update Zendesk ticket with External Id": {
            "main": [
                [
                    {
                        "node": "Set new last execution timestamp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get tickets updated after last execution": {
            "main": [
                [
                    {
                        "node": "Get user data of Ticket requester",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Add user data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Update External Id in Zendesk for contact": {
            "main": [
                [
                    {
                        "node": "Create new Ticket",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Backup Squarespace code Injections to Github
View
Noop GoogleSheets Create Webhook
View
Integrating AI with Open-Meteo API for Enhanced Weather Forecasting
View
OpenAI Assistant for Hubspot Chat
View
Retry Execution Hourly
View
get_a_web_page
View
Emailsend GoogleDrive Send Triggered
View
Splitout Code Create Webhook
View
Openweathermap Webhook Automate Webhook
View
Automate
View