Automatisation Zendesk avec n8n : synchronisation des données HubSpot
Ce workflow n8n a pour objectif de synchroniser les données des entreprises entre Zendesk et HubSpot, permettant ainsi une gestion plus fluide des informations clients. Dans un contexte où les entreprises utilisent plusieurs outils pour gérer leurs relations clients, cette automatisation n8n facilite la mise à jour des données en temps réel, réduisant ainsi les risques d'erreurs et de doublons. Les cas d'usage incluent la création et la mise à jour d'organisations dans Zendesk en fonction des modifications apportées dans HubSpot, ce qui est essentiel pour les équipes de vente et de support. Étape 1 : Le déclencheur est un cron qui s'exécute toutes les 5 minutes. Étape 2 : Le workflow commence par récupérer les organisations modifiées dans HubSpot. Étape 3 : Pour chaque organisation, il vérifie si elle existe déjà dans Zendesk. Étape 4 : Si l'organisation n'existe pas, elle est créée ; sinon, ses données sont mises à jour. Étape 5 : Les données de Zendesk sont ensuite fusionnées avec celles de HubSpot pour garantir que toutes les informations sont à jour. En intégrant ces deux systèmes, les entreprises bénéficient d'une visibilité accrue sur leurs interactions clients, ce qui améliore l'efficacité opérationnelle et la satisfaction client. Tags clés : automatisation, HubSpot, Zendesk.
Vue d'ensemble du workflow n8n
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Détail des nœuds du workflow n8n
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"meta": {
"instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9"
},
"nodes": [
{
"id": "60e3ee97-68cb-46ef-8a92-a9e8d1cdd45d",
"name": "Add Zendesk company data to Hubspot data",
"type": "n8n-nodes-base.merge",
"position": [
1120,
320
],
"parameters": {
"mode": "mergeByKey",
"propertyName1": "properties.name.value",
"propertyName2": "name"
},
"typeVersion": 1
},
{
"id": "d72c4307-c24c-494f-b5c2-57fd44ede5a5",
"name": "Set new last execution timestamp",
"type": "n8n-nodes-base.functionItem",
"position": [
1820,
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": "c10e7993-4cd4-4b79-9dce-66097d797b30",
"name": "Get last execution timestamp",
"type": "n8n-nodes-base.functionItem",
"position": [
400,
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();\n}\n\nitem.executionTimeStamp = new Date();\nitem.lastExecution = staticData.lastExecution;\n\n\nreturn item;"
},
"typeVersion": 1
},
{
"id": "3c154d99-7984-4561-9fdf-60b0f705c5ee",
"name": "Get modified companies",
"type": "n8n-nodes-base.hubspot",
"position": [
620,
300
],
"parameters": {
"filters": {
"since": "={{ $json[\"lastExecution\"] }}"
},
"resource": "company",
"operation": "getRecentlyModified",
"authentication": "appToken"
},
"credentials": {
"hubspotAppToken": {
"id": "13",
"name": "HubSpot App Token account"
}
},
"typeVersion": 1
},
{
"id": "6f05aae1-731e-42cf-b403-baf5f86aa934",
"name": "Get all Zendesk organisations",
"type": "n8n-nodes-base.zendesk",
"position": [
880,
420
],
"parameters": {
"resource": "organization",
"operation": "getAll",
"returnAll": true
},
"credentials": {
"zendeskApi": {
"id": "5",
"name": "Zendesk account"
}
},
"typeVersion": 1
},
{
"id": "a8ae65dc-0c60-42cb-9996-26e84770e299",
"name": "Company exists in Zendesk",
"type": "n8n-nodes-base.if",
"position": [
1340,
320
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json[\"id\"] }}",
"operation": "isNotEmpty"
}
]
}
},
"typeVersion": 1
},
{
"id": "a81ff688-8639-476d-8274-383e5ff51b97",
"name": "Create organisation",
"type": "n8n-nodes-base.zendesk",
"position": [
1600,
400
],
"parameters": {
"name": "={{ $json[\"properties\"].name.value }}",
"resource": "organization",
"additionalFields": {
"domain_names": "={{ $json[\"properties\"].domain.value }}"
}
},
"credentials": {
"zendeskApi": {
"id": "5",
"name": "Zendesk account"
}
},
"typeVersion": 1
},
{
"id": "fd2780b3-c5cc-4535-ba71-840b13578a07",
"name": "Update organisation",
"type": "n8n-nodes-base.zendesk",
"position": [
1600,
200
],
"parameters": {
"id": "={{ $json[\"id\"] }}",
"resource": "organization",
"operation": "update",
"updateFields": {
"name": "={{ $json[\"properties\"].name.value }}",
"domain_names": "={{ $json[\"properties\"].domain.value }}"
}
},
"credentials": {
"zendeskApi": {
"id": "5",
"name": "Zendesk account"
}
},
"typeVersion": 1
},
{
"id": "7f19e5ba-e973-4e6c-a2d0-a320ac314fa6",
"name": "Every 5 minutes",
"type": "n8n-nodes-base.cron",
"position": [
180,
300
],
"parameters": {
"triggerTimes": {
"item": [
{
"mode": "everyX",
"unit": "minutes",
"value": 5
}
]
}
},
"typeVersion": 1
}
],
"connections": {
"Every 5 minutes": {
"main": [
[
{
"node": "Get last execution timestamp",
"type": "main",
"index": 0
}
]
]
},
"Create organisation": {
"main": [
[
{
"node": "Set new last execution timestamp",
"type": "main",
"index": 0
}
]
]
},
"Update organisation": {
"main": [
[
{
"node": "Set new last execution timestamp",
"type": "main",
"index": 0
}
]
]
},
"Get modified companies": {
"main": [
[
{
"node": "Get all Zendesk organisations",
"type": "main",
"index": 0
},
{
"node": "Add Zendesk company data to Hubspot data",
"type": "main",
"index": 0
}
]
]
},
"Company exists in Zendesk": {
"main": [
[
{
"node": "Update organisation",
"type": "main",
"index": 0
}
],
[
{
"node": "Create organisation",
"type": "main",
"index": 0
}
]
]
},
"Get last execution timestamp": {
"main": [
[
{
"node": "Get modified companies",
"type": "main",
"index": 0
}
]
]
},
"Get all Zendesk organisations": {
"main": [
[
{
"node": "Add Zendesk company data to Hubspot data",
"type": "main",
"index": 1
}
]
]
},
"Add Zendesk company data to Hubspot data": {
"main": [
[
{
"node": "Company exists in Zendesk",
"type": "main",
"index": 0
}
]
]
}
}
}Pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises qui utilisent à la fois Zendesk et HubSpot pour la gestion de leurs relations clients. Il est particulièrement utile pour les équipes de vente et de support qui cherchent à automatiser la synchronisation des données. Un niveau technique intermédiaire est recommandé pour la personnalisation.
Problème résolu
Ce workflow résout le problème de la désynchronisation des données entre Zendesk et HubSpot, qui peut entraîner des erreurs dans la gestion des informations clients. En automatisant ce processus, les utilisateurs éliminent les tâches manuelles répétitives, réduisent les risques d'erreurs et garantissent que toutes les équipes disposent des informations les plus récentes. Cela permet également d'améliorer la réactivité et la qualité du service client.
Étapes du workflow
Étape 1 : Le flux est déclenché toutes les 5 minutes par un cron. Étape 2 : Il récupère les organisations modifiées dans HubSpot. Étape 3 : Pour chaque organisation, il vérifie si elle existe dans Zendesk. Étape 4 : Si l'organisation n'existe pas, elle est créée dans Zendesk. Étape 5 : Si elle existe, ses informations sont mises à jour. Étape 6 : Les données de Zendesk sont fusionnées avec celles de HubSpot pour assurer la cohérence des informations.
Guide de personnalisation du workflow n8n
Pour personnaliser ce workflow, vous pouvez modifier les paramètres du cron pour ajuster la fréquence de synchronisation. Il est également possible de changer les filtres pour récupérer des données spécifiques de HubSpot ou d'ajuster les champs à mettre à jour dans Zendesk. Assurez-vous que les identifiants d'authentification pour les deux services sont correctement configurés. Pour une sécurité accrue, envisagez d'ajouter des vérifications supplémentaires pour valider les données avant leur insertion.