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 Setup (Configuration).
- Dans la zone Quick Find (Recherche rapide), tapez MCP Servers et sélectionnez MCP Servers (sous API Catalog).
- Passez en revue les serveurs disponibles et activez ceux dont votre équipe a besoin — en particulier le serveur utilisé par Forge,
platform/sobject-reads(lecture seule sur les objets SObject). - 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 Setup (Configuration).
- Créez une External Client App dédiée à Forge (nom suggéré :
Forge MCPou similaire).
1.2 Configurer OAuth
Dans les paramètres OAuth de l'application :
| Paramètre | Valeur requise |
|---|---|
| PKCE (Proof Key for Code Exchange) | Activé (obligatoire) |
| Scopes OAuth |
mcp_api et refresh_token
|
| Callback URL / Redirect URI | Voir la section « URL de callback » ci-dessous |
Options à activer (cases à cocher) :
- Enable Authorization Code and Credentials Flow (section Flow Enablement)
- Require Proof Key for Code Exchange (PKCE) extension for Supported Authorization Flows — obligatoire
- Issue JSON Web Token (JWT)-based access tokens for named users
Forge utilise OAuth 2.0 avec PKCE. Un Consumer Secret n'est pas requis dans l'interface Forge pour Salesforce (le flux fonctionne avec la Consumer Key / Client ID uniquement).
Important — ces deux cases doivent être décochées. Comme PKCE est activé, l'application ne doit pas exiger de Consumer Secret. Dans les paramètres OAuth de l'External Client App, assurez-vous que les deux options suivantes sont décochées :
- Require secret for Web Server Flow
- Require secret for Refresh Token Flow
Si l'une des deux reste cochée, la connexion OAuth depuis Forge échouera.
1.3 Récupérer les informations
Notez les éléments suivants — vous en aurez besoin à l'étape 2 :
- Consumer Key (également appelée Client ID)
-
My Domain URL de votre org, par exemple :
- Production :
https://votre-entreprise.my.salesforce.com - Sandbox / Developer :
https://votre-org.develop.my.salesforce.comouhttps://votre-org--sandbox.sandbox.my.salesforce.com
- Production :
URL My Domain — bonnes pratiques
| ✅ Correct | ❌ Incorrect |
|---|---|
https://acme.my.salesforce.com |
URL de page Setup (…salesforce-setup.com…) |
https://acme.develop.my.salesforce.com |
http:// (HTTP non supporté) |
URL se terminant par .my.salesforce.com
|
URL générique login.salesforce.com
|
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.
- Repérez Salesforce dans les intégrations disponibles.
- Lancez la Configuration organisation (ou configurez l'intégration si elle n'est pas encore faite).
- Copiez l'URL de callback affichée et ajoutez-la dans votre External Client App Salesforce (étape 1).
- Renseignez :
- URL My Domain — l'URL de votre org Salesforce
- Consumer Key / Client ID — la clé de votre External Client App
- Enregistrez.
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 (Connected Apps OAuth Usage).
- 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 |
| Sandbox / Developer | URL contenant .develop., .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… »
- Vérifiez que l'URL se termine par
.my.salesforce.com. - N'utilisez pas une URL copiée depuis une page Setup Salesforce.
- Utilisez
https://uniquement.
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
- PKCE doit être activé sur l'External Client App.
- Les scopes
mcp_apietrefresh_tokendoivent être autorisés. - Les options Require secret for Web Server Flow et Require secret for Refresh Token Flow 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 la connexion apparaît comme expirée, ouvrez la connexion dans Forge et cliquez sur Reconnecter.
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.
Checklist récapitulative
Administrateur Salesforce
- Serveurs MCP hébergés activés (
platform/sobject-reads) - External Client App créée
- « Enable Authorization Code and Credentials Flow » cochée
- Extension PKCE activée (obligatoire)
- « Issue JSON Web Token (JWT)-based access tokens for named users » cochée
- Cases « Require secret for Web Server Flow » et « Require secret for Refresh Token Flow » décochées
- Scopes
mcp_api+refresh_tokenconfigurés - URL de callback Forge enregistrée
- Consumer Key notée
- URL My Domain identifiée
Administrateur workspace Forge
- Configuration organisation enregistrée (My Domain + Consumer Key)
- URL de callback vérifiée
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.