Adicione ações do ServiceNow

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:

  1. 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.
  2. 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:

  1. Inicie sessão na instância principal do ServiceNow com privilégios de administrador.
  2. Navegue para Tudo > OAuth do sistema > Registo de aplicações.
  3. 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.
  4. Preencha as informações necessárias:
    1. Nome: nome exclusivo.
    2. URL de redirecionamento: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. Clique em Enviar para criar a credencial.
  6. Após o envio, clique no nome para ver o segredo do cliente.
  7. O segredo está oculto. Clique no ícone de cadeado junto ao segredo para o anular a máscara e ver.
  8. Guarde uma cópia do ID de cliente e do segredo para usar quando necessário.
  9. Aceda a developer.service-now.com e clique em Gerir palavra-passe da instância.
  10. Guarde uma cópia do nome de utilizador e da palavra-passe para usar quando necessário.
  11. 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.

  1. Crie uma função personalizada com regras de LCA:
    1. Navegue para Tudo > Administração de utilizadores > Funções.
    2. Clique em Novo para criar uma nova função.
    3. Selecione um nome e clique em Enviar.
    4. Navegue para Segurança do sistema > Controlo de acesso (ACL) para criar uma nova regra de ACL.
    5. Clique em Novo para criar uma nova regra de LCA.
    6. Selecione uma função, como sys_user_role.
    7. Clique em Enviar e atribua a função.
    8. 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:
      1. Incidente: incident.
      2. 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.
      3. Conhecimento: kb_knowledge, kb_knowledge_base, kb_uc_can_read_mtom, kb_uc_can_contribute_mtom.
      4. Anexo: todos os itens listados.
      5. Identidade: sys_user_role, sys_user_has_role, sys_user_group, sys_user_grmember, sys_user.
      6. Atualizado à medida que são extraídos novos critérios: core_company, cmn_location, cmn_department.
      7. Critérios do utilizador: user_criteria.
    9. Verifique se todas as ACLs estão atualizadas navegando para sys_security_acl_role_list.do na barra de pesquisa.
    10. Selecione a função a validar.
    11. Confirme que todas as ACLs necessárias estão atribuídas à função selecionada.
  2. Conceda a função a uma conta de serviço:
    1. Aceda a Tudo > Administração de utilizadores > Utilizadores e selecione o utilizador.
    2. Encontre o utilizador ao qual quer conceder a função e selecione-o.
  3. Se não estiver disponível nenhum utilizador, navegue para Segurança do sistema > Utilizadores e grupos > Utilizadores.
  4. Clique em Novo para criar uma nova conta de serviço na tabela Utilizador.
  5. Selecione a caixa de verificação Acesso apenas ao serviço Web.
  6. Aceda à tabela Funções na parte inferior da página.
  7. Clique em Editar à direita.
  8. Conceda a função criada anteriormente e atribua-a ao utilizador. Consoante o tipo de função criada, selecione a adequada e atribua-a.
  9. Obtenha o nome de utilizador e a palavra-passe do utilizador. Na mesma página, clique em Definir palavra-passe.
  10. Gere automaticamente uma palavra-passe e guarde-a para utilização posterior:
    1. ID do utilizador: manager.
    2. Palavra-passe: introduza a palavra-passe gerada automaticamente.

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

  1. Navegue para Administração de utilizadores > Funções.
  2. Clique em Novo.
  3. Especifique um nome para a nova função, como database_admin_restricted.
  4. Opcionalmente, introduza uma descrição.
  5. Clique em Enviar.

Atribua a nova função ao utilizador de autenticação

  1. Navegue para Administração de utilizadores > Utilizadores.
  2. Selecione o utilizador que requer o acesso restrito.
  3. No registo do utilizador, navegue para a lista relacionada Funções.
  4. Na lista relacionada Funções, clique em Editar.
  5. Na coluna Coleção, encontre e selecione a função que acabou de criar.
  6. Clique em Adicionar para mover a função para a Lista de funções.
  7. Clique em Guardar.

Implemente autorizações ao nível da linha

  1. Navegue para Segurança do sistema > Controlos de acesso (ACL).
  2. Clique em Novo.
  3. 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.
  4. Clique em Enviar.

  5. 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

  1. Navegue para Segurança do sistema > Controlos de acesso (ACL).
  2. Clique em Novo.
  3. 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.
  4. Clique em Enviar.
  5. 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:

  1. Configuração do OIDC do Azure
  2. Configuração do SAML do Azure
  3. Configuração do Okta e do OIDC
  4. 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:

  1. Na Google Cloud consola, aceda à página Agent Builder.
  2. No menu de navegação, clique em Ações.
  3. Clique em Adicionar ações.
  4. Para selecionar o ServiceNow como a origem das ações, no cartão do ServiceNow, clique em Associar.
  5. Na página Configuração, selecione o arquivo de dados do ServiceNow na lista pendente Selecionar uma instância.
    Configure o serviço agora
    Configure a configuração do ServiceNow
  6. Introduza as informações de autorização para a instância do conetor selecionada:

    1. Introduza o novo ID de cliente e o novo segredo do cliente que obteve quando criou o ponto final OAuth.
    2. Introduza o URI de autorização do ServiceNow. Use o formato https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do.
    3. Introduza o URI de destino do ServiceNow. Use o formato https://<var>INSTANCE_NAME</var>.service-now.com.
    4. Introduza o URI do token do ServiceNow. Use o formato https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do.
    5. Introduza a conta de utilizador e a palavra-passe do administrador do ServiceNow.
  7. Opcional: selecione Ativar suporte de PKCE para uma camada de segurança adicional para a sua app.

  8. 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.

  9. Selecione as ações do ServiceNow que quer ativar.

  10. 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.

  1. 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.

  2. 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.

  3. 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.