Skip to content

Ações

Uma ação é uma etapa dentro de um fluxo de trabalho. Uma vez que o gatilho dispara, o GCM percorre as ações conectadas em ordem, executando cada uma. O catálogo completo está agrupado em cinco categorias.

Ações de membro

Estas leem ou escrevem na tabela de membros.

AçãoO que faz
find_memberBusca um membro por telefone, e-mail ou critério personalizado. O resultado fica disponível para ações posteriores.
find_members_by_segmentEncontra todos os membros que correspondem a um filtro (retorna uma lista para iterar).
create_memberInsere um novo registro de membro.
update_memberAltera um ou mais campos em um membro.
change_membership_typeConverte visitante → membro, etc.
mark_member_lostDefine lost_at.
recover_memberLimpa lost_at.
delete_memberExclusão lógica.
assign_unit / remove_from_unitAtribuição de unidade organizacional.
assign_group / remove_from_groupAtribuição a pequeno grupo.
assign_ministry / remove_from_ministryAtribuição a ministério.
enroll_school / graduate_school / remove_from_schoolCiclo de vida do programa escolar.
add_noteAcrescenta uma nota ao perfil do membro.

Ações de comunicação

Estas enviam mensagens.

AçãoO que faz
send_messageEnvia via WhatsApp / SMS / e-mail para um destinatário.
send_notificationEnvia uma notificação in-app ou web push para a equipe.

Ambas permitem escolher um template ou compor inline. Tokens de mesclagem preenchem dados dinâmicos.

TIP

Sempre prefira templates a mensagens inline para fluxos de trabalho em produção. Editar um template depois atualiza todo fluxo de trabalho que o usa.

Ações de controle de fluxo

Estas controlam como o fluxo de trabalho percorre o grafo.

AçãoO que faz
conditionRamifica por um booleano — saídas verdadeiro / falso
splitExecuta várias branches em paralelo
wait_delayPausa por N minutos / horas / dias antes de continuar
wait_untilPausa até uma data/hora específica
wait_eventPausa até que outro evento dispare
go_toSalta para outro nó (loop / pular)
for_eachItera sobre uma lista — a saída da ação anterior

Os operadores de condição são ricos: is, is_not, contains, greater_than, less_than, is_empty, matches_regex, is_exactly_n_days_ago, is_between_days_ago, is_today, is_within_last_n_days, is_in_next_n_days, is_during_business_hours, e vários outros.

Ações de dados

Estas manipulam dados sem mudar membros diretamente.

AçãoO que faz
set_variableArmazena um valor para uso em ações posteriores
aggregateConta / soma / média sobre uma lista
math_operationSomar, subtrair, multiplicar, dividir
lookupLê um único campo de uma tabela relacionada

Ações de integração

Estas alcançam fora do GCM.

AçãoO que faz
send_webhookPOST para uma URL externa com um payload personalizado
create_taskCria uma tarefa no seu rastreador de tarefas de equipe

A ação de webhook é a saída de emergência. Se você precisa falar com o Zapier, o Slack, sua planilha Google de gestão de igreja ou qualquer outro sistema, esse é o caminho.

Configurar uma ação

Clique em qualquer nó de ação para abrir o painel de configuração à direita. Toda ação tem no mínimo:

  • Nome de exibição — o que aparece no canvas.
  • Configuração específica da ação — seletor de destinatário para mensagens, seletor de campo para atualizações, etc.
  • Tratamento de erros — o que fazer se a ação falhar (tentar de novo, pular, abortar a execução).

A maioria dos campos de configuração suporta tokens de mesclagem, então você pode montar ações dinâmicas como "enviar uma mensagem para quem for o pastor do membro do gatilho" sem escrever código.

Tratamento de erros

Cada ação pode ser configurada para falhas. Opções:

  • Tentar de novo — tentar até N vezes com backoff.
  • Pular e continuar — registrar o erro, ir para a próxima ação.
  • Abortar a execução — parar o fluxo de trabalho aqui.

Os padrões são sensatos:

  • send_message — tenta 3 vezes depois pula.
  • update_member — aborta em falha (consistência de dados).
  • send_webhook — tenta 3 vezes depois pula.

Idempotência

Onde possível, as ações são idempotentes — executá-las duas vezes com a mesma entrada tem o mesmo efeito de executar uma vez. Isso importa para retries e para gatilhos duplos acidentais. send_message em particular usa uma chave de idempotência (ID da execução do fluxo de trabalho + ID da ação + ID do membro) para que o destinatário nunca receba duplicatas se a chamada subjacente for repetida.

Ações personalizadas

Tipos de ação personalizados não são configuráveis pelo usuário na v1. Se você precisa de um comportamento que não está no catálogo, use send_webhook para alcançar uma função externa. Escreva para nós se você tem um padrão recorrente que deveria ser integrado.

Perguntas comuns

Uma ação pode falar com dados de outra organização? Não. Todas as ações são restritas à organização do fluxo de trabalho via current_org_id(). Mesmo se você montasse um payload de webhook para consultar outra organização, o RLS recusaria.

Posso excluir um nó no meio do grafo? Sim — selecione e aperte excluir. As linhas se reconectam ao que estava upstream.

E se meu fluxo de trabalho ficar preso em um wait_delay? A execução fica no estado aguardando até o atraso passar. Você pode cancelar manualmente pela página de execuções se precisar.

Próximos passos