Passer au contenu principal

Connecter Salesforce à Feedier

Enrichissez vos feedbacks avec les données Salesforce et renvoyez les données des feedbacks vers Salesforce.

Écrit par Julien Chil Hagopian

Menu Workflows + Salesforce

L'intégration Feedier × Salesforce couvre 4 cas d'usage indépendants — vous pouvez en activer un, deux, ou les trois :

  1. Import automatisé des tickets Salesforce dans Feedier

  2. Enrichir les feedbacks avec des données Salesforce (Contact, Account, Case, objets personnalisés…).

  3. Renvoyer les données des feedbacks vers Salesforce sous forme d'enregistrements FeedierFeedback__c / FeedierItem__c, rattachés à un Contact, un Account ou un Case.

  4. Déclencher des enquêtes depuis Salesforce via les outbound messages (couvert dans un autre article dédié).


Qui peut accéder ?

Rôles

Accès

👑 Admins

Accès complet

🛠️ Éditeurs

Accès complet

👀 Lecteurs

Pas d'accès

🔒 Lecteurs restreints

Pas d'accès


📥 Cas d'usage 1 - Import automatisé (Tickets)

Data import (Tickets) Un package Feedier est disponible dans les options Feedier Connect. L'installation est réalisée par un administrateur Salesforce et configure la connexion OAuth entre les deux plateformes. Une fois installé, aucun re-consentement n'est nécessaire pour les usages couverts.

Prérequis

Avant de configurer le connecteur Salesforce, assurez-vous que :

  1. Vous disposez d'un compte administrateur Salesforce pour installer le package

  2. L'utilisateur Salesforce utilisé pour la connexion a bien les droits de lecture sur les objets que vous souhaitez interroger (ex. :
    Case pour l’import de ticket.
    Contact, Account etc. : pour l’enrichissement des feedbcaks avec des métadonnées).

Données échangées

Les données transitant entre Salesforce et Feedier dépendent de votre configuration. Voici les principes généraux :

De Salesforce vers Feedier : les attributs que vous choisissez d'inclure dans le message sortant ou la requête SOQL (identifiants, segments, données de compte, etc.)

Principe de minimisation : Feedier ne collecte que les données nécessaires à la réalisation du service. Nous vous recommandons de n'envoyer que les attributs utiles à votre analyse.

Sécurité et infrastructure

Élément

Détail

Hébergement

AWS Europe — Dublin et Paris

Certifications

ISO 27001

Outil de connecteurs

Auto-hébergé sur la même infrastructure que la plateforme Feedier, aucun tiers comme Zapier ou Make n'est impliqué

Monitoring

Les mêmes règles de sécurité et de monitoring appliquées à la plateforme s'appliquent aux connecteurs.

Chiffrement

Sauvegardes quotidiennes chiffrées

Périmètre OAuth

api refresh_token id profile email address phone — le scope api donne accès aux APIs REST standard Salesforce, limité aux objets accessibles par l'utilisateur connecté.

Conformité RGPD

Feedier agit en tant que sous-traitant : vous restez propriétaire de vos données.

Base légale : la collecte de satisfaction client s'inscrit dans le cadre de la réalisation du service au sens du RGPD. Elle ne nécessite pas de consentement explicite dès lors que l'enquête porte sur une interaction que le client a initiée (achat, demande de support, etc.).

Ce que Feedier garantit :

  • Toutes les données sont hébergées en Europe (Dublin et Paris).

  • Aucun sous-traitant tiers n'est impliqué dans le traitement des données.

  • Les données sont automatiquement supprimées à la fin du contrat.

  • Des outils de gestion des rôles et des équipes permettent de contrôler précisément qui accède à quoi.

  • Un délégué à la protection des données (DPO) est nommé; contact : [email protected]

Sur l'IA et les modèles : si votre compte utilise l'analyse sémantique IA (Gemini ou Mistral), les deux solutions sont conformes au RGPD et certifiées ISO 27001. Les données ne sont pas utilisées pour entraîner les modèles.


Cas d'usage 2 & 3

Prérequis

1. Installer le package Feedier dans Salesforce

  • Un administrateur Salesforce doit installer le package Feedier : Installer l'application Feedier.

  • Accès à accorder : Tous les utilisateurs (recommandé) ou Utilisateurs spécifiques.

  • Environnements : installer à la fois sur UAT et Production. Les IDs d'objets diffèrent entre les sandbox — tester uniquement en UAT ne permet pas de détecter les incohérences au moment de la mise en production.

💡 Si l'erreur ci-dessous apparaît à l'installation :

Cela signifie que l'utilisateur qui tente d'installer le package n'est pas administrateur sur Salesforce. Demandez à votre admin SF d'effectuer l'installation.

2. Créer la connexion Salesforce dans Feedier

Feedier → Workflows → Salesforce → Nouvelle connexion

Authentifiez-vous en OAuth2 avec un compte administrateur Salesforce. Lors de la création de la connexion, vous avez deux options :

Option

Ce que ça fait

🔄 Déployer le package automatique Salesforce (recommandé)

Feedier crée tout ce qui est nécessaire pour renvoyer les données des feedbacks vers Salesforce :

  • FeedierFeedback__c — objet personnalisé qui stocke le feedback

  • FeedierItem__c — objet personnalisé qui stocke chaque question/réponse (attributs du feedback)

  • Permission Set Feedier_Integration — donne à l'utilisateur API les droits CRUD sur les deux objets

Feedier vérifie également que Feedier_Integration dispose de toutes les permissions requises.

🔧 Package Salesforce manuel

Si votre admin Salesforce préfère créer manuellement les objets personnalisés, les champs et les relations (ex. politique stricte de change management).


🔄 Cas d'usage 2 — Enrichir les feedbacks avec des données Salesforce

Récupérez des données depuis n'importe quel objet Salesforce (Contact, Account, Case, objets personnalisés) et attachez-les à un feedback Feedier, via une requête SOQL et un attribut-clé déjà présent sur le feedback.

Avant enrichissement — le feedback ne contient que la clé (ex. sf_contact_id) :

Après enrichissement — les données Salesforce sont attachées en tant qu'attributs du feedback :

1. Créer une automatisation Autopilot

Feedier → Autopilot → Automation

Choisissez le Segment de feedbacks que vous souhaitez enrichir :

Connectez le segment à une connexion Salesforce Sync Object :

💡 L'attribut est la clé que Feedier utilise pour retrouver l'enregistrement dans Salesforce. Il s'agit typiquement d'un Account ID, Contact ID, Case ID, ou de n'importe quel ID personnalisé. Sélectionnez l'attribut Feedier qui contient la valeur correspondant à l'enregistrement Salesforce.

→ Sa valeur est ensuite injectée dans la requête SOQL via {votre_attribut}.

⚠️ Privilégiez un ID stable plutôt que l'email. Le matching par email est fragile : si la même adresse existe sur plusieurs comptes (contacts inactifs, configuration multi-pays, doublons), Salesforce renvoie le premier match trouvé — pas forcément le bon. Utilisez toujours contact_id / account_id quand c'est possible, ou envoyez tous les attributs nécessaires depuis votre outbound message.

2. Écrire la requête SOQL

Salesforce → Developer Console → Query Editor

SOQL (Salesforce Object Query Language) permet de sélectionner les champs Salesforce que vous voulez importer dans Feedier. Référence complète : Documentation SOQL & SOSL.

Cas d'usage

Requête SOQL

Developer Console

Récupérer les données d'un Contact

SELECT Id, FirstName, LastName, Email, Phone, AccountId
FROM Contact
WHERE Id = '{contact_id}'

Récupérer les données d'un Account

SELECT Id, Name, Industry, BillingCity, BillingState, BillingCountry
FROM Account
WHERE Id = '{account_id}'

Récupérer un Contact + son Account parent (une seule requête)

SELECT Id, FirstName, LastName, Email, Phone,
Account.Name, Account.Website
FROM Contact
WHERE Id = '{contact_id}'

Récupérer un Case + un objet enfant personnalisé

SELECT Id, Subject, Status,
(SELECT Id, Custom_Field__c FROM Case_Extensions__r)
FROM Case
WHERE Id = '{case_id}'

Pour les relations enfant, le suffixe est __r (relationship), pas __c. Le nom de la relation est aussi souvent au pluriel (ex. case_extensions__r, pas case_extension__r). Vérifiez-le dans Salesforce Object Manager → Fields & Relationships.

💡 Injectez l'attribut Feedier comme placeholder dans la clause WHERE avec {nom_attribut}. Exemple avec {salesforce_id} :

⚠️ Requête valide dans Salesforce mais invalide dans Feedier ? Cause la plus fréquente : le nom de la relation enfant. __c est le suffixe d'objet ; __r est le suffixe de relation utilisé à l'intérieur d'une sous-requête (souvent au pluriel). Validez d'abord la requête dans la Salesforce Developer Console, puis collez-la exactement à l'identique dans Feedier.

3. Tester l'enrichissement

  1. Importez (ou créez) un feedback dans Feedier qui porte l'attribut-clé (ex. contact_id = 003J7000007...).

  2. Vérifiez que le feedback correspond bien au segment utilisé dans votre automatisation Autopilot.

  3. 🎊 Dans les ~5 minutes, les données Salesforce apparaissent en tant qu'attributs sur le feedback.

💡 Test rapide via lien d'enquête. Ajoutez la clé en paramètre d'URL sur votre lien d'enquête et répondez vous-même :

https://feedback.votredomaine.com/XXXXXX?salesforce_id=001J7000007VpctIAC

L'attribut est attaché au nouveau feedback, Autopilot se déclenche, et l'enrichissement se fait de bout en bout.


📤 Cas d'usage 3 — Renvoyer les données des feedbacks vers Salesforce

Feedier crée un enregistrement FeedierFeedback__c (et un FeedierItem__c par question/réponse) dans Salesforce, rattaché à un Contact, Account, Case ou tout autre objet standard/personnalisé via un champ Lookup.

Option A — Package automatique (recommandé)

Si vous avez activé Déployer le package automatique Salesforce à la création de la connexion, les deux objets, leurs champs et le permission set existent déjà. Passez directement à Configurer le push dans Autopilot ci-dessous.

Option B — Package manuel

À suivre uniquement si vous avez décliné le package automatique. Tout champ manquant ou mal nommé fera échouer le push silencieusement.

B.1 Créer l'objet personnalisé FeedierFeedback

Salesforce Setup → Object Manager → Create → Custom Object

Nommez-le FeedierFeedback — l'API Object Name doit être FeedierFeedback (Salesforce l'appellera en interne FeedierFeedback__c).

B.2 Ajouter les champs à FeedierFeedback

Étiquette Salesforce

Type de données

Rôle

Created By

Lookup(User)

Obligatoire. Affiche l'utilisateur qui a configuré le connecteur.

FeedierFeedbackId

Text(80)

ID du feedback dans Feedier.

FeedierCreatedAt

Date

Date de création du feedback.

FeedierFeedbackName

Text(80)

Nom d'affichage de l'objet.

FeedierSurveyName

Text(100)

Nom de l'enquête dans Feedier.

FeedierFeedbackLink

Text(255)

Lien direct vers le feedback dans Feedier.

FeedierNPSScore

Number(18, 0)

Valeur de la réponse NPS.

FeedierSatisfactionRatio

Number(18, 0)

Taux de satisfaction calculé par Feedier.

FeedierPushCreatedAt

Date

Heure de création du push planifié (le cas échéant).

FeedierPushStatus__c

Text(255)

Statut du push.

LastModifiedById

Lookup(User)

Champ obligatoire Salesforce.

OwnerId

Lookup(User, Group)

Champ obligatoire Salesforce.

B.3 Ajouter la relation Lookup

FeedierFeedback → Fields & Relationships → New → Lookup Relationship → [sélectionner le parent : Contact, Account, Case…]

Ce Lookup indique à Salesforce sur quel enregistrement parent (Contact, Account, Case, etc.) le FeedierFeedback doit être rattaché. Sans lui, le connecteur n'a aucun parent vers lequel pointer.

B.4 Créer l'objet personnalisé FeedierItem

Même procédure que B.1, avec le nom d'objet FeedierItem (API : FeedierItem__c) et les champs suivants :

Étiquette Salesforce

Type de données

Rôle

FeedierItemFullName

Text(255)

Nom de la question.

FeedierItemFeedbackObjectId

Lookup(FeedierFeedback)

L'enregistrement FeedierFeedback parent.

FeedierItemFeedbackId

Text(80)

ID du feedback dans Feedier.

FeedierItemSurveyName

Text(255)

Nom de l'enquête dans Feedier.

FeedierItemType

Text(255)

Type de réponse (généralement question).

FeedierItemValue

Long Text Area(131072)

Valeur de la réponse.

FeedierItemCreatedAt

Date/Time

Heure de création de la réponse.

Configurer le push dans Autopilot

  1. Dans Feedier, créez (ou ouvrez) un Segment de feedbacks à pousser.

  2. Créez une automatisation Autopilot sur ce segment.

  3. Ajoutez une action Salesforce → Create Object.

  4. Choisissez le Salesforce Relationship Object (le parent : Contact, Account, Case…).

  5. Choisissez l'attribut Feedier qui contient le Salesforce ID de ce parent (ex. sfid pour un Contact, sfaccountid pour un Account).

  6. Save, puis Publish.

Testez en répondant à une enquête envoyée à votre propre adresse — dans les quelques minutes qui suivent, l'enregistrement FeedierFeedback doit apparaître sur le parent dans Salesforce.

Récapitulatif complet :


⚙️ Patterns avancés

Rattacher un feedback à la fois à un Contact et à un Account

Certaines configurations exigent que le feedback soit visible à la fois depuis le Contact et depuis son Account parent. Pour ce faire :

  • Sur FeedierFeedback__c, créez deux champs Lookup — un vers Contact, un vers Account. Les deux doivent être nullable.

  • Créez deux automatisations Autopilot sur le même segment :

    • Automatisation #1 : clé = contact_id → utilise le Lookup Contact.

    • Automatisation #2 : clé = account_id → utilise le Lookup Account.

  • Chaque feedback produit alors deux enregistrements FeedierFeedback — un rattaché au Contact, un à l'Account. Les roll-up summaries sur l'Account peuvent ensuite agréger les scores de tous les feedbacks liés.

Parité UAT / Production

Les IDs Salesforce diffèrent entre la sandbox et la production. Avant la mise en production :

  • Vérifiez que l'objet FeedierFeedback__c et les noms/IDs des champs Lookup sont identiques en UAT et en Prod.

  • Assurez-vous que l'attribut-clé Autopilot contient bien les IDs de production (et non ceux de la sandbox).

  • Faites un petit test live sur un vrai Contact de Production avant d'ouvrir les vannes.


🛟 Troubleshooting

Symptôme

Cause probable / résolution

Connexion bloquée en "active" mais aucun objet/schéma créé.

Les tâches background sont en échec. Attendez 15–30 min ; si toujours bloqué, supprimez et recréez la connexion. Contactez le Support si ça persiste.

Requête SOQL valide dans la Salesforce Developer Console mais Feedier renvoie "invalid query".

Presque toujours un problème de nom de relation sur un objet personnalisé : utilisez __r (souvent au pluriel) à l'intérieur des sous-requêtes, pas __c. Vérifiez le nom exact de la relation dans Object Manager → Fields & Relationships → child relationship name.

Les feedbacks et les attributs associés ne sont pas envoyés à Salesforce.

Vérifiez que l'attribut-clé (ex. sfid, sf_contact_id) est bien présent et non vide sur le feedback. Sans lui, le connecteur n'a aucun enregistrement vers lequel pointer et le push est silencieusement ignoré — comportement attendu, pas un bug.

Un attribut utilisé pour le mapping Salesforce a disparu du dropdown "Create Object".

L'attribut a été marqué comme caché au niveau team. Les attributs cachés sont filtrés du picker de mapping. Décachez-le, ou utilisez un autre attribut non caché comme clé Salesforce.

Doublons d'enregistrements FeedierFeedback dans Salesforce, ou erreur Salesforce qui bloque le push.

Souvent causé par un flow Salesforce personnalisé ("Before record is saved" sur FeedierFeedback) qui réécrit un ID dans le feedback. Désactivez le flow temporairement ; si les doublons s'arrêtent, basculez-le en "After record is saved" ou retravaillez sa logique. À noter : Feedier ne définit jamais le SF Object ID lui-même — il provient toujours d'un flow côté Salesforce.

Le même email match le mauvais contact Salesforce.

L'email n'est pas une clé unique dans Salesforce. Basculez la clé de matching sur contact_id (ou envoyez tous les attributs nécessaires directement depuis l'outbound message), au lieu de vous reposer sur le matching email post-hoc côté Feedier.

L'intégration ne fonctionne plus après une migration vers une nouvelle org Salesforce / OCE.

Toutes les requêtes SOQL qui hardcodent des IDs ou référencent des champs personnalisés spécifiques à l'org doivent être mises à jour. Re-validez chaque requête SOQL et chaque relation Lookup dans la nouvelle org avant de réactiver Autopilot.


Besoin d'aide ? Contactez-nous via le chat in-app ou votre CSM Feedier — merci d'inclure le nom de la connexion, l'ID de l'automatisation Autopilot, et un ID de feedback exemple dans votre description.

Avez-vous trouvé la réponse à votre question ?