Messages des automatisations
Faites envoyer par un workflow un message Cortex à une personne, à un canal d’espace de travail ou au General d’un espace de travail. Cortex le publie.
Un workflow peut dire aux gens ce qu’il a fait. Le bloc Cortex envoie un message, depuis une exécution de workflow, à une personne ou à un salon : un canal d’espace de travail ou le General d’un espace de travail. Cortex publie le message. Une ligne sous le message indique quel workflow l’a envoyé. Messages des automatisations montre ce que voit le destinataire.
Cortex doit être activé pour votre organisation. Un message est envoyé depuis une exécution de workflow, ou depuis une conversation Cortex après votre approbation.
Envoyer un message depuis un workflow
Ajoutez le bloc Cortex et renseignez :
| Champ | Ce qu’il faut saisir |
|---|---|
| Send to | A person (their Cortex DM) ou A channel. |
| Person | La personne, choisie parmi celles à qui Cortex peut écrire. Affiché lorsque l’envoi vise une personne. |
| Channel | Le salon, choisi parmi les salons que vous avez rejoints : un canal d’espace de travail ou le General d’un espace de travail. Affiché lorsque l’envoi vise un canal. |
| Message | Le message, en Markdown. |
| Idempotency key | Un nom pour ce message, unique au sein de l’exécution, comme weekly-report. |
Dans une boucle, faites varier la clé à chaque itération, par exemple
report-<loop.index>. Une clé déjà utilisée dans cette exécution renvoie cette
première publication, ou est refusée lorsque le texte ou le destinataire diffère.
Le bloc renvoie postId et status. status vaut published lorsque le
message est dans le salon, ou queued tant que Cortex est encore en train de le
livrer. Un message en file est livré sans nouvelle exécution. Si Cortex ne peut
pas le livrer après plusieurs tentatives, il abandonne et le bloc ne vous en
informe pas. Le message peut être ou ne pas être dans le salon : vérifiez le
salon avant de relancer le bloc avec une nouvelle clé d’idempotence, car une
nouvelle clé envoie un nouveau message, qui peut doubler celui-ci.
Qui reçoit le message
Le workflow envoie en tant que son Run As : une personne, ou un compte de service. Cortex contrôle l’accès de cette identité avant de publier. La référence Collaboration décrit les cibles en détail.
- Une personne. Le message arrive dans le propre DM Cortex du destinataire. S’il n’a jamais ouvert Cortex, le DM est créé pour lui et le message l’y attend. L’identité Run As n’est jamais ajoutée à ce DM. Le destinataire doit être un membre actif de votre organisation à qui Cortex peut écrire.
- Un salon : un canal d’espace de travail ou le General d’un espace de travail. L’identité Run As doit être membre du salon, et Cortex aussi. Un compte de service est membre des canaux et du General des espaces de travail auxquels il appartient, et peut publier dans ceux-ci et auprès de personnes. Les cibles d’équipe ne sont pas disponibles pour l’instant : un message adressé à une équipe est refusé. Un canal commun à toute l’organisation, tel que Default, ne peut pas encore être une cible de publication.
Une exécution lancée par un webhook ou une planification envoie en tant que l’identité Run As enregistrée du workflow : son propriétaire, sauf si un administrateur lui a associé un compte de service. Une exécution sans identité Run As ni propriétaire ne peut pas envoyer.
Dans l’éditeur de workflow, les champs Person et Channel proposent une liste plutôt qu’un identifiant : les personnes à qui Cortex peut écrire, et les salons que vous avez rejoints. Saisissez du texte pour affiner la liste : dans une organisation qui compte beaucoup de salons, la liste peut ne pas les montrer tous tant que vous n’avez pas saisi une partie de leur nom. La liste est la vôtre, mais l’étape s’exécute avec l’identité Run As du workflow : un salon que cette identité n’a pas rejoint est refusé à l’exécution de l’étape, même si vous avez pu le choisir.
La liste Channel affiche un canal par son nom, avec le nom de son espace de
travail à côté, et le General d’un espace de travail sous General avec le nom
de son espace de travail. Saisir le nom d’un espace de travail trouve son
General, et saisir General trouve tous les General que vous avez rejoints. Un
canal se trouve par son propre nom, pas par celui de son espace de travail.
La liste Person n’affiche que le nom de chaque personne. Une personne dont Cortex ne connaît pas encore le nom apparaît sous Unnamed person, et deux personnes qui portent le même nom se ressemblent dans la liste. Si la liste Channel est vide, vous n’avez encore rejoint aucun salon où un workflow peut publier : ni canal, ni General d’un espace de travail. Canaux indique qui peut créer un canal.
Depuis une conversation Cortex
Vous pouvez aussi demander à Cortex d’envoyer un message pour vous. Cortex demande d’abord, et rien n’est envoyé avant votre approbation. Le message est envoyé en votre nom, avec les mêmes contrôles qu’un workflow dont l’identité Run As est la vôtre.
Un workflow que Cortex démarre pour un persona envoie avec l’identité Run As propre à ce workflow.
Quand un message est refusé
Un message refusé n’est pas envoyé. Le bloc renvoie une erreur qui commence par
un code stable sur lequel vous pouvez vous appuyer, par exemple
not_a_channel_member: The automation's Run As is not a member of this room.
| Code | Signification |
|---|---|
not_an_automation_run | L’appel ne provient pas d’une exécution de workflow, de flux de processus ou d’une conversation Cortex. |
run_as_required | L’exécution n’a ni identité Run As ni propriétaire. |
run_as_service_account_unavailable | Le compte de service Run As de l’exécution est supprimé ou désactivé, ou n’a pas encore d’identité Cortex. |
run_as_not_a_person | La personne Run As n’est pas un membre actif, ou n’apparaît pas encore dans l’annuaire de Cortex. |
extension_permission_not_granted | L’extension qui envoie le message ne déclare pas l’autorisation d’envoyer des messages Cortex, ou a été désactivée pendant l’exécution. |
recipient_not_messageable | Cortex ne peut pas contacter cette personne, ou elle n’existe pas ; les deux cas ne sont pas distingués. |
not_a_channel_member | L’identité Run As n’est pas membre du salon. Le code est le même pour chaque type de salon. |
unknown_target | Ce salon n’existe pas dans votre organisation, ou Cortex n’a pas fini de le mettre en place ou l’a retiré. |
over_budget | Le message est trop volumineux pour un seul message Cortex. |
idempotency_key_reused | Cette exécution a déjà utilisé la clé pour un autre message ou un autre destinataire. |
collaboration_not_enabled | Cortex n’est pas activé pour votre organisation, ou n’est pas encore prêt pour elle. |
channel_not_bound | Le salon n’est pas connecté à Cortex. |
cortex_not_in_room | Cortex n’est pas membre du salon. |
organization_rate | Votre organisation a envoyé trop de messages cette minute. |
source_recipient_rate | Ce workflow a envoyé trop de messages à ce destinataire cette heure. |
LLM_BLOCKED_BY_DLP | La prévention des pertes de données a refusé le texte. Un message n’est jamais envoyé avec un texte masqué. |
EGRESS_BLOCKED_BY_CLEARANCE | Le message est classifié au-dessus de ce que le salon autorise. |
Un échec qui n’est pas un refus, par exemple lorsque Cortex ne peut pas contrôler ou enregistrer le message pour le moment, ne porte aucun code. La référence Collaboration liste toutes les erreurs.
Nouveaux essais et limites
- Un message par clé. Au sein d’une exécution, la même clé d’idempotence renvoie toujours le premier message et ne publie jamais deux fois. Un bloc relancé est donc sans risque. L’exécution suivante du même workflow publie à nouveau, même avec la même clé.
- Limites. Au plus 30 messages par minute pour votre organisation, et 10 par
heure d’un workflow vers un destinataire. Au-delà d’une limite, le message est refusé
avec
organization_rateousource_recipient_rate, et peut être relancé plus tard. - Aucune mention. Un message ne notifie personne par son nom.
@roomet les liens vers des personnes sont affichés en texte brut.