Skip to content

Acciones

Una acción es un paso dentro de un flujo de trabajo. Una vez que el disparador se activa, GCM recorre las acciones conectadas en orden, ejecutando cada una. El catálogo completo está agrupado en cinco categorías.

Acciones de miembro

Estas leen o escriben en la tabla de miembros.

AcciónQué hace
find_memberBusca un miembro por teléfono, correo o criterios personalizados. El resultado queda disponible para acciones posteriores.
find_members_by_segmentEncuentra todos los miembros que coinciden con un filtro (devuelve una lista para iterar).
create_memberInserta un nuevo registro de miembro.
update_memberCambia uno o más campos en un miembro.
change_membership_typeConvierte visitante → miembro, etc.
mark_member_lostEstablece lost_at.
recover_memberLimpia lost_at.
delete_memberBorrado lógico.
assign_unit / remove_from_unitAsignación de unidad organizativa.
assign_group / remove_from_groupAsignación a grupo pequeño.
assign_ministry / remove_from_ministryAsignación a ministerio.
enroll_school / graduate_school / remove_from_schoolCiclo de vida del programa de escuela.
add_noteAñade una nota al perfil del miembro.

Acciones de comunicación

Estas envían mensajes.

AcciónQué hace
send_messageEnvía vía WhatsApp / SMS / correo a un destinatario.
send_notificationEnvía una notificación in-app o web-push al personal.

Ambas te permiten elegir una plantilla o componer en línea. Los tokens de fusión rellenan datos dinámicos.

TIP

Prefiere siempre plantillas sobre mensajes en línea para flujos de trabajo de producción. Editar una plantilla más tarde actualiza cada flujo de trabajo que la usa.

Acciones de control de flujo

Estas controlan cómo el flujo de trabajo recorre el grafo.

AcciónQué hace
conditionRamifica según un booleano — salidas verdadero / falso
splitEjecuta múltiples ramas en paralelo
wait_delayPausa N minutos / horas / días antes de continuar
wait_untilPausa hasta una fecha/hora específica
wait_eventPausa hasta que otro evento se dispare
go_toSalta a otro nodo (bucle / omitir)
for_eachItera sobre una lista — la salida de la acción anterior

Los operadores de condición son 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, y varios más.

Acciones de datos

Estas manipulan datos sin cambiar miembros directamente.

AcciónQué hace
set_variableAlmacena un valor para usar en acciones posteriores
aggregateCuenta / suma / promedia sobre una lista
math_operationSumar, restar, multiplicar, dividir
lookupLee un único campo de una tabla relacionada

Acciones de integración

Estas alcanzan fuera de GCM.

AcciónQué hace
send_webhookPOST a una URL externa con una carga útil personalizada
create_taskCrea una tarea en tu rastreador de tareas del equipo

La acción de webhook es la vía de escape. Si necesitas hablar con Zapier, Slack, tu hoja de Google de administración de iglesia, o cualquier otro sistema, este es el camino.

Configurando una acción

Haz clic en cualquier nodo de acción para abrir el panel de configuración a la derecha. Cada acción tiene como mínimo:

  • Nombre para mostrar — qué aparece en el lienzo.
  • Configuración específica de la acción — selector de destinatario para mensajes, selector de campo para actualizaciones, etc.
  • Manejo de errores — qué hacer si la acción falla (reintentar, omitir, abortar la ejecución).

La mayoría de los campos de configuración admiten tokens de fusión, así que puedes construir acciones dinámicas como "enviar un mensaje a quien sea el pastor del miembro del disparador" sin escribir código.

Manejo de errores

Cada acción puede configurarse para fallos. Opciones:

  • Reintentar — vuelve a intentar hasta N veces con backoff.
  • Omitir y continuar — registra el error, avanza a la siguiente acción.
  • Abortar la ejecución — detiene el flujo de trabajo aquí.

Los valores por defecto son razonables:

  • send_message — reintenta 3 veces y luego omite.
  • update_member — aborta en fallo (consistencia de datos).
  • send_webhook — reintenta 3 veces y luego omite.

Idempotencia

Donde sea posible, las acciones son idempotentes — ejecutarlas dos veces con la misma entrada tiene el mismo efecto que ejecutarlas una vez. Esto importa para reintentos y para dobles disparos accidentales. send_message en particular usa una clave de idempotencia (ID de ejecución del flujo + ID de acción + ID del miembro) para que el destinatario nunca reciba duplicados si la llamada subyacente se reintenta.

Acciones personalizadas

Los tipos de acciones personalizadas no son configurables por el usuario en v1. Si necesitas comportamiento que no está en el catálogo, usa send_webhook para alcanzar una función externa. Escríbenos si tienes un patrón recurrente que debería estar integrado.

Preguntas comunes

¿Una acción puede hablar con los datos de otra organización? No. Todas las acciones están delimitadas a la organización del flujo de trabajo vía current_org_id(). Incluso si crearas una carga útil de webhook para consultar otra organización, RLS la rechazaría.

¿Puedo eliminar un nodo en medio del grafo? Sí — selecciona y presiona eliminar. Las líneas se reconectan a cualquier nodo que estuviera aguas arriba.

¿Qué pasa si mi flujo de trabajo se atasca en un wait_delay? La ejecución queda en estado en espera hasta que transcurra el retraso. Puedes cancelarla manualmente desde la página de ejecuciones si es necesario.

Próximos pasos