Quando as ações do ServiceNow estão ativadas, os utilizadores finais podem pedir ao assistente para realizar as seguintes ações do ServiceNow:
- Crie incidentes do ServiceNow
- Atualize incidentes do ServiceNow
Por exemplo, um utilizador pode introduzir "criar um incidente do ServiceNow sobre uma falha de hardware do computador" ou "atualizar o incidente do ServiceNow INC0010001 para ter urgência elevada" na app. O assistente pede detalhes adicionais, se necessário, e, em seguida, pede ao utilizador para confirmar o pedido de criação ou atualização.
O assistente pode ler e atualizar os seguintes campos do ServiceNow através de ações:
Campo |
Descrição |
---|---|
Autor da chamada |
Obrigatório. O endereço de email do autor da chamada em nome do qual o incidente está a ser criado, por exemplo, user@google.com. |
Título |
Um breve título do incidente a ser criado. |
Descrição |
Detalhes sobre o incidente a criar. |
Categoria |
Categoria do incidente a ser criado. |
Impacto |
Impacto do incidente. |
Urgência |
Urgência do incidente. |
Estado |
Estado do incidente. |
Atribuída a |
Endereço de email do utilizador ao qual atribuir o incidente, por exemplo, user@google.com . |
Grupo de atribuição |
Grupo de utilizadores ao qual atribuir o incidente. |
Código de encerramento |
Código de encerramento do incidente. |
Fechar notas |
Encerre as notas do incidente. |
Configure a autenticação e as autorizações para o ServiceNow
Antes de ativar as ações do ServiceNow, um administrador do ServiceNow tem de autorizar e configurar um conector do ServiceNow para ações. Isto é necessário para associar a sua integração e permitir autorização de leitura e escrita para ações.
Antes de configurar a ligação, certifique-se de que tem o seguinte:
Autorização de administrador: tem de ser um administrador do ServiceNow.
Instância do ServiceNow: crie uma instância do ServiceNow seguindo as instruções na documentação do ServiceNow Developer.
Google Cloud projeto: configure um Google Cloud projeto com uma conta de administrador capaz de gerir configurações ao nível da organização, garantindo que a organização pode configurar um conjunto de trabalhadores.
Conjunto de trabalhadores: certifique-se de que a sua organização está configurada para gerir um conjunto de trabalhadores.
Para mais informações, consulte a publicação no blogue sobre o OAuth 2.0 com REST de entrada.
Configure o ServiceNow
O ServiceNow oferece dois sites principais:
- Site principal do ServiceNow: o site da sua instância do ServiceNow.
- Faz a gestão de utilizadores, grupos e tarefas de administração do sistema.
- URL: o URL da sua instância do ServiceNow.
- Inicie sessão com as suas credenciais de administrador.
- Site do programador:
- Configura a base de conhecimentos, configura fluxos de trabalho e desenvolve aplicações personalizadas.
- URL:
https://developer.service-now.com
. - Inicie sessão com o seu ID do ServiceNow.
Crie um ponto final OAuth
Para criar um ponto final OAuth, faça o seguinte:
- Inicie sessão na instância principal do ServiceNow com privilégios de administrador.
- Navegue para Tudo > OAuth do sistema > Registo de aplicações.
- Clique em Novo e, de seguida, selecione Criar um ponto final da API OAuth para clientes externos. Obtenha o ID de cliente e o segredo do cliente.
- Preencha as informações necessárias:
- Nome: nome exclusivo.
- URL de redirecionamento:
https://vertexaisearch.cloud.google.com/oauth-redirect
- Clique em Enviar para criar a credencial.
- Após o envio, clique no nome para ver o segredo do cliente.
- O segredo está oculto. Clique no ícone de cadeado junto ao segredo para o anular a máscara e ver.
- Guarde uma cópia do ID de cliente e do segredo para usar quando necessário.
- Aceda a
developer.service-now.com
e clique em Gerir palavra-passe da instância. - Guarde uma cópia do nome de utilizador e da palavra-passe para usar quando necessário.
- Nesta fase, estão disponíveis todas as cinco informações necessárias para configurar um arquivo de dados do ServiceNow. Se não houver problemas com a utilização da função de administrador para extrair dados, avance para a criação de um arquivo de dados.
Configure funções e autorizações
Tem de ter uma função de administrador de segurança para criar e gerir utilizadores. Se não tiver esta função, eleve a sua função para security_admin clicando em Elevar função no seu perfil. Selecione a função security_admin e clique em Atualizar. A função security_admin é necessária para criar funções e gerir utilizadores.
- Crie uma função personalizada com regras de LCA:
- Navegue para Tudo > Administração de utilizadores > Funções.
- Clique em Novo para criar uma nova função.
- Selecione um nome e clique em Enviar.
- Navegue para Segurança do sistema > Controlo de acesso (ACL) para criar uma nova regra de ACL.
- Clique em Novo para criar uma nova regra de LCA.
- Selecione uma função, como
sys_user_role
. - Clique em Enviar e atribua a função.
- Repita este processo até ser concedido o acesso a todas as tabelas. O conetor requer acesso às seguintes tabelas para que cada entidade seja executada com êxito:
- Incidente:
incident
. - Artigo do 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
. - Conhecimento:
kb_knowledge
,kb_knowledge_base
,kb_uc_can_read_mtom
,kb_uc_can_contribute_mtom
. - Anexo: todos os itens listados.
- Identidade:
sys_user_role
,sys_user_has_role
,sys_user_group
,sys_user_grmember
,sys_user
. - Atualizado à medida que são extraídos novos critérios:
core_company
,cmn_location
,cmn_department
. - Critérios do utilizador:
user_criteria
.
- Incidente:
- Verifique se todas as ACLs estão atualizadas navegando para
sys_security_acl_role_list.do
na barra de pesquisa. - Selecione a função a validar.
- Confirme que todas as ACLs necessárias estão atribuídas à função selecionada.
- Conceda a função a uma conta de serviço:
- Aceda a Tudo > Administração de utilizadores > Utilizadores e selecione o utilizador.
- Encontre o utilizador ao qual quer conceder a função e selecione-o.
- Se não estiver disponível nenhum utilizador, navegue para Segurança do sistema > Utilizadores e grupos > Utilizadores.
- Clique em Novo para criar uma nova conta de serviço na tabela Utilizador.
- Selecione a caixa de verificação Acesso apenas ao serviço Web.
- Aceda à tabela Funções na parte inferior da página.
- Clique em Editar à direita.
- Conceda a função criada anteriormente e atribua-a ao utilizador. Consoante o tipo de função criada, selecione a adequada e atribua-a.
- Obtenha o nome de utilizador e a palavra-passe do utilizador. Na mesma página, clique em Definir palavra-passe.
- Gere automaticamente uma palavra-passe e guarde-a para utilização posterior:
- ID do utilizador:
manager
. - Palavra-passe: introduza a palavra-passe gerada automaticamente.
- ID do utilizador:
Crie uma função dedicada e atribua ACLs
Quando usa uma função de utilizador que não é de administrador, pode ter problemas ao realizar uma ação do ServiceNow, mesmo que a sua função de utilizador contenha as autorizações necessárias. Para evitar este problema, crie uma função dedicada e atribua as autorizações necessárias.
Criar uma nova função
- Navegue para Administração de utilizadores > Funções.
- Clique em Novo.
- Especifique um nome para a nova função, como
database_admin_restricted
. - Opcionalmente, introduza uma descrição.
- Clique em Enviar.
Atribua a nova função ao utilizador de autenticação
- Navegue para Administração de utilizadores > Utilizadores.
- Selecione o utilizador que requer o acesso restrito.
- No registo do utilizador, navegue para a lista relacionada Funções.
- Na lista relacionada Funções, clique em Editar.
- Na coluna Coleção, encontre e selecione a função que acabou de criar.
- Clique em Adicionar para mover a função para a Lista de funções.
- Clique em Guardar.
Implemente autorizações ao nível da linha
- Navegue para Segurança do sistema > Controlos de acesso (ACL).
- Clique em Novo.
Configure os seguintes campos:
- Tipo: selecione registo.
- Operação: selecione ler.
- Nome:
- No primeiro menu pendente, selecione a tabela sys_db_object.
- No segundo menu pendente, selecione Nenhum.
- Função necessária: no campo Inserir uma nova linha, pesquise e selecione a função recém-criada.
Clique em Enviar.
Repita estes passos para implementar autorizações ao nível da linha para as tabelas sys_glide_object e sys_dictionary.
Implemente autorizações ao nível do campo
- Navegue para Segurança do sistema > Controlos de acesso (ACL).
- Clique em Novo.
- Configure os seguintes campos:
- Tipo: selecione registo.
- Operação: selecione ler.
- Nome:
- No primeiro menu pendente, selecione a tabela de destino, como sys_db_object.
- No segundo menu pendente, aplique a autorização a todos os campos na tabela ou selecione um nome de campo específico, como nome.
- Função necessária: no campo Inserir uma nova linha, pesquise e selecione a função recém-criada.
- Clique em Enviar.
- Repita estes passos para implementar autorizações ao nível do campo para campos específicos ou todos os campos nas tabelas sys_glide_object e sys_dictionary.
Configure o conjunto de trabalhadores
Siga as instruções para configurar um conjunto de trabalhadores com uma das seguintes configurações:
- Configuração do OIDC do Azure
- Configuração do SAML do Azure
- Configuração do Okta e do OIDC
- Configuração do Okta e SAML
Configure uma ação do ServiceNow
Antes de começar, certifique-se de que um Google Cloud administrador concluiu os passos em Configurar a autenticação e as autorizações para o ServiceNow e lhe forneceu o seguinte:
Campo | Descrição |
---|---|
ID do cliente | O ID de cliente da sua integração do ServiceNow. |
Segredo do cliente | O segredo do cliente para a sua integração do ServiceNow |
Nome de utilizador | Conta de utilizador da sua integração. |
Palavra-passe | Palavra-passe da integração. |
URL da instância (ou anfitrião de destino) | URL da instância do seu site do ServiceNow. O formato é o seguinte:
https://INSTANCE_NAME.service-now.com |
URL de autorização | O URI de autorização do seu cliente API do ServiceNow. O formato é o seguinte:
https://INSTANCE_NAME.service-now.com/oauth_auth.do |
URL do símbolo | O URI do token de atualização para o seu cliente API do ServiceNow. O formato é o seguinte:
https://INSTANCE_NAME.service-now.com/oauth_token.do |
Configure ações do ServiceNow na consola do Google Cloud
Para adicionar ações à sua app através da consola, faça o seguinte:
- Na Google Cloud consola, aceda à página Agent Builder.
- No menu de navegação, clique em Ações.
- Clique em Adicionar ações.
- Para selecionar o ServiceNow como a origem das ações, no cartão do ServiceNow, clique em Associar.
- Na página Configuração, selecione o arquivo de dados do ServiceNow na lista pendente Selecionar uma instância.
Configure a configuração do ServiceNow Introduza as informações de autorização para a instância do conetor selecionada:
- Introduza o novo ID de cliente e o novo segredo do cliente que obteve quando criou o ponto final OAuth.
- Introduza o URI de autorização do ServiceNow. Use o formato
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do
. - Introduza o URI de destino do ServiceNow. Use o formato
https://<var>INSTANCE_NAME</var>.service-now.com
. - Introduza o URI do token do ServiceNow. Use o formato
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do
. - Introduza a conta de utilizador e a palavra-passe do administrador do ServiceNow.
Opcional: selecione Ativar suporte de PKCE para uma camada de segurança adicional para a sua app.
Opcional: selecione Incluir tabelas do sistema para tornar as informações do sistema subjacentes do ServiceNow (tabelas do sistema) acessíveis. Selecione esta opção após ponderação cuidadosa e apenas se for absolutamente necessário.
Selecione as ações do ServiceNow que quer ativar.
Clique em Concluir configuração. A sua ação é apresentada na página Ações. As ações demoram alguns minutos a entrar em vigor na sua app.
Configure ações do ServiceNow através da API
Para adicionar ações à sua app através da API, faça o seguinte.
Crie um conetor do ServiceNow para ações:
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 } }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.COLLECTION_ID
: um ID para a coleção.COLLECTION_DISPLAY_NAME
: um nome a apresentar para a coleção.USER_ACCOUNT
: a conta de utilizador da sua integração do ServiceNow.CLIENT_ID
: o ID de cliente da sua integração com o ServiceNow.PASSWORD
: a palavra-passe da sua integração do ServiceNow.INSTANCE_URI
: o URI da instância do seu site do ServiceNow.
Atualize o conetor para incluir configurações de ações.
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" } ] } ] }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.COLLECTION_ID
: o ID da coleção.USERNAME
: conta de utilizador da sua integração do ServiceNow.CLIENT_ID
: o ID de cliente da sua integração do ServiceNow.PASSWORD
: palavra-passe da sua integração do ServiceNow.AUTH_URI
: o URI de autorização para a integração do ServiceNow.TOKEN_URI
: o URI do token de atualização para a sua integração do ServiceNow.INSTANCE_URL
: URL da instância do seu site do ServiceNow.
Ative as ações do ServiceNow para o seu assistente.
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" } ] } } }'
Substitua o seguinte:
PROJECT_NUMBER
: o número do seu projeto Google Cloud .APP_ID
: o ID da app.CONNECTOR_ID
: o ID de recolha do conector que gerou no passo anterior.
Depois de adicionar ações, o assistente pode realizar essas ações em nome dos seus utilizadores finais na app. Da primeira vez que um utilizador pede ao assistente para realizar uma ação do ServiceNow, é-lhe pedido que autorize o acesso à respetiva conta do ServiceNow. Para usar o assistente, os utilizadores têm de ter licenças do Gemini Enterprise Plus.