Configurer un agent communautaire
Financement et utilisation de l’IA
IA incluse utilise des crédits REDA. Votre propre IA utilise le compte fournisseur de votre organisation, facturé directement par ce fournisseur. La licence définit un mode pour toute l’organisation. Dans les deux cas, REDA AI gouverne les outils et actions configurés dans Salesforce. Configurer la licence et les comptes IA.
Si l’administrateur change la connexion effective, le modèle ou le financement, les sessions concernées doivent démarrer une nouvelle conversation. Faites-le lorsque demandé ; l’ancienne conversation ne peut pas continuer sur le nouveau circuit. Pour les comptes clients, vérifiez l’accès aux identifiants de l’invité du site ou de l’utilisateur connecté au portail. Voir les permissions.
Un agent dont Canal = Communauté (Community) est destiné à ce parcours. Il ne doit pas être appelé depuis le composant interne Salesforce, Flow ou Apex utilisant le canal API, ni depuis un widget public. Le composant communautaire vérifie que le canal de l’agent est Community. Choisissez une définition adaptée à chaque interface de déploiement.
Qu’est-ce que le canal Communauté ?
Ce canal met un agent à disposition d’utilisateurs identifiés dans Experience Cloud. L’accès aux données dépend de la licence de l’utilisateur, de ses autorisations, du partage et des contrôles des outils exposés.
Ses principales caractéristiques sont les suivantes :
- Connexion au portail — L’utilisateur emploie son compte Experience Cloud.
- Contrôles d’accès — Les parcours standard appliquent les droits du contexte communautaire ; vérifiez aussi la sécurité des outils personnalisés.
- Intégration au portail — Le composant s’ajoute aux pages Experience Cloud.
- Contexte utilisateur — Les variables disponibles, comme {USER_NAME}, peuvent adapter les instructions à l’utilisateur connecté.
- Périmètre configuré — Un utilisateur peut voir ses enregistrements et ceux qui lui sont partagés. L’isolation entre clients dépend de votre modèle de partage.
Préparer un agent communautaire
Le contact du portail peut fournir le contexte initial. Le package recherche le contact lié à l’utilisateur par User.ContactId et l’enregistre comme contexte de la nouvelle conversation. Il n’est pas nécessaire que le navigateur envoie cet identifiant. Les données effectivement ajoutées aux instructions dépendent toutefois des champs de contexte configurés et accessibles : cela ne remplace pas la configuration du contexte de l’agent. Sans contact lié, la conversation peut être créée sans enregistrement de contexte ; vérifiez alors que les prompts et outils gèrent ce cas.
Le paramètre de plateforme Chat du portail communautaire active ce canal. Il est activé par défaut dans le panneau ; s’il est désactivé, les requêtes concernées sont rejetées avec le code DISABLED.
Étape 1 : choisir le canal Communauté
- Ouvrez la définition de l’agent.
- Réglez Canal sur Communauté (Community).
- Configurez ses prompts, ses champs de contexte et ses outils.
- Préparez les autorisations des utilisateurs du portail.
- Activez l’agent lorsque sa configuration est prête pour les essais.
Étape 2 : vérifier les droits des utilisateurs
Avant le déploiement, examinez les droits effectifs des profils, ensembles d’autorisations et licences concernés :
- Quels objets les utilisateurs peuvent-ils consulter : demandes, contacts, comptes ou autres ?
- Peuvent-ils créer des enregistrements, les modifier ou seulement les consulter ?
- Quels champs peuvent-ils lire ou modifier ?
- Ont-ils accès aux articles de connaissances prévus pour ce public ?
Testez ces limites avec les outils réellement exposés. Par exemple, un parcours de consultation de demandes ne doit pas permettre leur modification si l’utilisateur n’y est pas autorisé. Un outil personnalisé doit appliquer ses propres contrôles correctement.
Étape 3 : ajouter le composant au portail
Dans Experience Builder, ajoutez le composant REDA AI Community Chat. Son nom et les propriétés de configuration ci-dessous sont déclarés en anglais dans le package :
- Ouvrez Experience Builder pour votre site.
- Créez ou modifiez la page destinée au chatbot.
- Ajoutez REDA AI Community Chat à la page. Une zone partagée du modèle peut convenir pour le rendre disponible sur plusieurs pages ; testez son comportement dans votre modèle de site.
- Renseignez Agent Name avec l’identifiant fonctionnel de l’agent, par exemple
reda-portal-assistant. Il s’agit d’Agent_Id__c, pas de l’identifiant Salesforce à 18 caractères. - Réglez l’apparence avec les propriétés décrites ci-dessous.
- Enregistrez, testez les pages et publiez le site lorsque le déploiement est validé.
Personnaliser le widget du portail
Sélectionnez REDA AI Community Chat sur la page pour afficher ses propriétés. Elles couvrent la disposition, la marque, le bouton de lancement, l’en-tête, l’accueil et les options avancées. Les noms anglais du panneau sont conservés pour vous permettre de les retrouver.
Propriété obligatoire
| Propriété | Description |
|---|---|
| Agent Name | Identifiant fonctionnel de la définition de l’agent communautaire, par exemple reda-portal-assistant. |
Disposition et position
| Propriété | Valeurs | Valeur par défaut | Description |
|---|---|---|---|
| Theme | light | dark |
light |
Thème clair ou sombre. Vérifiez le contraste des textes et des couleurs personnalisées. |
| Display Mode | Bubble | Docked Right | Docked Left |
Bubble |
Bubble ouvre une carte flottante. Docked Right/Left ouvre un panneau latéral pleine hauteur à droite ou à gauche. Le bouton de lancement reste disponible dans chaque mode. Sur téléphone, l’option plein écran est activée par défaut. |
| Position | bottom-right | bottom-left |
bottom-right |
Coin où apparaît le bouton de lancement. Ce réglage est indépendant du côté du panneau latéral. |
| Open on Page Load | Case à cocher | Désactivé | Ouvre automatiquement le panneau au chargement de la page. |
Marque et identité visuelle
| Propriété | Valeur par défaut | Description |
|---|---|---|
| Widget Title | AI Assistant |
Titre de l’en-tête. Remplacez AI Assistant par le nom souhaité, par exemple « Assistant du support ». |
| Primary Color | Couleur du portail | Couleur principale au format hexadécimal. Si la propriété est vide, le composant tente de reprendre la couleur de marque du thème Experience Builder. Vérifiez le résultat dans votre modèle ; renseignez une couleur si vous souhaitez la remplacer. |
| Mascot Image URL | Aucun | URL facultative de l’avatar. Une image carrée, par exemple de 200 × 200 pixels, constitue un bon point de départ ; cette dimension n’est pas une contrainte du champ. Vérifiez son chargement et sa lisibilité avec les droits du portail. |
Bouton de lancement
L’utilisateur ouvre la conversation avec un bouton flottant rond ou allongé avec un texte.
| Propriété | Valeurs | Valeur par défaut | Description |
|---|---|---|---|
| Bubble Style | circle | pill |
circle |
Forme du bouton flottant. |
| Bubble Label | Texte libre | Aucun | Texte du bouton allongé, par exemple « Demander à Maria ». Sans texte, le widget revient au bouton rond. |
Réglez Bubble Style sur pill et Bubble Label sur Demander à Maria. Une image fournie dans Mascot Image URL remplace l’icône de conversation du bouton.
En-tête
| Propriété | Valeurs | Valeur par défaut | Description |
|---|---|---|---|
| Header Style | colored | minimal |
colored |
Le style colored utilise la couleur principale. Le style minimal propose une présentation sobre adaptée au thème. Vérifiez le contraste dans le portail, notamment en thème sombre. |
Zone d’accueil avant les messages
L’accueil apparaît lorsque la conversation n’a pas encore de messages. Il présente un avatar, un titre et un texte secondaire facultatif. Son titre utilise la propriété Widget Title, qui ne doit pas être confondue avec Agent Name.
| Propriété | Valeurs | Valeur par défaut | Description |
|---|---|---|---|
| Show Welcome Hero | Case à cocher | Activé | Affiche ou masque la zone d’accueil. |
| Welcome Heading | Texte libre | Texte localisé utilisant [Widget Title] | Titre d’accueil. Utilisez {title} pour reprendre Widget Title, mis en valeur avec la couleur principale. |
| Welcome Subtext | Texte libre | Aucun | Texte facultatif affiché sous le titre. |
Renseignez Welcome Heading avec Comment {title} peut-il vous aider ? et Welcome Subtext avec Posez vos questions sur votre compte, vos demandes ou nos services. La variable {title} reprend Widget Title, par exemple « Maria ».
Terminer une conversation
Les utilisateurs peuvent marquer leur conversation comme terminée. Elle n’est alors plus reprise automatiquement lors d’une visite ultérieure. Les enregistrements restent soumis aux règles normales de conservation : terminer l’échange ne les supprime pas.
| Propriété | Valeurs | Valeur par défaut | Description |
|---|---|---|---|
| Allow End Conversation | Case à cocher | Activé | Affiche le bouton Fin de la conversation dans l’en-tête. Le désactiver masque cette action, sans rendre une conversation toujours reprenable : les contrôles de session et de conservation restent applicables. |
| Enable Voice Input | Case à cocher | Activé | Affiche le bouton de dictée dans les navigateurs compatibles. La disponibilité dépend aussi des autorisations et du service de reconnaissance du navigateur. Désactivez cette propriété pour masquer le bouton. Consultez Saisie vocale. |
Le bouton Fin de la conversation ouvre une demande « Mettre fin à cette conversation ? », avec Annuler et Fin de la conversation. Après confirmation réussie, l’écran affiche « La conversation s’est terminée » et Démarrer une nouvelle conversation. Ce bouton commence un nouvel échange ; il ne reprend pas la conversation terminée.
Si le portail est ouvert dans plusieurs onglets, un autre onglet peut découvrir la fin de la conversation lors de sa prochaine demande. Testez ce parcours ; il ne s’agit pas d’une synchronisation instantanée entre onglets.
Prise en charge des langues
Les textes standards du widget utilisent notamment des libellés personnalisés Salesforce associés à la langue de l’utilisateur. Les textes que vous saisissez dans Experience Builder ou dans les options avancées restent vos valeurs configurées. Pour adapter les traductions prises en charge :
- Ouvrez Configuration → Atelier de traduction → Remplacer, selon les libellés de votre interface Salesforce.
- Choisissez la langue et l’aspect Libellés personnalisés.
- Recherchez les libellés
REDAAI_Community_, par exempleREDAAI_Community_EndConfirmTitleetREDAAI_Community_EndedHeading. Les commandes du composant peuvent aussi utiliser des libellés REDAAI_CommunityBridge_. - Renseignez les traductions nécessaires.
- Enregistrez, rechargez le portail avec un utilisateur de cette langue et vérifiez les boutons, erreurs et textes configurés.
Pour une formulation propre à un déploiement, utilisez la propriété Advanced Configuration (JSON) avec les clés du widget prises en charge. Vérifiez qu’une valeur fixe ne masque pas une traduction attendue dans les autres langues du même portail.
Configuration avancée en JSON
La propriété Advanced Configuration (JSON) accepte les options prévues par le widget, notamment les polices, les dimensions, certains textes et couleurs. Ces clés sont prioritaires sur les propriétés individuelles. Utilisez un JSON valide et testez les options que votre version prend en charge.
{
"fontFamily": "'Poppins', sans-serif",
"fontSize": 15,
"panelWidth": 420,
"panelHeight": 600,
"inputPlaceholder": "Como podemos ajudar?",
"errorAuthRequired": "Por favor, faça login para usar o assistente."
}
Cet exemple modifie la typographie et les dimensions, puis fournit deux textes en portugais. Pour un portail français, remplacez-les par vos textes, par exemple « Comment pouvons-nous vous aider ? » et « Connectez-vous pour utiliser l’assistant. ». Les clés JSON restent inchangées.
Pièces jointes
Lorsque Autoriser le téléchargement de fichiers est activé sur l’agent, le bouton trombone permet ici d’importer des fichiers, malgré le libellé français ambigu. La limite documentée est de cinq fichiers par message. Le composant utilise le Contact lié à l’utilisateur pour le rattachement lorsqu’il est disponible ; sinon, il prévoit un repli vers l’utilisateur. Les autorisations de fichiers et d’enregistrements restent nécessaires. Un rattachement à une demande associée nécessite un outil autorisé et un traitement réussi. Consultez Charger des fichiers dans une conversation pour les formats et limites.
Précisez le rôle des fichiers dans les instructions, par exemple « Tu peux analyser les fichiers et images importés par l’utilisateur pour répondre à sa demande. ». Cette consigne ne crée pas les autorisations ni les capacités de traitement : configurez-les et testez-les séparément.
Attribuer les autorisations du portail
REDA AI Community User ou d’autorisations équivalentes validées
Le réglage Members du site permet de définir qui peut se connecter. Il n’attribue pas à lui seul les droits nécessaires au chatbot. Le composant doit notamment lire l’agent et créer ou consulter les enregistrements de conversation.
L’ensemble fourni REDAAI_Community_User, de libellé REDA AI Community User, prévoit les accès du composant, notamment pour :
- Lire la définition de l’agent et les informations nécessaires à son affichage.
- Créer et lire les conversations et messages, dans les limites de partage applicables.
- Mettre à jour les informations de suivi et de fin de conversation nécessaires au composant.
- Consulter les métadonnées d’outils nécessaires. L’accès aux données métier utilisées par ces outils doit aussi être configuré.
Trois modes d’attribution
- Manuelle — Dans Configuration Salesforce, ouvrez l’utilisateur du portail et attribuez REDA AI Community User depuis ses ensembles d’autorisations. Cette méthode convient à un groupe pilote.
- Groupe d’ensembles d’autorisations — Regroupez
REDA AI Community Useret les autres accès du rôle, puis attribuez ce groupe aux utilisateurs concernés. - Automatisation de l’attribution — Un flux sur User peut attribuer l’ensemble aux utilisateurs admissibles, selon
IsPortalEnabledou les critères de votre organisation. Prévoyez les licences, les accès existants et le traitement des erreurs ; ce n’est pas une configuration garantie sans maintenance.
En cas d’échec initial, contrôlez les attributions de l’utilisateur du portail, puis l’accès à l’agent, aux classes Apex et aux objets concernés. Un message comme sObject type ... is not supported peut refléter un problème d’accès ou de disponibilité du composant. Vérifiez les journaux et le contexte exact avant de conclure à une seule cause.
Lightning Web Security
Ce composant utilise un Shadow DOM et nécessite un environnement compatible avec Lightning Web Security. Faites vérifier le réglage Use Lightning Web Security for Lightning web components and Aura components dans les paramètres de session Salesforce, puis testez les composants du site. Une erreur this.host.attachShadow is not a function peut signaler une incompatibilité avec l’ancien environnement Locker. Évaluez le changement dans un environnement de test avant de l’appliquer à toute l’organisation.
Accès aux données des utilisateurs du portail
L’attribution de l’ensemble du chatbot ne définit pas à elle seule le périmètre métier. Vérifiez les contrôles suivants avec une identité représentative :
| Contrôle | Effet attendu |
|---|---|
| Autorisations d’objet | Les opérations autorisées dépendent des droits effectifs du profil, des ensembles d’autorisations et de la licence. |
| Sécurité des champs | La lecture et l’écriture nécessitent les droits adaptés. Vérifiez aussi les champs chargés comme contexte et le comportement des outils personnalisés. |
| Partage des enregistrements | L’utilisateur accède aux enregistrements qui lui sont accessibles selon le modèle de partage, pas nécessairement aux seuls enregistrements dont il est propriétaire. |
| Paramètres de partage par défaut | Ils constituent la base du modèle de partage externe, que d’autres mécanismes peuvent élargir. |
| Rôles et mécanismes de partage externe | Les possibilités dépendent de la licence Experience Cloud : rôles, ensembles de partage ou autres droits peuvent élargir l’accès. Ne supposez pas une isolation automatique entre tous les utilisateurs. |
Exemples d’utilisation
Après connexion, les clients peuvent utiliser l’agent pour :
- Consulter les demandes d’assistance accessibles.
- Vérifier leur statut et suivre leur évolution.
- Rechercher les articles de connaissances partagés.
- Créer une demande d’assistance si le parcours est autorisé.
Les partenaires peuvent utiliser l’agent pour :
- Consulter les opportunités ou prospects accessibles, si la licence et les droits le permettent.
- Consulter les fonds de développement marketing prévus par votre solution partenaire.
- Obtenir des informations produit et des liens de formation.
- Demander des ressources ou de l’assistance.
Outils des agents communautaires
Sélectionnez les outils selon les besoins et les canaux autorisés dans leurs métadonnées. Les exemples suivants ne créent pas à eux seuls les droits correspondants :
| Outil | À envisager ? | Utilisation |
|---|---|---|
| soql_query | Oui | Interroger les enregistrements accessibles à l’utilisateur. |
| get_record | Oui | Consulter les détails d’un enregistrement autorisé. |
| count_records | Oui | Compter les enregistrements accessibles, par exemple les demandes ouvertes. |
| create_record | Selon le besoin | Créer les demandes ou autres enregistrements autorisés par le parcours. |
| update_record | Usage ciblé | Modifier des enregistrements uniquement si les droits et validations du parcours le permettent. |
| send_email | Non par défaut | N’exposez pas une fonction générale d’envoi sans besoin et contrôles précisément définis. |
Exécution des actions sur le canal Communauté
Sur le canal Communauté, les actions admissibles peuvent être exécutées automatiquement sans la carte de confirmation du canal interne. Un tour de suivi permet de communiquer leur résultat réel. Contrôlez les enregistrements et les journaux pour confirmer les opérations importantes. Le champ de l’agent Profondeur max. de continuation, de valeur par défaut 3, limite les tours de suivi ; ce n’est pas un paramètre global de plateforme. Consultez Confirmation des actions : différences entre canaux.
Points de sécurité
Configurez explicitement l’isolation entre clients et partenaires au moyen des droits et du partage Salesforce. Les parcours standards du package appliquent leurs contrôles ; les outils personnalisés et les extensions doivent aussi être vérifiés. Un compte de portail ne garantit pas, à lui seul, que seules les données de son entreprise sont accessibles.
Champs sensibles — Vérifiez les autorisations réelles sur les champs confidentiels. Leur nom ne les rend pas automatiquement invisibles ; le contexte et les outils doivent appliquer les règles prévues.
Accès entre comptes — Testez les cas de deux clients ou partenaires distincts. Examinez tout mécanisme de partage ou droit étendu qui pourrait autoriser un accès au-delà du compte attendu.
Communauté ou widget externe ?
Choisissez le canal selon l’identité et les données nécessaires :
| Aspect | Canal Communauté | Widget externe |
|---|---|---|
| Authentification | Utilisateur identifié dans le portail | Visiteur anonyme ; clé publique du widget |
| Identité | Compte d’utilisateur du portail | Contexte invité partagé, sans identification de la personne |
| Accès aux données | Enregistrements accessibles selon les droits et le partage du portail | Données et opérations que votre configuration destine au public |
| Déploiement | Pages Experience Cloud | Sites web externes |
| Public type | Clients ou partenaires déjà identifiés | Visiteurs et prospects |
Bonnes pratiques
Testez avec un utilisateur réel du portail ou un compte de test représentatif. Vérifiez les données autorisées et les refus attendus, sans vous fonder sur un essai administrateur.
Définissez un rôle précis — Exemple : « Tu aides nos partenaires à trouver les ressources et l’assistance auxquelles ils ont accès. »
Vérifiez le contexte d’enregistrement — Le contact lié à l’utilisateur sert au contexte initial documenté. Le simple placement du composant sur une page de détail ne garantit pas qu’il utilise automatiquement cet enregistrement à la place du contact.
Limitez les outils — Exposez uniquement ceux qui répondent aux besoins du portail et testez leurs autorisations.
Expliquez le périmètre — Décrivez dans les instructions les demandes traitées et le recours à l’assistance lorsqu’un accès ou une fonction manque.
Revoir la continuité des conversations
Fenêtre de conversation (heures) vide utilise désormais le réglage de l’organisation, initialement 30 minutes. Une valeur positive fixe la fenêtre de l’agent ; 0 désactive la reprise automatique. La correspondance dépend du canal : API utilise agent et enregistrement ; Interne/MCP authentifié utilise agent, utilisateur et contexte d’enregistrement pertinent. Communauté utilise le réglage partagé plutôt que le délai de session externe. Le chat des pages d’accueil, d’application et de la barre d’utilitaires peut reprendre une conversation éligible. Les identifiants explicites restent soumis aux contrôles de leur route. Utilisez 0 si vous comptiez sur une valeur vide pour démarrer une nouvelle conversation. Les autorisations empaquetées corrigent aussi l’accès Interne et Communauté.
Questions fréquentes
Les paramètres de partage par défaut sont une base, pas toute la liste des accès effectifs. Des règles, ensembles de partage ou droits étendus peuvent ouvrir d’autres enregistrements. Vérifiez le périmètre final de l’utilisateur et les contrôles des outils, plutôt que de vous fier au seul réglage par défaut.
Ils sont créés dans la même organisation lorsque l’opération est autorisée et réussit. Leur visibilité pour les utilisateurs internes dépend ensuite des droits et du partage applicables.
Configurez les droits d’objet et de champ ainsi que les mécanismes de partage adaptés à la licence Experience Cloud et aux relations de compte ou de contact. Testez deux partenaires distincts et les cas de droits étendus. La liaison à un compte ne prouve pas une isolation automatique.
Oui. Préparez plusieurs définitions et déployez le composant avec l’identifiant approprié dans chaque portail ou page. Adaptez les prompts, outils et droits au public concerné.
Les sélecteurs CSS du portail ne ciblent pas directement ses éléments internes isolés par le Shadow DOM. Utilisez les propriétés Experience Builder ou les options JSON prises en charge, puis vérifiez le rendu avec le thème du site.
Le style allongé nécessite Bubble Label. Si Bubble Style vaut pill et que le libellé est vide, le widget revient au bouton rond. Ajoutez un texte court, par exemple « Demander à Maria ».
Le message de bienvenue ajouté à la conversation vient de Message de bienvenue externe sur l’agent. Le titre et le texte secondaire d’accueil sont distincts : ils se règlent dans Experience Builder avec Welcome Heading et Welcome Subtext.
Le bouton × réduit le panneau sans marquer la conversation comme terminée. Elle peut être reprise si les conditions de session sont encore réunies. Fin de la conversation marque l’échange comme terminé côté serveur ; une nouvelle demande commence alors une autre conversation au lieu de reprendre celle-ci.
Oui. Décochez Allow End Conversation dans Experience Builder. Cela masque cette commande, mais ne supprime pas le délai de session, les contrôles de reprise ni les autres limites du traitement.
Utilisez les libellés personnalisés, notamment ceux préfixés REDAAI_Community_, dans Configuration → Atelier de traduction → Remplacer. Vérifiez la langue de l’utilisateur et les éventuelles valeurs fixes des propriétés ou du JSON avancé. Les textes que vous avez saisis et les réponses de l’agent nécessitent leur propre configuration linguistique.
Étapes suivantes
Consultez Accès aux données et autorisations pour vérifier la sécurité, ou Configurer le widget externe pour les visiteurs anonymes. Les attributs de ce dernier sont décrits dans Personnaliser l’interface du widget.