· 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.

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 :

  1. Préparer la classe Apex avec une méthode @InvocableMethod
  2. Ajouter des classes pour gérer les Inputs et Outputs avec des variables @InvocableVariable
  3. Saupoudrer de logique : un petit REST Callout avec l’API de Slack
  4. Laisser reposer l’Apex et le déployer
  5. Créer l’Action AgentForce à partir de la méthode exposée
  6. Ajouter l’Action au Topic de l’Agent correspondant
  7. Pour sublimer le tout, préciser les instructions du Topic
  8. 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:

Play

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.

Retour

Articles Similaires

Voir tous les Articles »
Think2 lance son lab !

Think2 lance son lab !

Découvrez comment le nouveau Lab Think2 partage des ressources exclusives et des outils avancés autour de Salesforce pour booster votre efficacité.