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:
Vai alla pagina https://api.slack.com/ e fai clic su Inizia a creare.
Inserisci i parametri Nome app e Spazio di lavoro Slack di sviluppo. Fai clic su Crea app.
Vai alla scheda OAuth e autorizzazioni e scorri verso il basso fino alle sezioni Ambiti.
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
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.
Scorri verso l'alto e fai clic su Installa app in Workspace.
Fai clic su Consenti.
Copia uno dei token creati, a seconda che tu voglia utilizzare un bot o un utente.
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 | Sì | 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 | Sì | Canale di destinazione. |
Domanda | Stringa | N/D | Sì | 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 | Sì | Specifica il testo della domanda da aggiungere al blocco. |
Pulsanti delle risposte | Stringa | N/D | Sì | Specifica i pulsanti di risposta da aggiungere al blocco. |
URL di base Siemplify | Stringa | N/D | Sì | Specifica l'URL di base del server Google SecOps da aggiungere al blocco. |
ID richiesta | Stringa | N/D | Sì | Specifica l'case ID Google SecOps da aggiungere al blocco. |
UUID token webhook | Stringa | N/D | Sì | 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 | Sì | 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 | Sì | 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 | Sì | Specifica l'ID canale o utente per cui recuperare la cronologia delle conversazioni. |
Intervallo di tempo | DDL | Ultima ora Valori possibili:
|
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 | Valori possibili:
|
Sì | Specifica il parametro in base al quale cercare i dettagli dell'utente. |
Valore utente | Stringa | N/D | Sì | 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:
|
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 | Sì | 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 | Sì | 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:
|
Sì | Specifica il tipo di messaggio da inviare. |
Tipo di destinatario | DDL | Nome Valori possibili:
|
Sì | 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 | Sì | Specifica il destinatario a cui inviare un messaggio. |
Messaggio | Stringa | N/D | Sì | 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:
| Sì | 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 | Sì | Specifica il destinatario a cui inviare un messaggio. |
Messaggio | Stringa | N/D | Sì | Specifica i contenuti del messaggio da inviare. |
UUID token webhook | Stringa | N/D | Sì | 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 | Sì | 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 | Sì | 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 | Sì | Nome file di destinazione. |
Percorso file | Stringa | N/D | Sì | Percorso del file di destinazione. |
Canale | Stringa | N/D | Sì | 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 | Sì | Canale di destinazione. |
Timestamp del messaggio | Stringa | N/D | Sì | 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 | Sì | 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.