Slack
Versión de integración: 23.0
Configurar Slack para que funcione con Google Security Operations
Para configurar Slack de forma que funcione con Google SecOps, primero debes crear una aplicación:
Ve a https://api.slack.com/ y haz clic en Empezar a crear.
Introduce los parámetros Nombre de la aplicación y Espacio de trabajo de Slack de desarrollo. Haz clic en Crear aplicación.
Ve a la pestaña OAuth y permisos y desplázate hacia abajo hasta las secciones Ámbitos.
Añade los siguientes ámbitos o permisos. Slack recomienda añadir permisos de token de OAuth para un bot, no permisos de usuario:
- 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 la interactividad de las aplicaciones en acciones como "Enviar mensaje interactivo" y "Esperar respuesta con webhook", añade una URL de solicitud para tu aplicación. Para obtener más información, consulta el documento Gestionar la interacción de los usuarios en tus aplicaciones de Slack, disponible en la documentación de Slack.
Desplázate hacia arriba y haz clic en Instalar aplicación en Workspace.
Haz clic en Permitir.
Copia uno de los tokens que se han creado, en función de si quieres usar un bot o un usuario.
Configura la integración con uno de esos tokens.
Red
Función | Puerto predeterminado | Dirección | Protocolo |
---|---|---|---|
API | Multivalores | Saliente | apitoken |
Configurar la integración de Slack en Google SecOps
Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps, consulta Configurar integraciones.
Parámetros de integración
Usa los siguientes parámetros para configurar la integración:
Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Nombre de la instancia | Cadena | N/A | No | Nombre de la instancia para la que quiere configurar la integración. |
Descripción | Cadena | N/A | No | Descripción de la instancia. |
Token de API | Cadena | N/A | Sí | Token de API generado en la consola de Slack. |
Verificar SSL | Casilla | Desmarcada | No | Marca esta casilla si tu conexión de Slack requiere una verificación SSL (está desmarcada de forma predeterminada). |
Ejecutar de forma remota | Casilla | Desmarcada | No | Marca el campo para ejecutar la integración configurada de forma remota. Una vez marcada, aparece la opción para seleccionar al usuario remoto (agente). |
Acciones
Hacer una pregunta
Descripción
Hacer una pregunta en Slack.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Canal | Cadena | N/A | Sí | Canal objetivo. |
Pregunta | Cadena | N/A | Sí | Contenido de la pregunta. |
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
N/A
Bloque de compilación
Descripción
Crea un bloque de mensajes de Slack en función de los criterios de entrada proporcionados. Esta acción crea un bloque con un webhook que se puede pasar posteriormente a la acción "Enviar mensaje interactivo" para enviar un mensaje.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Pregunta | Cadena | N/A | Sí | Especifica el texto de la pregunta que quieres añadir al bloque. |
Botones de respuesta | Cadena | N/A | Sí | Especifica los botones de respuesta que quieres añadir al bloque. |
URL base de Siemplify | Cadena | N/A | Sí | Especifica la URL base del servidor de Google SecOps que quieres añadir al bloque. |
ID de caso | Cadena | N/A | Sí | Especifica el ID de asistencia de Google SecOps que quieres añadir al bloqueo. |
UUID del token de webhook | Cadena | N/A | Sí | Especifica el UUID del token de Webhook para monitorizar la respuesta del usuario. |
Ejemplos de casos prácticos de guías
Crea un bloque que se pueda enviar más adelante a la acción "Enviar mensaje avanzado" para enviar un mensaje con un bloque.
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de 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\": \"...\"}]}]"
}
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si se crea un bloque de compilación correctamente (is_succeed=True): "Slack block was created successfully." ("El bloque de Slack se ha creado correctamente"). Si no se ha podido crear un bloque de Slack debido a un error general (is_succeed=False): "Failed to create a block because of the occurred error: {0}".format(error text) ("No se ha podido crear un bloque debido al error: {0}".format(texto del error)) La acción debería fallar y detener la ejecución de la guía: Si no se especifica una URL basada en webhook en la configuración de la integración: "No se ha podido ejecutar la acción. Especifica el parámetro de integración "URL base del webhook"." Si se informa de un error grave, como credenciales incorrectas, falta de conexión con el servidor u otro: "Failed to execute "Send Advanced Message" action!" ("No se ha podido ejecutar la acción "Enviar mensaje avanzado"). Error: {0}".format(exception.stacktrace) |
General |
Crear canal
Descripción
Crea un canal de Slack.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Nombre del canal | Cadena | N/A | Sí | Especifica el nombre del canal. Nota: Los nombres de los canales solo pueden contener letras minúsculas, números, guiones y guiones bajos, y deben tener 80 caracteres como máximo. |
IDs de usuario | Cadena | N/A | Sí | Especifica los IDs de los usuarios que deben recibir una invitación al canal que acabas de crear. Ejemplo: U014JDHLW87, U08544ABC85. |
Es privada | Casilla | Desmarcada | No | Si se habilita, la acción crea un canal privado. |
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Resultado de 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
}
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si "ok"== true y el parámetro de acción "Private" es false y el parámetro User IDs está vacío (is_success=true): "Se ha creado correctamente el canal {0}".format(name) Si "ok"== true y el parámetro de acción "Private" es true y el parámetro User IDs está vacío (is_success=true): "Successfully created private channel {0}".format(name) ("Se ha creado correctamente el canal privado {0}"). Si "ok"== true y el parámetro de acción "Private" es false y los IDs de usuario están disponibles (is_success=true): "Successfully created channel {0} and added {1} users".format(name, user_ids) ("Se ha creado el canal {0} y se han añadido {1} usuarios"). Si "ok"== true y el parámetro de acción "Private" es true y los IDs de usuario están disponibles (is_success=true): "Se ha creado correctamente el canal privado {0} y se han añadido {1} usuarios".format(name, user_ids) Si "ok" == false. En la primera solicitud (is_success=false): "No se ha podido crear el canal {0}. Motivo: {1}".format(name, value of error parameter from response) Si "ok" == false en la segunda solicitud (is_success=false): "Se ha creado el canal {0}, pero no se ha invitado a los usuarios. Motivo:".format(name, value of error parameter from response) Si "ok" == false y error == "user_not_found" (is_success=false): "No se han podido añadir usuarios al canal {0}. Motivo: {1} de los IDs de usuario especificados no existe en Slack".format(name, len(errors) from the response) La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave (credenciales incorrectas, error de conexión o fallo de la acción): "Error al ejecutar la acción "Crear canal". Motivo: {0}''.format(error.Stacktrace) |
General |
Get Channel Or User Conversation History
Descripción
Obtener el historial de conversaciones de un usuario o un canal en función de los criterios de entrada proporcionados. Esta acción funciona con el ID de canal o de usuario, que se puede buscar con las acciones "List Channels" (Listar canales) o "List User" (Listar usuarios).
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
ID de canal o de usuario | Cadena | N/A | Sí | Especifica el ID del canal o del usuario del que quieras obtener el historial de conversaciones. |
Periodo | DDL | Última hora Valores posibles:
|
No | Especifica un periodo para los resultados. Si se selecciona "Personalizado", también debe proporcionar el parámetro "Hora de inicio". |
Hora de inicio | Cadena | N/A | No | Especifica la hora de inicio de los resultados. Este parámetro es obligatorio si se selecciona "Personalizado" en el parámetro "Periodo". Formato: ISO 8601. Ejemplo: 2021-08-05T05:18:42Z |
Hora de finalización | Cadena | N/A | No | Especifica la hora de finalización de los resultados. Si no se proporciona ningún valor y se selecciona "Personalizado" en el parámetro "Periodo", este parámetro usará la hora actual. Formato: ISO 8601. Ejemplo: 2021-08-05T05:18:42Z. |
Número máximo de registros que se devolverán | Entero | 20 | No | Especifica el número de registros que se deben devolver. Si no se proporciona nada, la acción devuelve 20 registros. |
Ejemplos de casos prácticos de guías
Obtener el historial de conversaciones para investigar alertas.
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Resultado de 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"
}
]
}
]
}
]
}
]
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si el historial de conversaciones se encuentra correctamente (is_succeed=True): "Conversation history was fetched successfully." ("El historial de conversaciones se ha obtenido correctamente"). Si no se encuentra la conversación con el ID proporcionado (is_succeed=False): "Failed to find conversation for provided id {0}".format(channel_or_user_id) Si se encuentra la conversación con el ID proporcionado y no se encuentran mensajes en el periodo indicado (is_succeed=False): "Se ha encontrado la conversación con el ID {0}, pero no se han encontrado mensajes en el periodo indicado.".format(channel_or_user_id) La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro: "Failed to execute "Send Advanced Message" action!" ("No se ha podido ejecutar la acción "Enviar mensaje avanzado"). Error: {0}".format(exception.stacktrace) Si se proporciona un valor no válido para el parámetro "Número máximo de registros que se devolverán": "Error al ejecutar la acción "{nombre de la acción}". Motivo: Se ha proporcionado un valor no válido para "Número máximo de registros que se devolverán": . Se debe proporcionar un número positivo"." Si se selecciona "Personalizado" en el parámetro "Periodo" y no se especifica el parámetro "Hora de inicio": "Error al ejecutar la acción "{nombre de la acción}". Motivo: "No se ha proporcionado la hora de inicio del periodo personalizado". |
General |
Obtener detalles del usuario
Descripción
Obtiene los detalles de un usuario de Slack en función de los criterios de entrada proporcionados.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Buscar por | DDL | Correo electrónico Valores posibles:
|
Sí | Especifica el parámetro por el que quieres buscar los detalles del usuario. |
Valor del usuario | Cadena | N/A | Sí | Especifica el valor de usuario por el que quieres buscar. |
Ejemplos de casos prácticos de guías
Obtener los detalles de los usuarios para mejorar el procesamiento de alertas en Google SecOps.
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_success | Verdadero/Falso | is_success:False |
Resultado de 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"
}
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida\* | La acción no debe fallar ni detener la ejecución de una guía: Si se encuentran los detalles del usuario (is_succeed=True): "User details were fetched successfully." ("Los detalles del usuario se han obtenido correctamente"). Si no se encuentran los detalles del usuario según los criterios proporcionados (is_succeed=False): "Failed to find user details based on the provided criteria: Search by: <0> User value: <1>".format(search_by, user_value) Si se encuentran detalles del usuario por nombre y se encuentra más de una coincidencia (is_succeed=True): "Se han encontrado varias coincidencias para los criterios de búsqueda proporcionados: Búsqueda por: <0> Valor de usuario: <1>".format(search_by, user_value) Si no se encuentra al usuario (is_succeed=False) debido a un error general: "Failed to fetch user details because of occurred error: (0}" (texto del error) La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave, como credenciales incorrectas, falta de conexión con el servidor u otro: "Failed to execute "Send Advanced Message" action!" ("No se ha podido ejecutar la acción "Enviar mensaje avanzado"). Error: {0}".format(exception.stacktrace) |
General |
Tabla del panel de casos | Nombre de la tabla: Detalles del usuario de Slack Columnas de tabla:
|
General |
Obtener detalles de usuario por ID
Descripción
Obtiene los detalles de un usuario por su ID.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
ID de usuario | Cadena | N/A | Sí | ID del usuario. |
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
N/A
Mostrar canales
Descripción
Obtener una lista de canales de Slack.
Parámetros
N/A
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de 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": []
}
]
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si "ok" == false (is_success=false): "No se han podido enumerar los canales. Motivo: {0}".format(value of error parameter from response) |
General |
Mostrar usuario
Descripción
Esta acción tiene el rol de obtener una lista de usuarios de Slack.
Parámetros
N/A
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de 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
Descripción
Prueba de conectividad.
Parámetros
N/A
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
N/A
Cambiar el nombre del canal
Descripción
Cambiar el nombre del canal de Slack.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Nombre del canal | Cadena | N/A | No | Especifica el nombre del canal al que quieras cambiar el nombre. Nota: Si se especifican los parámetros "Channel Name" (Nombre del canal) y "Channel ID" (ID del canal), la acción solo funcionará con el ID. |
ID de canal | Cadena | N/A | No | Especifique el ID del canal al que quiera cambiar el nombre. Nota: Si se especifican los parámetros "Channel Name" (Nombre del canal) y "Channel ID" (ID del canal), la acción solo funcionará con el ID. |
Nombre nuevo | Cadena | N/A | Sí | Especifica un nuevo nombre para el canal. Nota: Los nombres de los canales solo pueden contener letras minúsculas, números, guiones y guiones bajos, y deben tener 80 caracteres como máximo. |
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
Cuando "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"
]
}
}
Cuando "ok" == false:
{
"ok": false,
"error": "name_taken",
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si "ok"== true (is_success=true): "Successfully renamed channel {0} to {1} {0}".format(name/ID, new name) Si "ok"== false (is_success=false): "No se ha podido cambiar el nombre del canal {0}. Motivo: {1}".format(name,error from the response) Si no se ha encontrado el canal por su nombre (is_success=false): "No se ha podido cambiar el nombre del canal {0}. Motivo: no se ha encontrado el canal".format(name) La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave (credenciales incorrectas, error de conexión o fallo de la acción): "Error al ejecutar la acción "Cambiar nombre del canal". Motivo: {0}''.format(error.Stacktrace) Si no se especifican los parámetros "Channel Name" y "Channel ID": "Error executing action "Rename Channel". Motivo: debes especificar el nombre o el ID del canal." |
General |
Enviar mensaje avanzado
Descripción
Envía un mensaje avanzado a un canal o usuario de Slack. Esta acción permite enviar mensajes de texto sencillos y mensajes de bloque de Slack enriquecidos con botones, formato avanzado y más. Para obtener más información sobre los mensajes de bloque, consulta Slack Block Kit .
Esta acción se puede usar junto con la acción "Esperar respuesta con webhook" para enviar primero un mensaje de bloqueo con un webhook a un usuario y, más adelante, con la acción "Esperar respuesta con webhook" para comprobar la respuesta del usuario.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Tipo de mensaje | DDL | Texto Valores posibles:
|
Sí | Especifica el tipo de mensaje que quieres enviar. |
Tipo de destinatario | DDL | Nombre Valores posibles:
|
Sí | Especifica el nombre del canal o del usuario (nombre completo) al que quieres enviar el mensaje. También puedes especificar el ID de un canal o de un usuario, o la dirección de correo electrónico de un usuario. |
Destinatario | Cadena | N/A | Sí | Especifica el destinatario al que quieras enviar un mensaje. |
Mensaje | Cadena | N/A | Sí | Especifica el contenido del mensaje que quieres enviar. |
Ejemplos de casos prácticos de guías
Enviar un mensaje con contenido enriquecido, como botones, enlaces o imágenes.
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de 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
}
}
]
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si el mensaje se envía correctamente (is_succeed=True): "Message was sent successfully" ("El mensaje se ha enviado correctamente") Si el mensaje no se envía correctamente (is_succeed=False) porque no se encuentra el destinatario especificado: "Message was not sent as the specified recipient {0} with type {1} was not found." ("El mensaje no se ha enviado porque no se ha encontrado el destinatario {0} con el tipo {1}"). (destinatario, tipo de destinatario) Si el mensaje no se envía correctamente (is_succeed=False) debido a un error general: "Message was not sent because of occurred error: (0}" (texto del error) La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro: "Failed to execute "Send Advanced Message" action!" ("No se ha podido ejecutar la acción "Enviar mensaje avanzado"). Error: {0}".format(exception.stacktrace) |
General |
Enviar mensaje interactivo
Descripción
Envía un mensaje interactivo a un canal o a un usuario y, en función del UUID de Webhook proporcionado, comprueba la respuesta del usuario. Esta acción es similar a la acción "Enviar mensaje avanzado", pero solo permite enviar contenido de bloque (no mensajes de texto sin formato) y también requiere un UUID de webhook para comprobar la respuesta del usuario a un webhook.
La acción es asíncrona, por lo que debe ajustar el tiempo de espera de la acción en el IDE.
Configura la aplicación de Slack que se usa en la integración para permitir los mensajes interactivos. Para obtener más información sobre la configuración de la aplicación Slack, consulta Preparar tu aplicación para mensajes interactivos.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Tipo de destinatario | DDL | Nombre Valores posibles:
| Sí | Especifica el nombre del canal o del usuario (nombre completo) al que quieres enviar el mensaje. También puedes especificar el ID de un canal o de un usuario, o la dirección de correo electrónico de un usuario. |
Destinatario | Cadena | N/A | Sí | Especifica el destinatario al que quieras enviar un mensaje. |
Mensaje | Cadena | N/A | Sí | Especifica el contenido del mensaje que quieres enviar. |
UUID del token de webhook | Cadena | N/A | Sí | Especifica el UUID del token de webhook para monitorizar la respuesta del usuario. |
Ejemplos de casos prácticos de guías
Enviar un mensaje con contenido enriquecido, como botones, enlaces o imágenes.
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de 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": []
}
]
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si el mensaje se envía correctamente (is_succeed=True): "Message was sent successfully" ("El mensaje se ha enviado correctamente") Si el mensaje no se envía correctamente (is_succeed=False) porque no se encuentra el destinatario especificado: "Message was not sent as the specified recipient {0} with type {1} was not found." ("El mensaje no se ha enviado porque no se ha encontrado el destinatario {0} con el tipo {1}"). (destinatario, tipo de destinatario) Si el mensaje no se envía correctamente (is_succeed=False) debido a un error general: "Message was not sent because of occurred error: (0}" (texto del error) Mensajes de Case Wall para la función asíncrona: Un mensaje de muro de caso para las iteraciones mientras se espera la respuesta: "Esperando la respuesta al mensaje enviado con un webhook. URL del webhook con UUID: {0}".format(URL del webhook de la configuración de la integración + UUID del token web) Si la respuesta se obtiene correctamente (is_succeed=True): "Se ha obtenido correctamente la respuesta del usuario a un webhook. Contenido de la respuesta: {0}".format(carga útil que se ha enviado del usuario a un webhook) Si no se ha podido obtener la respuesta hasta que se ha agotado el tiempo de espera: "No se ha encontrado la respuesta de un usuario a un webhook y la acción se ha detenido porque se ha agotado el tiempo de espera". La acción debería fallar y detener la ejecución de la guía: Si no se especifica una URL basada en webhook en la configuración de la integración y se especifica un token UUID de webhook: "No se ha podido ejecutar la acción. Especifica el parámetro de integración "URL base del webhook". " Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro: "Failed to execute "Send Interactive Message" action! Error: {0}".format(exception.stacktrace) |
General |
Enviar mensaje
Descripción
Envía un mensaje a un usuario o a varios usuarios o canales.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Canal | Cadena | N/A | Sí | El nombre del canal de Slack o la dirección de correo del usuario al que se va a enviar el mensaje. Los valores introducidos deben estar separados por comas. |
Mensaje | Cadena | N/A | Sí | Contenido del mensaje. |
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
N/A
Subir archivo
Descripción
Añade archivos a Slack y compártelos con tus compañeros para colaborar. Puedes elegir y subir archivos a Slack desde tu dispositivo o desde tu aplicación de gestión de archivos preferida. Los archivos subidos se almacenan, se pueden buscar y se pueden compartir en todo tu espacio de trabajo.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Nombre del archivo | Cadena | N/A | Sí | Nombre del archivo de destino. |
Ruta del archivo | Cadena | N/A | Sí | Ruta del archivo de destino. |
Canal | Cadena | N/A | Sí | Canal objetivo. |
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
N/A
Esperar respuesta
Descripción
Espera a que se responda a un mensaje en una conversación de un canal.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
Canal | Cadena | N/A | Sí | Canal objetivo. |
Marca de tiempo del mensaje | Cadena | N/A | Sí | Marca de tiempo del mensaje del que se van a obtener las respuestas (en milisegundos). |
ID de canal | Cadena | N/A | No | El ID del canal de Slack de destino. |
Casos prácticos de guías
Guía con la acción de enviar un mensaje y, después, esperar una respuesta (con el canal como marcador de posición de la acción anterior: ID de canal)
Fecha de ejecución
Esta acción se ejecuta en todas las entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de JSON
N/A
Esperar respuesta con webhook
Descripción
Esperar a que un usuario responda a un mensaje enviado con un webhook. Esta acción comprueba periódicamente el webhook proporcionado para ver si el usuario ha respondido. La acción se puede usar con la acción "Enviar mensaje avanzado" si se ha enviado el mensaje de bloqueo con webhook para comprobar si se ha proporcionado la respuesta del usuario al webhook.
Esta acción es asíncrona, por lo que debe ajustar el valor de tiempo de espera de la secuencia de comandos en el IDE.
Parámetros
Nombre del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
---|---|---|---|---|
UUID del token de webhook | Cadena | N/A | Sí | Especifica el UUID del token de webhook para monitorizar la respuesta del usuario. |
Ejemplos de casos prácticos de guías
Esperar una respuesta a un mensaje con un webhook.
Fecha de ejecución
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
---|---|---|
is_succeed | Verdadero/Falso | is_succeed:False |
Resultado de 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"
}
Panel de casos
Tipo de resultado | Valor o descripción | Tipo |
---|---|---|
Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Un mensaje de muro de caso para las iteraciones mientras se espera la respuesta: "Esperando la respuesta al mensaje enviado con un webhook. URL del webhook con UUID: {0}".format(URL del webhook de la configuración de la integración + UUID del token web) Si la respuesta se obtiene correctamente (is_succeed=True): "Se ha obtenido correctamente la respuesta del usuario a un webhook. Contenido de la respuesta: {0}".format(carga útil que se ha enviado del usuario a un webhook) Si no se ha podido obtener la respuesta hasta que se ha agotado el tiempo de espera: "No se ha encontrado la respuesta de un usuario a un webhook y la acción se ha detenido porque se ha agotado el tiempo de espera". La acción debería fallar y detener la ejecución de la guía: Si la URL basada en webhook no se especifica en la configuración de la integración y se especifica el token UUID del webhook: "No se ha podido ejecutar la acción. Especifica el parámetro de integración "URL base del webhook". " Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro: "Failed to execute "Send Advanced Message" action!" ("No se ha podido ejecutar la acción "Enviar mensaje avanzado"). Error: {0}".format(exception.stacktrace) |
General |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.