Cuando las acciones de ServiceNow están activadas, los usuarios finales pueden pedirle al asistente que realice las siguientes acciones de ServiceNow:
- Crear incidentes de ServiceNow
- Actualizar incidentes de ServiceNow
Por ejemplo, un usuario puede introducir en la aplicación "crea un incidente de ServiceNow sobre un fallo de hardware de un ordenador" o "actualiza el incidente INC0010001 de ServiceNow para que tenga una urgencia alta". El asistente pide más detalles si es necesario y, a continuación, solicita al usuario que confirme la solicitud de creación o actualización.
El asistente puede leer y actualizar los siguientes campos de ServiceNow mediante acciones:
Campo |
Descripción |
---|---|
Informador |
Obligatorio. La dirección de correo del interlocutor en cuyo nombre se crea el incidente, por ejemplo, usuario@google.com. |
Título |
Un título breve del incidente que se va a crear. |
Descripción |
Detalles del incidente que se va a crear. |
Categoría |
Categoría del incidente que se va a crear. |
Impacto |
Impacto del incidente. |
Urgencia |
Urgencia del incidente. |
Estado |
Estado del incidente. |
Asignado a |
Dirección de correo del usuario al que se le asignará la incidencia. Por ejemplo: user@google.com . |
Grupo de asignación |
Grupo de usuarios al que se asignará la incidencia. |
Código de cierre |
Código de cierre del incidente. |
Cerrar notas |
Cierra las notas de la incidencia. |
Configurar la autenticación y los permisos de ServiceNow
Antes de activar las acciones de ServiceNow, un administrador de ServiceNow debe autorizar y configurar un conector de ServiceNow para las acciones. Es necesario para conectar tu integración y permitir el permiso de lectura y escritura para las acciones.
Antes de configurar la conexión, asegúrate de que tienes lo siguiente:
Permiso de administrador: debes ser administrador de ServiceNow.
Instancia de ServiceNow: crea una instancia de ServiceNow siguiendo las instrucciones de la documentación de desarrolladores de ServiceNow.
Google Cloud Proyecto: configura un Google Cloud proyecto con una cuenta de administrador que pueda gestionar las configuraciones a nivel de organización para que la organización pueda configurar un grupo de trabajadores.
Grupo de trabajadores: asegúrate de que tu organización esté configurada para gestionar un grupo de trabajadores.
Para obtener más información, consulta la entrada de blog sobre OAuth 2.0 con REST entrante.
Configurar ServiceNow
ServiceNow ofrece dos sitios principales:
- Sitio principal de ServiceNow: el sitio de tu instancia de ServiceNow.
- Gestiona usuarios, grupos y tareas de administración del sistema.
- URL: la URL de tu instancia de ServiceNow.
- Inicia sesión con tus credenciales de administrador.
- Sitio para desarrolladores:
- Configura la base de conocimientos, establece flujos de trabajo y desarrolla aplicaciones personalizadas.
- URL:
https://developer.service-now.com
. - Inicia sesión con tu ID de ServiceNow.
Crear un endpoint de OAuth
Para crear un endpoint de OAuth, sigue estos pasos:
- Inicia sesión en la instancia principal de ServiceNow con privilegios de administrador.
- Ve a Todas > OAuth del sistema > Registro de aplicaciones.
- Haz clic en Nuevo y, a continuación, selecciona Crear un endpoint de API de OAuth para clientes externos. Recupera el ID y el secreto de cliente.
- Rellena la información obligatoria:
- Nombre: nombre único.
- URL de redirección:
https://vertexaisearch.cloud.google.com/oauth-redirect
- Haz clic en Enviar para crear la credencial.
- Después de enviarlo, haz clic en el nombre para ver el secreto del cliente.
- El secreto está oculto. Haz clic en el icono del candado situado junto a él para mostrar el secreto.
- Guarda una copia del ID y del secreto de cliente para usarla cuando sea necesario.
- Ve a
developer.service-now.com
y haz clic en Gestionar contraseña de la instancia. - Guarda una copia del nombre de usuario y la contraseña para usarla cuando sea necesario.
- En esta fase, ya se dispone de los cinco datos necesarios para configurar un almacén de datos de ServiceNow. Si no hay ningún problema en usar el rol de administrador para extraer datos, cree un almacén de datos.
Configurar roles y permisos
Para crear y gestionar usuarios, debes tener el rol de administrador de seguridad. Si no tienes este rol, puedes cambiarlo a security_admin haciendo clic en Cambiar rol en tu perfil. Selecciona el rol security_admin y haz clic en Actualizar. Se necesita el rol security_admin para crear roles y gestionar usuarios.
- Crea un rol personalizado con reglas de LCA:
- Vaya a Todos > Administración de usuarios > Roles.
- Haz clic en Nuevo para crear un rol.
- Selecciona un nombre y haz clic en Enviar.
- Ve a Seguridad del sistema > Control de acceso (ACL) para crear una nueva regla de ACL.
- Haga clic en Nuevo para crear una regla de ACL.
- Selecciona un rol, como
sys_user_role
. - Haz clic en Enviar y asigna el rol.
- Repite este proceso hasta que se haya concedido acceso a todas las tablas. El conector requiere acceso a las siguientes tablas para que cada entidad se ejecute correctamente:
- Incidente:
incident
. - Elemento de catálogo:
sc_cat_item
,sc_cat_item_user_criteria_mtom
,sc_cat_item_user_criteria_no_mtom
,sc_cat_item_user_mtom
,sc_cat_item_user_no_mtom
. - Conocimientos:
kb_knowledge
,kb_knowledge_base
,kb_uc_can_read_mtom
,kb_uc_can_contribute_mtom
. - Adjunto: todos los elementos de la lista.
- Identidad:
sys_user_role
,sys_user_has_role
,sys_user_group
,sys_user_grmember
,sys_user
. - Se actualiza a medida que se obtienen nuevos criterios:
core_company
,cmn_location
ycmn_department
. - Criterios de usuario:
user_criteria
.
- Incidente:
- Para comprobar que todas las listas de control de acceso se han actualizado, ve a
sys_security_acl_role_list.do
en la barra de búsqueda. - Selecciona el rol que quieras verificar.
- Confirma que todos los ACLs necesarios están asignados al rol seleccionado.
- Asigna el rol a una cuenta de servicio:
- Vaya a Todos > Administración de usuarios > Usuarios y seleccione el usuario.
- Busca el usuario al que quieras asignar el rol y selecciónalo.
- Si no hay ningún usuario disponible, ve a Seguridad del sistema > Usuarios y grupos > Usuarios.
- Haga clic en Nuevo para crear una cuenta de servicio en la tabla Usuario.
- Selecciona la casilla Web service access only (Solo acceso al servicio web).
- Ve a la tabla Roles, situada en la parte inferior de la página.
- A la derecha, haz clic en Editar.
- Concede el rol creado anteriormente y asígnalo al usuario. En función del tipo de rol creado, selecciona el que corresponda y asígnalo.
- Obtén el nombre de usuario y la contraseña del usuario. En la misma página, haz clic en Definir contraseña.
- Generar automáticamente una contraseña y guardarla para usarla más adelante:
- ID de usuario:
manager
. - Contraseña: introduce la contraseña generada automáticamente.
- ID de usuario:
Crear un rol específico y asignar ACLs
Si usas un rol de usuario que no es de administrador, es posible que tengas problemas al realizar una acción de ServiceNow, aunque tu rol de usuario contenga los permisos necesarios. Para evitar este problema, crea un rol específico y asigna los permisos necesarios.
Crear una función nueva
- Vaya a Administración de usuarios > Roles.
- Haz clic en New (Nuevo).
- Especifica un nombre para el nuevo rol, como
database_admin_restricted
. - Si quieres, puedes añadir una descripción.
- Haz clic en Enviar.
Asigna el nuevo rol al usuario que se autentica.
- Vaya a Administración de usuarios > Usuarios.
- Selecciona el usuario que necesite el acceso restringido.
- En el registro de usuario, ve a la lista relacionada Roles.
- En la lista relacionada Roles, haz clic en Editar.
- En la columna Colección, busca y selecciona el rol que acabas de crear.
- Haz clic en Añadir para mover el rol a la lista de roles.
- Haz clic en Guardar.
Implementar permisos a nivel de fila
- Ve a Seguridad del sistema > Controles de acceso (ACL).
- Haz clic en New (Nuevo).
Configure los siguientes campos:
- Tipo: selecciona registro.
- Operación: selecciona leer.
- Nombre:
- En el primer desplegable, seleccione la tabla sys_db_object.
- En el segundo menú desplegable, selecciona Ninguno.
- Rol necesario: en el campo Insertar una fila nueva, busca y selecciona el rol que acabas de crear.
Haz clic en Enviar.
Repite estos pasos para implementar permisos a nivel de fila en las tablas sys_glide_object y sys_dictionary.
Implementar permisos a nivel de campo
- Ve a Seguridad del sistema > Controles de acceso (ACL).
- Haz clic en New (Nuevo).
- Configure los siguientes campos:
- Tipo: selecciona registro.
- Operación: selecciona leer.
- Nombre:
- En el primer desplegable, selecciona la tabla de destino, como sys_db_object.
- En el segundo menú desplegable, aplique el permiso a todos los campos de la tabla o seleccione un nombre de campo específico, como nombre.
- Rol necesario: en el campo Insertar una fila nueva, busca y selecciona el rol que acabas de crear.
- Haz clic en Enviar.
- Repite estos pasos para implementar permisos a nivel de campo en campos específicos o en todos los campos de las tablas sys_glide_object y sys_dictionary.
Configurar el grupo de trabajadores
Sigue las instrucciones para configurar un grupo de trabajadores con una de las siguientes configuraciones:
- Configuración de OIDC de Azure
- Configuración de SAML en Azure
- Configuración de Okta y OIDC
- Configuración de Okta y SAML
Configurar una acción de ServiceNow
Antes de empezar, asegúrate de que un administrador haya completado los pasos que se indican en Configurar la autenticación y los permisos de ServiceNow y te haya proporcionado lo siguiente: Google Cloud
Campo | Descripción |
---|---|
ID de cliente | El ID de cliente de tu integración de ServiceNow. |
Secreto de cliente | El secreto de cliente de tu integración de ServiceNow |
Nombre de usuario | Cuenta de usuario de tu integración. |
Contraseña | Contraseña de tu integración. |
URL de la instancia (o Host de destino) | URL de instancia de tu sitio de ServiceNow. Tiene el siguiente formato:
https://INSTANCE_NAME.service-now.com |
URL de autenticación | El URI de autorización de tu cliente de API de ServiceNow. Tiene el siguiente formato:
https://INSTANCE_NAME.service-now.com/oauth_auth.do |
URL del token | URI del token de actualización de tu cliente de la API de ServiceNow. Tiene el siguiente formato:
https://INSTANCE_NAME.service-now.com/oauth_token.do |
Configurar acciones de ServiceNow en la Google Cloud consola
Para añadir acciones a tu aplicación mediante la consola, sigue estos pasos:
- En la Google Cloud consola, ve a la página Agent Builder.
- En el menú de navegación, haga clic en Acciones.
- Haz clic en Añadir acciones.
- Para seleccionar ServiceNow como origen de las acciones, en la tarjeta de ServiceNow, haz clic en Conectar.
- En la página Configuración, selecciona el almacén de datos de ServiceNow en la lista desplegable Seleccionar una instancia.
Configurar ServiceNow Introduce la información de autorización de la instancia del conector seleccionado:
- Introduce el New client ID (Nuevo ID de cliente) y el New client secret (Nuevo secreto de cliente) que has obtenido al crear el endpoint de OAuth.
- Introduce el URI de autenticación de ServiceNow. Utiliza el formato
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do
. - Introduce el URI de destino de ServiceNow. Utiliza el formato
https://<var>INSTANCE_NAME</var>.service-now.com
. - Introduce el URI del token de ServiceNow. Utiliza el formato
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do
. - Introduce el nombre de usuario y la contraseña del administrador de ServiceNow.
Opcional: Selecciona Habilitar compatibilidad con PKCE para añadir una capa de seguridad adicional a tu aplicación.
Opcional: Seleccione Incluir tablas del sistema para que se pueda acceder a la información del sistema subyacente de ServiceNow (tablas del sistema). Seleccione esta opción tras reflexionar detenidamente y solo si es absolutamente necesario.
Seleccione las acciones de ServiceNow que quiera habilitar.
Haz clic en Finalizar configuración. La acción se muestra en la página Acciones. Las acciones tardan unos minutos en aplicarse en tu aplicación.
Configurar acciones de ServiceNow mediante la API
Para añadir acciones a tu aplicación mediante la API, sigue estos pasos.
Para crear un conector de ServiceNow para acciones, sigue estos pasos:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-GFE-SSL: yes" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global:setUpDataConnector" \ -d '{ "collectionId": "COLLECTION_ID", "collectionDisplayName": "COLLECTION_DISPLAY_NAME", "dataConnector": { "dataSource": "servicenow", "params": { "user_account": "USER_ACCOUNT", "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "password": "PASSWORD", "instance_uri": "INSTANCE_URI", "auth_type": "OAUTH_PASSWORD_GRANT" }, "refreshInterval": "86400s", "entities": [ { "entityName": "knowledge_base", "params": { "inclusion_filters":{}, "exclusion_filters":{} } }, { "entityName": "catalog" }, { "entityName": "knowledge" }, { "entityName": "incident" }, { "entityName": "attachment" } ], "syncMode": "PERIODIC", "staticIpEnabled": false } }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto.COLLECTION_ID
: un ID de la colección.COLLECTION_DISPLAY_NAME
: un nombre visible para la colección.USER_ACCOUNT
: la cuenta de usuario de tu integración de ServiceNow.CLIENT_ID
: el ID de cliente de tu integración de ServiceNow.PASSWORD
: la contraseña de tu integración de ServiceNow.INSTANCE_URI
: el URI de instancia de tu sitio de ServiceNow.
Actualiza el conector para incluir configuraciones de acciones.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/COLLECTION_ID/dataConnector?update_mask=action_config,bap_config,destination_configs" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/COLLECTION_ID/dataConnector", "actionConfig": { "isActionConfigured": true, "actionParams": { "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "auth_uri": "AUTH_URI", "token_uri": "TOKEN_URI", "pkce_support_enabled": true, "include_system_tables": true } }, "bapConfig": { "supported_connector_modes": "ACTIONS" }, "destinationConfigs": [ { "key": "host_url", "destinations": [ { "host": "INSTANCE_URL" } ] } ] }'
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto.COLLECTION_ID
: el ID de la colección.USERNAME
: cuenta de usuario de tu integración de ServiceNow.CLIENT_ID
: el ID de cliente de tu integración de ServiceNow.PASSWORD
: contraseña de tu integración de ServiceNow.AUTH_URI
: el URI de autorización de tu integración de ServiceNow.TOKEN_URI
: el URI del token de actualización de tu integración de ServiceNow.INSTANCE_URL
: URL de instancia de su sitio de ServiceNow.
Habilita las acciones de ServiceNow para tu asistente.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabledActions" \ -d '{ "name": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant", "enabledActions": { "projects/PROJECT_NUMBER/locations/global/collections/CONNECTOR_ID/dataConnector": { "actionInfo": [ { "actionName": "create_servicenow_incident", "actionDisplayName": "Create ServiceNow Incident" }, { "actionName": "update_servicenow_incident", "actionDisplayName": "Update ServiceNow Incident" } ] } } }'
Haz los cambios siguientes:
PROJECT_NUMBER
: el número de tu proyecto de Google Cloud .APP_ID
: el ID de la aplicación.CONNECTOR_ID
: el ID de colección del conector que has generado en el paso anterior.
Después de añadir acciones, el asistente podrá llevarlas a cabo en nombre de tus usuarios finales en la aplicación. La primera vez que un usuario le pida al asistente que realice una acción de ServiceNow, se le pedirá que autorice el acceso a su cuenta de ServiceNow. Para usar el asistente, los usuarios deben tener licencias de Gemini Enterprise Plus.