Acompanhante de atividade

Preciso desenvolver um processo em que envolve 3 pessoas. A primeira atribui a atividade, a segunda executa e a terceira acompanha a execução (mas não movimenta a atividade, somente acompanha mesmo).
Existe alguma forma de configurar isso? sem que eu coloque o usuário como gestor do processo? Pois quero que acompanhe especificamente a atividade atribuída.

Uma ideia bacana é utilizar e-mails personalizados para notificar as pessoas que você precisa que acompanhe as atividades do processo;

Utilizo muito aqui na empresa.

Segue:

function afterStateLeave(sequenceId) {
   // Recuperando o usuário atual
   var currentUser = fluigAPI.getUserService().getCurrent();

   // Criando um mapa para armazenar os parâmetros do email
   var parameters = new java.util.HashMap();
   parameters.put("subject", "Fluig - Solicitação n°" + String(getValue("WKNumProces")).replace(".", ""));
   parameters.put("SERVER_URL", fluigAPI.getPageService().getServerURL());
   parameters.put("TENANT_ID", getValue("WKCompany"));
   parameters.put("PROCESS_ID", String(getValue("WKNumProces")).replace(".", ""));
   parameters.put("REQUESTER", hAPI.getCardValue("requesterName"));
   parameters.put("FLEET", hAPI.getCardValue("codFrota"));
   parameters.put("PLATE", hAPI.getCardValue("placaVeiculo"));
   parameters.put("MODEL", hAPI.getCardValue("modeloVeiculo"));
   parameters.put("DATA_CONCLUSAO", hAPI.getCardValue("dataAprovacaoPlanejamento"));

   if (sequenceId == D_VEICULOS) {
      // Criando uma lista de destinatários
      var users = new java.util.ArrayList();
      users.add(hAPI.getCardValue("requesterEmail"));

      parameters.put("APPROVER", hAPI.getCardValue("nomeAprovadordVeiculos"));

      var template;
      if (hAPI.getCardValue("aprovacaodVeiculos") == "Reprovado") {
         // Adicionando a justificativa aos parâmetros
         parameters.put("JUSTIFICATION", hAPI.getCardValue("justificativadVeiculos"));
         template = "emailTemplate001";
      } else {
         template = "emailTemplate002";
      }

      // Enviando o email
      try {
         notifier.notify(currentUser.getLogin(), template, parameters, users, "text/html");
      } catch (error) {
         log.info(error);
      }
   }

   if (sequenceId == AP_GES_LIBERACAO) {
      // Criando uma lista de destinatários
      var users = new java.util.ArrayList();
      users.add(hAPI.getCardValue("requesterEmail"));

      parameters.put("APPROVER", hAPI.getCardValue("nomeAprovadorGestorLib"));

      var template;
      if (hAPI.getCardValue("aprovacaoGestorLib") == "Reprovado") {
         // Adicionando a justificativa aos parâmetros
         parameters.put("JUSTIFICATION", hAPI.getCardValue("justificativaGestorLib"));
         template = "emailTemplate001";
      } else {
         template = "emailTemplate002";
      }

      // Enviando o email
      try {
         notifier.notify(currentUser.getLogin(), template, parameters, users, "text/html");
      } catch (error) {
         log.info(error);
      }
   }

   if (sequenceId == AP_GES_RECEBIMENTO) {
      // Criando uma lista de destinatários
      var users = new java.util.ArrayList();
      users.add(hAPI.getCardValue("requesterEmail"));

      parameters.put("APPROVER", hAPI.getCardValue("nomeAprovadorGestorRec"));

      var template;
      if (hAPI.getCardValue("aprovacaoGestorRec") == "Reprovado") {
         // Adicionando a justificativa aos parâmetros
         parameters.put("JUSTIFICATION", hAPI.getCardValue("justificativaGestorRec"));
         template = "emailTemplate001";
      } else {
         template = "emailTemplate002";
      }

      // Enviando o email
      try {
         notifier.notify(currentUser.getLogin(), template, parameters, users, "text/html");
      } catch (error) {
         log.info(error);
      }
   }

   if (sequenceId == AP_DIR_FROTAS) {
      // Criando uma lista de destinatários
      var users = new java.util.ArrayList();
      users.add(hAPI.getCardValue("requesterEmail"));

      parameters.put("APPROVER", hAPI.getCardValue("nomeAprovadorDiretorFrotas"));

      var template;
      if (hAPI.getCardValue("aprovacaoDiretorFrotas") == "Reprovado") {
         // Adicionando a justificativa aos parâmetros
         parameters.put("JUSTIFICATION", hAPI.getCardValue("justificativaDiretorFrotas"));
         template = "emailTemplate001";
      } else {
         template = "emailTemplate002";
      }

      // Enviando o email
      try {
         notifier.notify(currentUser.getLogin(), template, parameters, users, "text/html");
      } catch (error) {
         log.info(error);
      }
   }

   if (sequenceId == ENCERRADO) {
      // Criando uma lista de destinatários
      var users = new java.util.ArrayList();
      users.add(hAPI.getCardValue("requesterEmail"));
      users.add(hAPI.getCardValue("emailAprovadordVeiculos"));
      users.add(hAPI.getCardValue("emailAprovadorGestorLib"));
      users.add(hAPI.getCardValue("emailAprovadorGestorRec"));
      users.add(hAPI.getCardValue("emailAprovadorDiretorFrotas"));
      users.add(hAPI.getCardValue("emailAprovadorPlanejamento"));

      if (hAPI.getCardValue("substituiFilial") == "NAO") {
         parameters.put("FILIAL", hAPI.getCardValue("filialAtual"));
      } else {
         parameters.put("FILIAL", hAPI.getCardValue("filialDestino"));
      }
      if (hAPI.getCardValue("substituiCentroCusto") == "NAO") {
         parameters.put("CC", hAPI.getCardValue("centroCustoAtual"));
      } else {
         parameters.put("CC", hAPI.getCardValue("centroCustoDestino"));
      }

      try {
         notifier.notify(currentUser.getLogin(), "emailTemplate003", parameters, users, "text/html");
      } catch (error) {
         log.info(error);
      }
   }

   if (sequenceId == JOIN_ENCERRADO) {
      // Criando uma lista de destinatários
      var users = new java.util.ArrayList();
      users.add(hAPI.getCardValue("requesterEmail"));
      users.add(hAPI.getCardValue("emailAprovadordVeiculos"));
      users.add(hAPI.getCardValue("emailAprovadorGestorLib"));
      users.add(hAPI.getCardValue("emailAprovadorGestorRec"));
      users.add(hAPI.getCardValue("emailAprovadorDiretorFrotas"));
      users.add(hAPI.getCardValue("emailAprovadorPlanejamento"));

      if (hAPI.getCardValue("substituiFilial") == "NAO") {
         parameters.put("FILIAL", hAPI.getCardValue("filialAtual"));
      } else {
         parameters.put("FILIAL", hAPI.getCardValue("filialDestino"));
      }
      if (hAPI.getCardValue("substituiCentroCusto") == "NAO") {
         parameters.put("CC", hAPI.getCardValue("centroCustoAtual"));
      } else {
         parameters.put("CC", hAPI.getCardValue("centroCustoDestino"));
      }

      try {
         notifier.notify(currentUser.getLogin(), "emailTemplate003", parameters, users, "text/html");
      } catch (error) {
         log.info(error);
      }
   }

   if (sequenceId == FINANCEIRO) {
      var ativAprovStatusDveiculosEx = hAPI.getCardValue("ativAprovStatusDveiculosEx");
      if (ativAprovStatusDveiculosEx == "AJUSTAR") {
         // Se for "AJUSTAR", limpa o campo
         hAPI.setCardValue("ativAprovStatusDveiculosEx", "");
      }
   }
}

https://tdn.totvs.com/pages/releaseview.action?pageId=852915615

Você pode criar um grupo e inserir este usuário neste grupo.
Depois, você acessa o menu Processos > Configurar Processos, existe um botão chamado ‘Permissões’, ali você irá adicionar este grupo criado.
Nessa situação, se o usuário estiver no grupo, poderá visualizar a solicitação que é privada.