{"meta":{"instanceId":"workflow-95393c61","versionId":"1.0.0","createdAt":"2025-09-29T07:07:45.073109","updatedAt":"2025-09-29T07:07:45.073131","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"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: {{ $env.WEBHOOK_URL }}\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,"notes":"This functionItem node performs automated tasks as part of the workflow."},{"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: {{ $env.WEBHOOK_URL }}\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,"notes":"This functionItem node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.zendeskApi.id }}","name":"Zendesk account"}},"typeVersion":1,"notes":"This zendesk node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.zendeskApi.id }}","name":"Zendesk account"}},"typeVersion":1,"notes":"This zendesk node performs automated tasks as part of the workflow."},{"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,"notes":"This set node performs automated tasks as part of the workflow."},{"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,"notes":"This set node performs automated tasks as part of the workflow."},{"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,"notes":"This cron node performs automated tasks as part of the workflow."},{"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,"notes":"This merge node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.pipedriveApi.id }}","name":"Pipedrive account"}},"typeVersion":1,"notes":"This pipedrive node performs automated tasks as part of the workflow."},{"id":"7a8a3bf3-9f57-40ad-a31f-45522264f101","name":"Get owner information of Pipedrive contact","type":"n8n-nodes-base.httpRequest","position":[1780,480],"parameters":{"url":"{{ $env.BASE_URL }}","options":{},"authentication":"{{ $credentials.predefinedCredentialType }}","nodeCredentialType":"YOUR_CREDENTIAL_HERE"},"credentials":{"pipedriveApi":{"id":"{{ $credentials.pipedriveApi.id }}","name":"Pipedrive account"}},"typeVersion":2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.zendeskApi.id }}","name":"Zendesk account"}},"typeVersion":1,"notes":"This zendesk node performs automated tasks as part of the workflow."},{"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,"notes":"This set node performs automated tasks as part of the workflow."},{"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,"notes":"This merge node performs automated tasks as part of the workflow."},{"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,"notes":"This merge node performs automated tasks as part of the workflow."},{"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,"notes":"This if node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.zendeskApi.id }}","name":"Zendesk account"}},"typeVersion":1,"notes":"This zendesk node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.zendeskApi.id }}","name":"Zendesk account"}},"typeVersion":1,"notes":"This zendesk node performs automated tasks as part of the workflow."}],"connections":{"Get owner information of Pipedrive contact":{"main":[[],[],[],[],[],[],[],[],[]]}},"name":"Functionitem Workflow","description":"Automated workflow: Functionitem Workflow. This workflow processes data and performs automated tasks.","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"notes":"Excellent quality workflow: Functionitem Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}