Slack

Versione integrazione: 23.0

Configurare Slack per funzionare con Google Security Operations

Per configurare Slack in modo che funzioni con Google SecOps, devi innanzitutto creare una nuova app:

  1. Vai alla pagina https://api.slack.com/ e fai clic su Inizia a creare.

  2. Inserisci i parametri Nome app e Spazio di lavoro Slack di sviluppo. Fai clic su Crea app.

    Crea una finestra di dialogo dell'app Slack

  3. Vai alla scheda OAuth e autorizzazioni e scorri verso il basso fino alle sezioni Ambiti.

    Scheda OAuth e autorizzazioni

  4. Aggiungi i seguenti ambiti/autorizzazioni. Slack consiglia di aggiungere gli ambiti del token OAuth per un bot, non le autorizzazioni utente:

    • 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

    Finestra di dialogo Ambiti delle autorizzazioni

  5. Per consentire l'interattività delle app per azioni come "Invia messaggio interattivo" e "Attendi risposta con webhook", aggiungi un URL di richiesta per la tua app. Per ulteriori informazioni, consulta il documento Gestione dell'interazione degli utenti nelle app Slack disponibile nella documentazione di Slack.

  6. Scorri verso l'alto e fai clic su Installa app in Workspace.

    Posizione del pulsante Installa app in Workspace

  7. Fai clic su Consenti.

    Impostazioni di accesso alle autorizzazioni di LabBot

  8. Copia uno dei token creati, a seconda che tu voglia utilizzare un bot o un utente.

  9. Configura l'integrazione con uno di questi token.

Rete

Funzione Porta predefinita Direzione Protocollo
API Multivalori In uscita apitoken

Configura l'integrazione di Slack in Google SecOps

Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, vedi Configurare le integrazioni.

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Nome istanza Stringa N/D No Nome dell'istanza per cui intendi configurare l'integrazione.
Descrizione Stringa N/D No Descrizione dell'istanza.
Token API Stringa N/D Token API generato nella console Slack.
Verifica SSL Casella di controllo Deselezionata No Utilizza questa casella di controllo se la connessione Slack richiede una verifica SSL (non selezionata per impostazione predefinita).
Esegui da remoto Casella di controllo Deselezionata No Seleziona il campo per eseguire l'integrazione configurata da remoto. Una volta selezionata, viene visualizzata l'opzione per selezionare l'utente remoto (agente).

Azioni

Fai una domanda

Descrizione

Fai una domanda in Slack.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Canale Stringa N/D Canale di destinazione.
Domanda Stringa N/D Contenuti della domanda.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
N/A

Build Block

Descrizione

Crea un blocco di messaggi Slack in base ai criteri di input forniti. Questa azione crea un blocco con un webhook che può essere passato in un secondo momento all'azione "Invia messaggio interattivo" per inviare un messaggio.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Domanda Stringa N/D Specifica il testo della domanda da aggiungere al blocco.
Pulsanti delle risposte Stringa N/D Specifica i pulsanti di risposta da aggiungere al blocco.
URL di base Siemplify Stringa N/D Specifica l'URL di base del server Google SecOps da aggiungere al blocco.
ID richiesta Stringa N/D Specifica l'case ID Google SecOps da aggiungere al blocco.
UUID token webhook Stringa N/D Specifica l'UUID del token webhook da monitorare per la risposta dell'utente.

Esempi di casi d'uso del playbook

Crea un blocco che può essere passato in un secondo momento all'azione "Invia messaggio avanzato" per inviare un messaggio con un blocco.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato 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\": \"...\"}]}]"
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se un blocco di creazione viene creato correttamente (is_succeed=True): "Slack block was created successfully." (Il blocco Slack è stato creato correttamente.)

Se non è stato possibile creare un blocco Slack a causa di un errore generale (is_succeed=False): "Failed to create a block because of the occurred error: {0}".format(error text)

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se non viene specificato un URL basato su webhook nella configurazione dell'integrazione: "Impossibile eseguire l'azione. Specifica il parametro di integrazione "Webhook Base URL"."

Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Impossibile eseguire l'azione "Invia messaggio avanzato". Error is {0}".format(exception.stacktrace)

Generale

Creazione canale

Descrizione

Crea un canale Slack.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Nome del canale Stringa N/D

Specifica il nome del canale.

Nota:i nomi dei canali possono contenere solo lettere minuscole, numeri, trattini e trattini bassi e devono contenere al massimo 80 caratteri.

ID utente Stringa N/D

Specifica gli ID degli utenti da invitare nel canale appena creato.

Esempio: U014JDHLW87, U08544ABC85.

È privato Casella di controllo Deselezionata No Se abilitata, l'azione crea un canale privato.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato 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
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se "ok"== true e il parametro di azione "Private" è false e il parametro User IDs è vuoto (is_success=true):

"Creazione del canale {0} riuscita".format(name)

Se "ok"== true e il parametro di azione "Private" è true e il parametro ID utente è vuoto (is_success=true): "Successfully created private channel {0}".format(name)

Se "ok"== true e il parametro di azione "Private" è false e gli ID utente sono disponibili (is_success=true): "Successfully created channel {0} and added {1} users".format(name, user_ids)

Se "ok"== true e il parametro di azione "Private" è true e gli ID utente sono disponibili (is_success=true):

"Successfully created private channel {0} and added {1} users".format(name, user_ids)

Se "ok" == false. Nella prima richiesta (is_success=false):

"Impossibile creare il canale {0}. Motivo: {1}".format(name, value of error parameter from response)

Se "ok" == false nella seconda richiesta (is_success=false):

"Il canale {0} è stato creato, ma gli utenti non sono stati invitati. Motivo:".format(name, value of error parameter from response)

Se "ok" == false ed error == "user_not_found" (is_success=false):

"Impossibile aggiungere utenti al canale {0}. Motivo: {1} degli ID utente specificati non esiste in Slack".format(name, len(errors) from the response)

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se viene segnalato un errore irreversibile (credenziali errate, errore di connessione, arresto anomalo dell'azione): "Errore durante l'esecuzione dell'azione "Crea canale". Motivo: {0}''.format(error.Stacktrace)

Generale

Recuperare la cronologia delle conversazioni di un canale o di un utente

Descrizione

Recupera la cronologia delle conversazioni per un utente o un canale in base ai criteri di input forniti. Questa azione funziona con l'ID canale o utente, che può essere cercato con le azioni "Elenca canali" o "Elenca utenti".

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID canale o utente Stringa N/D Specifica l'ID canale o utente per cui recuperare la cronologia delle conversazioni.
Intervallo di tempo DDL

Ultima ora

Valori possibili:

  • Ultima ora
  • Ultime 6 ore
  • Ultime 24 ore
  • Settimana scorsa
  • Mese scorso
  • Personalizzato
No

Specifica un periodo di tempo per i risultati.

Se è selezionata l'opzione "Personalizzato", devi fornire anche il parametro "Ora di inizio".

Ora di inizio Stringa N/D No

Specifica l'ora di inizio per i risultati.

Questo parametro è obbligatorio se è selezionato "Personalizzato" per il parametro "Intervallo di tempo".

Formato: ISO 8601.

Esempio: 2021-08-05T05:18:42Z

Ora di fine Stringa N/D No

Specifica l'ora di fine per i risultati.

Se non viene fornito nulla e per il parametro "Intervallo di tempo" è selezionato "Personalizzato", questo parametro utilizza l'ora corrente.

Formato: ISO 8601.

Esempio: 2021-08-05T05:18:42Z.

Numero massimo di record da restituire Numero intero 20 No

Specifica il numero di record da restituire.

Se non viene fornito nulla, l'azione restituisce 20 record.

Esempi di casi d'uso del playbook

Recupera la cronologia delle conversazioni per esaminare gli avvisi.

Pubblica su

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato 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"
              }
            ]
          }
        ]
      }
    ]
  }
]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se la cronologia delle conversazioni viene trovata (is_succeed=True): "La cronologia delle conversazioni è stata recuperata correttamente."

Se la conversazione con l'ID fornito non viene trovata (is_succeed=False): "Failed to find conversation for provided id {0}".format(channel_or_user_id)

Se la conversazione con l'ID fornito viene trovata e non vengono trovati messaggi per il periodo di tempo fornito (is_succeed=False): "È stata trovata la conversazione con ID {0}, ma non sono stati trovati messaggi per il periodo di tempo fornito.".format(channel_or_user_id)

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Impossibile eseguire l'azione "Invia messaggio avanzato". Error is {0}".format(exception.stacktrace)

Se viene fornito un valore non valido per il parametro "Numero massimo di record da restituire": "Errore durante l'esecuzione dell'azione "{nome azione}". Motivo: "È stato fornito un valore non valido per "Numero massimo di record da restituire": . Deve essere fornito un numero positivo"."

Se è selezionata l'opzione "Personalizzato" per il parametro "Intervallo di tempo" e il parametro "Ora di inizio" non è specificato: "Errore durante l'esecuzione dell'azione "{nome azione}". Motivo: "L'ora di inizio non è stata fornita per l'intervallo di tempo personalizzato".

Generale

Ottieni dettagli utente

Descrizione

Recupera i dettagli dell'utente Slack in base ai criteri di input forniti.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Cerca per DDL

Email

Valori possibili:

  • Email
  • Nome
  • ID
Specifica il parametro in base al quale cercare i dettagli dell'utente.
Valore utente Stringa N/D Specifica il valore utente in base al quale eseguire la ricerca.

Esempi di casi d'uso del playbook

Recupera i dettagli utente per migliorare l'elaborazione degli avvisi in Google SecOps.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato 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"
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se i dettagli utente vengono trovati correttamente (is_succeed=True): "I dettagli utente sono stati recuperati correttamente."

Se i dettagli dell'utente non vengono trovati in base ai criteri forniti (is_succeed=False): "Failed to find user details based on the provided criteria: Search by: <0> User value: <1>".format(search_by, user_value)

Se i dettagli dell'utente vengono trovati in base al nome e vengono trovate più corrispondenze (is_succeed=True): "Per i criteri di ricerca forniti sono state trovate più corrispondenze: Cerca per: <0> Valore utente: <1>".format(search_by, user_value)

Se l'utente non viene trovato (is_succeed=False) a causa di un errore generale: "Failed to fetch user details because of occurred error: (0}" (testo dell'errore)

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Impossibile eseguire l'azione "Invia messaggio avanzato". Error is {0}".format(exception.stacktrace)

Generale
Tabella Bacheca casi

Nome tabella:Dettagli utente Slack

Colonne della tabella:

  • ID
  • ID team
  • Nome
  • Nome reale
  • Nome visualizzato
  • Nome
  • Cognome
  • Data/ora aggiornamento
  • Fuso orario
  • Titolo
  • Telefono
  • È amministratore
  • È il proprietario
  • È il proprietario principale
  • È con limitazioni
  • È soggetta a limitazioni estreme
  • È un bot
  • Is App User
  • Is Email Confirmed
Generale

Ottieni i dettagli utente per ID

Descrizione

Visualizza i dettagli dell'utente in base al suo ID.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID utente Stringa N/D ID utente.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
N/A

Elenco canali

Descrizione

Recupera un elenco di canali Slack.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato 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": []
    }
]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se "ok" == false (is_success=false): "Failed to list channels. Motivo: {0}".format(value of error parameter from response)

Generale

List User

Descrizione

Questa azione ha il ruolo di ottenere un elenco di utenti Slack.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato 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
    }
]

Dindin

Descrizione

Testa la connettività.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
N/A

Rinomina il canale

Descrizione

Rinomina il canale Slack.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Nome del canale Stringa N/D No

Specifica il nome del canale che vuoi rinominare.

Nota:se vengono specificati sia il parametro "Nome canale" che il parametro "ID canale", l'azione funziona solo con l'ID.

ID canale Stringa N/D No

Specifica l'ID del canale che vuoi rinominare.

Nota:se vengono specificati sia il parametro "Nome canale" che il parametro "ID canale", l'azione funziona solo con l'ID.

Nuovo nome Stringa N/D

Specifica un nuovo nome per il canale.

Nota:i nomi dei canali possono contenere solo lettere minuscole, numeri, trattini e trattini bassi e devono contenere al massimo 80 caratteri.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON

Quando "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"
        ]
    }
}

Quando "ok" == false:

{
    "ok": false,
    "error": "name_taken",
    "warning": "missing_charset",
    "response_metadata": {
        "warnings": [
            "missing_charset"
        ]
    }
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

If "ok"== true (is_success=true): "Successfully renamed channel {0} to {1} {0}".format(name/ID, new name)

Se "ok"== false (is_success=false): "Impossibile rinominare il canale {0}. Motivo: {1}".format(name,error from the response)

Se il canale non è stato trovato in base al nome (is_success=false): "L'azione non è riuscita a rinominare il canale {0}. Motivo: canale non trovato".format(name)

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se viene segnalato un errore irreversibile (credenziali errate, errore di connessione, arresto anomalo dell'azione): "Errore durante l'esecuzione dell'azione "Rinomina canale". Motivo: {0}''.format(error.Stacktrace)

Se i parametri "Nome canale" e "ID canale" non sono specificati: "Errore durante l'esecuzione dell'azione "Rinomina canale". Motivo: devi specificare "Nome canale" o "ID canale"."

Generale

Invia messaggio avanzato

Descrizione

Invia un messaggio avanzato a un canale o a un utente Slack. Questa azione offre la possibilità di inviare semplici messaggi di testo e messaggi di blocchi Slack avanzati con pulsanti, formattazione avanzata e altro ancora. Per saperne di più sui messaggi a blocchi, consulta Slack Block Kit .

Questa azione può essere utilizzata insieme all'azione "Attendi risposta con webhook" per inviare prima un messaggio di blocco con un webhook a un utente e poi, con l'azione "Attendi risposta con webhook", verificare la risposta dell'utente.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Tipo di messaggio DDL

Testo

Valori possibili:

  • Testo
  • Blocca
Specifica il tipo di messaggio da inviare.
Tipo di destinatario DDL

Nome

Valori possibili:

  • Nome
  • ID
  • Email

Specifica il nome del canale o dell'utente (nome completo) a cui inviare il messaggio.

Se vuoi, specifica l'ID canale o utente oppure l'indirizzo email di un utente.

Destinatario Stringa N/D Specifica il destinatario a cui inviare un messaggio.
Messaggio Stringa N/D Specifica i contenuti del messaggio da inviare.

Esempi di casi d'uso del playbook

Inviare un messaggio con contenuti avanzati come pulsanti, link o immagini.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato 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
    }
  }
]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se il messaggio viene inviato correttamente (is_succeed=True): "Message was sent successfully" (Il messaggio è stato inviato correttamente)

Se il messaggio non viene inviato correttamente (is_succeed=False) perché il destinatario specificato non viene trovato: "Il messaggio non è stato inviato perché il destinatario specificato {0} con tipo {1} non è stato trovato." (destinatario, tipo di destinatario)

Se il messaggio non viene inviato correttamente (is_succeed=False) a causa di un errore generale: "Message was not sent because of occurred error: (0}" (testo dell'errore)

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Impossibile eseguire l'azione "Invia messaggio avanzato". Error is {0}".format(exception.stacktrace)

Generale

Inviare un messaggio interattivo

Descrizione

Invia un messaggio interattivo a un canale o a un utente e, in base all'UUID del webhook fornito, controlla la risposta dell'utente. Questa azione è simile all'azione "Invia messaggio avanzato", ma consente di inviare solo contenuti di blocco (non messaggi di testo normale) e richiede anche un UUID webhook per controllare la risposta dell'utente a un webhook.

L'azione è asincrona, regola il timeout dell'azione nell'IDE di conseguenza.

Configura l'app Slack utilizzata nell'integrazione per consentire i messaggi interattivi. Per saperne di più sulla configurazione dell'app Slack, consulta Preparare l'applicazione per i messaggi interattivi.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Tipo di destinatario DDL

Nome

Valori possibili:

  • Nome
  • ID
  • Email

Specifica il nome del canale o dell'utente (nome completo) a cui inviare il messaggio.

Se vuoi, specifica l'ID canale o utente oppure l'indirizzo email di un utente.

Destinatario Stringa N/D Specifica il destinatario a cui inviare un messaggio.
Messaggio Stringa N/D Specifica i contenuti del messaggio da inviare.
UUID token webhook Stringa N/D Specifica l'UUID del token webhook da monitorare per la risposta dell'utente.

Esempi di casi d'uso del playbook

Inviare un messaggio con contenuti avanzati come pulsanti, link o immagini.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato 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": []
  }
]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se il messaggio viene inviato correttamente (is_succeed=True): "Message was sent successfully" (Il messaggio è stato inviato correttamente)

Se il messaggio non viene inviato correttamente (is_succeed=False) perché il destinatario specificato non viene trovato: "Il messaggio non è stato inviato perché il destinatario specificato {0} con tipo {1} non è stato trovato." (destinatario, tipo di destinatario)

Se il messaggio non viene inviato correttamente (is_succeed=False) a causa di un errore generale: "Message was not sent because of occurred error: (0}" (testo dell'errore)

Messaggi della bacheca della richiesta per la funzionalità asincrona:

Un messaggio nella bacheca della richiesta per le iterazioni in attesa della risposta: "In attesa della risposta al messaggio inviato con un webhook. Webhook url with uuid: {0}".format(webhook url from integration configuration + web token uuid)

Se la risposta viene recuperata correttamente (is_succeed=True): "Successfully fetched the user's response to a webhook! Contenuti della risposta: {0}".format(payload that was sent from user to a webhook)

Se il recupero della risposta non è riuscito prima del timeout: "Non è stata trovata una risposta dell'utente a un webhook e l'azione è stata interrotta a causa del timeout."

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se non viene specificato un URL basato su webhook nella configurazione dell'integrazione e viene specificato un token UUID webhook: "Impossibile eseguire l'azione. Specifica il parametro di integrazione "URL di base webhook". "

Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Impossibile eseguire l'azione "Invia messaggio interattivo". Error is {0}".format(exception.stacktrace)

Generale

Invia messaggio

Descrizione

Invia un messaggio a un utente o a più utenti/canali.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Canale Stringa N/D

Il nome del canale Slack o l'indirizzo email dell'utente a cui inviare il messaggio.

I valori inseriti devono essere separati da virgole.

Messaggio Stringa N/D Contenuto del messaggio.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
N/A

Carica file

Descrizione

Aggiungi file a Slack e condividili con i tuoi colleghi per collaborare. Puoi scegliere e caricare file su Slack dal tuo dispositivo o dalla tua app di gestione dei file preferita. I file caricati vengono archiviati, sono ricercabili e possono essere condivisi nel tuo spazio di lavoro.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Nome file Stringa N/D Nome file di destinazione.
Percorso file Stringa N/D Percorso del file di destinazione.
Canale Stringa N/D Canale di destinazione.

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
N/A

Wait For Reply

Descrizione

Attendi una risposta a un thread a un messaggio in un canale.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Canale Stringa N/D Canale di destinazione.
Timestamp del messaggio Stringa N/D Il timestamp del messaggio da cui ottenere le risposte (in millisecondi).
ID canale Stringa N/D No L'ID del canale Slack di destinazione.

Casi d'uso dei playbook

Playbook con azione di invio messaggio e attesa di una risposta (con il canale come segnaposto dell'azione precedente: ID canale)

Run On

Questa azione viene eseguita su tutte le entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato JSON
N/A

Wait For Reply With Webhook

Descrizione

Attendi che un utente risponda a un messaggio inviato con un webhook. Questa azione controlla periodicamente il webhook fornito per verificare se l'utente ha fornito una risposta. L'azione può essere utilizzata con l'azione "Invia messaggio avanzato" se il messaggio di blocco con webhook è stato inviato, per verificare se la risposta dell'utente è stata fornita al webhook.

Questa azione è asincrona, quindi modifica il valore di timeout dello script nell'IDE di conseguenza.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
UUID token webhook Stringa N/D Specifica l'UUID del token webhook da monitorare per la risposta dell'utente.

Esempi di casi d'uso del playbook

Attendere una risposta a un messaggio con un webhook.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome risultato script Opzioni di valore Esempio
is_succeed Vero/Falso is_succeed:False
Risultato 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"
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Un messaggio nella bacheca della richiesta per le iterazioni in attesa della risposta: "In attesa della risposta al messaggio inviato con un webhook. Webhook url with uuid: {0}".format(webhook url from integration configuration + web token uuid)

Se la risposta viene recuperata correttamente (is_succeed=True): "Successfully fetched the user's response to a webhook! Contenuti della risposta: {0}".format(payload that was sent from user to a webhook)

Se il recupero della risposta non è riuscito prima del timeout: "Non è stata trovata una risposta dell'utente a un webhook e l'azione è stata interrotta a causa del timeout."

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se l'URL basato sul webhook non è specificato nella configurazione dell'integrazione e il token UUID webhook è specificato: "Impossibile eseguire l'azione, specifica il parametro di integrazione "URL di base del webhook". "

Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Impossibile eseguire l'azione "Invia messaggio avanzato". Error is {0}".format(exception.stacktrace)

Generale

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.