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 :

  1. Accédez à https://api.slack.com/ et cliquez sur Start Building (Commencer à créer).

  2. Saisissez les paramètres Nom de l'application et Espace de travail Slack de développement. Cliquez sur Créer une application.

    Boîte de dialogue "Créer une application Slack"

  3. Accédez à l'onglet OAuth et autorisations, puis faites défiler la page jusqu'aux sections Champs d'application.

    Onglet "OAuth et autorisations"

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

    Boîte de dialogue "Champs d'application des autorisations"

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

  6. Faites défiler la page vers le haut, puis cliquez sur Install App to Workspace (Installer une application dans l'espace de travail).

    Emplacement du bouton "Installer l'application dans l'espace de travail"

  7. Cliquez sur Autoriser.

    Paramètres d'accès aux autorisations LabBot

  8. Copiez l'un des jetons créés, selon que vous souhaitez utiliser un bot ou un utilisateur.

  9. 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 :

  • La dernière heure
  • Les 6 dernières heures
  • Dernières 24 heures
  • La semaine dernière
  • Le mois dernier
  • Personnalisé
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

E-mail

Valeurs possibles :

  • E-mail
  • Nom
  • ID
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 :

  • ID
  • ID d'équipe
  • Nom
  • Vrai nom
  • Nom à afficher
  • Prénom
  • Nom
  • Date et heure de mise à jour
  • Fuseau horaire
  • Titre
  • Téléphone
  • Est administrateur
  • Propriétaire
  • Propriétaire principal
  • Est restreint
  • est soumis à des restrictions très strictes.
  • Est un bot
  • Utilisateur de l'application
  • Adresse e-mail confirmée
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 :

  • Texte
  • Bloquer
Oui Spécifiez le type de message à envoyer.
Type de destinataire LDD

Nom

Valeurs possibles :

  • Nom
  • ID
  • E-mail
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 :

  • Nom
  • ID
  • E-mail
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.