Présentation
Ce guide explique comment connecter Salesforce à Forge via le serveur MCP hébergé par Salesforce (Hosted MCP). Il s'adresse aux administrateurs Salesforce et aux administrateurs de workspace Forge.
L'intégration Salesforce dans Forge repose sur deux niveaux de configuration :
| Niveau | Qui | Fréquence | Objectif |
|---|---|---|---|
| Configuration organisation | Administrateur du workspace Forge | Une fois par workspace | Enregistrer l'application OAuth Salesforce (External Client App) de votre org |
| Connexion utilisateur | Chaque membre de l'équipe | Une fois par personne | Autoriser Forge à accéder à son compte Salesforce |
Une fois connecté, le coach Forge peut interroger vos données CRM (comptes, opportunités, contacts, etc.) dans le périmètre des droits de l'utilisateur connecté.
Important : les données visibles par le coach sont celles auxquelles l'utilisateur Salesforce connecté a accès. Forge ne contourne pas les permissions Salesforce.
Prérequis
Côté Salesforce
- Un accès administrateur (ou équivalent) à votre org Salesforce (production ou sandbox).
- La possibilité de créer une External Client App (application cliente externe) avec OAuth 2.0.
- Les Hosted MCP Servers activés pour votre org (fonctionnalité Salesforce — voir la documentation officielle).
- Votre URL My Domain au format
https://…my.salesforce.com.
Côté Forge
- Rôle Administrateur sur le workspace Forge concerné.
- Accès à Paramètres → Intégrations → Outils (ou Settings → Tools).
Étape 0 — Activer les serveurs MCP hébergés dans Salesforce
Administrateur Salesforce. À faire en premier — si les serveurs MCP ne sont pas activés, la connexion depuis Forge ne fonctionnera pas, quelle que soit la qualité du reste de la configuration.
- Dans Salesforce, ouvrez Configuration > Intégrations > Catalogue d'API > Serveurs MCP.
- Ouvrez le serveur SObject Reads (
platform/sobject-reads, lecture seule sur les objets SObject) — c'est celui qu'utilise Forge. - Cliquez sur Activer. Les serveurs MCP sont inactifs par défaut.
- Comptez jusqu'à 2 minutes pour qu'un serveur devienne actif après son activation.
Une fois les serveurs actifs, poursuivez avec l'étape 1. Voir le guide Salesforce sur l'activation des serveurs MCP pour le détail.
Étape 1 — Créer une External Client App dans Salesforce
Les libellés exacts dans Setup peuvent varier selon votre version Salesforce. Pour le détail à jour, consultez la documentation Salesforce sur les Hosted MCP Servers.
1.1 Créer l'application
- Connectez-vous à Salesforce en tant qu'administrateur.
- Ouvrez Configuration > Gestionnaire des applications clientes externes et cliquez sur Nouvelle application cliente externe.
- Section Informations de base : saisissez un nom (ex.
Forge), une adresse e-mail de contact, et choisissez État de distribution = Local.
1.2 Configurer OAuth
- Dépliez la section API (Activer les paramètres OAuth) et cochez Activer OAuth.
- Dans URL de rappel (Callback URL), collez l'URL copiée depuis Forge (voir la section « URL de callback » ci-dessous).
-
Étendues OAuth : déplacez exactement ces deux étendues vers la liste des étendues sélectionnées :
- Accéder aux serveurs MCP hébergés par Salesforce (mcp_api)
- Exécuter des requêtes à tout moment (refresh_token, offline_access)
1.3 Paramètres de sécurité
Dans la section Sécurité :
- Cochez Émettre des jetons d'accès basés sur JSON Web Token (JWT) pour des utilisateurs nommés. Cette case est décochée par défaut et elle est obligatoire.
- Laissez décochées Demander un secret pour le Flux serveur Web et Demander un secret pour le Flux jeton d'actualisation. Si l'une des deux est cochée, la connexion OAuth depuis Forge échouera.
- Laissez décochées toutes les options de la section Flow Enablement.
- PKCE, la rotation des refresh tokens et la limite de 30 jours d'inactivité sont déjà cochés et verrouillés par Salesforce : rien à faire.
Cliquez ensuite sur Créer.
Forge utilise OAuth 2.0 avec PKCE : un Consumer Secret n'est pas nécessaire (le flux fonctionne avec la Consumer Key / Client ID uniquement).
1.4 Récupérer la Consumer Key
- Dans l'application créée, ouvrez l'onglet Paramètres.
- Dépliez Paramètres OAuth et cliquez sur le bouton Clé et secret consommateur.
- Copiez uniquement la Consumer Key (clé consommateur) — le secret n'est pas nécessaire.
Note : une application toute neuve peut mettre quelques minutes avant que Salesforce accepte les connexions.
URL de votre org (My Domain)
Forge accepte n'importe quelle URL de votre org : il la convertit automatiquement en URL My Domain et l'affiche sous le champ (« Forge utilisera : https://… »). Sont acceptées :
- une URL Lightning (
….lightning.force.com) ; - une URL de page Setup (
….my.salesforce-setup.com) ; - l'URL My Domain (
….my.salesforce.com) ; - une URL en
http://(convertie enhttps://) ; - ou simplement le nom de l'org.
Exemples : production https://votre-entreprise.my.salesforce.com ; sandbox votre-org--uat.sandbox.my.salesforce.com.
Seules les URLs génériques login.salesforce.com et test.salesforce.com sont refusées, avec un message d'erreur dédié.
URL de callback
L'URL de callback OAuth doit être enregistrée à l'identique dans Salesforce et correspond au format suivant :
{URL_API_FORGE}/tools-oauth/salesforce-mcp/callbackExemples selon l'environnement Forge
| Environnement | Exemple d'URL de callback |
|---|---|
| Production | https://back-end.forgelearning.com/tools-oauth/salesforce-mcp/callback |
| Développement / staging | https://back-end.development.forgelearning.com/tools-oauth/salesforce-mcp/callback |
| Local (tests internes) | http://localhost:4002/tools-oauth/salesforce-mcp/callback |
Recommandation : copiez l'URL affichée dans Forge lors de la Configuration organisation — c'est la valeur exacte à coller dans Salesforce. Ne modifiez ni le chemin, ni la casse, ni les slashs finaux.
Étape 2 — Configuration organisation dans Forge
Réservé à l'administrateur du workspace.
- Ouvrez Paramètres → Intégrations → Outils.
- Sur la carte Salesforce, cliquez sur Configuration de l'organisation requise.
- Le panneau affiche un guide pas à pas avec l'URL de rappel à copier : ajoutez-la dans votre External Client App Salesforce (étape 1).
- Renseignez :
- URL de l'instance — l'URL de votre org Salesforce (voir « URL de votre org » ci-dessus)
- Clé consommateur / ID client — la Consumer Key de votre External Client App
- Cliquez sur Tester la connexion. Avant d'enregistrer, Forge vérifie :
- que l'org Salesforce existe ;
- que la clé consommateur est reconnue ;
- que l'URL de rappel est bien enregistrée dans l'application.
- Enregistrez.
Les étendues OAuth, le réglage JWT et l'activation du serveur MCP ne peuvent être vérifiés qu'au moment où un membre se connecte.
Si le test indique que la clé n'est pas reconnue juste après la création de l'application, attendez quelques minutes puis relancez le test.
Cette étape ne connecte pas encore un utilisateur : elle prépare le workspace pour que chaque membre puisse se connecter individuellement.
Étape 3 — Connexion utilisateur
Chaque utilisateur Forge qui souhaite utiliser Salesforce avec le coach.
- Ouvrez Paramètres → Intégrations → Outils.
- Cliquez sur Salesforce → Connecter (ou modifiez une connexion existante).
- Donnez un nom à la connexion si besoin (ex. « Salesforce — Jean »).
- Cliquez sur Connecter : vous serez redirigé vers Salesforce pour autoriser l'accès.
- Acceptez les permissions demandées.
- Une fois la redirection terminée, la connexion apparaît comme active dans Forge.
Chaque utilisateur doit effectuer cette étape avec son propre compte Salesforce.
Ce que le coach peut faire
Forge se connecte au serveur MCP hébergé par Salesforce platform/sobject-reads (lecture seule sur les objets SObject autorisés).
Le coach peut notamment vous aider à :
- Retrouver des comptes, contacts, opportunités et pistes
- Préparer des rendez-vous commerciaux et des relances
- Suivre votre pipeline dans le cadre de vos droits Salesforce
Les signaux Forge (opportunités ouvertes, deals récemment perdus) sont également calculés à partir des données de l'utilisateur connecté.
Supprimer la connexion
- Accédez à Paramètres > Outils.
- Repérez la connexion Salesforce et cliquez sur Supprimer (icône corbeille).
- Confirmez la suppression dans la fenêtre de confirmation.
Conséquences de la suppression :
- Le coach perd immédiatement l'accès aux données Salesforce — il ne pourra plus les interroger pendant les conversations.
- Les signaux liés à Salesforce (opportunités ouvertes, deals perdus) ne seront plus générés.
- Les conversations en cours ne sont pas interrompues, mais toute requête impliquant Salesforce sera signalée comme indisponible.
- Données : Forge ne conserve aucune donnée Salesforce de manière permanente — l'intégration fonctionne en temps réel et aucune copie n'est conservée après la suppression. L'autorisation OAuth est révoquée côté Forge ; vous pouvez aussi la révoquer côté Salesforce (Configuration > Applications clientes externes > Utilisation de OAuth).
- Vous pouvez reconnecter Salesforce à tout moment en répétant l'étape 3.
Sandbox vs production
| Type d'org Salesforce | URL My Domain typique | Serveur MCP utilisé |
|---|---|---|
| Production | https://….my.salesforce.com |
MCP production Salesforce |
| Developer Edition | URL contenant .develop.
|
MCP production Salesforce |
| Sandbox / Scratch | URL contenant .sandbox. ou .scratch.
|
MCP sandbox Salesforce |
Configurez une External Client App par org (sandbox et production sont distinctes). Si vous testez d'abord en sandbox, refaites la configuration organisation dans Forge avec l'URL et la Consumer Key de la sandbox.
Dépannage
« instanceUrl must be your Salesforce org URL… »
- Ce message n'apparaît que si l'URL saisie n'est pas une URL Salesforce.
- Si vous avez collé
login.salesforce.comoutest.salesforce.com, utilisez l'URL de votre propre org.
Erreur OAuth / « redirect_uri mismatch »
- L'URL de callback dans Salesforce doit correspondre exactement à celle affichée dans Forge.
- Vérifiez qu'il n'y a pas d'espace, de slash en trop ou de différence
http/https.
PKCE / scopes refusés
- Les deux étendues Accéder aux serveurs MCP hébergés par Salesforce (mcp_api) et Exécuter des requêtes à tout moment (refresh_token, offline_access) doivent être sélectionnées.
- Les options Demander un secret pour le Flux serveur Web et Demander un secret pour le Flux jeton d'actualisation doivent être décochées (PKCE n'utilise pas de Consumer Secret).
Le coach ne voit aucune donnée
- Les serveurs MCP hébergés sont-ils activés dans Salesforce (étape 0) ?
- L'utilisateur Forge a-t-il connecté son propre compte Salesforce ?
- L'administrateur a-t-il terminé la configuration organisation ?
- L'utilisateur Salesforce a-t-il les droits de lecture sur les objets concernés (Opportunity, Account, etc.) ?
Connexion expirée
- Forge tente de rafraîchir automatiquement le token via
refresh_token. - Si le coach ne voit soudainement plus les données Salesforce (application supprimée ou modifiée, serveur MCP désactivé, accès révoqué, 30 jours sans utilisation), supprimez la connexion Salesforce dans Forge puis reconnectez-vous.
Les membres ne peuvent pas se connecter
- Seul un administrateur workspace peut effectuer la configuration organisation.
- Tant que cette étape n'est pas faite, les utilisateurs verront un message indiquant que la configuration workspace est en attente.
Messages affichés lors de la connexion d'un membre
Forge identifie les cas suivants et indique la correction à faire :
- Salesforce a demandé un secret → décochez les deux cases Demander un secret… (étape 1.3).
- Jeton inutilisable par le serveur MCP → cochez Émettre des jetons d'accès basés sur JSON Web Token (JWT) pour des utilisateurs nommés (étape 1.3).
- Serveur MCP inactif → activez SObject Reads dans Configuration > Intégrations > Catalogue d'API > Serveurs MCP (étape 0).
- Connexion refusée par le serveur MCP → ajoutez l'étendue Accéder aux serveurs MCP hébergés par Salesforce (mcp_api) (étape 1.2).
Dans chaque cas, une fois la correction faite, le membre se reconnecte.
Checklist récapitulative
Administrateur Salesforce
- Serveur MCP SObject Reads (
platform/sobject-reads) activé - External Client App créée (État de distribution = Local)
- Activer OAuth coché et URL de rappel Forge enregistrée
- Étendues « Accéder aux serveurs MCP hébergés par Salesforce (mcp_api) » + « Exécuter des requêtes à tout moment (refresh_token, offline_access) » sélectionnées
- « Émettre des jetons d'accès basés sur JSON Web Token (JWT) pour des utilisateurs nommés » cochée
- Cases « Demander un secret pour le Flux serveur Web » et « Demander un secret pour le Flux jeton d'actualisation » décochées
- Options Flow Enablement toutes décochées (PKCE : déjà activé par défaut)
- Consumer Key notée
- URL de l'org identifiée
Administrateur workspace Forge
- Configuration organisation enregistrée (URL de l'instance + Clé consommateur)
- URL de callback vérifiée
- Test de connexion réussi dans Forge
Utilisateur final
- Connexion Salesforce personnelle créée dans Forge
- Autorisation OAuth acceptée dans Salesforce
Ressources
- Documentation Salesforce — Hosted MCP Servers
- Salesforce — Activer les serveurs MCP
- Salesforce — External Client Apps (libellés Setup Salesforce)
Support
Pour toute question sur la configuration Forge, contactez votre interlocuteur Forge habituel ou le support via l'application.
Pour les questions liées aux droits Salesforce, aux External Client Apps ou à l'activation MCP dans votre org, contactez votre administrateur Salesforce.