Slack
Versão de integração: 23.0
Configure o Slack para funcionar com o Google Security Operations
Para configurar o Slack para funcionar com o Google SecOps, primeiro tem de criar uma nova app:
Aceda a https://api.slack.com/ e clique em Start Building.
Introduza os parâmetros Nome da app e Espaço de trabalho do Slack de desenvolvimento. Clique em Criar app.
Aceda ao separador OAuth e autorizações e desloque a página para baixo até às secções Âmbitos.
Adicione os seguintes âmbitos/autorizações. O Slack recomenda que adicione âmbitos de tokens OAuth para um bot e não autorizações do utilizador:
- 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
Para permitir a interatividade da app para ações como "Enviar mensagem interativa" e "Aguardar resposta com webhook", adicione um URL de pedido para a sua app. Para mais informações, consulte o documento Processar a interação do utilizador nas suas apps Slack disponível na documentação do Slack.
Desloque a página para cima e clique em Instalar app no Workspace.
Clique em Permitir.
Copie um dos tokens criados, consoante pretenda usar um bot ou um utilizador.
Configure a integração com um desses tokens.
Rede
Função | Porta predefinida | Direção | Protocolo |
---|---|---|---|
API | Vários valores | De saída | apitoken |
Configure a integração do Slack no Google SecOps
Para obter instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte o artigo Configure integrações.
Parâmetros de integração
Use os seguintes parâmetros para configurar a integração:
Nome a apresentar do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Nome da instância | String | N/A | Não | Nome da instância para a qual pretende configurar a integração. |
Descrição | String | N/A | Não | Descrição da instância. |
Chave da API | String | N/A | Sim | Token de API gerado na consola do Slack. |
Validar SSL | Caixa de verificação | Desmarcado | Não | Use esta caixa de verificação se a sua ligação ao Slack exigir uma validação SSL (desmarcada por predefinição). |
Executar remotamente | Caixa de verificação | Desmarcado | Não | Selecione o campo para executar a integração configurada remotamente. Depois de selecionada, a opção aparece para selecionar o utilizador remoto (agente). |
Ações
Fazer pergunta
Descrição
Fazer uma pergunta no Slack.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Canal | String | N/A | Sim | Canal de destino. |
Pergunta | String | N/A | Sim | Conteúdo da pergunta. |
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado JSON
N/A
Bloco de criação
Descrição
Crie um bloco de mensagens do Slack com base nos critérios de entrada fornecidos. Esta ação cria um bloco com um webhook que pode ser transmitido posteriormente à ação "Enviar mensagem interativa" para enviar uma mensagem com.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Pergunta | String | N/A | Sim | Especifique o texto da pergunta a adicionar ao bloco. |
Botões de respostas | String | N/A | Sim | Especifique os botões de resposta a adicionar ao bloco. |
URL de base do Siemplify | String | N/A | Sim | Especifique o URL base do servidor do Google SecOps a adicionar ao bloco. |
ID do caso | String | N/A | Sim | Especifique o ID do registo do Google SecOps a adicionar ao bloqueio. |
UUID do token do webhook | String | N/A | Sim | Especifique o UUID do token do webhook a monitorizar para a resposta do utilizador. |
Exemplos de utilização do manual de estratégias
Crie um bloco que pode ser transmitido posteriormente à ação "Enviar mensagem avançada" para enviar uma mensagem com um bloco.
Executar em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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\": \"...\"}]}]"
}
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Se um bloco de criação for criado com êxito (is_succeed=True): "O bloco do Slack foi criado com êxito." Se não for possível criar um bloco do Slack devido a um erro geral (is_succeed=False): "Failed to create a block because of the occurred error: {0}".format(error text) A ação deve falhar e parar a execução de um guia interativo: Se não for especificado um URL baseado em webhook na configuração da integração: "Falha ao executar a ação. Especifique o parâmetro de integração "URL base do webhook"." Se for comunicado um erro fatal, como credenciais incorretas, sem ligação ao servidor ou outro: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace) |
Geral |
Criar canal
Descrição
Crie um canal do Slack.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Nome do canal | String | N/A | Sim | Especifique o nome do canal. Nota: os nomes dos canais só podem conter letras minúsculas, números, hífenes e sublinhados, e têm de ter um máximo de 80 carateres. |
IDs de utilizador | String | N/A | Sim | Especifique os IDs dos utilizadores que devem ser convidados para o canal recém-criado. Exemplo: U014JDHLW87, U08544ABC85. |
É privado | Caixa de verificação | Desmarcado | Não | Se estiver ativada, a ação cria um canal privado. |
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_success | Verdadeiro/Falso | is_success:False |
Resultado 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
}
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Se "ok"== true e o parâmetro de ação "Private" for falso e o parâmetro de IDs de utilizadores estiver vazio (is_success=true): "Successfully created channel {0}".format(name) Se "ok"== true e o parâmetro de ação "Private" for verdadeiro e o parâmetro de IDs de utilizadores estiver vazio (is_success=true): "Successfully created private channel {0}".format(name) Se "ok"== true e o parâmetro de ação "Private" for false e os IDs dos utilizadores estiverem disponíveis (is_success=true): "Successfully created channel {0} and added {1} users".format(name, user_ids) Se "ok"== true e o parâmetro de ação "Private" for verdadeiro e os IDs dos utilizadores estiverem disponíveis (is_success=true): "Successfully created private channel {0} and added {1} users".format(name, user_ids) If "ok" == false. No primeiro pedido (is_success=false): "Falha ao criar o canal {0}. Reason: {1}".format(name, value of error parameter from response) Se "ok" == false no segundo pedido (is_success=false): "O canal {0} foi criado, mas os utilizadores não foram convidados. Reason:".format(name, value of error parameter from response) If "ok" == false and error == "user_not_found" (is_success=false): "Não foi possível adicionar utilizadores ao canal {0}. Motivo: {1} dos IDs de utilizador especificados não existe no Slack".format(name, len(errors) from the response) A ação deve falhar e parar a execução de um guia interativo: Se for comunicado um erro fatal (credenciais incorretas, erro de ligação, falhas de ações): "Erro ao executar a ação "Criar canal". Motivo: {0}''.format(error.Stacktrace) |
Geral |
Obtenha o histórico de conversas do canal ou do utilizador
Descrição
Obter o histórico de conversas de um utilizador ou um canal com base nos critérios de entrada fornecidos. Esta ação funciona com o ID do canal ou do utilizador, que pode ser pesquisado com as ações "List Channels" ou "List User".
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
ID do canal ou do utilizador | String | N/A | Sim | Especifique o ID do canal ou do utilizador para obter o histórico de conversas. |
Intervalo de tempo | LDD | Última hora Valores possíveis:
|
Não | Especifique um período para os resultados. Se "Personalizado" estiver selecionado, também tem de fornecer o parâmetro "Hora de início". |
Hora de início | String | N/A | Não | Especifique a hora de início dos resultados. Este parâmetro é obrigatório se "Personalizado" estiver selecionado para o parâmetro "Intervalo de tempo". Formato: ISO 8601. Exemplo: 2021-08-05T05:18:42Z |
Hora de fim | String | N/A | Não | Especifique a hora de fim dos resultados. Se não for fornecido nada e "Personalizado" for selecionado para o parâmetro "Intervalo de tempo", este parâmetro usa a hora atual. Formato: ISO 8601. Exemplo: 2021-08-05T05:18:42Z. |
Máximo de registos a devolver | Número inteiro | 20 | Não | Especifique o número de registos a devolver. Se não for fornecido nada, a ação devolve 20 registos. |
Exemplos de utilização do manual de estratégias
Obter o histórico de conversas para investigar alertas.
É apresentado em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_success | Verdadeiro/Falso | is_success:False |
Resultado 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"
}
]
}
]
}
]
}
]
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Se o histórico da conversa for encontrado com êxito (is_succeed=True): "O histórico da conversa foi obtido com êxito." Se não for encontrada a conversa com o ID fornecido (is_succeed=False): "Failed to find conversation for provided id {0}".format(channel_or_user_id) Se a conversa com o ID fornecido for encontrada e não forem encontradas mensagens para o período fornecido (is_succeed=False): "Conversation with id {0} was found, but no messages were found for the provided time frame.".format(channel_or_user_id) A ação deve falhar e parar a execução de um guia interativo: Se for comunicado um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace) Se for fornecido um valor inválido para o parâmetro "Max Records to Return" (Máximo de registos a devolver): "Error executing action "{action name}". Motivo: foi fornecido um valor inválido para "Max Records to Return": . Deve ser fornecido um número positivo"." Se "Personalizado" estiver selecionado para o parâmetro "Intervalo de tempo" e o parâmetro "Hora de início" não estiver especificado: "Erro ao executar a ação "{nome da ação}". Motivo: "A hora de início não foi facultada para o intervalo de tempo personalizado." |
Geral |
Obtenha detalhes do utilizador
Descrição
Obtenha detalhes do utilizador do Slack com base nos critérios de entrada fornecidos.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Pesquisar por | LDD | Valores possíveis:
|
Sim | Especifique o parâmetro pelo qual pesquisar os detalhes do utilizador. |
Valor do utilizador | String | N/A | Sim | Especifique o valor do utilizador pelo qual pesquisar. |
Exemplos de utilização do manual de estratégias
Obtenha detalhes do utilizador para enriquecer o processamento de alertas no Google SecOps.
Executar em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_success | Verdadeiro/Falso | is_success:False |
Resultado 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"
}
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída\* | A ação não deve falhar nem parar a execução de um guia interativo: Se os detalhes do utilizador forem encontrados com êxito (is_succeed=True): "Os detalhes do utilizador foram obtidos com êxito." Se não forem encontrados detalhes do utilizador com base nos critérios fornecidos (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 os detalhes do utilizador forem encontrados pelo nome e forem encontradas mais do que uma correspondência (is_succeed=True): "For the provided search criteria multiple matches were found: Search by: <0> User value: <1>".format(search_by, user_value) Se o utilizador não for encontrado (is_succeed=False) devido a algum erro geral: "Failed to fetch user details because of occurred error: (0}" (texto de erro) A ação deve falhar e parar a execução de um guia interativo: Se for comunicado um erro fatal, como credenciais incorretas, sem ligação ao servidor ou outro: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace) |
Geral |
Tabela de parede da caixa | Nome da tabela: detalhes do utilizador do Slack Colunas da tabela:
|
Geral |
Obtenha detalhes do utilizador por ID
Descrição
Obtenha os detalhes do utilizador através do respetivo ID.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
ID do utilizador | String | N/A | Sim | ID do utilizador. |
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado JSON
N/A
Listar canais
Descrição
Aceder a uma lista de canais do Slack.
Parâmetros
N/A
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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": []
}
]
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Se "ok" == false (is_success=false): "Falha ao listar canais. Motivo: {0}".format(value of error parameter from response) |
Geral |
Listar utilizador
Descrição
Esta ação tem a função de obter uma lista de utilizadores do Slack.
Parâmetros
N/A
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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
}
]
Tchim-tchim
Descrição
Testar conetividade.
Parâmetros
N/A
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado JSON
N/A
Mude o nome do canal
Descrição
Mude o nome do canal do Slack.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Nome do canal | String | N/A | Não | Especifique o nome do canal ao qual quer mudar o nome. Nota: se os parâmetros "Nome do canal" e "ID do canal" forem especificados, a ação só funciona com o ID. |
ID do canal | String | N/A | Não | Especifique o ID do canal cujo nome quer mudar. Nota: se os parâmetros "Nome do canal" e "ID do canal" forem especificados, a ação só funciona com o ID. |
Novo nome | String | N/A | Sim | Especifique um novo nome para o canal. Nota: os nomes dos canais só podem conter letras minúsculas, números, hífenes e sublinhados, e têm de ter um máximo de 80 carateres. |
Executar em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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"
]
}
}
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: If "ok"== true (is_success=true): "Successfully renamed channel {0} to {1} {0}".format(name/ID, new name) If "ok"== false (is_success=false): "Action wasn't able to rename channel {0}. Motivo: {1}".format(name,error from the response) Se não foi possível encontrar o canal pelo nome do canal (is_success=false): "Não foi possível mudar o nome do canal {0}. Motivo: não foi possível encontrar o canal".format(name) A ação deve falhar e parar a execução de um guia interativo: Se for comunicado um erro fatal (credenciais incorretas, erro de ligação, falhas de ações): "Erro ao executar a ação "Mudar o nome do canal". Motivo: {0}''.format(error.Stacktrace) Se os parâmetros "Channel Name" e "Channel ID" não forem especificados: "Erro ao executar a ação "Rename Channel". Motivo: tem de especificar o "Nome do canal" ou o "ID do canal"." |
Geral |
Enviar mensagem avançada
Descrição
Envie uma mensagem avançada para um canal ou um utilizador do Slack. Esta ação oferece a capacidade de enviar mensagens de texto simples e mensagens de blocos do Slack com botões, formatação avançada e muito mais. Para mais informações sobre mensagens de bloqueio, consulte o Slack Block Kit .
Esta ação pode ser usada em conjunto com a ação "Aguardar resposta com webhook" para primeiro enviar uma mensagem de bloqueio com um webhook a um utilizador e, mais tarde, com a ação "Aguardar resposta com webhook", verificar a resposta do utilizador.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Tipo de mensagem | LDD | Texto Valores possíveis:
|
Sim | Especifique o tipo de mensagem a enviar. |
Tipo de destinatário | LDD | Nome Valores possíveis:
|
Sim | Especifique o canal ou o nome de utilizador (nome completo) para o qual quer enviar a mensagem. Opcionalmente, especifique o ID do canal ou do utilizador, ou o endereço de email de um utilizador. |
Destinatário | String | N/A | Sim | Especifique o destinatário ao qual quer enviar uma mensagem. |
Mensagem | String | N/A | Sim | Especifique o conteúdo da mensagem a enviar. |
Exemplos de utilização do manual de estratégias
Enviar uma mensagem com conteúdo rico, como botões, links ou imagens.
Executar em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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
}
}
]
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Se a mensagem for enviada com êxito (is_succeed=True): "A mensagem foi enviada com êxito" Se a mensagem não for enviada com êxito (is_succeed=False) porque não foi encontrado o destinatário especificado: "Message was not sent as the specified recipient {0} with type {1} was not found." (A mensagem não foi enviada porque não foi encontrado o destinatário especificado {0} com o tipo {1}.) (destinatário, tipo de destinatário) Se a mensagem não for enviada com êxito (is_succeed=False) devido a algum erro geral: "Message was not sent because of occurred error: (0}" (texto do erro) A ação deve falhar e parar a execução de um guia interativo: Se for comunicado um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace) |
Geral |
Envie uma mensagem interativa
Descrição
Envie uma mensagem interativa para um canal ou um utilizador e, com base no UUID do webhook fornecido, verifique a resposta do utilizador. Esta ação é semelhante à ação "Enviar mensagem avançada", mas permite enviar apenas conteúdo de blocos (não mensagens de texto simples) e também requer um UUID do webhook para verificar a resposta do utilizador a um webhook.
A ação é assíncrona. Ajuste o limite de tempo da ação no IDE em conformidade.
Configure a app Slack usada na integração para permitir mensagens interativas. Para mais informações sobre a configuração da app Slack, consulte o artigo Prepare a sua aplicação para mensagens interativas.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Tipo de destinatário | LDD | Nome Valores possíveis:
| Sim | Especifique o canal ou o nome de utilizador (nome completo) para o qual quer enviar a mensagem. Opcionalmente, especifique o ID do canal ou do utilizador, ou o endereço de email de um utilizador. |
Destinatário | String | N/A | Sim | Especifique o destinatário ao qual quer enviar uma mensagem. |
Mensagem | String | N/A | Sim | Especifique o conteúdo da mensagem a enviar. |
UUID do token do webhook | String | N/A | Sim | Especifique o UUID do token do webhook a monitorizar para a resposta do utilizador. |
Exemplos de utilização do manual de estratégias
Enviar uma mensagem com conteúdo rico, como botões, links ou imagens.
Executar em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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": []
}
]
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Se a mensagem for enviada com êxito (is_succeed=True): "A mensagem foi enviada com êxito" Se a mensagem não for enviada com êxito (is_succeed=False) porque não foi encontrado o destinatário especificado: "Message was not sent as the specified recipient {0} with type {1} was not found." (A mensagem não foi enviada porque não foi encontrado o destinatário especificado {0} com o tipo {1}.) (destinatário, tipo de destinatário) Se a mensagem não for enviada com êxito (is_succeed=False) devido a algum erro geral: "Message was not sent because of occurred error: (0}" (texto do erro) Mensagens da Case Wall para a funcionalidade assíncrona: Uma mensagem no mural do registo para as iterações enquanto aguarda a resposta: "A aguardar a resposta à mensagem enviada com um webhook. URL do webhook com UUID: {0}".format(URL do webhook da configuração de integração + UUID do token Web) Se a resposta for obtida com êxito (is_succeed=True): "Resposta do utilizador a um webhook obtida com êxito! Conteúdo da resposta: {0}".format(payload that was sent from user to a webhook) Se não for possível obter a resposta até ao limite de tempo: "Não foi encontrada uma resposta do utilizador a um webhook e a ação foi interrompida devido ao limite de tempo." A ação deve falhar e parar a execução de um guia interativo: Se não for especificado um URL baseado em webhook na configuração da integração e for especificado um token UUID do webhook: "Falha ao executar a ação. Especifique o parâmetro de integração "URL base do webhook". " Se for comunicado um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Falha ao executar a ação "Enviar mensagem interativa"! O erro é {0}".format(exception.stacktrace) |
Geral |
Enviar mensagem
Descrição
Envie uma mensagem a um utilizador ou a vários utilizadores/canais.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Canal | String | N/A | Sim | O nome do canal do Slack ou o endereço de email do utilizador ao qual enviar a mensagem. Os valores introduzidos têm de estar separados por vírgulas. |
Mensagem | String | N/A | Sim | Conteúdo da mensagem. |
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado JSON
N/A
Carregar ficheiro
Descrição
Adicione ficheiros ao Slack e partilhe-os com os seus colegas para ajudar na colaboração. Pode escolher e carregar ficheiros para o Slack a partir do seu dispositivo ou da sua app de gestão de ficheiros preferida. Os ficheiros carregados são armazenados, pesquisáveis e partilháveis no seu espaço de trabalho.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Nome do ficheiro | String | N/A | Sim | Nome do ficheiro de destino. |
Caminho do ficheiro | String | N/A | Sim | Caminho do ficheiro de destino. |
Canal | String | N/A | Sim | Canal de destino. |
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado JSON
N/A
Aguardar resposta
Descrição
Aguardar uma resposta numa discussão a uma mensagem num canal.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
Canal | String | N/A | Sim | Canal de destino. |
Data/hora da mensagem | String | N/A | Sim | A data/hora da mensagem a partir da qual quer obter as respostas (em milissegundos). |
ID do canal | String | N/A | Não | O ID do canal do Slack de destino. |
Exemplos de utilização de guias interativos
Playbook com ação de envio de mensagem e, depois, aguardar uma resposta (com o canal como marcador de posição da ação anterior – ID do canal)
Executar em
Esta ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado JSON
N/A
Aguarde resposta com webhook
Descrição
Aguardar que um utilizador responda a uma mensagem enviada com um webhook. Esta ação verifica periodicamente o webhook fornecido para ver se o utilizador deu alguma resposta. A ação pode ser usada com a ação "Enviar mensagem avançada", se a mensagem de bloqueio com webhook tiver sido enviada, para verificar se a resposta do utilizador foi fornecida ao webhook.
Esta ação é assíncrona. Ajuste o valor de tempo limite do script no IDE em conformidade.
Parâmetros
Nome do parâmetro | Tipo | Valor predefinido | É obrigatório | Descrição |
---|---|---|---|---|
UUID do token do webhook | String | N/A | Sim | Especifique o UUID do token do webhook a monitorizar para a resposta do utilizador. |
Exemplos de utilização do manual de estratégias
Aguarde uma resposta a uma mensagem com um webhook.
Executar em
Esta ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valores | Exemplo |
---|---|---|
is_succeed | Verdadeiro/Falso | is_succeed:False |
Resultado 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"
}
Case Wall
Tipo de resultado | Valor / descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não deve falhar nem parar a execução de um guia interativo: Uma mensagem no mural do registo para as iterações enquanto aguarda a resposta: "A aguardar a resposta à mensagem enviada com um webhook. URL do webhook com UUID: {0}".format(URL do webhook da configuração de integração + UUID do token Web) Se a resposta for obtida com êxito (is_succeed=True): "Resposta do utilizador ao webhook obtida com êxito! Conteúdo da resposta: {0}".format(payload that was sent from user to a webhook) Se não for possível obter a resposta até ao limite de tempo: "Não foi encontrada uma resposta do utilizador a um webhook e a ação foi interrompida devido ao limite de tempo." A ação deve falhar e parar a execução de um guia interativo: Se o URL baseado no webhook não for especificado na configuração da integração e o token UUID do webhook for especificado: "Falha ao executar a ação. Especifique o parâmetro de integração "URL base do webhook". " Se for comunicado um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace) |
Geral |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.