Skip to content

Registro de atividade do membro

Todo perfil de membro tem uma aba Atividade que mostra uma linha do tempo cronológica de tudo que aconteceu com essa pessoa: quando foi adicionada, em quais grupos entrou, quais domingos frequentou, quais doações fez, quais mensagens de workflow recebeu, e quando (se já) foi marcada como perdida e recuperada.

Abra a partir do perfil de qualquer membro.

Perfil do membro com aba Atividade aberta

O que aparece na linha do tempo

A linha do tempo é alimentada pela tabela member_activity_log, que captura eventos de ciclo de vida e engajamento escritos por código de aplicação (não pelo trigger genérico de auditoria que alimenta o registro de auditoria da org). Eventos vêm de todo o app:

FonteExemplos
Ciclo de vida do membrocriado, atualizado, tipo alterado, marcado como perdido, recuperado, excluído
Estrutura orgunidade atribuída/removida, grupo atribuído/removido, ministério atribuído/removido
Escolasmatriculado, formado, removido
Engajamentopresença marcada, doação registrada
Mensageriamensagem enviada, mensagem com falha (com canal e nome do template)
Workflowsworkflow iniciado, ação de workflow rodou, workflow completado, workflow com falha
Notasnota adicionada por um membro da equipe

Cada evento tem um ícone, um título, e (quando relevante) uma descrição curta. Eventos de workflow também incluem o nome do workflow como um badge para você saber qual automação tocou o membro.

Lendo a linha do tempo

As entradas são agrupadas por data com o dia mais recente no topo. Dentro de um dia, são listadas com a mais nova primeiro. Cada linha mostra:

  • Ícone + cor indicando o tipo de evento (verde para eventos "entrou", vermelho para "perdido"/com falha, roxo para mudanças de tipo, etc.)
  • Título — uma frase humana curta como "Entrou no Grupo de Jovens" ou "Dízimo registrado — R$ 50,00"
  • Descrição — uma linha mais longa com contexto (o ator, o nome do workflow, o tipo de reunião)
  • Hora no fuso horário da org

A lista rola dentro da aba, para o resto do perfil ficar visível. As 100 entradas mais recentes carregam por padrão; histórico mais antigo é paginado quando presente.

Por que um registro separado em vez do registro de auditoria da org?

O registro de auditoria da org é genérico e dirigido por trigger — ele sabe "uma linha em members foi atualizada" mas não "essa pessoa se matriculou no coral de jovens". O registro de atividade do membro é construído de propósito para a história voltada ao membro:

  • Cross-table. Presença e doações são tabelas diferentes; a linha do tempo as tece juntas.
  • Títulos legíveis por humanos. Código de aplicação escreve o título e descrição na língua do usuário, para que equipe não-técnica possa ler a linha do tempo sem conhecer o schema.
  • Integração de workflow. Execuções de workflow escrevem metadados ricos (qual automação, qual ação, o que aconteceu) que o trigger genérico não pode capturar.

Os dois registros não se duplicam para consultas somente-leitura: uma edição de membro aparece em ambos porque é rastreada pelo trigger genérico e aparece como uma entrada da linha do tempo "Perfil atualizado".

Permissões

A aba Atividade é visível a quem pode ver o perfil do membro (pastores com members.read, líderes de grupo dentro do seu escopo). Não há permissão separada para a linha do tempo porque ela já está filtrada a esse único membro — a fronteira de privacidade é a permissão de visualização do membro, não o registro em si.

Quando usar a linha do tempo vs o registro de auditoria da org

PerguntaUse
"Quando essa pessoa entrou na igreja?"Registro de atividade do membro
"Qual é o padrão de presença dela esse ano?"Registro de atividade do membro (ou o relatório de presença)
"Quais workflows a tocaram?"Registro de atividade do membro
"Quem editou o e-mail dela?"Registro de auditoria da org filtrado a esse membro
"Por que o tipo de membro dela foi alterado?"Ambos — a linha do tempo mostra o evento, o registro da org mostra o ator

Ressalvas

  • Importações em massa escrevem um único evento "member.created" por linha mas não populam atribuições de grupo/ministério como entradas separadas da linha do tempo — essas escrevem direto nas linhas. Se um membro está faltando eventos de entrada esperados, verifique o histórico de importações para confirmar que a importação teve sucesso.
  • Edições offline do PowerSync são enfileiradas e marcadas com timestamp no momento da sincronização, não no momento da edição. Espere uma pequena diferença entre o timestamp da atividade e o que o voluntário viu no dispositivo.
  • Entradas de atividade excluídas. Excluir suavemente um membro não apaga a linha do tempo dele. Restaurar traz de volta intacta. Exclusões permanentes (raras, solicitações de LGPD) apagam a linha do tempo junto com o membro.

Veja também