· Nathan Abondance · think2lab · 3 min read
Augmenter les intéractions entre AgentForce et Slack grâce aux Actions Apex
Découvrez comment ajouter de nouvelles capacités d'intéractions entre AgentForce et Slack à l’aide d’une méthode Invocable Apex, avec un exemple de code simple et réutilisable.

AgentForce et Slack
AgentForce c’est cool. Mais s’il peut aussi intéragir en dehors de Salesforce, là on commence à s’amuser. C’est là que Slack entre en jeu. Grâce à lui, AgentForce peut envoyer la bonne info, à la bonne personne, au bon moment. Pour que la magie opère, il faut un AgentForce un peu spécial : un Service Agent
. On le connecte à notre workspace Slack (la doc)… et c’est parti.
Les limitations
Sur le papier, c’est incroyable. En pratique, il existe quelques limitations avant d’atteindre cette vision.
D’abord, même si les Service Agents
peuvent interagir dans Slack de façon standard, en réalité ils ne le font que via une interface spéciale, avec des fils de discussion.
Ensuite, les autres types d’Agents n’ont pas cette capacité d’interaction avec Slack, du tout.
Enfin, il existe des actions standard pour permettre aux Agents de faire certaines choses dans Slack (il y en a cinq), mais elles ne permettent pas d’interagir “en tant qu’Agent”, tout passe par un autre type d’intégration, comme par exemple Salesforce for Slack
.
La recette magique pour augmenter les capacités Slack de AgentForce
En standard, c’est pas foufou. Mais ça veut pas dire qu’on ne peut pas faire mieux.
Pour offrir de nouvelles capacités Slack à notre Agent, on a besoin de quelques ingrédients :
- La doc de l’API Slack
- Le bot token Slack de notre Agent (on le récupère lors de la connexion de l’Agent à Slack)
- Un brin de savoir-faire côté Apex et appels HTTP
Une fois qu’on a tous les ingrédients, on suit la recette :
- Préparer la classe Apex avec une méthode
@InvocableMethod
- Ajouter des classes pour gérer les Inputs et Outputs avec des variables
@InvocableVariable
- Saupoudrer de logique : un petit REST Callout avec l’API de Slack
- Laisser reposer l’Apex et le déployer
- Créer l’Action AgentForce à partir de la méthode exposée
- Ajouter l’Action au Topic de l’Agent correspondant
- Pour sublimer le tout, préciser les instructions du Topic
- Servir chaud et sans modération
Exemple de nouvelle capacité : Envoyer un message dans un channel Slack
Une recette c’est bien, mais pouvoir goûter au plat, c’est mieux.
Voici un exemple de classe Apex pour une Action qui envoie un message dans un channel Slack : 👉 Consulter l’exemple sur GitHub
Ce que fait concrètement cette Action :
- Elle prend en entrée l’identifiant du canal de destination et le message à envoyer
- Elle construit un payload JSON minimal, puis déclenche un appel HTTP POST vers l’API Slack
chat.postMessage
- Elle retourne une réponse avec le résultat de l’appel, qui peut être utilisé pour du logging ou du suivi côté Salesforce
Dans la vraie vie ça donne ça:
Conclusion
L’intégration native est un bon début, mais avec un peu de code et une pincée de créativité, on peut repousser les limites. Et quand AgentForce commence à parler dans Slack, tout devient plus fluide, plus réactif… et surtout plus utile.
Pour les moins impatients, de nouvelles capacités arriveront nativement comme annoncé au TDX25.