Workflow n8n

Automatisation MySQL et Pipedrive avec n8n : synchronisation bidirectionnelle

  • Le workflow n8n proposé permet d'automatiser la synchronisation bidirectionnelle entre Pipedrive et une base de données MySQL. Cette automatisation n8n est particulièrement utile pour les équipes commerciales et marketing qui souhaitent maintenir à jour leurs contacts et données clients sans intervention manuelle. Grâce à ce processus, les utilisateurs peuvent éviter les erreurs de saisie et garantir que les informations sont toujours à jour dans les deux systèmes, ce qui améliore la productivité et la cohérence des données.
  • Le workflow commence par un déclencheur programmé qui active le processus à intervalles réguliers. Ensuite, il compare les ensembles de données entre MySQL et Pipedrive pour identifier les différences. Si des données ont changé, le workflow utilise des nœuds pour créer ou mettre à jour des contacts dans Pipedrive et MySQL, en s'assurant que toutes les informations sont synchronisées. Des nœuds comme 'Create Person' et 'Update Person' pour Pipedrive, ainsi que 'Create Contact' et 'Update Contact' pour MySQL, sont utilisés pour gérer ces opérations.
  • En intégrant ce workflow, les entreprises peuvent réduire considérablement le temps consacré à la gestion des données, minimiser les erreurs humaines et garantir que toutes les équipes travaillent avec des informations à jour. Cela permet non seulement d'améliorer l'efficacité opérationnelle, mais aussi d'optimiser les interactions avec les clients en ayant accès à des données précises et fiables.
Tags clés :automatisationPipedriveMySQLsynchronisationworkflow
Catégorie: Scheduled · Tags: automatisation, Pipedrive, MySQL, synchronisation, workflow0

Workflow n8n Pipedrive, MySQL, synchronisation : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Pipedrive, MySQL, synchronisation : détail des nœuds

  • Compare Datasets

    Ce noeud compare des ensembles de données selon les options spécifiées et fusionne les résultats en fonction des champs définis.

  • Schedule Trigger

    Ce noeud déclenche le workflow selon un calendrier défini par une règle.

  • MySQL

    Ce noeud exécute une requête SQL sur une base de données MySQL selon l'opération spécifiée.

  • Pipedrive

    Ce noeud interagit avec Pipedrive pour effectuer une opération sur la ressource choisie.

  • Create Person

    Ce noeud crée une nouvelle personne dans Pipedrive avec les informations fournies.

  • Create Contact

    Ce noeud insère un nouveau contact dans une table MySQL avec les colonnes spécifiées.

  • Date & Time

    Ce noeud manipule des valeurs de date et d'heure selon les options et formats définis.

  • Update Contact

    Ce noeud met à jour un contact dans une base de données MySQL selon la requête et l'opération spécifiées.

  • Set Input2

    Ce noeud définit des valeurs d'entrée supplémentaires pour le workflow.

  • Set Input1

    Ce noeud définit des valeurs d'entrée pour le workflow.

  • Update Person

    Ce noeud met à jour les informations d'une personne dans Pipedrive selon les champs de mise à jour spécifiés.

  • IF Data Changed

    Ce noeud évalue des conditions pour déterminer si des données ont changé.

  • IF Updated On

    Ce noeud vérifie si la date de mise à jour d'un élément répond à des conditions spécifiques.

  • Set

    Ce noeud définit des valeurs tout en conservant uniquement celles qui sont définies.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": 65,
  "meta": {
    "instanceId": "104a4d08d8897b8bdeb38aaca515021075e0bd8544c983c2bb8c86e6a8e6081c"
  },
  "name": "Two Way Sync Pipedrive and MySQL",
  "tags": [],
  "nodes": [
    {
      "id": "7355c5ac-a9a6-4fa5-8036-71fd09e95cd4",
      "name": "Compare Datasets",
      "type": "n8n-nodes-base.compareDatasets",
      "position": [
        1220,
        480
      ],
      "parameters": {
        "options": {},
        "resolve": "includeBoth",
        "mergeByFields": {
          "values": [
            {
              "field1": "email",
              "field2": "email"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7a422493-94d4-4f94-b39c-f6c3980a967c",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        800,
        320
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b3a0e831-7030-43dd-863a-0c2a4697a14d",
      "name": "MySQL",
      "type": "n8n-nodes-base.mySql",
      "position": [
        1000,
        320
      ],
      "parameters": {
        "query": "SELECT id, name, email, phone, updated_on FROM contact",
        "operation": "executeQuery"
      },
      "credentials": {
        "mySql": {
          "id": "23",
          "name": "MySQL account"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "a3a64bb5-8a6f-4011-bc2d-3996a823012c",
      "name": "Pipedrive",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        800,
        620
      ],
      "parameters": {
        "resource": "person",
        "operation": "getAll",
        "additionalFields": {}
      },
      "credentials": {
        "pipedriveApi": {
          "id": "29",
          "name": "Pipedrive account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "089e91df-abf7-4de9-b088-357cffce6949",
      "name": "Create Person",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        1420,
        300
      ],
      "parameters": {
        "name": "={{ $json[\"name\"] }}",
        "resource": "person",
        "additionalFields": {
          "email": [
            "={{ $json[\"email\"] }}"
          ],
          "phone": [
            "={{ $json[\"phone\"] }}"
          ]
        }
      },
      "credentials": {
        "pipedriveApi": {
          "id": "29",
          "name": "Pipedrive account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a99c3242-8263-4a92-a1f2-dcce7a9a6d81",
      "name": "Create Contact",
      "type": "n8n-nodes-base.mySql",
      "position": [
        1420,
        620
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "contact",
          "cachedResultName": "contact"
        },
        "columns": "name, email, phone",
        "options": {}
      },
      "credentials": {
        "mySql": {
          "id": "23",
          "name": "MySQL account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7697d03a-7bc4-40b3-9e06-e38c13ccaaf3",
      "name": "Date & Time",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        1760,
        460
      ],
      "parameters": {
        "value": "={{ $json[\"different\"][\"updated_on\"][\"input1\"] }}",
        "custom": true,
        "options": {},
        "toFormat": "YYYY-MM-DD HH:mm:ss",
        "dataPropertyName": "different.updated_on.input1"
      },
      "typeVersion": 1
    },
    {
      "id": "f882a2e7-a8cf-4683-abe3-77a5b7376bb2",
      "name": "Update Contact",
      "type": "n8n-nodes-base.mySql",
      "position": [
        2340,
        620
      ],
      "parameters": {
        "query": "=UPDATE contact\nSET name = '{{$json[\"name\"]}}', phone= '{{$json[\"phone\"]}}'\nWHERE id = {{$json[\"id\"]}};",
        "operation": "executeQuery"
      },
      "credentials": {
        "mySql": {
          "id": "23",
          "name": "MySQL account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d7549678-5d35-4a8a-b440-5c347b4434f4",
      "name": "Set Input2",
      "type": "n8n-nodes-base.set",
      "position": [
        2120,
        620
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "id",
              "value": "={{ $json[\"different\"][\"id\"] ? $json[\"different\"][\"id\"][\"input1\"] : $json[\"same\"][\"id\"] }}"
            },
            {
              "name": "name",
              "value": "={{ $json[\"different\"][\"name\"] ? $json[\"different\"][\"name\"][\"input2\"] : $json[\"same\"][\"name\"] }}"
            },
            {
              "name": "phone",
              "value": "={{ $json[\"different\"][\"phone\"] ? $json[\"different\"][\"phone\"][\"input2\"] : $json[\"same\"][\"phone\"] }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "0018751e-c295-4f8d-b9df-257b9538eedc",
      "name": "Set Input1",
      "type": "n8n-nodes-base.set",
      "position": [
        2120,
        300
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "id",
              "value": "={{ $json[\"different\"][\"id\"] ? $json[\"different\"][\"id\"][\"input2\"] : $json[\"same\"][\"id\"] }}"
            },
            {
              "name": "name",
              "value": "={{ $json[\"different\"][\"name\"] ? $json[\"different\"][\"name\"][\"input1\"] : $json[\"same\"][\"name\"] }}"
            },
            {
              "name": "phone",
              "value": "={{ $json[\"different\"][\"phone\"] ? $json[\"different\"][\"phone\"][\"input1\"] : $json[\"same\"][\"phone\"] }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "89af3385-4788-4693-ad02-917b927e7384",
      "name": "Update Person",
      "type": "n8n-nodes-base.pipedrive",
      "position": [
        2340,
        300
      ],
      "parameters": {
        "personId": "={{ $json[\"id\"] }}",
        "resource": "person",
        "operation": "update",
        "updateFields": {
          "name": "={{ $json[\"name\"] }}",
          "phone": [
            "={{ $json[\"phone\"] }}"
          ]
        }
      },
      "credentials": {
        "pipedriveApi": {
          "id": "29",
          "name": "Pipedrive account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8ffbbb4b-7c2f-457e-ae73-464620aa1588",
      "name": "IF Data Changed",
      "type": "n8n-nodes-base.if",
      "position": [
        1560,
        480
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ !!$json[\"different\"][\"name\"] || !!$json[\"different\"][\"phone\"] }}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f8d60404-942d-4bb3-96e7-a247a9447a32",
      "name": "IF Updated On",
      "type": "n8n-nodes-base.if",
      "position": [
        1940,
        460
      ],
      "parameters": {
        "conditions": {
          "dateTime": [
            {
              "value1": "={{ $json[\"different\"][\"updated\"][\"input1\"] }} {{ $json[\"different\"][\"updated_on\"][\"input1\"] }}",
              "value2": "={{ $json[\"different\"][\"updated\"][\"input2\"] }} {{ $json[\"different\"][\"updated_on\"][\"input2\"] }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6965e281-10bd-4e8a-b016-f788030a6d9f",
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        620
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "id",
              "value": "={{ $json[\"id\"] }}"
            },
            {
              "name": "name",
              "value": "={{ $json[\"name\"] }}"
            },
            {
              "name": "email",
              "value": "={{ $json[\"primary_email\"] }}"
            },
            {
              "name": "phone",
              "value": "={{ $json[\"phone\"][0][\"value\"] }}"
            },
            {
              "name": "updated_on",
              "value": "={{ $json[\"update_time\"] }}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {},
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "MySQL": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pipedrive": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Input1": {
      "main": [
        [
          {
            "node": "Update Person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Input2": {
      "main": [
        [
          {
            "node": "Update Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Date & Time": {
      "main": [
        [
          {
            "node": "IF Updated On",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Updated On": {
      "main": [
        [
          {
            "node": "Set Input1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set Input2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Data Changed": {
      "main": [
        [
          {
            "node": "Date & Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compare Datasets": {
      "main": [
        [
          {
            "node": "Create Person",
            "type": "main",
            "index": 0
          }
        ],
        [],
        [
          {
            "node": "IF Data Changed",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "MySQL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Pipedrive, MySQL, synchronisation : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes commerciales et marketing des PME et grandes entreprises qui utilisent Pipedrive et MySQL pour la gestion de leurs contacts. Un niveau technique intermédiaire est recommandé pour la mise en place et la personnalisation de ce flux d'automatisation n8n.

Workflow n8n Pipedrive, MySQL, synchronisation : problème résolu

Ce workflow résout le problème de la désynchronisation des données entre Pipedrive et MySQL, ce qui peut entraîner des erreurs et des incohérences dans les informations clients. En automatisant ce processus, les utilisateurs éliminent les frustrations liées à la mise à jour manuelle des données, réduisent le risque d'erreurs humaines et gagnent un temps précieux. À la fin de la mise en place, les utilisateurs bénéficient d'une base de données toujours à jour, facilitant ainsi la prise de décision et l'engagement client.

Workflow n8n Pipedrive, MySQL, synchronisation : étapes du workflow

Étape 1 : Le workflow est déclenché par un événement programmé.

  • Étape 1 : Les ensembles de données de MySQL et Pipedrive sont comparés pour détecter les différences.
  • Étape 2 : Si des données ont changé, des nœuds sont utilisés pour créer ou mettre à jour des contacts dans Pipedrive et MySQL.
  • Étape 3 : Les informations sont synchronisées, garantissant que les deux systèmes contiennent des données cohérentes et à jour.

Workflow n8n Pipedrive, MySQL, synchronisation : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier les paramètres du nœud 'Schedule Trigger' pour ajuster la fréquence de synchronisation. Les requêtes SQL dans les nœuds MySQL peuvent être adaptées pour cibler des tables spécifiques ou des champs particuliers. De plus, les identifiants de ressources dans les nœuds Pipedrive doivent être mis à jour pour correspondre à votre configuration. Assurez-vous également de tester le flux pour vérifier que les données sont correctement synchronisées et que les erreurs sont gérées efficacement.