Workflow: Functionitem Zendesk Create

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"
    },
    "nodes": [
        {
            "id": "9d40c0b9-498f-421c-b731-3a387402b69a",
            "name": "Get last execution timestamp",
            "type": "n8n-nodes-base.functionItem",
            "position": [
                380,
                360
            ],
            "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().getTime();\n}\n\nitem.executionTimeStamp = new Date().getTime();\nitem.lastExecution = staticData.lastExecution;\n\n\nreturn item;"
            },
            "typeVersion": 1
        },
        {
            "id": "ddb12f68-1f6b-41fb-bfd4-038697ce4d75",
            "name": "Set new last execution timestamp",
            "type": "n8n-nodes-base.functionItem",
            "position": [
                3280,
                380
            ],
            "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": "42888df0-1f7e-4990-87b3-3226a474110e",
            "name": "Get tickets created after last execution",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                620,
                360
            ],
            "parameters": {
                "options": {
                    "query": "=created>{{ $json[\"lastExecution\"] }}",
                    "sortBy": "updated_at",
                    "sortOrder": "desc"
                },
                "operation": "getAll"
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "2f0f71f6-3d4c-4895-9313-7f47e3b2ed86",
            "name": "Get requester information",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                840,
                460
            ],
            "parameters": {
                "id": "={{ $json[\"requester_id\"] }}",
                "resource": "user",
                "operation": "get"
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "284fd54b-bd7b-4fbb-8a14-0c4fa62a3200",
            "name": "Keep only needed requester information",
            "type": "n8n-nodes-base.set",
            "position": [
                1060,
                460
            ],
            "parameters": {
                "values": {
                    "number": [
                        {
                            "name": "requester_id",
                            "value": "={{ $json[\"id\"] }}"
                        }
                    ],
                    "string": [
                        {
                            "name": "requester_email",
                            "value": "={{ $json[\"email\"] }}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "id": "17c3b860-60cb-4885-b503-9086b461bde0",
            "name": "Keep only requester owner email",
            "type": "n8n-nodes-base.set",
            "position": [
                2000,
                480
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "requester_pipedrive_email",
                            "value": "={{ $node[\"Search requester in pipedrive\"].json[\"primary_email\"] }}"
                        },
                        {
                            "name": "requester_pipedrive_owner_email",
                            "value": "={{ $json[\"data\"].email }}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "id": "a4ccf1d7-5d9f-4c4e-a5b9-c54ed77c5c44",
            "name": "Every 5 minutes",
            "type": "n8n-nodes-base.cron",
            "position": [
                160,
                360
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyX",
                            "unit": "minutes",
                            "value": 5
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "99fb51d8-0d93-4db9-868d-757046d1bdc2",
            "name": "Add requester information to ticket data",
            "type": "n8n-nodes-base.merge",
            "position": [
                1280,
                380
            ],
            "parameters": {
                "mode": "mergeByKey",
                "propertyName1": "requester_id",
                "propertyName2": "requester_id"
            },
            "typeVersion": 1
        },
        {
            "id": "a4c7acd0-b2b6-48bb-b7b7-d2826ddb1f9d",
            "name": "Search requester in pipedrive",
            "type": "n8n-nodes-base.pipedrive",
            "position": [
                1560,
                480
            ],
            "parameters": {
                "term": "={{ $json[\"requester_email\"] }}",
                "resource": "person",
                "operation": "search",
                "additionalFields": {
                    "fields": "email"
                }
            },
            "credentials": {
                "pipedriveApi": {
                    "id": "1",
                    "name": "Pipedrive account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "7a8a3bf3-9f57-40ad-a31f-45522264f101",
            "name": "Get owner information of Pipedrive contact",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1780,
                480
            ],
            "parameters": {
                "url": "=https:\/\/n8n.pipedrive.com\/api\/v1\/users\/{{$json[\"owner\"][\"id\"]}}",
                "options": [],
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "pipedriveApi"
            },
            "credentials": {
                "pipedriveApi": {
                    "id": "1",
                    "name": "Pipedrive account"
                }
            },
            "typeVersion": 2
        },
        {
            "id": "64a7fc0c-ddb4-4d84-86a6-3e9bd361ce46",
            "name": "Get agents and admins",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                1780,
                700
            ],
            "parameters": {
                "filters": {
                    "role": [
                        "agent",
                        "admin"
                    ]
                },
                "resource": "user",
                "operation": "getAll",
                "returnAll": true
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "0117d5f8-e9b2-46c9-9777-7ae82e002cc2",
            "name": "Keep only email and Id",
            "type": "n8n-nodes-base.set",
            "position": [
                2000,
                700
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "agent_email",
                            "value": "={{ $json[\"email\"] }}"
                        },
                        {
                            "name": "agent_id",
                            "value": "={{ $json[\"id\"] }}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "id": "eaa7b072-0499-4b3a-96af-433d3afc12f9",
            "name": "Add Pipedrive agent data to pipedrive contact information",
            "type": "n8n-nodes-base.merge",
            "position": [
                2280,
                500
            ],
            "parameters": {
                "mode": "mergeByKey",
                "propertyName1": "requester_pipedrive_owner_email",
                "propertyName2": "agent_email"
            },
            "typeVersion": 1
        },
        {
            "id": "b9619e3d-c951-47ae-bbb5-db50e7ae5abe",
            "name": "Add contact owner to ticket data",
            "type": "n8n-nodes-base.merge",
            "position": [
                2540,
                400
            ],
            "parameters": {
                "mode": "mergeByKey",
                "propertyName1": "requester_email",
                "propertyName2": "requester_pipedrive_email"
            },
            "typeVersion": 1
        },
        {
            "id": "14f88f5f-2bab-42f2-bea7-a7566e6d45b1",
            "name": "Contact exists in Pipedrive",
            "type": "n8n-nodes-base.if",
            "position": [
                2760,
                400
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{ $json[\"agent_id\"] }}",
                            "operation": "isNotEmpty"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "38da1ccc-3d23-41cd-84b3-6fc249aedca5",
            "name": "Change assignee to Pipedrive contact owner",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                3020,
                380
            ],
            "parameters": {
                "id": "={{ $json[\"id\"] }}",
                "operation": "update",
                "updateFields": {
                    "assigneeEmail": "={{$json[\"requester_pipedrive_owner_email\"]}}"
                }
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "4295e0e2-88e8-4f93-8432-47fff452cfc5",
            "name": "Add a note requester not found",
            "type": "n8n-nodes-base.zendesk",
            "position": [
                3020,
                580
            ],
            "parameters": {
                "id": "={{ $json[\"id\"] }}",
                "operation": "update",
                "updateFields": {
                    "internalNote": "Requester not found in Pipedrive"
                }
            },
            "credentials": {
                "zendeskApi": {
                    "id": "5",
                    "name": "Zendesk account"
                }
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "Every 5 minutes": {
            "main": [
                [
                    {
                        "node": "Get last execution timestamp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get agents and admins": {
            "main": [
                [
                    {
                        "node": "Keep only email and Id",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Keep only email and Id": {
            "main": [
                [
                    {
                        "node": "Add Pipedrive agent data to pipedrive contact information",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Get requester information": {
            "main": [
                [
                    {
                        "node": "Keep only needed requester information",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Contact exists in Pipedrive": {
            "main": [
                [
                    {
                        "node": "Change assignee to Pipedrive contact owner",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Add a note requester not found",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get last execution timestamp": {
            "main": [
                [
                    {
                        "node": "Get tickets created after last execution",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Search requester in pipedrive": {
            "main": [
                [
                    {
                        "node": "Get owner information of Pipedrive contact",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Add a note requester not found": {
            "main": [
                [
                    {
                        "node": "Set new last execution timestamp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Keep only requester owner email": {
            "main": [
                [
                    {
                        "node": "Add Pipedrive agent data to pipedrive contact information",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Add contact owner to ticket data": {
            "main": [
                [
                    {
                        "node": "Contact exists in Pipedrive",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Keep only needed requester information": {
            "main": [
                [
                    {
                        "node": "Add requester information to ticket data",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Add requester information to ticket data": {
            "main": [
                [
                    {
                        "node": "Search requester in pipedrive",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Add contact owner to ticket data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get tickets created after last execution": {
            "main": [
                [
                    {
                        "node": "Add requester information to ticket data",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Get requester information",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Change assignee to Pipedrive contact owner": {
            "main": [
                [
                    {
                        "node": "Set new last execution timestamp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get owner information of Pipedrive contact": {
            "main": [
                [
                    {
                        "node": "Keep only requester owner email",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Add Pipedrive agent data to pipedrive contact information": {
            "main": [
                [
                    {
                        "node": "Add contact owner to ticket data",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Daylight Saving Time Notification
View
Splitout Manual Export Webhook
View
Manual Tapfiliate Automate Triggered
View
Postgres Webhook Automation Webhook
View
Autopilot Automate
View
Executecommand Functionitem Automate
View
Code Schedule Create Scheduled
View
Wait Redis Create Triggered
View
Compare 2 SQL datasets
View