Slack
Version de l'intégration : 23.0
Configurer Slack pour qu'il fonctionne avec Google Security Operations
Pour configurer Slack afin qu'il fonctionne avec Google SecOps, vous devez d'abord créer une application :
Accédez à https://api.slack.com/ et cliquez sur Start Building (Commencer à créer).
Saisissez les paramètres Nom de l'application et Espace de travail Slack de développement. Cliquez sur Créer une application.
Accédez à l'onglet OAuth et autorisations, puis faites défiler la page jusqu'aux sections Champs d'application.
Ajoutez les autorisations/scopes suivants. Slack recommande d'ajouter des champs d'application de jetons OAuth pour un bot, et non des autorisations utilisateur :
- channels:history
- channels:manage
- channels:read
- chat:write
- files:write
- groups:history
- groups:write
- groups:read
- im:read
- im:write
- im:history
- mpim:read
- mpim:history
- mpim:write
- users:read
- users:read.email
Pour autoriser l'interactivité des applications pour des actions telles que "Envoyer un message interactif" et "Attendre une réponse avec Webhook", ajoutez une URL de requête pour votre application. Pour en savoir plus, consultez le document Gérer l'interaction utilisateur dans vos applications Slack disponible dans la documentation Slack.
Faites défiler la page vers le haut, puis cliquez sur Install App to Workspace (Installer une application dans l'espace de travail).
Cliquez sur Autoriser.
Copiez l'un des jetons créés, selon que vous souhaitez utiliser un bot ou un utilisateur.
Configurez l'intégration avec l'un de ces jetons.
Réseau
Fonction | Port par défaut | Direction | Protocole |
---|---|---|---|
API | Valeurs multiples | Sortant | apitoken |
Configurer l'intégration de Slack dans Google SecOps
Pour obtenir des instructions détaillées sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Paramètres d'intégration
Utilisez les paramètres suivants pour configurer l'intégration :
Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Nom de l'instance | Chaîne | N/A | Non | Nom de l'instance pour laquelle vous souhaitez configurer l'intégration. |
Description | Chaîne | N/A | Non | Description de l'instance. |
Jeton d'API | Chaîne | N/A | Oui | Jeton d'API généré dans la console Slack. |
Vérifier le protocole SSL | Case à cocher | Décochée | Non | Cochez cette case si votre connexion Slack nécessite une validation SSL (elle est décochée par défaut). |
Exécuter à distance | Case à cocher | Décochée | Non | Cochez le champ pour exécuter l'intégration configurée à distance. Une fois la case cochée, l'option permettant de sélectionner l'utilisateur distant (agent) s'affiche. |
Actions
Poser une question
Description
Posez une question dans Slack.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Canal | Chaîne | N/A | Oui | Chaîne cible. |
Question | Chaîne | N/A | Oui | Contenu de la question. |
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
N/A
Bloc de compilation
Description
Crée un bloc de message Slack en fonction des critères d'entrée fournis. Cette action crée un bloc avec un webhook qui peut être transmis ultérieurement à l'action "Envoyer un message interactif" pour envoyer un message.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Question | Chaîne | N/A | Oui | Spécifiez le texte de la question à ajouter au bloc. |
Boutons de réponse | Chaîne | N/A | Oui | Spécifiez les boutons de réponse à ajouter au bloc. |
URL de base Siemplify | Chaîne | N/A | Oui | Spécifiez l'URL de base du serveur Google SecOps à ajouter au bloc. |
Numéro de demande | Chaîne | N/A | Oui | Spécifiez le numéro de demande Google SecOps à ajouter au blocage. |
UUID du jeton de webhook | Chaîne | N/A | Oui | Spécifiez l'UUID du jeton Webhook à surveiller pour la réponse de l'utilisateur. |
Exemples de cas d'utilisation de playbooks
Créez un bloc qui pourra ensuite être transmis à l'action "Envoyer un message avancé" pour envoyer un message avec un bloc.
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
{
"result": "[{\"type\": \"section\", \"block_id\": \"f99958f1-c1f1-4fdb-bb8b-a382d952d5bd\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"yes?\", \"verbatim\": false}},{\"type\": \"actions\", \"block_id\": \"2850e684-472a-472f-9a32-96294cbe9046\", \"elements\": [{\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"y\"}, \"action_id\": \"y\", \"url\": \"...\"}, {\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"n\"}, \"action_id\": \"n\", \"url\": \"...\"}, {\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"View Case in Siemplify\"}, \"action_id\": \"View Case in Siemplify\", \"url\": \"...\"}]}]"
}
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si un bloc de compilation est créé (is_succeed=True) : "Le bloc Slack a bien été créé." Si la création d'un bloc Slack a échoué en raison d'une erreur générale (is_succeed=False) : "Échec de la création d'un bloc en raison de l'erreur suivante : {0}".format(texte de l'erreur) L'action doit échouer et arrêter l'exécution d'un playbook : Si aucune URL basée sur un webhook n'est spécifiée dans la configuration de l'intégration : "Échec de l'exécution de l'action. Veuillez spécifier le paramètre d'intégration "URL de base du webhook"." Si une erreur fatale est signalée (par exemple, des identifiants incorrects, une absence de connexion au serveur, etc.), le message suivant s'affiche : "Échec de l'exécution de l'action "Envoyer un message avancé" ! Error is {0}".format(exception.stacktrace) |
Général |
Créer un canal
Description
Créez un canal Slack.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Nom de la chaîne | Chaîne | N/A | Oui | Indiquez le nom de la chaîne. Remarque : Les noms de chaînes ne peuvent contenir que des lettres minuscules, des chiffres, des traits d'union et des traits de soulignement. Ils doivent également comporter 80 caractères maximum. |
ID utilisateur | Chaîne | N/A | Oui | Spécifiez les ID des utilisateurs à inviter au nouveau canal. Exemple : U014JDHLW87, U08544ABC85. |
Voie privée | Case à cocher | Décochée | Non | Si cette option est activée, l'action crée une chaîne privée. |
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"is_general": "False",
"name_normalized": "12asd1237712318",
"is_channel": "True",
"creator": "U014J4NFQQG",
"is_member": "True",
"is_archived": "False",
"topic": {
"last_set": "0",
"value": " ",
"creator": " "
},
"parent_conversation": "None",
"is_im": "False",
"is_ext_shared": "False",
"previous_names": [],
"last_read": "0000000000.000000",
"id": "C014S1G6DB4",
"is_org_shared": "False",
"pending_connected_team_ids": [],
"is_pending_ext_shared": "False",
"is_mpim": "False",
"is_group": "False",
"shared_team_ids": ["T013MJHSNCT"],
"purpose": {
"last_set": 0,
"value": " ",
"creator": " "
},
"is_private": "False",
"is_shared": "False",
"name": "12asd1237712318",
"created": "1591194197",
"pending_shared": [],
"unlinked": 0,
"priority": 0
}
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si "ok" est défini sur "true", que le paramètre d'action "Private" est défini sur "false" et que le paramètre "User IDs" est vide (is_success=true) : "Successfully created channel {0}".format(name) Si "ok"== true et que le paramètre d'action "Private" est défini sur "true" et que le paramètre "User IDs" est vide (is_success=true) : "Successfully created private channel {0}".format(name) Si "ok"== true et que le paramètre d'action "Private" est défini sur "false" et que les ID utilisateur sont disponibles (is_success=true) : "Successfully created channel {0} and added {1} users".format(name, user_ids) Si "ok"== true et que le paramètre d'action "Private" est défini sur "true" et que les ID utilisateur sont disponibles (is_success=true) : "La chaîne privée {0} a bien été créée et {1} utilisateurs y ont été ajoutés.".format(name, user_ids) Si "ok" == false. Dans la première requête (is_success=false) : "Échec de la création de la chaîne {0}. Motif : {1}".format(name, value of error parameter from response) Si "ok" == false dans la deuxième requête (is_success=false) : "La chaîne {0} a été créée, mais aucun utilisateur n'a été invité. Reason:".format(name, value of error parameter from response) Si "ok" == false et error == "user_not_found" (is_success=false) : "Échec de l'ajout d'utilisateurs à la chaîne {0}. Raison : {1} des ID utilisateur spécifiés n'existent pas dans Slack".format(name, len(errors) from the response) L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action) est signalée : "Erreur lors de l'exécution de l'action "Créer un canal". Raison : {0}''.format(error.Stacktrace) |
Général |
Obtenir l'historique des conversations d'une chaîne ou d'un utilisateur
Description
Obtenez l'historique des conversations d'un utilisateur ou d'une chaîne en fonction des critères d'entrée fournis. Cette action fonctionne avec l'ID de chaîne ou d'utilisateur, qui peut être recherché à l'aide des actions "Lister les chaînes" ou "Lister les utilisateurs".
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
ID de la chaîne ou de l'utilisateur | Chaîne | N/A | Oui | Spécifiez l'ID du canal ou de l'utilisateur pour lequel récupérer l'historique des conversations. |
Période | LDD | La dernière heure Valeurs possibles :
|
Non | Spécifiez une période pour les résultats. Si vous sélectionnez "Personnalisé", vous devez également fournir le paramètre "Heure de début". |
Heure de début | Chaîne | N/A | Non | Spécifiez l'heure de début des résultats. Ce paramètre est obligatoire si l'option "Personnalisé" est sélectionnée pour le paramètre "Période". Format : ISO 8601. Exemple : 2021-08-05T05:18:42Z |
Heure de fin | Chaîne | N/A | Non | Spécifiez l'heure de fin des résultats. Si aucune valeur n'est fournie et que "Personnalisée" est sélectionné pour le paramètre "Période", ce paramètre utilise l'heure actuelle. Format : ISO 8601. Exemple : 2021-08-05T05:18:42Z. |
Nombre maximal d'enregistrements à renvoyer | Integer | 20 | Non | Spécifiez le nombre d'enregistrements à renvoyer. Si aucune valeur n'est fournie, l'action renvoie 20 enregistrements. |
Exemples de cas d'utilisation de playbooks
Récupérez l'historique des conversations pour examiner les alertes.
Date d'exécution
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_success | Vrai/Faux | is_success:False |
Résultat JSON
[
{
"bot_id": "B02D9QYM7P0",
"type": "message",
"text": "test",
"user": "U02D1RPLVST",
"ts": "1665988448.627219",
"app_id": "A02DDGD942Z",
"team": "T02CX3N6B0B",
"bot_profile": {
"id": "B02D9QYM7P0",
"deleted": false,
"name": "Siemplify-test",
"updated": 1630908872,
"app_id": "A02DDGD942Z",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"team_id": "T02CX3N6B0B"
},
"blocks": [
{
"type": "rich_text",
"block_id": "JbVUf",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "test"
}
]
}
]
}
]
}
]
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si l'historique des conversations est trouvé (is_succeed=True) : "L'historique des conversations a bien été récupéré." Si la conversation avec l'ID fourni est introuvable (is_succeed=False) : "Échec de la recherche de la conversation pour l'ID fourni {0}".format(channel_or_user_id) Si la conversation avec l'ID fourni est trouvée et qu'aucun message n'est trouvé pour la période indiquée (is_succeed=False) : "Conversation with id {0} was found, but no messages were found for the provided time frame.".format(channel_or_user_id) L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Échec de l'exécution de l'action "Envoyer un message avancé" ! Error is {0}".format(exception.stacktrace) Si une valeur non valide est fournie pour le paramètre "Nombre maximal d'enregistrements à renvoyer" : "Erreur lors de l'exécution de l'action "{nom de l'action}". Motif : "Une valeur non valide a été fournie pour "Nombre maximal d'enregistrements à renvoyer" : . Veuillez indiquer un nombre positif." Si "Personnalisée" est sélectionné pour le paramètre "Période" et que le paramètre "Heure de début" n'est pas spécifié : "Erreur lors de l'exécution de l'action "{nom de l'action}". Motif : "L'heure de début n'a pas été indiquée pour la période personnalisée." |
Général |
Obtenir les informations sur l'utilisateur
Description
Obtenez les informations d'un utilisateur Slack en fonction des critères de saisie fournis.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Rechercher par | LDD | Valeurs possibles :
|
Oui | Spécifiez le paramètre à utiliser pour rechercher les informations sur l'utilisateur. |
Valeur utilisateur | Chaîne | N/A | Oui | Spécifiez la valeur utilisateur selon laquelle effectuer la recherche. |
Exemples de cas d'utilisation de playbooks
Obtenez des informations sur les utilisateurs pour enrichir le traitement des alertes dans Google SecOps.
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"id": "U043FPEMATG",
"team_id": "T02CX3N6B0B",
"name": "example.user",
"deleted": false,
"color": "3c989f",
"real_name": "Example User",
"tz": "Europe/Europe",
"tz_label": "Central European Summer Time",
"tz_offset": 7200,
"profile": {
"title": "",
"phone": "",
"skype": "",
"real_name": "Example User",
"real_name_normalized": "Example User",
"display_name": "Example User",
"display_name_normalized": "Example User",
"fields": null,
"status_text": "",
"status_emoji": "",
"status_emoji_display_info": [],
"status_expiration": 0,
"avatar_hash": "gc297456197c",
"email": "example.user@example.com",
"first_name": "Example",
"last_name": "User",
"image_24": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png",
"image_32": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png",
"image_48": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png",
"image_72": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png",
"image_192": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png",
"image_512": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png",
"status_text_canonical": "",
"team": "T02CX3N6B0B"
},
"is_admin": false,
"is_owner": false,
"is_primary_owner": false,
"is_restricted": false,
"is_ultra_restricted": false,
"is_bot": false,
"is_app_user": false,
"updated": 1663939355,
"is_email_confirmed": true,
"who_can_share_contact_card": "EVERYONE"
}
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie\* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si les informations sur l'utilisateur sont trouvées (is_succeed=True) : "Les informations sur l'utilisateur ont bien été récupérées." Si les informations utilisateur ne sont pas trouvées en fonction des critères fournis (is_succeed=False) : "Échec de la recherche des informations utilisateur en fonction des critères fournis : Recherche par : <0> Valeur utilisateur : <1>".format(search_by, user_value) Si les informations utilisateur sont trouvées par nom et que plusieurs correspondances sont trouvées (is_succeed=True) : "Plusieurs correspondances ont été trouvées pour les critères de recherche fournis : Rechercher par : <0> Valeur utilisateur : <1>".format(search_by, user_value) Si l'utilisateur est introuvable (is_succeed=False) en raison d'une erreur générale : "Échec de la récupération des informations utilisateur en raison de l'erreur suivante : {0}" (texte de l'erreur) L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, une absence de connexion au serveur, etc.), le message suivant s'affiche : "Échec de l'exécution de l'action "Envoyer un message avancé" ! Error is {0}".format(exception.stacktrace) |
Général |
Tableau du mur des cas | Nom de la table : Détails des utilisateurs Slack Colonnes du tableau :
|
Général |
Obtenir les détails d'un utilisateur par ID
Description
Obtenez les informations d'un utilisateur à partir de son ID.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
ID utilisateur | Chaîne | N/A | Oui | ID de l'utilisateur. |
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
N/A
Répertorier les canaux
Description
Obtenez la liste des canaux Slack.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
[
{
"is_org_shared": false,
"is_general": true,
"name_normalized": "general",
"name": "general",
"is_channel": true,
"created": 1575550599,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 1575550599,
"value": "Company-wide announcements and work-based matters",
"creator": "URALP6WRJ"
},
"num_members": 1,
"purpose": {
"last_set": 1575550599,
"value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
"creator": "URALP6WRJ"
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRB4ZHGNR",
"is_private": false,
"previous_names": []
}, {
"is_org_shared": false,
"is_general": false,
"name_normalized": "random",
"name": "random",
"is_channel": true,
"created": 1575550599,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 1575550599,
"value": "Non-work banter and water cooler conversation",
"creator": "URALP6WRJ"
},
"num_members": 1,
"purpose": {
"last_set": 1575550599,
"value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
"creator": "URALP6WRJ"
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRD0KF9T9",
"is_private": false,
"previous_names": []
}, {
"is_org_shared": false,
"is_general": false,
"name_normalized": "website",
"name": "website",
"is_channel": true,
"created": 1575550600,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 0,
"value": " ",
"creator": " "
},
"num_members": 1,
"purpose": {
"last_set": 0,
"value": " ",
"creator": " "
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRDAUBZP0",
"is_private": false,
"previous_names": []
}
]
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si "ok" est défini sur "false" (is_success=false) : "Échec de la liste des chaînes. Motif : {0}".format(valeur du paramètre d'erreur de la réponse) |
Général |
Lister les utilisateurs
Description
Cette action permet d'obtenir la liste des utilisateurs Slack.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
[
{
"profile": {
"status_text": " ",
"display_name": " ",
"status_emoji": " ",
"title": " ",
"status_text_canonical": " ",
"team": "TRALP6VNY",
"real_name": "somerealname",
"image_24": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png",
"phone": " ",
"real_name_normalized": "somerealnamen",
"image_512": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png",
"image_72": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png",
"image_32": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png",
"image_48": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png",
"skype": " ",
"avatar_hash": "g2d62053d7f7",
"display_name_normalized": " ",
"status_expiration": 0,
"email": "mail@seimplify.co",
"image_192": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png"
},
"updated": 1575550598,
"tz": "Europe/Moscow",
"name": "name",
"deleted": false,
"is_app_user": false,
"is_bot": false,
"tz_label": "Moscow Time",
"real_name": "realname",
"color": "9f69e7",
"team_id": "TRALP6VNY",
"is_admin": true,
"is_ultra_restricted": false,
"is_restricted": false,
"is_owner": true,
"tz_offset": 14400,
"has_2fa": false,
"id": "URALP6WRJ",
"is_primary_owner": true
}, {
"profile": {
"last_name": " ",
"status_emoji": " ",
"display_name_normalized": "Slackbot",
"image_32": "https://a.slack-edge.com/80588/img/slackbot_32.png",
"skype": " ",
"image_72": "https://a.slack-edge.com/80588/img/slackbot_72.png",
"status_expiration": 0,
"image_192": "https://a.slack-edge.com/80588/marketing/img/avatars/slackbot/avatar-slackbot.png",
"first_name": "slackbot",
"display_name": "Slackbot",
"title": " ",
"real_name_normalized": "Slackbot",
"always_active": true,
"status_text_canonical": " ",
"image_24": "https://a.slack-edge.com/80588/img/slackbot_24.png",
"phone": " ",
"image_48": "https://a.slack-edge.com/80588/img/slackbot_48.png",
"fields": null,
"real_name": "Slackbot",
"image_512": "https://a.slack-edge.com/80588/img/slackbot_512.png",
"team": "TRALP6VNY",
"avatar_hash": "sv41d8cd98f0",
"status_text": " "
},
"updated": 0,
"tz": null,
"name": "slackbot",
"deleted": false,
"is_app_user": false,
"is_bot": false,
"tz_label": "Pacific Standard Time",
"real_name": "Slackbot",
"color": "757575",
"team_id": "TRALP6VNY",
"is_admin": false,
"is_ultra_restricted": false,
"is_restricted": false,
"is_owner": false,
"tz_offset": -28800,
"id": "USLACKBOT",
"is_primary_owner": false
}
]
Ping
Description
Testez la connectivité.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
N/A
Renommer une chaîne
Description
Renommez le canal Slack.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Nom de la chaîne | Chaîne | N/A | Non | Spécifiez le nom de la chaîne que vous souhaitez renommer. Remarque : Si les paramètres "Nom de la chaîne" et "ID de la chaîne" sont spécifiés, l'action ne fonctionne qu'avec l'ID. |
ID du canal | Chaîne | N/A | Non | Spécifiez l'ID du canal que vous souhaitez renommer. Remarque : Si les paramètres "Nom de la chaîne" et "ID de la chaîne" sont spécifiés, l'action ne fonctionne qu'avec l'ID. |
Nouveau nom | Chaîne | N/A | Oui | Spécifiez un nouveau nom pour le canal. Remarque : Les noms de chaînes ne peuvent contenir que des lettres minuscules, des chiffres, des traits d'union et des traits de soulignement. Ils doivent également comporter 80 caractères maximum. |
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
Lorsque "ok" == true :
{
"channel": {
"id": "C013ELA1YVC",
"name": "project_old",
"is_channel": true,
"is_group": false,
"is_im": false,
"created": 1589444943,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "project_old",
"is_shared": false,
"parent_conversation": null,
"creator": "U0136KZ0P5M",
"is_ext_shared": false,
"is_org_shared": false,
"shared_team_ids": [
"T013MJHSNCT"
],
"pending_shared": [],
"pending_connected_team_ids": [],
"is_pending_ext_shared": false,
"is_member": true,
"is_private": false,
"is_mpim": false,
"last_read": "1595242486.000300",
"topic": {
"value": "",
"creator": "",
"last_set": 0
},
"purpose": {
"value": "This *channel* is for working on a project. Hold meetings, share docs, and make decisions together with your team.",
"creator": "U0136KZ0P5M",
"last_set": 1589444943
},
"previous_names": [
"project_new",
"project"
]
},
"ok": true,
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
Lorsque "ok" == false :
{
"ok": false,
"error": "name_taken",
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si "ok"== true (is_success=true) : "Le nom du canal {0} a été modifié en {1} {0}".format(name/ID, new name) Si "ok"== false (is_success=false) : "L'action n'a pas pu renommer la chaîne {0}. Motif : {1}".format(name,error from the response) Si la chaîne n'a pas été trouvée par son nom (is_success=false) : "L'action n'a pas pu renommer la chaîne {0}. Motif : Chaîne introuvable".format(name) L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action) est signalée : "Erreur lors de l'exécution de l'action "Renommer la chaîne". Raison : {0}''.format(error.Stacktrace) Si les paramètres "Nom de la chaîne" et "ID de la chaîne" ne sont pas spécifiés : "Erreur lors de l'exécution de l'action "Renommer la chaîne". Raison : vous devez spécifier le nom ou l'ID de la chaîne." |
Général |
Envoyer un message avancé
Description
Envoyez un message avancé à un canal ou à un utilisateur Slack. Cette action permet d'envoyer des messages textuels simples et des messages Slack enrichis avec des boutons, une mise en forme avancée et plus encore. Pour en savoir plus sur les messages de bloc, consultez Slack Block Kit .
Cette action peut être utilisée avec l'action "Attendre une réponse avec webhook" pour envoyer d'abord un message de bloc avec un webhook à un utilisateur, puis vérifier la réponse de l'utilisateur avec l'action "Attendre une réponse avec webhook".
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Type de message | LDD | Texte Valeurs possibles :
|
Oui | Spécifiez le type de message à envoyer. |
Type de destinataire | LDD | Nom Valeurs possibles :
|
Oui | Spécifiez le nom de la chaîne ou de l'utilisateur (nom complet) auquel envoyer le message. Vous pouvez éventuellement spécifier l'ID d'un canal ou d'un utilisateur, ou l'adresse e-mail d'un utilisateur. |
Destinataire | Chaîne | N/A | Oui | Spécifiez le destinataire du message. |
Message | Chaîne | N/A | Oui | Spécifiez le contenu du message à envoyer. |
Exemples de cas d'utilisation de playbooks
Envoyez un message avec du contenu enrichi, comme des boutons, des liens ou des images.
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
[
{
"Entity": "U043FPEMATG",
"EntityResult": {
"channel": "D044C3DUMB2",
"message": {
"bot_id": "B02D9QYM7P0",
"type": "message",
"text": "test msg",
"user": "U02D1RPLVST",
"ts": "1666008612.116169",
"app_id": "A02DDGD942Z",
"team": "T02CX3N6B0B",
"bot_profile": {
"id": "B02D9QYM7P0",
"app_id": "A02DDGD942Z",
"name": "test",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"deleted": false,
"updated": 1630908872,
"team_id": "T02CX3N6B0B"
},
"blocks": [
{
"type": "rich_text",
"block_id": "RJvg",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "test msg"
}
]
}
]
}
]
},
"ts": "1666008612.116169",
"ok": true
}
}
]
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le message a bien été envoyé (is_succeed=True) : "Message envoyé" Si le message n'a pas été envoyé (is_succeed=False) parce que le destinataire spécifié est introuvable : "Le message n'a pas été envoyé, car le destinataire {0} de type {1} est introuvable." (destinataire, type de destinataire) Si le message n'a pas été envoyé (is_succeed=False) en raison d'une erreur générale : "Le message n'a pas été envoyé en raison de l'erreur suivante : {0}" (texte de l'erreur) L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Échec de l'exécution de l'action "Envoyer un message avancé" ! Error is {0}".format(exception.stacktrace) |
Général |
Envoyer un message interactif
Description
Envoyez un message interactif à un canal ou à un utilisateur, puis vérifiez la réponse de l'utilisateur en fonction de l'UUID du webhook fourni. Cette action est semblable à l'action "Envoyer un message avancé", mais elle permet d'envoyer uniquement du contenu de bloc (pas des messages en texte brut) et nécessite également un UUID de webhook pour vérifier la réponse de l'utilisateur à un webhook.
L'action étant asynchrone, ajustez le délai d'expiration de l'action dans l'IDE en conséquence.
Configurez l'application Slack utilisée dans l'intégration pour autoriser les messages interactifs. Pour en savoir plus sur la configuration de l'application Slack, consultez Préparer votre application pour les messages interactifs.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Type de destinataire | LDD | Nom Valeurs possibles :
| Oui | Spécifiez le nom de la chaîne ou de l'utilisateur (nom complet) auquel envoyer le message. Vous pouvez éventuellement spécifier l'ID d'un canal ou d'un utilisateur, ou l'adresse e-mail d'un utilisateur. |
Destinataire | Chaîne | N/A | Oui | Spécifiez le destinataire du message. |
Message | Chaîne | N/A | Oui | Spécifiez le contenu du message à envoyer. |
UUID du jeton de webhook | Chaîne | N/A | Oui | Spécifiez l'UUID du jeton de webhook à surveiller pour la réponse de l'utilisateur. |
Exemples de cas d'utilisation de playbooks
Envoyez un message avec du contenu enrichi, comme des boutons, des liens ou des images.
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
[
{
"uuid": "10953f8e-7ef8-4bde-9e9b-212005e0e737",
"type": "web",
"token_id": "47289ba5-277e-4ab9-9238-eb31080530ca",
"ip": "0000:a000000:ad80:000:20ea:653:fb97",
"hostname": "webhook.site",
"method": "GET",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",
"content": "",
"query": {
"Answer": "yes"
},
"headers": {
"connection": [
"close"
],
"accept-encoding": [
"gzip, deflate, br"
],
"accept-language": [
"en-US,en;q=0.9"
],
"user-agent": [
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"
],
"cookie": [
"_ga=GA"
],
"accept": [
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
],
"host": [
"webhook.site"
],
"content-length": [
""
],
"content-type": [
""
]
},
"url": "https://webhook.site/47289ba5-277e-4ab9-9238-xx0000000xx?Answer=yes",
"size": 0,
"files": [],
"created_at": "2022-10-14 19:45:40",
"updated_at": "2022-10-14 19:45:40",
"sorting": 1665776740032262,
"custom_action_output": []
}
]
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le message a bien été envoyé (is_succeed=True) : "Message envoyé" Si le message n'a pas été envoyé (is_succeed=False) parce que le destinataire spécifié est introuvable : "Le message n'a pas été envoyé, car le destinataire {0} de type {1} est introuvable." (destinataire, type de destinataire) Si le message n'a pas été envoyé (is_succeed=False) en raison d'une erreur générale : "Le message n'a pas été envoyé en raison de l'erreur suivante : {0}" (texte de l'erreur) Messages du mur de discussion pour la fonctionnalité asynchrone : Message sur le mur de la demande pour les itérations en attendant la réponse : "En attente de la réponse au message envoyé avec un webhook. URL du webhook avec UUID : {0}".format(URL du webhook à partir de la configuration de l'intégration + UUID du jeton Web) Si la réponse est récupérée (is_succeed=True) : "Réponse de l'utilisateur à un webhook récupérée. Contenu de la réponse : {0}".format(payload that was sent from user to a webhook) Si la réponse n'a pas pu être récupérée avant l'expiration du délai d'attente : "Aucune réponse d'utilisateur à un webhook n'a été trouvée et l'action a été arrêtée en raison du délai d'attente." L'action doit échouer et arrêter l'exécution d'un playbook : Si aucune URL basée sur un webhook n'est spécifiée dans la configuration de l'intégration et qu'un jeton UUID de webhook est spécifié : "Échec de l'exécution de l'action. Veuillez spécifier le paramètre d'intégration "URL de base du webhook". " Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Échec de l'exécution de l'action "Envoyer un message interactif" ! Error is {0}".format(exception.stacktrace) |
Général |
Envoyer un message
Description
Envoyez un message à un ou plusieurs utilisateurs/chaînes.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Canal | Chaîne | N/A | Oui | Nom du canal Slack ou adresse e-mail de l'utilisateur auquel envoyer le message. Les valeurs saisies doivent être séparées par une virgule. |
Message | Chaîne | N/A | Oui | Contenu du message. |
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
N/A
Importer un fichier
Description
Ajoutez des fichiers à Slack et partagez-les avec les membres de votre équipe pour collaborer. Vous pouvez choisir des fichiers et les importer dans Slack depuis votre appareil ou votre application de gestion de fichiers préférée. Les fichiers importés sont stockés, peuvent être recherchés et peuvent être partagés dans votre espace de travail.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Nom du fichier | Chaîne | N/A | Oui | Nom du fichier cible. |
Chemin d'accès au fichier | Chaîne | N/A | Oui | Chemin d'accès au fichier cible. |
Canal | Chaîne | N/A | Oui | Chaîne cible. |
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
N/A
Attendre une réponse
Description
Attendez une réponse à un message dans un canal.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Canal | Chaîne | N/A | Oui | Chaîne cible. |
Code temporel du message | Chaîne | N/A | Oui | Code temporel du message à partir duquel obtenir les réponses (en millisecondes). |
ID du canal | Chaîne | N/A | Non | ID du canal Slack cible. |
Cas d'utilisation des playbooks
Playbook avec action d'envoi de message et attente d'une réponse (avec le canal comme espace réservé de l'action précédente : ID du canal)
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
N/A
Attendre une réponse avec un webhook
Description
Attendez qu'un utilisateur réponde à un message envoyé avec un webhook. Cette action vérifie régulièrement le webhook fourni pour voir si l'utilisateur y a répondu. L'action peut être utilisée avec l'action "Envoyer un message avancé", si le message de blocage avec webhook a été envoyé, pour vérifier si la réponse de l'utilisateur a été fournie au webhook.
Cette action étant asynchrone, ajustez la valeur du délai d'expiration du script dans l'IDE en conséquence.
Paramètres
Nom du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
UUID du jeton de webhook | Chaîne | N/A | Oui | Spécifiez l'UUID du jeton de webhook à surveiller pour la réponse de l'utilisateur. |
Exemples de cas d'utilisation de playbooks
Attendez une réponse à un message avec un webhook.
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_succeed | Vrai/Faux | is_succeed:False |
Résultat JSON
{
"client_msg_id": "00000000-0000-0000-0000-000000000000",
"type": "message",
"text": "Yes",
"user": "U0000000",
"ts": "1578390603.001200",
"team": "T0000000",
"blocks": [
{
"type": "rich_text",
"block_id": "2Bb=",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "Example"
}
]
}
]
}
],
"thread_ts": "1578390492.001100",
"parent_user_id": "U0000000"
}
Mur des cas
Type de résultat | Valeur / Description | Type |
---|---|---|
Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Message sur le mur de la demande pour les itérations en attendant la réponse : "En attente de la réponse au message envoyé avec un webhook. URL du webhook avec UUID : {0}".format(URL du webhook à partir de la configuration de l'intégration + UUID du jeton Web) Si la réponse est récupérée (is_succeed=True) : "La réponse de l'utilisateur à un webhook a été récupérée. Contenu de la réponse : {0}".format(payload that was sent from user to a webhook) Si la réponse n'a pas pu être récupérée avant l'expiration du délai d'attente : "Aucune réponse d'utilisateur à un webhook n'a été trouvée et l'action a été arrêtée en raison du délai d'attente." L'action doit échouer et arrêter l'exécution d'un playbook : Si l'URL basée sur le webhook n'est pas spécifiée dans la configuration de l'intégration et que le jeton UUID du webhook est spécifié : "Échec de l'exécution de l'action. Veuillez spécifier le paramètre d'intégration "URL de base du webhook". " Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Échec de l'exécution de l'action "Envoyer un message avancé" ! Error is {0}".format(exception.stacktrace) |
Général |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.