Cuando las acciones de ServiceNow están activadas, los usuarios finales pueden pedirle al asistente que realice las siguientes acciones de ServiceNow:
- Crea incidentes de ServiceNow
- Actualiza los incidentes de ServiceNow
Por ejemplo, un usuario podría ingresar "crea un incidente de ServiceNow sobre una falla de hardware de la computadora" o "actualiza el incidente de ServiceNow INC0010001 para que tenga alta urgencia" en la app. El asistente solicita detalles adicionales si es necesario y, luego, le pide al usuario que confirme la solicitud de creación o actualización.
El asistente puede leer y actualizar los siguientes campos de ServiceNow a través de acciones:
Campo |
Descripción |
---|---|
Emisor |
. Obligatorio. Es la dirección de correo electrónico del llamador en nombre de quien se crea el incidente, por ejemplo, usuario@google.com. |
Título |
Título breve del incidente que se creará. |
Descripción |
Son los detalles del incidente que se creará. |
Categoría |
Es la categoría del incidente que se creará. |
Impacto |
Es el impacto del incidente. |
Urgencia |
Urgencia del incidente. |
Estado |
Estado del incidente. |
Asignado a |
Dirección de correo electrónico del usuario al que se le asignará el incidente, por ejemplo, user@google.com . |
Grupo de asignación |
Es el grupo de usuarios al que se asignará el incidente. |
Código de cierre |
Es el código de cierre del incidente. |
Cerrar notas |
Notas de cierre del incidente. |
Configura la autenticación y los permisos para ServiceNow
Antes de activar las acciones de ServiceNow, un administrador de ServiceNow debe autorizar y configurar un conector de ServiceNow para las acciones. Esto es necesario para conectar tu integración y permitir permisos de lectura y escritura para las acciones.
Antes de configurar la conexión, asegúrate de tener 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 ServiceNow para desarrolladores.
Google Cloud Proyecto: Configura un proyecto Google Cloud con una cuenta de administrador capaz de administrar los parámetros de configuración a nivel de la organización y asegúrate de que la organización pueda configurar un grupo de trabajadores.
Grupo de trabajadores: Asegúrate de que tu organización esté configurada para administrar un grupo de trabajadores.
Para obtener más información, consulta la entrada de blog sobre OAuth 2.0 con REST entrante.
Configura ServiceNow
ServiceNow ofrece dos sitios principales:
- Sitio principal de ServiceNow: Es el sitio de tu instancia de ServiceNow.
- Administra usuarios, grupos y tareas de administración del sistema.
- URL: Es la URL de tu instancia de ServiceNow.
- Accede con tus credenciales de administrador.
- Sitio para desarrolladores:
- Configura la base de conocimiento, establece flujos de trabajo y desarrolla aplicaciones personalizadas.
- URL:
https://developer.service-now.com
. - Accede con tu ID de ServiceNow.
Crea un extremo de OAuth
Para crear un extremo de OAuth, haz lo siguiente:
- Accede a la instancia principal de ServiceNow con privilegios de administrador.
- Navega a Todos > System OAuth > Registro de aplicaciones.
- Haz clic en Nuevo y, luego, selecciona Crear un extremo de API de OAuth para clientes externos. Recupera el ID de cliente y el secreto del cliente.
- Completa la información requerida:
- Nombre: Nombre único.
- URL de redireccionamiento:
https://vertexaisearch.cloud.google.com/oauth-redirect
- Haz clic en Enviar para crear la credencial.
- Después de enviarla, haz clic en el nombre para ver el secreto del cliente.
- El secreto está enmascarado. Haz clic en el ícono de bloqueo junto a él para desenmascarar el secreto y verlo.
- Conserva una copia del ID y el secreto del cliente para usarlos cuando sea necesario.
- Ve a
developer.service-now.com
y haz clic en Administrar la contraseña de la instancia. - Conserva una copia del nombre de usuario y la contraseña para usarlos cuando sea necesario.
- En esta etapa, ya están disponibles los cinco datos necesarios para configurar un almacén de datos de ServiceNow. Si no hay problemas con el uso del rol de administrador para extraer datos, continúa con la creación de un almacén de datos.
Configura roles y permisos
Debes tener un rol de administrador de seguridad para crear y administrar usuarios. Si no tienes este rol, haz clic en Elevar rol en tu perfil para elevar tu rol a security_admin. Selecciona el rol security_admin y haz clic en Actualizar. Se requiere el rol security_admin para crear roles y administrar usuarios.
- Crea un rol personalizado con reglas de LCA:
- Navega a Todos > Administración de usuarios > Roles.
- Haz clic en Nuevo para crear un rol nuevo.
- Selecciona un nombre y haz clic en Enviar.
- Navega a Seguridad del sistema > Control de acceso (ACL) para crear una regla de ACL nueva.
- Haz clic en Nuevo para crear una regla LCA nueva.
- Selecciona un rol, como
sys_user_role
. - Haz clic en Enviar y asigna el rol.
- Repite este proceso hasta que se otorgue acceso a todas las tablas. El conector requiere acceso a las siguientes tablas para que cada entidad se ejecute correctamente:
- Incidente:
incident
. - Artículo del 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
. - Conocimiento:
kb_knowledge
,kb_knowledge_base
,kb_uc_can_read_mtom
,kb_uc_can_contribute_mtom
. - Attachment: 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 extraen criterios nuevos:
core_company
,cmn_location
ycmn_department
. - Criterios del usuario:
user_criteria
.
- Incidente:
- Para verificar que todas las LCA se hayan actualizado, navega a
sys_security_acl_role_list.do
en la barra de búsqueda. - Selecciona el rol que deseas verificar.
- Confirma que todas las ACL requeridas estén asignadas al rol seleccionado.
- Otorga el rol a una cuenta de servicio:
- Ve a Todos > Administración de usuarios > Usuarios y selecciona el usuario.
- Busca el usuario al que le otorgarás el rol y selecciónalo.
- Si no hay ningún usuario disponible, navega a Seguridad del sistema > Usuarios y grupos > Usuarios.
- Haz clic en Nuevo para crear una cuenta de servicio nueva en la tabla Usuario.
- Selecciona la casilla de verificación Solo acceso a servicios web.
- Ve a la tabla Roles en la parte inferior de la página.
- Haz clic en Editar a la derecha.
- Otorga el rol que creaste anteriormente y asígnaselo al usuario. Según el tipo de rol creado, selecciona el adecuado y asígnalo.
- Obtén el nombre de usuario y la contraseña del usuario. En la misma página, haz clic en Establecer contraseña.
- Genera automáticamente una contraseña y guárdala para usarla más adelante:
- ID de usuario:
manager
. - Contraseña: Ingresa la contraseña generada automáticamente.
- ID de usuario:
Crea un rol exclusivo y asigna LCA
Cuando usas un rol de usuario que no es de administrador, es posible que tengas problemas cuando realices una acción de ServiceNow, incluso si tu rol de usuario contiene los permisos requeridos. Para evitar este problema, crea un rol exclusivo y asigna los permisos necesarios.
Crear una nueva función
- Navega a Administración de usuarios > Roles.
- Haz clic en Nuevo.
- Especifica un nombre para el rol nuevo, como
database_admin_restricted
. - De manera opcional, ingresa una descripción.
- Haz clic en Enviar.
Asigna el rol nuevo al usuario que se autentica
- Navega a Administración de usuarios > Usuarios.
- Selecciona el usuario que requiere el acceso restringido.
- En el registro del usuario, navega 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 Agregar para mover el rol a la Lista de roles.
- Haz clic en Guardar.
Implementa permisos a nivel de la fila
- Navega a Seguridad del sistema > Controles de acceso (ACL).
- Haz clic en Nuevo.
Configura los siguientes campos:
- Tipo: Selecciona registro.
- Operación: Selecciona read.
- Nombre:
- En el primer menú desplegable, selecciona la tabla sys_db_object.
- En el segundo menú desplegable, selecciona Ninguno.
- Rol requerido: En el campo Insertar una fila nueva, busca y selecciona el rol recién creado.
Haz clic en Enviar.
Repite estos pasos para implementar permisos a nivel de las filas en las tablas sys_glide_object y sys_dictionary.
Implementa permisos a nivel del campo
- Navega a Seguridad del sistema > Controles de acceso (ACL).
- Haz clic en Nuevo.
- Configura los siguientes campos:
- Tipo: Selecciona registro.
- Operación: Selecciona read.
- Nombre:
- En el primer menú desplegable, selecciona la tabla de destino, como sys_db_object.
- En el segundo menú desplegable, aplica el permiso a todos los campos de la tabla o selecciona un nombre de campo específico, como name.
- Rol requerido: En el campo Insertar una fila nueva, busca y selecciona el rol recién creado.
- Haz clic en Enviar.
- Repite estos pasos para implementar permisos a nivel del campo para campos específicos o todos los campos de las tablas sys_glide_object y sys_dictionary.
Configura el grupo de trabajadores
Sigue las instrucciones para configurar un grupo de personal con una de las siguientes configuraciones:
- Configuración de OIDC de Azure
- Configuración de SAML de Azure
- Configuración de Okta y OIDC
- Configuración de Okta y SAML
Configura una acción de ServiceNow
Antes de comenzar, asegúrate de que un administrador Google Cloud haya completado los pasos que se indican en Cómo configurar la autenticación y los permisos para ServiceNow y te haya proporcionado la siguiente información:
Campo | Descripción |
---|---|
ID de cliente | Es el ID de cliente de tu integración de ServiceNow. |
Secreto del cliente | El secreto del cliente para 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) | Es la URL de instancia de tu sitio de ServiceNow. Tiene el siguiente formato:
https://INSTANCE_NAME.service-now.com |
URL de autorización | Es el URI de autorización de tu cliente de la API de ServiceNow. Tiene el siguiente formato:
https://INSTANCE_NAME.service-now.com/oauth_auth.do |
URL del token | Es el 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 |
Configura acciones de ServiceNow en la consola de Google Cloud
Para agregar acciones a tu app con la consola, haz lo siguiente:
- En la consola de Google Cloud , ve a la página Agent Builder.
- En el menú de navegación, haz clic en Acciones.
- Haz clic en Agregar acciones.
- Para seleccionar ServiceNow como la fuente 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 Selecciona una instancia.
Configura ServiceNow Ingresa la información de autorización para la instancia del conector seleccionada:
- Ingresa el ID de cliente nuevo y el secreto de cliente nuevo que recuperaste cuando creaste el extremo de OAuth.
- Ingresa el URI de autorización de ServiceNow. Usa el formato
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do
. - Ingresa el URI de destino de ServiceNow. Usa el formato
https://<var>INSTANCE_NAME</var>.service-now.com
. - Ingresa el URI del token de ServiceNow. Usa el formato
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do
. - Ingresa la cuenta de usuario y la contraseña del administrador de ServiceNow.
Opcional: Selecciona Habilitar la compatibilidad con PKCE para agregar una capa de seguridad adicional a tu app.
Opcional: Selecciona Incluir tablas del sistema para que la información del sistema subyacente de ServiceNow (tablas del sistema) sea accesible. Selecciona esta opción después de analizarla con atención y solo si es absolutamente necesario.
Selecciona las acciones de ServiceNow que quieras habilitar.
Haz clic en Finalizar la configuración. Tu acción se muestra en la página Acciones. Las acciones tardan unos minutos en aplicarse en tu app.
Configura acciones de ServiceNow con la API
Para agregar acciones a tu app con la API, haz lo siguiente.
Crea un conector de ServiceNow para acciones:
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 } }'
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyecto.COLLECTION_ID
: Es un ID para la colección.COLLECTION_DISPLAY_NAME
: Es un nombre visible para la colección.USER_ACCOUNT
: La cuenta de usuario de tu integración de ServiceNowCLIENT_ID
: Es el ID de cliente de tu integración de ServiceNow.PASSWORD
: Es la contraseña de tu integración de ServiceNow.INSTANCE_URI
: Es el URI de la instancia de tu sitio de ServiceNow.
Actualiza el conector para incluir la configuración 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" } ] } ] }'
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyecto.COLLECTION_ID
: ID de la colección.USERNAME
: Cuenta de usuario de tu integración de ServiceNow.CLIENT_ID
: Es el ID de cliente de tu integración de ServiceNow.PASSWORD
: Contraseña de tu integración de ServiceNow.AUTH_URI
: Es el URI de autorización para tu integración de ServiceNow.TOKEN_URI
: Es el URI del token de actualización para tu integración de ServiceNow.INSTANCE_URL
: Es la URL de instancia de tu 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" } ] } } }'
Reemplaza lo siguiente:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud .APP_ID
: ID de la app.CONNECTOR_ID
: Es el ID de la colección del conector que generaste en el paso anterior.
Después de agregar acciones, el asistente puede realizarlas en nombre de los usuarios finales en la app. La primera vez que un usuario le pide al asistente que realice una acción de ServiceNow, se le solicita que autorice el acceso a su cuenta de ServiceNow. Para usar el asistente, los usuarios deben tener licencias de Gemini Enterprise Plus.