Workflow n8n

Automatisation Intercom avec n8n : mise à jour des utilisateurs

Ce workflow n8n a pour objectif d'automatiser la gestion des utilisateurs dans Intercom en réponse à des événements déclenchés par un webhook. Dans un contexte où la gestion des données clients est cruciale pour les entreprises, ce type d'automatisation permet de gagner du temps et d'assurer la précision des informations. Par exemple, lorsque de nouveaux utilisateurs sont créés dans Intercom, le workflow se déclenche, permettant de mettre à jour automatiquement les données de ces utilisateurs. Étape 1 : le workflow commence par un déclencheur de type Webhook qui reçoit des événements d'Intercom. Étape 2 : les données sont ensuite traitées par un nœud de type 'set' qui définit les champs clés nécessaires pour l'opération. Étape 3 : un appel HTTP est effectué pour mettre à jour les informations dans Intercom, en utilisant les données enrichies d'un autre service via une requête HTTP. Étape 4 : des nœuds de type 'sticky note' sont utilisés pour enregistrer des informations visuelles sur le processus. Ce workflow n8n offre une solution efficace pour automatiser la mise à jour des utilisateurs, réduisant ainsi les erreurs manuelles et améliorant la réactivité des équipes. En intégrant ce type d'automatisation, les entreprises peuvent se concentrer sur des tâches à plus forte valeur ajoutée tout en assurant une gestion fluide des données clients. Tags clés : automatisation, Intercom, workflow.

Catégorie: Webhook · Tags: automatisation, Intercom, workflow, gestion des utilisateurs, n8n0

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

  • Could not find user

    Ce noeud ne fait rien et sert de point de contrôle dans le workflow.

  • On Webhook event from Intercom

    Ce noeud déclenche le workflow en recevant un événement via un webhook d'Intercom.

  • set key fields

    Ce noeud permet de définir des champs clés à partir des données d'entrée.

  • Update data in Intercom

    Ce noeud envoie une requête HTTP pour mettre à jour des données dans Intercom.

  • Other event

    Ce noeud ne fait rien et sert également de point de contrôle dans le workflow.

  • Intercom

    Ce noeud interagit avec l'API d'Intercom pour effectuer des opérations spécifiques.

  • massage data

    Ce noeud exécute un code JavaScript pour traiter ou manipuler les données.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifique et des dimensions définies.

  • On user created

    Ce noeud évalue des conditions pour déterminer le chemin à suivre dans le workflow lors de la création d'un utilisateur.

  • Sticky Note1

    Ce noeud crée une note autocollante avec une couleur, des dimensions et un contenu spécifiés.

  • Sticky Note2

    Ce noeud crée une note autocollante avec des dimensions et un contenu définis.

  • Sticky Note3

    Ce noeud crée une note autocollante avec une couleur, des dimensions et un contenu spécifiés.

  • Enrich user from ExactBuyer

    Ce noeud envoie une requête HTTP pour enrichir les données d'un utilisateur à partir d'ExactBuyer.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
  },
  "nodes": [
    {
      "id": "1f578b25-ab5b-40f3-9ccc-7f5975959073",
      "name": "Could not find user",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1620,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "236436e0-1fc9-4411-b34c-946246ecbe19",
      "name": "On Webhook event from Intercom",
      "type": "n8n-nodes-base.webhook",
      "position": [
        700,
        500
      ],
      "webhookId": "11e21ebc-27ef-49b5-8c77-648faf3e86e0",
      "parameters": {
        "path": "11e21ebc-27ef-49b5-8c77-648faf3e86e0",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 1.1
    },
    {
      "id": "10e2e89c-6ea2-4888-99c8-2f5d99cb1a1d",
      "name": "set key fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1120,
        340
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3631124b-89e3-49b5-a792-36264eb502f0",
              "name": "user_id",
              "type": "string",
              "value": "={{ $json.body.data.item.id }}"
            },
            {
              "id": "3c2a877d-186b-4a26-86f2-d686e5630e42",
              "name": "email",
              "type": "string",
              "value": "={{ $json.body.data.item.email }}"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "078945ff-7c7a-4b45-9f8b-773827b9eb30",
      "name": "Update data in Intercom",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1900,
        140
      ],
      "parameters": {
        "url": "=https://api.intercom.io/contacts/{{ $('set key fields').item.json.user_id }}",
        "method": "PUT",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "email",
              "value": "={{ $json.result.current_work_email }} {{ $json.result.full_name }}"
            },
            {
              "name": "name",
              "value": "={{ $json.result.full_name }}"
            },
            {
              "name": "phone",
              "value": "={{ $json.result.phone_numbers?.[0]?.E164 }}"
            },
            {
              "name": "avatar",
              "value": "={{ $json.result.employment?.profile_pic_url }}"
            },
            {
              "name": "social_profiles",
              "value": "={{ $json.social_profiles }}"
            },
            {
              "name": "location",
              "value": "={{ $json.location }}"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Intercom-Version",
              "value": "2.10"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "YYOMyAkbDgnGfggq",
          "name": "intercom api key"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "4ca65df4-7244-485f-8c6c-bb1ae4cd84a8",
      "name": "Other event",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1120,
        680
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "87b12749-b81e-460b-97bb-b25b59f303df",
      "name": "Intercom",
      "type": "n8n-nodes-base.intercom",
      "disabled": true,
      "position": [
        1900,
        -60
      ],
      "parameters": {
        "operation": "update",
        "additionalFields": {}
      },
      "credentials": {
        "intercomApi": {
          "id": "sIILbFMUzkVWaBE6",
          "name": "Intercom account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ddb1dbb6-3f20-480f-9f49-641d40d9953a",
      "name": "massage data",
      "type": "n8n-nodes-base.code",
      "position": [
        1660,
        140
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "// Add social profiles\n$input.item.json.social_profiles = $input.item.json.result.social_profiles.map((profile) => {\n  return {\n    type: 'social_profile',\n    name : profile.network,\n    url: profile.url,\n  }\n});\n\n$input.item.json.location = {\n  country: $input.item.json.result.location?.country,\n  city: $input.item.json.result.location?.city,\n  region: $input.item.json.result.location?.region,\n}\n\nreturn $input.item;"
      },
      "typeVersion": 2
    },
    {
      "id": "c490bb0d-ec6a-4a9a-9915-dd65ab669873",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        240
      ],
      "parameters": {
        "width": 377.10487444608555,
        "height": 609.3353028064989,
        "content": "## On User created event in Intercom\n\n1. Setup webhook url in intercom\n2. Make sure `contact.user.created` is enabled"
      },
      "typeVersion": 1
    },
    {
      "id": "3e866480-4ec8-4a27-b946-43d6358edfec",
      "name": "On user created",
      "type": "n8n-nodes-base.switch",
      "position": [
        880,
        500
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "user created",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.body.topic }}",
                    "rightValue": "contact.user.created"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "e9efb8f5-8f97-476f-9d60-09a24b4f656a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1260,
        20
      ],
      "parameters": {
        "color": 3,
        "width": 275.71639586410623,
        "height": 609.3353028064989,
        "content": "## Enrich data from ExactBuyer\n\n1. Add api key from Exact buyer\n2. Use email as identifier to match user\n\nUse API Guide here https://docs.exactbuyer.com/contact-enrichment/enrichment"
      },
      "typeVersion": 1
    },
    {
      "id": "4a86d237-0908-4a79-9ebf-42711f850b3e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        -280
      ],
      "parameters": {
        "width": 562.599704579025,
        "height": 763.7223042836036,
        "content": "## Update user in Intercom\n\n1. Set Http node and generic header API Key using this guide https://developers.intercom.com/docs/build-an-integration/learn-more/authentication/\n2. Update data in intercom using this guide\nhttps://developers.intercom.com/docs/references/rest-api/api.intercom.io/Contacts/UpdateContact/"
      },
      "typeVersion": 1
    },
    {
      "id": "44eb44fc-9376-4c64-9561-3d9b585eb51f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        -320
      ],
      "parameters": {
        "color": 4,
        "width": 623.6113141433334,
        "height": 390.44782241577565,
        "content": "# Enrich new Intercom users with contact details from ExactBuyer\n\n## This workflow aims to enrich new contacts in Intercom. The more relevant the Intercom profile, the more useful it is. Once active, this n8n workflow will update the social profiles, contact data (phone, email) as well as location data from ExactBuyer.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fc9755ae-07ed-4151-bab0-4dc9b6c2408f",
      "name": "Enrich user from ExactBuyer",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        1340,
        340
      ],
      "parameters": {
        "url": "https://api.exactbuyer.com/v1/enrich",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "email",
              "value": "={{ $json.email }}"
            },
            {
              "name": "required",
              "value": "work_email,personal_email,email"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "kyMNOdXZX3ugPihF",
          "name": "ExactBuyer Api key"
        }
      },
      "typeVersion": 4.1
    }
  ],
  "pinData": {
    "On Webhook event from Intercom": [
      {
        "body": {
          "id": "notif_6da6874a-0fc5-4d6e-9c50-a9656b741203",
          "data": {
            "item": {
              "id": "65d5de6eb71d82abcb782f68",
              "os": null,
              "name": "Eadan exact butyer",
              "role": "user",
              "tags": {
                "url": "/contacts/65d5de6eb71d82abcb782f68/tags",
                "data": [],
                "type": "list",
                "has_more": false,
                "total_count": 0
              },
              "type": "contact",
              "email": "edan@exactbuyer.com",
              "notes": {
                "url": "/contacts/65d5de6eb71d82abcb782f68/notes",
                "data": [],
                "type": "list",
                "has_more": false,
                "total_count": 0
              },
              "phone": null,
              "avatar": null,
              "browser": null,
              "location": {
                "city": null,
                "type": "location",
                "region": null,
                "country": null,
                "country_code": null,
                "continent_code": null
              },
              "owner_id": null,
              "referrer": null,
              "utm_term": null,
              "companies": {
                "url": "/contacts/65d5de6eb71d82abcb782f68/companies",
                "data": [],
                "type": "list",
                "has_more": false,
                "total_count": 0
              },
              "created_at": "2024-02-21T11:28:46.093+00:00",
              "ios_device": null,
              "updated_at": "2024-02-21T11:28:46.090+00:00",
              "utm_medium": null,
              "utm_source": null,
              "external_id": "eden_exact_buyer",
              "sms_consent": false,
              "utm_content": null,
              "ios_app_name": null,
              "last_seen_at": null,
              "signed_up_at": null,
              "utm_campaign": null,
              "workspace_id": "ub6mafvn",
              "android_device": null,
              "ios_os_version": null,
              "browser_version": null,
              "ios_app_version": null,
              "ios_sdk_version": null,
              "last_replied_at": null,
              "social_profiles": {
                "data": [],
                "type": "list"
              },
              "android_app_name": null,
              "browser_language": null,
              "has_hard_bounced": false,
              "ios_last_seen_at": null,
              "custom_attributes": {},
              "language_override": null,
              "last_contacted_at": null,
              "android_os_version": null,
              "android_app_version": null,
              "android_sdk_version": null,
              "android_last_seen_at": null,
              "last_email_opened_at": null,
              "marked_email_as_spam": false,
              "last_email_clicked_at": null,
              "unsubscribed_from_sms": false,
              "unsubscribed_from_emails": false,
              "opted_in_subscription_types": {
                "url": "/contacts/65d5de6eb71d82abcb782f68/subscriptions",
                "data": [],
                "type": "list",
                "has_more": false,
                "total_count": 0
              },
              "opted_out_subscription_types": {
                "url": "/contacts/65d5de6eb71d82abcb782f68/subscriptions",
                "data": [],
                "type": "list",
                "has_more": false,
                "total_count": 0
              }
            },
            "type": "notification_event_data"
          },
          "self": null,
          "type": "notification_event",
          "links": {},
          "topic": "contact.user.created",
          "app_id": "ub6mafvn",
          "created_at": 1708514926,
          "delivered_at": 0,
          "first_sent_at": 1708514926,
          "delivery_status": "pending",
          "delivery_attempts": 1
        },
        "query": {},
        "params": {},
        "headers": {
          "host": "test.users.n8n.cloud"
        }
      }
    ]
  },
  "connections": {
    "massage data": {
      "main": [
        [
          {
            "node": "Update data in Intercom",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "set key fields": {
      "main": [
        [
          {
            "node": "Enrich user from ExactBuyer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On user created": {
      "main": [
        [
          {
            "node": "set key fields",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Other event",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enrich user from ExactBuyer": {
      "main": [
        [
          {
            "node": "massage data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Could not find user",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On Webhook event from Intercom": {
      "main": [
        [
          {
            "node": "On user created",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises utilisant Intercom pour la gestion de leur relation client, notamment les équipes marketing et support. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, souhaitant automatiser leurs processus de gestion des utilisateurs.

Problème résolu

Ce workflow résout le problème de la mise à jour manuelle des données utilisateurs dans Intercom, ce qui peut entraîner des erreurs et des incohérences. En automatisant ce processus, les entreprises éliminent les frustrations liées à la gestion des données, réduisent le risque d'erreurs humaines et améliorent la qualité des informations clients. Les utilisateurs bénéficient d'une gestion plus efficace et d'une meilleure réactivité face aux besoins des clients.

Étapes du workflow

Étape 1 : le workflow est déclenché par un événement Webhook provenant d'Intercom. Étape 2 : les données reçues sont traitées pour définir les champs clés nécessaires à l'opération. Étape 3 : une requête HTTP est envoyée pour mettre à jour les données de l'utilisateur dans Intercom. Étape 4 : des nœuds de type 'sticky note' sont utilisés pour enregistrer des informations visuelles tout au long du processus. Étape 5 : si un nouvel utilisateur est créé, le workflow enrichit les données en interrogeant ExactBuyer pour obtenir des informations supplémentaires.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, vous pouvez modifier l'URL du webhook pour l'adapter à votre configuration Intercom. Il est également possible d'ajuster les paramètres des nœuds 'set' pour définir les champs clés selon vos besoins spécifiques. Si vous souhaitez enrichir les données d'autres sources, vous pouvez remplacer le nœud 'Enrich user from ExactBuyer' par une autre API. Assurez-vous de sécuriser vos requêtes HTTP en configurant correctement l'authentification et les en-têtes nécessaires.