Slack

Versão da integração: 23.0

Configurar o Slack para trabalhar com o Google Security Operations

Para configurar o Slack para trabalhar com o Google SecOps, primeiro crie um novo app:

  1. Acesse https://api.slack.com/ e clique em Começar a criar.

  2. Insira os parâmetros Nome do app e Espaço de trabalho do Slack de desenvolvimento. Clique em Criar app.

    Criar uma caixa de diálogo "Criar um app do Slack"

  3. Acesse a guia OAuth e permissões e role a tela para baixo até as seções Escopos.

    Guia "OAuth e permissões"

  4. Adicione os seguintes escopos/permissões. O Slack recomenda adicionar escopos de token do OAuth para um bot, não permissões de usuário:

    • 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

    Caixa de diálogo "Escopos de permissão"

  5. Para permitir a interatividade do app em ações como "Enviar mensagem interativa" e "Aguardar resposta com webhook", adicione um URL de solicitação para seu app. Para mais informações, consulte o documento Processar interação do usuário nos apps do Slack disponível na documentação do Slack.

  6. Role para cima e clique em Instalar aplicativo no espaço de trabalho.

    Localização do botão "Instalar app no Workspace"

  7. Clique em Permitir.

    Configurações de acesso às permissões do LabBot

  8. Copie um dos tokens criados, dependendo se você quer usar um bot ou um usuário.

  9. Configure a integração com um desses tokens.

Rede

Função Porta padrão Direção Protocolo
API Multivalores Saída apitoken

Configurar a integração do Slack no Google SecOps

Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da instância String N/A Não Nome da instância em que você pretende configurar a integração.
Descrição String N/A Não Descrição da instância.
Token da API String N/A Sim Token de API gerado no console do Slack.
Verificar SSL Caixa de seleção Desmarcado Não Use esta caixa de seleção se a conexão do Slack exigir uma verificação SSL (desmarcada por padrão).
Executar remotamente Caixa de seleção Desmarcado Não Marque a caixa para executar a integração configurada remotamente. Depois de marcada, a opção aparece para selecionar o usuário remoto (agente).

Ações

Fazer pergunta

Descrição

Faça uma pergunta no Slack.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Canal String N/A Sim Canal de destino.
Pergunta String N/A Sim Conteúdo da pergunta.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
N/A

Build Block

Descrição

Crie um bloco de mensagens do Slack com base nos critérios de entrada fornecidos. Essa ação cria um bloco com um webhook que pode ser transmitido posteriormente para a ação "Enviar mensagem interativa" para enviar uma mensagem com.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Pergunta String N/A Sim Especifique o texto da pergunta a ser adicionado ao bloco.
Botões de respostas String N/A Sim Especifique os botões de resposta a serem adicionados ao bloco.
URL base da Siemplify String N/A Sim Especifique o URL de base do servidor do Google SecOps a ser adicionado ao bloco.
ID do caso String N/A Sim Especifique o ID do caso do Google SecOps a ser adicionado ao bloqueio.
UUID do token do webhook String N/A Sim Especifique o UUID do token do webhook para monitorar a resposta do usuário.

Exemplos de casos de uso de playbook

Crie um bloco que pode ser transmitido posteriormente à ação "Enviar mensagem avançada" para enviar uma mensagem com um bloco.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do 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\": \"...\"}]}]"
}
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se um bloco de build for criado com sucesso (is_succeed=True): "O bloco do Slack foi criado com sucesso."

Se não for possível criar um bloco do Slack devido a um erro geral (is_succeed=False): "Não foi possível criar um bloco devido ao erro ocorrido: {0}".format(texto do erro)

A ação precisa falhar e interromper a execução de um playbook:

Se um URL baseado em webhook não for especificado na configuração da integração: "Falha ao executar a ação. Especifique o parâmetro de integração "URL base do webhook"."

Se um erro fatal for informado, como credenciais incorretas, sem conexão com o 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 padrão É obrigatório Descrição
Nome do canal String N/A Sim

Especifique o nome do canal.

Observação:os nomes de canais só podem conter letras minúsculas, números, hifens e sublinhados, e precisam ter até 80 caracteres.

User IDs String N/A Sim

Especifique os IDs dos usuários que precisam ser convidados para o canal recém-criado.

Exemplo: U014JDHLW87, U08544ABC85.

É particular Caixa de seleção Desmarcado Não Se ativada, a ação cria um canal particular.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado do 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
}
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se "ok"== true e o parâmetro de ação "Private" for falso e o parâmetro User-IDs 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 "IDs de usuários" estiver vazio (is_success=true): "Canal particular {0} criado com sucesso".format(name)

Se "ok"== true e o parâmetro de ação "Private" for falso e os IDs de usuário 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 de usuário estiverem disponíveis (is_success=true):

"O canal particular {0} foi criado e {1} usuários foram adicionados".format(name, user_ids)

If "ok" == false. Na primeira solicitação (is_success=false):

"Falha ao criar o canal {0}. Motivo: {1}".format(name, value of error parameter from response)

Se "ok" == false na segunda solicitação (is_success=false):

"O canal {0} foi criado, mas os usuários não foram convidados. Motivo:".format(name, value of error parameter from response)

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

"Não foi possível adicionar usuários ao canal {0}. Motivo: {1} dos IDs de usuário especificados não existem no Slack".format(name, len(errors) from the response)

A ação precisa falhar e interromper a execução de um playbook:

Se um erro fatal (credenciais erradas, erro de conexão, falhas de ação) for informado: "Erro ao executar a ação "Criar canal". Motivo: {0}''.format(error.Stacktrace)

Geral

Acessar o histórico de conversas do canal ou do usuário

Descrição

Receba o histórico de conversas de um usuário ou canal com base nos critérios de entrada fornecidos. Essa ação funciona com o ID do canal ou do usuário, que pode ser pesquisado com as ações "List Channels" ou "List User".

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
ID do canal ou do usuário String N/A Sim Especifique o ID do canal ou do usuário para buscar o histórico de conversas.
Período DDL

Última hora

Valores possíveis:

  • Última hora
  • Últimas 6 horas
  • Últimas 24 horas
  • Última semana
  • Mês anterior
  • Personalizado
Não

Especifique um período para os resultados.

Se "Personalizado" estiver selecionado, você também precisará informar o parâmetro "Horário de início".

Horário de início String N/A Não

Especifique o horário de início dos resultados.

Esse parâmetro é obrigatório se "Personalizado" for selecionado para o parâmetro "Período".

Formato: ISO 8601.

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

Horário de término String N/A Não

Especifique o horário de término dos resultados.

Se nada for fornecido e "Personalizado" for selecionado para o parâmetro "Período", esse parâmetro usará a hora atual.

Formato: ISO 8601.

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

Número máximo de registros a serem retornados Número inteiro 20 Não

Especifique o número de registros a serem retornados.

Se nada for fornecido, a ação vai retornar 20 registros.

Exemplos de casos de uso de playbook

Extrair o histórico de conversas para investigar alertas.

Data de execução

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado do 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"
              }
            ]
          }
        ]
      }
    ]
  }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se o histórico de conversas for encontrado (is_succeed=True): "O histórico de conversas foi buscado."

Se a conversa com o ID fornecido não for encontrada (is_succeed=False): "Não foi possível encontrar a conversa com o ID {0}".format(channel_or_user_id)

Se a conversa com o ID fornecido for encontrada e nenhuma mensagem for encontrada para o período especificado (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 precisa falhar e interromper a execução de um playbook:

Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace)

Se um valor inválido for fornecido para o parâmetro "Número máximo de registros a serem retornados": "Erro ao executar a ação "{nome da ação}". Motivo: "Um valor inválido foi fornecido para "Número máximo de registros a serem retornados": . É preciso informar um número positivo"."

Se "Personalizado" estiver selecionado para o parâmetro "Período" e o parâmetro "Hora de início" não estiver especificado: "Erro ao executar a ação "{nome da ação}". Motivo: "O horário de início não foi informado para o período personalizado".

Geral

Acessar detalhes do usuário

Descrição

Receba detalhes do usuário do Slack com base nos critérios de entrada fornecidos.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Pesquisar por DDL

E-mail

Valores possíveis:

  • E-mail
  • Nome
  • ID
Sim Especifique o parâmetro para pesquisar os detalhes do usuário.
Valor do usuário String N/A Sim Especifique o valor do usuário para pesquisar.

Exemplos de casos de uso de playbook

Receba detalhes do usuário para enriquecer o processamento de alertas no Google SecOps.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/Falso is_success:False
Resultado do 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"
}
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída\*

A ação não pode falhar nem interromper a execução de um playbook:

Se os detalhes do usuário forem encontrados (is_succeed=True): "Os detalhes do usuário foram buscados."

Se os detalhes do usuário não forem encontrados com base nos critérios fornecidos (is_succeed=False): "Não foi possível encontrar os detalhes do usuário com base nos critérios fornecidos: Pesquisar por: <0> Valor do usuário: <1>".format(search_by, user_value)

Se os detalhes do usuário forem encontrados por nome e mais de uma correspondência for encontrada (is_succeed=True): "Para os critérios de pesquisa fornecidos, várias correspondências foram encontradas: Pesquisar por: <0> Valor do usuário: <1>".format(search_by, user_value)

Se o usuário não for encontrado (is_succeed=False) devido a algum erro geral: "Não foi possível buscar os detalhes do usuário devido ao erro ocorrido: {0}" (texto do erro)

A ação precisa falhar e interromper a execução de um playbook:

Se um erro fatal for informado, como credenciais incorretas, sem conexão com o servidor ou outro: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace)

Geral
Tabela do painel de casos

Nome da tabela:Detalhes do usuário do Slack

Colunas da tabela:

  • ID
  • ID
  • Nome
  • Nome real
  • Nome de exibição
  • Nome
  • Sobrenome
  • Horário da atualização
  • Fuso horário
  • Título
  • Telefone
  • É administrador
  • É proprietário
  • É proprietário principal
  • Está restrito
  • É Ultra restrito
  • É bot
  • É usuário do app
  • Is Email Confirmed
Geral

Receber detalhes do usuário por ID

Descrição

Receba detalhes do usuário pelo ID.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
ID do usuário String N/A Sim ID do usuário.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
N/A

Listar canais

Descrição

Receba uma lista de canais do Slack.

Parâmetros

N/A

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do 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": []
    }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se "ok" == false (is_success=false): "Falha ao listar canais. Motivo: {0}".format(value of error parameter from response)

Geral

Listar usuário

Descrição

Essa ação tem a função de receber uma lista de usuários do Slack.

Parâmetros

N/A

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
[
    {
        "profile": {
            "status_text": " ",
            "display_name": " ",
            "status_emoji": " ",
            "title": " ",
            "status_text_canonical": " ",
            "team": "TRALP6VNY",
            "real_name": "somerealname",
            "image_24": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png",
            "phone": " ",
            "real_name_normalized": "somerealnamen",
            "image_512": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png",
            "image_72": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png",
            "image_32": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png",
            "image_48": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png",
            "skype": " ",
            "avatar_hash": "g2d62053d7f7",
            "display_name_normalized": " ",
            "status_expiration": 0,
            "email": "mail@seimplify.co",
            "image_192": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png"
        },
        "updated": 1575550598,
        "tz": "Europe/Moscow",
        "name": "name",
        "deleted": false,
        "is_app_user": false,
        "is_bot": false,
        "tz_label": "Moscow Time",
        "real_name": "realname",
        "color": "9f69e7",
        "team_id": "TRALP6VNY",
        "is_admin": true,
        "is_ultra_restricted": false,
        "is_restricted": false,
        "is_owner": true,
        "tz_offset": 14400,
        "has_2fa": false,
        "id": "URALP6WRJ",
        "is_primary_owner": true
    }, {
        "profile": {
            "last_name": " ",
            "status_emoji": " ",
            "display_name_normalized": "Slackbot",
            "image_32": "https://a.slack-edge.com/80588/img/slackbot_32.png",
            "skype": " ",
            "image_72": "https://a.slack-edge.com/80588/img/slackbot_72.png",
            "status_expiration": 0,
            "image_192": "https://a.slack-edge.com/80588/marketing/img/avatars/slackbot/avatar-slackbot.png",
            "first_name": "slackbot",
            "display_name": "Slackbot",
            "title": " ",
            "real_name_normalized": "Slackbot",
            "always_active": true,
            "status_text_canonical": " ",
            "image_24": "https://a.slack-edge.com/80588/img/slackbot_24.png",
            "phone": " ",
            "image_48": "https://a.slack-edge.com/80588/img/slackbot_48.png",
            "fields": null,
            "real_name": "Slackbot",
            "image_512": "https://a.slack-edge.com/80588/img/slackbot_512.png",
            "team": "TRALP6VNY",
            "avatar_hash": "sv41d8cd98f0",
            "status_text": " "
        },
        "updated": 0,
        "tz": null,
        "name": "slackbot",
        "deleted": false,
        "is_app_user": false,
        "is_bot": false,
        "tz_label": "Pacific Standard Time",
        "real_name": "Slackbot",
        "color": "757575",
        "team_id": "TRALP6VNY",
        "is_admin": false,
        "is_ultra_restricted": false,
        "is_restricted": false,
        "is_owner": false,
        "tz_offset": -28800,
        "id": "USLACKBOT",
        "is_primary_owner": false
    }
]

Ping

Descrição

Teste a conectividade.

Parâmetros

N/A

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
N/A

Renomear canal

Descrição

Renomeie o canal do Slack.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do canal String N/A Não

Especifique o nome do canal que você quer renomear.

Observação:se os parâmetros "Nome do canal" e "ID do canal" forem especificados, a ação só vai funcionar com o ID.

ID do canal String N/A Não

Especifique o ID do canal que você quer renomear.

Observação:se os parâmetros "Nome do canal" e "ID do canal" forem especificados, a ação só vai funcionar com o ID.

Novo nome String N/A Sim

Especifique um novo nome para o canal.

Observação:os nomes de canais só podem conter letras minúsculas, números, hifens e sublinhados, e precisam ter até 80 caracteres.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do 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"
        ]
    }
}
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se "ok"== true (is_success=true): "O canal {0} foi renomeado como {1} {0}".format(name/ID, new name)

Se "ok"== false (is_success=false): "Não foi possível renomear o canal {0}. Motivo: {1}".format(name,error from the response)

Se o canal não foi encontrado pelo nome (is_success=false): "Não foi possível renomear o canal {0}. Motivo: o canal não foi encontrado".format(name)

A ação precisa falhar e interromper a execução de um playbook:

Se um erro fatal (credenciais incorretas, erro de conexão, falha na ação) for informado: "Erro ao executar a ação "Renomear canal". Motivo: {0}''.format(error.Stacktrace)

Se os parâmetros "Nome do canal" e "ID do canal" não forem especificados: "Erro ao executar a ação "Renomear canal". Motivo: você precisa especificar "Nome do canal" ou "ID do canal"."

Geral

Enviar mensagem avançada

Descrição

Envie uma mensagem avançada para um canal ou usuário do Slack. Essa ação permite enviar mensagens de texto simples e mensagens de bloco avançadas do Slack com botões, formatação avançada e muito mais. Para mais informações sobre mensagens de bloco, consulte Slack Block Kit .

Essa ação pode ser usada com a ação "Aguardar resposta com webhook" para primeiro enviar uma mensagem de bloqueio com um webhook a um usuário e, depois, com a ação "Aguardar resposta com webhook", verificar a resposta do usuário.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Tipo de mensagem DDL

Texto

Valores possíveis:

  • Texto
  • Bloquear
Sim Especifique o tipo de mensagem a ser enviada.
Tipo de destinatário DDL

Nome

Valores possíveis:

  • Nome
  • ID
  • E-mail
Sim

Especifique o nome do canal ou do usuário (nome completo) para enviar a mensagem.

Se quiser, especifique o ID do canal ou do usuário ou o endereço de e-mail de um usuário.

Destinatário String N/A Sim Especifique o destinatário para enviar uma mensagem.
Mensagem String N/A Sim Especifique o conteúdo da mensagem a ser enviada.

Exemplos de casos de uso de playbook

Enviar uma mensagem com conteúdo avançado, como botões, links ou imagens.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do 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
    }
  }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a mensagem for enviada (is_succeed=True): "A mensagem foi enviada"

Se a mensagem não for enviada (is_succeed=False) porque o destinatário especificado não foi encontrado: "A mensagem não foi enviada porque o destinatário {0} com o tipo {1} não foi encontrado". (destinatário, tipo de destinatário)

Se a mensagem não for enviada (is_succeed=False) devido a um erro geral: "A mensagem não foi enviada devido ao erro ocorrido: {0}" (texto do erro)

A ação precisa falhar e interromper a execução de um playbook:

Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "Falha ao executar a ação "Enviar mensagem avançada"! O erro é {0}".format(exception.stacktrace)

Geral

Enviar mensagem interativa

Descrição

Envie uma mensagem interativa para um canal ou usuário e, com base no UUID do webhook fornecido, verifique a resposta do usuário. Essa ação é semelhante à "Enviar mensagem avançada", mas permite enviar apenas conteúdo de bloco (não mensagens de texto simples) e também exige um UUID de webhook para verificar a resposta do usuário a um webhook.

A ação é assíncrona. Ajuste o tempo limite da ação no ambiente de desenvolvimento integrado.

Configure o app do Slack usado na integração para permitir mensagens interativas. Para mais informações sobre a configuração do app Slack, consulte Preparar seu aplicativo para mensagens interativas.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Tipo de destinatário DDL

Nome

Valores possíveis:

  • Nome
  • ID
  • E-mail
Sim

Especifique o nome do canal ou do usuário (nome completo) para enviar a mensagem.

Se quiser, especifique o ID do canal ou do usuário ou o endereço de e-mail de um usuário.

Destinatário String N/A Sim Especifique o destinatário para enviar uma mensagem.
Mensagem String N/A Sim Especifique o conteúdo da mensagem a ser enviada.
UUID do token do webhook String N/A Sim Especifique o UUID do token do webhook para monitorar a resposta do usuário.

Exemplos de casos de uso de playbook

Enviar uma mensagem com conteúdo avançado, como botões, links ou imagens.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do 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": []
  }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a mensagem for enviada (is_succeed=True): "A mensagem foi enviada"

Se a mensagem não for enviada (is_succeed=False) porque o destinatário especificado não foi encontrado: "A mensagem não foi enviada porque o destinatário {0} com o tipo {1} não foi encontrado". (destinatário, tipo de destinatário)

Se a mensagem não for enviada (is_succeed=False) devido a um erro geral: "A mensagem não foi enviada devido ao erro ocorrido: {0}" (texto do erro)

Mensagens do mural de casos para a funcionalidade assíncrona:

Uma mensagem de espera para as iterações enquanto aguarda a resposta: "Aguardando a resposta da mensagem enviada com um webhook. Webhook url com uuid: {0}".format(webhook url from integration configuration + web token uuid)

Se a resposta for buscada com sucesso (is_succeed=True): "A resposta do usuário a um webhook foi buscada com sucesso! Conteúdo da resposta: {0}".format(payload that was sent from user to a webhook)

Se não for possível buscar a resposta até o tempo limite: "Não foi encontrada uma resposta do usuário para um webhook, e a ação foi interrompida devido ao tempo limite".

A ação precisa falhar e interromper a execução de um playbook:

Se um URL baseado em webhook não for especificado na configuração da integração e um token UUID de webhook for especificado: "Falha ao executar a ação. Especifique o parâmetro de integração "URL base do webhook". "

Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "Falha ao executar a ação "Enviar mensagem interativa"! O erro é {0}".format(exception.stacktrace)

Geral

Enviar mensagem

Descrição

Enviar uma mensagem para um ou vários usuários/canais.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Canal String N/A Sim

O nome do canal do Slack ou o endereço de e-mail do usuário para quem enviar a mensagem.

Os valores inseridos precisam ser separados por vírgulas.

Mensagem String N/A Sim Conteúdo da mensagem.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
N/A

Fazer upload do arquivo

Descrição

Adicione arquivos ao Slack e compartilhe com seus colegas de equipe para colaborar. Você pode escolher e fazer upload de arquivos para o Slack no seu dispositivo ou no app de gerenciamento de arquivos preferido. Os arquivos enviados são armazenados, podem ser pesquisados e compartilhados em todo o espaço de trabalho.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do arquivo String N/A Sim Nome do arquivo de destino.
Caminho do arquivo String N/A Sim Caminho do arquivo de destino.
Canal String N/A Sim Canal de destino.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
N/A

Aguardar resposta

Descrição

Aguarde uma resposta em uma conversa a uma mensagem em um canal.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Canal String N/A Sim Canal de destino.
Carimbo de data/hora da mensagem String N/A Sim O carimbo de data/hora da mensagem para receber as respostas (em milissegundos).
ID do canal String N/A Não O ID do canal de destino do Slack.

Casos de uso do playbook

Playbook com ação de envio de mensagem e espera por uma resposta (com o canal como marcador de posição da ação anterior - ID do canal)

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do JSON
N/A

Aguardar resposta com webhook

Descrição

Aguardar a resposta de um usuário a uma mensagem enviada com um webhook. Essa ação verifica periodicamente o webhook fornecido para saber se o usuário enviou alguma resposta a ele. A ação pode ser usada com a ação "Enviar mensagem avançada", se a mensagem de bloqueio com webhook foi enviada, para verificar se a resposta do usuário foi fornecida ao webhook.

Essa ação é assíncrona. Ajuste o valor de tempo limite do script no ambiente de desenvolvimento integrado de acordo.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
UUID do token do webhook String N/A Sim Especifique o UUID do token do webhook para monitorar a resposta do usuário.

Exemplos de casos de uso de playbook

Aguarde uma resposta a uma mensagem com um webhook.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/Falso is_succeed:False
Resultado do 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"
}
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Uma mensagem de espera para as iterações enquanto aguarda a resposta: "Aguardando a resposta da mensagem enviada com um webhook. Webhook url com uuid: {0}".format(webhook url from integration configuration + web token uuid)

Se a resposta for buscada com sucesso (is_succeed=True): "A resposta do usuário a um webhook foi buscada com sucesso! Conteúdo da resposta: {0}".format(payload that was sent from user to a webhook)

Se não for possível buscar a resposta até o tempo limite: "Não foi encontrada uma resposta do usuário para um webhook, e a ação foi interrompida devido ao tempo limite".

A ação precisa falhar e interromper a execução de um playbook:

Se o URL baseado em 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 um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "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 do Google SecOps.