Configuração
Configure componentes, sincronização de owner e scheduled jobs do Flexible Team Share.
Configuração do Componente
O componente Object Team Member pode ser configurado diretamente no Lightning App Builder com as seguintes propriedades:
| Propriedade | Tipo | Padrão | Descrição |
|---|---|---|---|
| Card Title | String | Team Members | O título exibido no cartão do componente |
| Max Displayed Members | Integer | 5 | Número máximo de membros da equipe mostrados antes de colapsar. Defina como 0 para mostrar todos |
Quando o número de membros da equipe excede o limite configurado, a lista colapsa e mostra um botão “Show all (X more)”. Clicar nele expande a lista completa, com um botão “Show less” para colapsá-la novamente. O owner do registro sempre aparece primeiro na lista, independentemente do limite de exibição.


Comportamento do Limite de Exibição
| Configuração | Comportamento |
|---|---|
| Max Displayed Members = 5 (padrão) | Mostra os primeiros 5 membros, “Show X more” para o restante |
| Max Displayed Members = 0 | Todos os membros da equipe visíveis, sem colapsar/expandir |
| Max Displayed Members = 3 (personalizado) | Mostra os primeiros 3 membros, “Show X more” para o restante |
Funções de Membro da Equipe
Ao adicionar usuários a uma equipe, você atribui uma das seguintes funções:
| Função | Descrição | Capacidades |
|---|---|---|
| Owner | O owner do registro | Atribuído automaticamente quando um registro é criado. Não pode ser atribuído ou removido manualmente. Tem acesso completo para gerenciar membros da equipe. Excluído automaticamente quando não há outros usuários na equipe. |
| Manager | Administrador da equipe | Pode adicionar, editar e remover membros da equipe. Use esta função para usuários que precisam gerenciar a composição da equipe. |
| User | Membro padrão da equipe | Pode visualizar a lista de membros da equipe, mas não pode modificá-la. Use esta função para usuários que precisam apenas de acesso ao registro. |

Sincronização de Mudança de Owner
Quando o owner do registro muda (ex: uma Conta é reatribuída a outro representante de vendas), o membro da equipe Owner NÃO é atualizado automaticamente. O sistema cria o registro Owner quando o primeiro membro da equipe é adicionado, mas não rastreia mudanças subsequentes de owner no registro pai.
Para manter o Owner da equipe sincronizado com o owner do registro, você precisa criar um Record-Triggered Flow.
Configuração via Flow (Recomendado)
- Acesse Setup > Flows
- Clique em New Flow > Record-Triggered Flow
- Selecione o objeto (ex: Account)
- Configure trigger: “A record is updated”
- Adicione Entry Condition: Formula >
ISCHANGED({!$Record.OwnerId})avalia comotrue - Defina “When to Run the Flow” como “After the record is saved”
- Adicione elemento Action
- Pesquise “Sync Team Member Owner”
- Defina o parâmetro “Record ID” como
{!$Record.Id} - Deixe “Object API Name” vazio (derivado automaticamente do Record ID)
- Salve e Ative o Flow

Configuração via Apex Trigger
trigger AccountOwnerSync on Account(after update) {
List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest> requests =
new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>();
for (Account acc : Trigger.new) {
Account oldAcc = Trigger.oldMap.get(acc.Id);
if (acc.OwnerId != oldAcc.OwnerId) {
tucariofts.SyncOwnerInvocable.SyncOwnerRequest req =
new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
req.recordId = acc.Id;
requests.add(req);
}
}
if (!requests.isEmpty()) {
tucariofts.SyncOwnerInvocable.syncOwners(requests);
}
}
Chamar de Código Apex (Registro Único)
tucariofts.SyncOwnerInvocable.SyncOwnerRequest request =
new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
request.recordId = accountId;
List<tucariofts.SyncOwnerInvocable.SyncOwnerResult> results =
tucariofts.SyncOwnerInvocable.syncOwners(
new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>{ request }
);
if (results[0].success) {
System.debug('Owner synced: ' + results[0].oldOwnerId +
' → ' + results[0].newOwnerId);
} else {
System.debug('Sync failed: ' + results[0].message);
}
Objeto de Resultado
| Campo | Tipo | Descrição |
|---|---|---|
success | Boolean | Se a sincronização foi bem-sucedida |
message | String | Mensagem de resultado ou detalhes do erro |
oldOwnerId | Id | ID do usuário owner anterior |
newOwnerId | Id | ID do novo usuário owner |
Cenários de Erro
| Cenário | Resultado |
|---|---|
| Sem membros da equipe no registro | success = false, “No Owner team member found” |
| Owner inalterado | success = true, “Owner unchanged, no update needed” |
| Record ID nulo | success = false, “Record ID is required” |
| Record ID inválido | success = false, mensagem de erro |
Limitações Importantes
Queue Owners Não Suportados — O Flexible Team Share não suporta Queues como owners de equipe. Quando um registro pertence a uma Queue:
- O sistema usa o usuário atual (a pessoa que adiciona primeiro um membro da equipe) como Owner na equipe
- Se você posteriormente alterar o owner do registro de uma Queue para um Usuário, execute a ação Sync Owner para atualizar a equipe
- Se você alterar o owner de um Usuário para uma Queue, o Owner da equipe permanecerá como o usuário anterior
Flow Deve Ser Criado Por Objeto — Você precisa criar um Flow separado para cada tipo de objeto onde deseja sincronização de owner. A Invocable Action funciona com qualquer objeto, mas o Salesforce requer Record-Triggered Flows separados por objeto.
Acesso Temporário com Data de Término
Ao adicionar um membro da equipe, você pode opcionalmente definir uma End Date para conceder acesso temporário a um registro. Isso é útil para:
- Colaborações baseadas em projetos com cronogramas definidos
- Consultores ou contratados temporários
- Cobertura de férias ou responsabilidades delegadas
- Períodos de auditoria ou revisão
Como Funciona
- Ao adicionar ou editar um membro da equipe, defina o campo End Date para o último dia que ele deve ter acesso
- O membro da equipe mantém acesso total até o final desse dia
- Depois que a End Date passa, o scheduled job de limpeza remove automaticamente o membro da equipe e revoga seu acesso

Processo de Limpeza Automática
- Um scheduled batch job é executado diariamente (por padrão às 2:00 AM) para remover membros da equipe expirados
- Quando um membro da equipe é removido, seu registro de compartilhamento também é excluído, revogando o acesso ao registro
- O cleanup job pode ser gerenciado no Configuration Wizard

Scheduled Job
O Flexible Team Share inclui um cleanup job automático que remove membros da equipe expirados. Este job é agendado automaticamente durante a instalação do pacote.
Verificar o Job
- Acesse Setup > Scheduled Jobs
- Procure por Flexible Team Share - Expired Member Cleanup
- Verifique se o job está agendado para executar diariamente

Gerenciamento Manual de Job
Administradores podem gerenciar o cleanup job no Configuration Wizard:
- Schedule Job — Agendar manualmente se não estiver em execução
- Unschedule Job — Parar a limpeza automática
- Run Now — Executar limpeza imediatamente
Solução de Problemas
Aviso “Configuration Not Found”
Sintoma: Um modal de aviso aparece indicando que nenhuma configuração existe para este objeto.
Causa: O componente Team Member foi adicionado a uma página de registro antes de configurar o objeto no Configuration Wizard.
Solução:
- Acesse o Configuration Wizard (aplicativo Flexible Team Share > Configuration)
- Adicione e implemente uma configuração para este objeto
- Retorne à página de registro — o componente agora deve funcionar corretamente

Erro “No Access”
Sintoma: O componente exibe uma mensagem “No Access” com um ícone de cadeado em vez de membros da equipe.
Causa: O usuário atual não possui o Permission Set Group necessário atribuído.
Solução:
- Acesse Setup > Permission Set Groups
- Atribua o Admin ou User Permission Set Group aos usuários afetados
- Os usuários podem precisar fazer logout e login novamente para que as alterações tenham efeito

O erro “This operation requires the FTS Admin permission set” persiste
Sintoma: Ao implantar uma configuração no Configuration Wizard (selecionando um objeto e clicando em Deploy Settings), o erro “This operation requires the FTS Admin permission set” aparece — mesmo que o permission set Flexible Team Share - Admin já tenha sido atribuído ao usuário.
Causa: Trata-se de uma peculiaridade de cache de permissões do Salesforce. Após um permission set ser atribuído, o Salesforce às vezes continua avaliando o estado de permissões anterior do usuário durante a sessão ativa, de modo que o acesso recém-concedido não é reconhecido imediatamente.
Solução:
- Verifique se o permission set Flexible Team Share - Admin (ou o Admin Permission Set Group) está atribuído ao usuário em Setup > Permission Set Groups / Permission Sets
- Faça um hard refresh no navegador para forçar o Salesforce a reavaliar as permissões:
- Windows:
Ctrl + Shift + R - Mac:
Cmd + Shift + R
- Windows:
- Se o erro persistir, faça logout e login novamente para iniciar uma nova sessão
- Tente novamente a ação Deploy Settings — a operação agora deve ser concluída com sucesso
Aviso “Limit Reached”
Sintoma: O botão “Add Team Member” está desabilitado e uma mensagem indica que o limite foi atingido.
Causa: Você atingiu o número máximo de membros da equipe permitidos.
Solução: Remova membros da equipe inativos ou desnecessários para liberar espaços.
| Membros da Equipe Dentro do Limite | Membros da Equipe Acima do Limite |
|---|---|
![]() | ![]() |

Compartilhamento Não Funcionando
Sintoma: Membros da equipe são adicionados com sucesso, mas não conseguem acessar o registro.
Causa: A configuração Organization-Wide Default (OWD) do objeto está definida como Public Read/Write.
Solução:
- Acesse Setup > Sharing Settings
- Altere o OWD do objeto para Private ou Public Read Only
- Nota: Alterar configurações OWD pode afetar o acesso de outros usuários — consulte seu administrador Salesforce
Suporte
Para perguntas ou problemas, entre em contato com [email protected].

