Passer au contenu

Salesforce : créer ou mettre à jour un enregistrement

Utilisez Salesforce : créer ou mettre à jour un enregistrement pour effectuer un upsert d’un enregistrement Salesforce à partir d’une étape de journey, en le faisant correspondre à un champ d’ID externe : il met à jour l’enregistrement lorsque la valeur existe déjà et le crée lorsqu’elle n’existe pas. Salesforce n’a pas de jeton d’API statique, donc ce point s’authentifie via une application connectée enregistrée une seule fois pour l’ensemble du compte. Il n’y a pas de champ de jeton sur le point lui-même.

Utilisations typiques :

  • Maintenir Salesforce synchronisé : créez ou mettez à jour un Contact ou un Lead au fur et à mesure que le voyageur progresse dans le journey, afin que l’équipe commerciale voie les données actuelles.
  • Synchroniser l’activité du journey dans le CRM : définissez un champ lorsqu’un voyageur atteint une étape clé, afin que l’équipe commerciale puisse filtrer ou créer des rapports dessus.
  • Éviter les enregistrements en double : la correspondance par ID externe signifie qu’un voyageur qui passe à nouveau par ce point met à jour le même enregistrement au lieu d’en créer un nouveau.

Avant de commencer

Anchor link to

Créez une application connectée dans votre organisation Salesforce et connectez-la sous Paramètres > Intégrations tierces > Salesforce :

  1. Dans Salesforce, créez une Application cliente externe (ou une application connectée classique) avec OAuth activé et la portée Gérer les données utilisateur via les API (api).
  2. Activez le Flux d’informations d’identification client dessus et choisissez l’utilisateur d’exécution. Le point écrit en tant que cet utilisateur, donc son profil décide quels objets et champs il peut toucher.
  3. Dans Pushwoosh, dans Hôte Mon domaine, entrez l’hôte de votre organisation sans https://, par exemple acme.my.salesforce.com.
  4. Dans Clé consommateur et Secret consommateur, collez les informations d’identification de l’application. Le secret est stocké en écriture seule : Pushwoosh ne l’affichera plus jamais, donc collez-en un nouveau pour le remplacer.
  5. Cliquez sur Connecter Salesforce.
Formulaire de connexion Salesforce dans les Paramètres avec les champs Hôte Mon domaine, Clé consommateur et Secret consommateur

Après avoir connecté Salesforce, installez l’intégration pour que le point apparaisse dans le constructeur de journey.

Deux choses doivent également être en place du côté de Salesforce :

  • Le champ sur lequel vous effectuez la correspondance doit être marqué comme ID externe sur cet objet. Un champ de texte brut, même Email, n’est pas suffisant — Salesforce refuse la requête avec NOT_FOUND lorsque le champ n’est pas un ID externe.
  • L’utilisateur d’exécution de l’application connectée a besoin d’un accès au niveau du champ pour ce champ. Un champ créé via la Configuration ou l’API n’accorde rien par lui-même, et sans l’autorisation, Salesforce répond avec le même NOT_FOUND: Field name provided ... does not match an External ID — le champ est invisible pour cet utilisateur, donc du point de vue de l’API, il n’existe pas. Ajoutez-le à un ensemble d’autorisations attribué à l’utilisateur d’exécution.

Configurer le point

Anchor link to
  1. Faites glisser Salesforce : créer ou mettre à jour un enregistrement de la section Intégrations du panneau de gauche sur le canevas.
  2. Double-cliquez sur le point et entrez un Nom d’étape.
  3. Dans Hôte Mon domaine, entrez le même hôte sur lequel se trouve l’application connectée.
Tiroir de création ou de mise à jour d'enregistrement Salesforce avec le Nom d'étape rempli et l'Hôte Mon domaine défini sur un domaine Salesforce
  1. Dans Objet, entrez le nom d’API de l’objet — Contact, Lead, ou un objet personnalisé se terminant par __c.
Champ Objet défini sur Contact
  1. Dans Champ ID externe, entrez le nom d’API du champ marqué comme ID externe.
Champ ID externe défini sur Pushwoosh_HWID__c
  1. Dans Valeur ID externe, entrez la valeur sur laquelle effectuer la correspondance, généralement une macro comme {{device:hwid}}.
Champ Valeur ID externe défini sur une macro hwid d'appareil
  1. Dans Champs, ajoutez une ligne par champ Salesforce à définir. Entrez le nom d’API du champ et la valeur. Les noms ne doivent pas être vides et doivent être uniques. Les champs obligatoires de l’objet doivent en faire partie, sinon Salesforce refusera de créer un nouvel enregistrement. Une valeur peut être un texte fixe ou une macro de voyageur telle que {{device:hwid}}, les mêmes macros que dans le corps d’un Webhook. Ou cliquez sur Insérer une valeur dynamique pour choisir un attribut produit par une étape antérieure de ce journey, par exemple une réponse de LLM ou une valeur de Webhook mappée.
Tableau de noms et de valeurs de champs avec Email mappé à une macro de tag
  1. Cliquez sur Enregistrer.

Le voyageur continue vers l’étape que vous connectez ensuite sur le canevas.

Attributs après l’exécution de l’étape

Anchor link to
AttributCe qu’il contient
salesforce_record_idL’ID de l’enregistrement

Comment l’utiliser dans les étapes ultérieures

Anchor link to

Le voyageur a déjà continué à l’étape suivante indépendamment de cet attribut. Enregistrez-le dans un Tag avec Mettre à jour le profil utilisateur si vous avez besoin de référencer cet enregistrement spécifique plus tard, par exemple via l’API propre à Salesforce.

Échecs et réponses inattendues

Anchor link to

Ouvrez le Journal des appels dans le tiroir du point et vérifiez la réponse :

  • 401 — les informations d’identification de l’application connectée sont incorrectes, ou le flux d’informations d’identification client n’est pas activé dessus.
  • NOT_FOUND dans le corps — le nom de l’objet, ou le champ d’ID externe, ne correspond à rien sur cette organisation. Vérifiez que le champ est bien marqué comme ID externe.
  • REQUIRED_FIELD_MISSING dans le corps — la création d’un nouvel enregistrement nécessite un champ que le point n’envoie pas. Ajoutez-le dans Champs.
  • INVALID_FIELD dans le corps — un nom dans Champs n’est pas un nom d’API sur cet objet. Le nom d’API d’un champ personnalisé se termine par __c.

Une requête échouée fait sortir le voyageur du journey. Voir Erreurs et requêtes échouées.

Exemple de scénario : acheminer une demande de conseil in-app vers l’équipe commerciale

Anchor link to

Une application de bien-être permet aux utilisateurs d’appuyer sur Parler à un conseiller dans l’application. L’équipe souhaite que cette demande devienne un Contact Salesforce sur lequel un représentant peut effectuer un suivi.

  1. Ajoutez un élément Entrée basée sur un déclencheur et configurez-le pour qu’il se déclenche sur un événement AdvisorCallRequested.
  2. Ajoutez Salesforce : créer ou mettre à jour un enregistrement juste après. Définissez Objet sur Contact, Champ ID externe sur Pushwoosh_HWID__c, et Valeur ID externe sur {{device:hwid}}. Dans Champs, définissez Email sur {{tag:Email}}.
  3. Cliquez sur Enregistrer.

Une fois que cela est exécuté, chaque demande de conseiller in-app atterrit dans Salesforce en tant que Contact, mis en correspondance par appareil afin qu’un appui répété mette à jour le même Contact au lieu d’en créer un en double.