Skip to content

Disparadores

Un disparador es lo que inicia una ejecución de flujo de trabajo. Cada flujo de trabajo necesita al menos uno. GCM viene con unas dos docenas de disparadores integrados que cubren miembros, asistencia, donaciones, formularios, horarios y webhooks externos.

Grupos de disparadores

GrupoCuándo se activa
InstantáneoJusto cuando un evento ocurre en la base de datos (miembro creado, donación registrada, etc.)
ProgramadoEn una expresión cron o fecha futura única
ManualCuando un administrador inicia manualmente el flujo de trabajo

Disparadores instantáneos (miembro)

DisparadorSe activa cuando
member.createdSe guarda un nuevo registro de miembro
member.updatedCualquier campo en un miembro cambia
member.deletedUn miembro es borrado lógicamente
member.birthdayEl date_of_birth de un miembro coincide con la fecha de hoy
member.marked_lostlost_at se establece en un miembro
member.recoveredlost_at se limpia en un miembro previamente perdido
member.type_changedEl tipo de miembro cambia (ej. Visitante → Miembro)
member.unit_assignedUn miembro es añadido a una unidad organizativa
member.unit_removedUn miembro es removido de una unidad organizativa
member.group_assignedUn miembro es añadido a un grupo pequeño
member.group_removedUn miembro es removido de un grupo pequeño
member.ministry_assignedUn miembro es añadido a un ministerio
member.ministry_removedUn miembro es removido de un ministerio
member.school_enrolledUn miembro inicia un programa de escuela
member.school_graduatedUn miembro completa un programa de escuela
member.school_removedUn miembro es removido de un programa de escuela
member.note_addedSe añade una nota al perfil de un miembro
member.taggedSe añade una etiqueta a un miembro

Disparadores instantáneos (asistencia y donaciones)

DisparadorSe activa cuando
attendance.markedUn miembro hace check-in en una reunión
attendance.removedUna fila de asistencia es eliminada
giving.recordedUna donación es creada (manual o en línea)
donation.refundedUna donación es reembolsada

Disparadores instantáneos (otros)

DisparadorSe activa cuando
event.createdSe crea un evento de calendario
form.submittedSe envía un formulario público (ej. formulario de visitante)
webhook.receivedUn sistema externo hace POST a la URL de webhook entrante de tu iglesia

Disparadores programados

DisparadorCuándo
scheduleCron recurrente — ej. cada lunes 9 AM
schedule.onceUn único momento futuro
scheduled_queryConsulta periódica de la base de datos (ej. comprobación nocturna sin asistencia por 6 semanas)

El disparador schedule usa sintaxis cron estándar. Lo traducimos a la zona horaria de tu iglesia (configurada en Configuración → Organización), así que 0 9 * * 1 significa "9 AM lunes en la hora local de tu iglesia."

Disparadores manuales

DisparadorCuándo
manualUn administrador hace clic en el botón ejecutar-ahora
manual_enrollmentUn administrador inscribe uno o más miembros directamente

Útil para envíos ad-hoc — ej. un mensaje único "tenemos un cambio de servicio mañana".

Configuración de disparadores

La mayoría de los disparadores tienen configuración extra:

  • Filtros — solo se activan cuando se cumplen condiciones extra. Ej. member.created donde tipo de miembro es Visitante.
  • Alcance de unidad organizativa — solo se activa para miembros en unidades específicas.
  • Alcance de tipo de membresía — solo se activa para visitantes, miembros, líderes, etc.

Estos filtros se evalúan antes de que se encole una ejecución — los eventos que no coinciden omiten el flujo de trabajo sin crear una fila de ejecución.

Sujeto y tokens

Cada disparador se activa con un sujeto — usualmente el miembro al que concierne el evento. Ese sujeto está disponible a través del flujo de trabajo como tokens de fusión:

  • {{trigger.member.first_names}} — para un disparador de miembro.
  • {{trigger.donation.amount}} — para giving.recorded.
  • {{trigger.attendance.meeting.name}} — para attendance.marked.

El selector de tokens muestra qué está disponible según el disparador que elegiste.

Flujos de trabajo multi-disparador

Un flujo de trabajo puede tener múltiples disparadores que todos canalizan en la misma secuencia de acciones. Patrón común:

  • Bienvenida a recién llegados con tanto member.created como member.recovered como disparadores, ambos llevando a un envío de "bienvenida".

Los dos disparadores se conectan a un nodo de unión de disparadores que se ramifica hacia las acciones compartidas.

Salvaguardas de frecuencia

Algunos disparadores se activan mucho. member.updated se activará cada vez que alguien toque cualquier campo. Para evitar flujos de trabajo desbocados:

  • Usa filtros de disparador para acotar lo que es elegible (solo cuando el estado cambia).
  • Usa limitación de tasa a nivel del flujo de trabajo — como máximo N ejecuciones por miembro por día.
  • Usa claves de idempotencia en acciones send-message para que los reintentos no dupliquen.

WARNING

El error clásico: un flujo de trabajo que actualiza un campo personalizado en member.updated, causando un bucle infinito. El constructor te advierte si creas este patrón; por favor presta atención a la advertencia.

Preguntas comunes

¿Puedo disparar en un cambio de campo personalizado? Sí — usa member.updated con un filtro en la clave de campo específica.

¿Por qué mi flujo de trabajo member.created no se ejecuta para miembros importados en masa? La importación masiva omite los disparadores de flujo de trabajo por defecto para evitar mensajear al mundo durante la migración. Hay una casilla de verificación en la pantalla de revisión de importación para optar.

¿Puede un solo evento disparar múltiples flujos de trabajo? Sí. Cada flujo de trabajo con un disparador coincidente se activa independientemente. El orden no está garantizado.

Próximos pasos