Saltar al contenido

Workflows

Automatizaciones por disparador. Cuando algo pasa (alguien entra, compra, completa un curso o pasa N días sin entrar), cada persona sigue un camino de esperas, condiciones, correos de la biblioteca, mensajes, comentarios, reacciones, etiquetas, grupos y publicaciones en Slack, a su ritmo. Editor en lienzo, variables entre los bloques, fin con éxito o error, tasa de éxito, envío aplazado por el cupo, simulación, historial, límites, quién firma y las 9 plantillas. También Llamar webhook con Variables y claves, las acciones de la plataforma, Llamar workflow y con qué rol actúan los pasos. También los bloques de IA Claude y ChatGPT, con la clave de API de la propia comunidad, los Límites de IA y las acciones de post, certificado, reconocimiento, chat, 1:1 y PDI.

Un workflow es una automatización por disparador: cuando algo le pasa a una persona (entra en la comunidad, compra, completa un curso, pasa 30 días sin entrar), entra en un camino que tú diseñas, con esperas, condiciones y acciones, y sigue ese camino a su ritmo. Es la serie de bienvenida, el recordatorio a quien desapareció, la felicitación por el curso, sin que nadie del equipo tenga que pulsar nada.

Memberfy ayuda a RR. HH. a mantener a todo el mundo comprometido: los mismos workflows recuerdan una evaluación pendiente, una 1:1 sin registro o una meta sin check-in.

Dónde está: Administración › Workflows. El propietario y el administrador crean, editan, activan y pausan; el moderador y el financiero ven, simulan y siguen el historial; el miembro no ve el área.

Cómo funciona

El disparador

Cada workflow empieza en un solo disparador, un bloque del diseño arrastrado desde la categoría Disparadores. Cada familia tiene su bloque (Miembros, Compras, Suscripciones, Eventos, Cursos, Certificados, Insignias, Niveles y puntos, Formularios, Encuestas, Convocatorias, Publicaciones y comentarios, Votaciones, Descargas, Espacios, Mensajes, los de RR. HH., Tiempo, Manual y Webhook), en el orden de los más usados, y el evento se elige en el panel del bloque, en Se activa cuando; cambiar el evento no cambia el bloque. Buscar un evento ("suscripción cancelada") encuentra su bloque y ya crea el bloque en ese evento. En el diseño, el bloque muestra la familia arriba y el evento debajo. Con un disparador en el diseño, la categoría Disparadores desaparece del selector; para otro tipo de disparador, cambia el bloque.

Cuando algo pasa, por ejemplo:

TemaDisparadores
MiembrosNuevo miembro de la comunidad (registro, invitación aceptada, compra, equipo, empresa o importación, con el Origen; no es el inicio de sesión), alguien sale, cambia de rol, recibe o pierde una etiqueta, entra o sale de un grupo, cambia un campo del perfil; Alguien vuelve después de N días sin entrar (con Estuvo al menos 7 días o más; vale el acceso por la app o por el asistente)
Compras y suscripcionesSe completa una compra (con el filtro Solo la primera compra: la primera compra de la persona, de cualquier producto, gratuitas incluidas) o se reembolsa; alguien empieza una compra, abandona el carrito, o se recupera un carrito; una suscripción empieza, se renueva, cambia de plan, queda en atraso, tiene la prueba gratuita terminando, se cancela o termina
Contenido y espaciosAlguien publica, comenta o reacciona; visita un espacio por primera vez; recibe acceso a un espacio; el ciclo de vida de publicaciones, espacios y descargas (ver Eventos del ciclo de vida)
Cursos y eventosMatrícula, lección o curso completado, quiz aprobado o no, certificado emitido; inscripción, entrada recibida, inscripción cancelada, plaza de la lista de espera, check-in hecho o deshecho
Niveles y puntosSubió de nivel, Bajó de nivel (con el Motivo) y Alcanzó N puntos. Consulta Niveles y puntos
Otros módulosFormulario, encuesta y propuesta respondidos o decididos, tema de votación, archivo descargado, entrada y salida en el fichaje, reservas, reconocimiento y feedback recibidos, y el DM recibido. El evento de reconocimiento recibido trae el tipo del reconocimiento (type: APPRECIATION, WELCOME…).
Personas (RR. HH.)Se abre un ciclo de evaluación, alguien envía una evaluación, se publica un resultado; se registra una 1:1; un resultado clave recibe check-in o queda en riesgo; se aprueba un plan de desarrollo; se abre una ronda de encuesta

El Origen de Nuevo miembro de la comunidad incluye Vino de aprobación, para quien entró por el registro con aprobación (member.joined con source: approval). Es el "registro aprobado": un workflow de bienvenida con ese filtro se dispara cuando el equipo aprueba la solicitud, no cuando la persona la envía. La solicitud en sí, y el rechazo, no disparan workflow ni webhook.

Cada disparador acepta su filtro: el producto, el curso, el evento, el espacio, el grupo, la etiqueta, el campo, el ciclo o la encuesta (vacío: cualquiera). El panel del disparador (Entrada en el workflow) reúne el filtro, cuántas veces entra la persona, el Límite de frecuencia y la descripción.

Tiempo (cada día, por fecha): una pasada al día, desde las 9:00 en la zona horaria de la comunidad, para quien cumple la regla ese día: Alguien lleva N días sin entrar, Cada día, para todos, Evaluación pendiente desde hace N días, Evaluación vence en N días, 1:1 dentro de N días, 1:1 sin registro desde hace N días, Acuerdo de 1:1 atrasado desde hace N días, Resultado clave sin check-in desde hace N días, El ciclo de metas termina en N días, Acción del plan de desarrollo atrasada desde hace N días y Encuesta sin respuesta desde hace N días. Cada persona entra una vez por el mismo hecho. En el disparador Alguien lleva N días sin entrar, al activar el workflow por primera vez, Incluir a quien ya lleva más de N días sin entrar pone también a quien ya pasó ese punto: la ventana muestra cuántas personas son y pide la confirmación, y entran una vez cada una, al ritmo del límite diario.

Manual (personas elegidas): el equipo inicia el workflow para quien elija. Con el workflow activado, Ejecutar ahora pide las Personas o un Público (como el de las campañas), muestra antes cuántas entran, quién queda fuera (dadas de baja, con correo inválido o que denunciaron) y en cuántos días salen los correos por el límite diario, y pide la confirmación ("Entiendo que N personas recibirán ahora los pasos de este workflow"). Confirmar dos veces no inicia dos veces. Hasta 20 mil personas por vez, en lotes.

Programado: cada día, cada semana (en los Días de la semana) o cada mes (en el Día del mes, de 1 a 28), a la Hora elegida en la zona horaria de la comunidad, Para quién definas. Activarlo pide la misma confirmación que los disparadores por fecha, y un día con el envío de la comunidad suspendido se salta.

Webhook recibido: otro sistema llama a la dirección del disparador e inicia el workflow para la persona del cuerpo de la llamada. Ver Webhook de entrada.

Llamado por otro workflow: el workflow empieza cuando otro lo llama con el paso Llamar workflow, para la misma persona. Ver Acciones de la plataforma y otros workflows.

Los pasos

PasoQué hace
EsperarDe 5 minutos a 365 días
Condición (si / si no)Divide el camino en Sí y No por reglas, leídas en el momento del paso: etiquetas (varias a la vez, con tiene alguna de las etiquetas, tiene todas las etiquetas o no tiene ninguna de las etiquetas), grupo, campo del perfil, último acceso, curso completado o en curso, producto comprado, carrito abandonado, acceso y visita a un espacio, inscripción y asistencia a un evento, nivel y puntos (grupo Participación) y la regla Variable. Se cumplen todas las reglas o Se cumple al menos una regla. Las reglas aparecen en frases, como "Si la persona tiene la etiqueta VIP y no entra desde hace más de 30 días"
Enviar correoUn correo de la biblioteca; cada persona recibe la versión en su idioma; si no hay, la principal
Enviar mensaje (DM)Un mensaje en el chat en nombre de alguien del equipo (ver En nombre de quién)
Comentar en el elemento y Reaccionar al elementoEn nombre de alguien del equipo, sobre el elemento del disparador: la publicación, el comentario, la reacción o la inscripción de la persona
Poner o quitar etiqueta y Poner en un grupoOrganiza a la persona
Publicar en SlackUn mensaje en el canal de la instalación de Slack de la comunidad
Enviar SMS y Enviar WhatsAppUn aviso en el móvil de la persona, en la categoría Mensajes: en el SMS, un texto de hasta 300 caracteres; en WhatsApp, una plantilla aprobada con sus campos rellenados (ver Enviar SMS y Enviar WhatsApp)
Llamar webhookUna llamada HTTPS a otro sistema (un CRM, una hoja de cálculo, n8n), con las claves guardadas en Variables y claves (ver Llamar webhook)
Claude y ChatGPTPiden a la IA un texto o un JSON, con la clave de API de la propia comunidad, en la categoría IA (ver Bloques de IA)
Acciones de la plataformaCambiar rol, ajustar puntos, conceder o retirar una insignia, publicar un post, emitir un certificado, reconocer, bloquear en el chat, programar un 1:1, agregar una acción al PDI, inscribir en un evento, matricular en un curso, dar acceso de cortesía, enviar un aviso en la app; cada acción es un bloque, en Personas, Contenido o Mensajes (ver Acciones de la plataforma y otros workflows)
Llamar workflowEjecuta otro workflow para la misma persona y espera a que termine, en la categoría Flujo
Mientras (repetir)Repite un tramo mientras se cumplen las reglas, hasta un máximo de 1 a 10 veces (por defecto 3). Cada camino del tramo necesita una espera de al menos 1 día
Registrar logAnota una línea en la ejecución (ver Registrar log)
Fin: éxito y Fin: errorDonde termina cada camino (ver Cómo termina un workflow)

Cada bloque tiene un Nombre del bloque, para reconocerlo en el diseño y encontrar sus variables en Insertar variable. Los textos aceptan las variables del disparador y de los pasos anteriores. Lo que hace un workflow nunca dispara otro workflow. La única forma de que un workflow inicie otro es el paso Llamar workflow.

El editor

El Diseño ocupa toda la altura de la pantalla:

  • La barra de iconos a la izquierda abre los bloques por categoría (Disparadores, Flujo, Mensajes, Personas, Contenido, Integraciones, IA y Fin), con búsqueda (Buscar bloque…, atajo /); cada categoría tiene su color. Las categorías se abren y se cierran como un acordeón (clic, Enter o espacio), muestran cuántos bloques tienen cuando están cerradas, y el navegador recuerda cuáles dejaste cerradas; una búsqueda abre las que tienen resultados. Arrastra un bloque al diseño o haz clic para añadirlo después del bloque seleccionado.
  • Barras laterales redimensionables: arrastra el borde de la barra de bloques o del panel del bloque para cambiar el ancho, y un doble clic vuelve al valor por defecto. El ancho queda guardado en el navegador.
  • El "+" a ambos lados de cada bloque es el punto de conexión. Hacer clic abre el selector de bloques (después de la salida, o antes de la entrada); arrastrar tira de un cable; soltar un bloque del diseño, un bloque de la barra o la punta de un cable sobre un + conecta. El + en medio de una conexión pone un paso en medio.
  • Una conexión rechazada dice por qué, en un aviso en el diseño: "El disparador no recibe conexiones: siempre es el inicio.", "Un bloque no puede llevar a sí mismo." y "Eso crearía un bucle. Para repetir pasos, usa el bloque "Mientras (repetir)"."
  • Un clic en un bloque abre su panel, con el Nombre del bloque, los campos y las opciones reales de la comunidad (correos, etiquetas, grupos, cursos, productos, espacios y eventos, con búsqueda). Un paso fuera de cualquier camino queda marcado como Suelto, y un paso con error, marcado en rojo.
  • Menú contextual (botón derecho): Abrir, Duplicar, Eliminar, Añadir bloque después, Desconectar, Pegar.
  • Barra de herramientas y minimapa: Acercar, Alejar, Ver todo, Ordenar, Deshacer, Rehacer y un minimapa de todo el diseño.
  • Atajos de teclado: eliminar la selección, deshacer y rehacer, copiar, pegar y duplicar bloques, seleccionar todo, Esc para cerrar el panel, guardar, Shift + clic para seleccionar varios, arrastrar en el fondo para seleccionar por área y Ctrl/⌘ + desplazar para el zoom. Atajos de teclado muestra la lista.

Guardar un workflow activado crea una versión nueva: vale para quien entre a partir de ahora, y quien ya está en medio termina en la versión en que empezó.

Simular, probar y estimar

  • Simular con una persona recorre el diseño con los datos actuales de esa persona (incluso lo que aún no se guardó) y resalta el camino: Seguiría por el "sí", Esperaría 3 días, Enviaría "…". No se envía nada.
  • Enviarme una prueba, en un paso de correo, envía el correo solo a quien tiene la sesión iniciada.
  • Simular y enviarme los correos hace la misma simulación y envía los correos que la persona recibiría, con el mismo texto y las mismas variables, solo a ti, con [Prueba] en el asunto. No cuentan como envío (ni en los límites, ni en la reputación de envío, ni en el historial) y no llevan los enlaces de baja de la persona. Hasta 10 correos por simulación (en un camino con más, salen los 10 primeros) y 10 simulaciones con envío por hora. El botón aparece cuando el diseño tiene un paso Enviar correo, para quien puede simular, incluidos el moderador y el financiero.
  • Al activar, la ventana muestra cuántas personas activaron el disparador en el último día, en 7 y en 30 días, para dar una idea del volumen; en un disparador por fecha, cuántas entrarían hoy. Solo entran los próximos disparadores: quien pasó por el disparador antes no entra.

La simulación muestra el texto final de cada paso, con las variables completadas con la última vez que el disparador ocurrió para esa persona en los últimos 30 días ("Textos completados con la ocurrencia del 20/10 de esta persona."), o con los datos de ejemplo, y dice cómo termina el camino: Terminaría en éxito o Terminaría en error.

En un bloque de IA, la simulación muestra el prompt completado y "Preguntaría al modelo … (la simulación no llama a la IA)": no gasta tokens.

Historial

La pestaña Historial tiene la lista de ejecuciones a la izquierda y el detalle de la elegida a la derecha ("Elige una ejecución a la izquierda para ver los pasos."). Encima de la lista, la barra de filtros: la búsqueda por persona (por nombre o correo), el botón Periodo (7 días, 30 días o Todo) y el resultado en píldoras (Todas, Éxito, Error…), en una sola línea. Los filtros quedan en la dirección de la página.

El detalle muestra el Inicio, el Fin y la Duración, los Datos del disparador y, en cada paso, las Entradas y las Salidas de cuando se ejecutó: el texto enviado en el DM, el comentario o Slack; el asunto y la entrega del correo; en una condición, lo que tenía la persona ("Tiene: VIP", "Último acceso: …"); en una llamada de webhook, el estado, la duración, el tamaño, los intentos, las claves usadas (solo el nombre) y desde dónde salió la llamada (IP fija o IP variable). Cada ejecución muestra el diseño de la versión con la que se ejecutó, y un paso que salió del diseño aparece como "Paso que ya no está en el diseño". Copiar ID copia el código de la ejecución, Ver en el diseño muestra dónde está la persona, y Detener ejecución (o Finalizar ejecución) saca a la persona del workflow. En el perfil de cada miembro, Automatizaciones lista los workflows por los que pasó.

En un paso de IA, el detalle muestra el Modelo, los Tokens (de entrada y de salida) y la duración; nunca la clave, el prompt ni la respuesta.

Cada ejecución aparece como Éxito, Error, Cancelada, Omitida o En curso, con el bloque de fin y el motivo, y el filtro Resultado separa cada una. Los pasos pueden quedar como Error y Esperando cupo ("Esperando cupo: aplazado hasta el 27/10, 9:00 por el límite diario de envíos de la comunidad"). La tarjeta Cómo terminan las ejecuciones queda arriba: ver Tasa de éxito y aviso de errores.

Eliminar ejecución y Limpiar historial. El propietario y el administrador quitan ejecuciones terminadas del historial: Eliminar ejecución, en el menú Más acciones de la ejecución (desactivado mientras se ejecuta: "Detén la ejecución antes."), o Limpiar historial, con Todas las ejecuciones terminadas o Las que empezaron antes de una fecha. La ventana muestra antes cuántas salen y pide la confirmación; las que están en curso se quedan. Salen de la lista, de los números y de la tasa de éxito, pero siguen contando para cuántas veces entra la persona (quien ya pasó por un workflow de Solo una vez no vuelve a entrar) y para los límites. Queda el registro en Logs. Por el asistente: delete_workflow_run y clear_workflow_runs.

La lista de workflows

Encima de la lista, el botón Período (7 días, 30 días o Todo) y el estado en píldoras: Todos, Activado, Pausado y Borrador. Cada fila muestra el estado y el disparador del workflow y los números del período elegido:

Administración › Workflows
El botón Período, el estado en píldoras y cada workflow con los números del período.

NúmeroQué cuenta
EntraronEjecuciones que empezaron en el período
En ejecuciónPersonas que están ahora en el camino (siempre cuentan, sea cual sea el período)
TerminaronEjecuciones que llegaron al fin
ErroresEjecuciones que terminaron en error
ÉxitoÉxito ÷ (éxito + error), en porcentaje, con el color de la franja; al lado, la fecha de la última ejecución

Las acciones están en la propia fila (iconos en el ordenador, una hoja de opciones en el móvil):

  • Activar (o Reanudar, en un workflow pausado): pide la confirmación de consentimiento cuando el disparador es por fecha o programado; si falta algo en el diseño, la lista dice qué es y abre el workflow para resolverlo.
  • Pausar: nadie nuevo entra y cada persona se congela en el paso en que está, incluso en una espera; Reanudar sigue desde donde se quedó.
  • Detener: nadie nuevo entra y las ejecuciones en curso se cancelan ("Nadie nuevo entra y se cancelarán 12 ejecuciones en curso."). El workflow queda pausado y se puede activar de nuevo; quien fue cancelado no vuelve.
  • Ejecuciones: abre el historial del workflow, con cada persona, el estado y dónde está o se quedó.

¿Pausar o Detener? Pausa para corregir algo y seguir con las mismas personas; detén cuando lo que está en el camino ya no debe salir.

Workflows activos por plan. Encima de la lista, "3 de 10 workflows activos" (o "3 workflows activos", cuando el plan no tiene límite). El plan define cuántos workflows quedan activos al mismo tiempo: 3 en Starter, 10 en Growth, 30 en Business y sin límite en Scale (ver Plan y extensiones). Con el límite lleno, activar o reanudar otro muestra "Tu plan permite 10 workflows activos al mismo tiempo, y ya hay 10 activos. Pausa o detén otro, o cambia de plan.", con Ver planes. Pausar o detener uno libera la plaza. El SuperAdmin puede dar una excepción a una comunidad, y el nuevo límite vale al instante.

Cuántas veces entra la persona

El campo Cuántas veces entra la persona tiene Solo una vez, De nuevo después de unos días y Cada vez que ocurra el disparador, y solo aparece cuando el disparador puede volver a ocurrir para la misma persona. Cada disparador tiene su naturaleza:

El disparador ocurre…EjemplosEl campo
Una vez por entrada en la comunidadNuevo miembro de la comunidad; Se completa una compra con Solo la primera compraDesaparece. La pantalla dice "Este disparador ocurre una vez por entrada en la comunidad. Quien sale y vuelve entra de nuevo." (o "Solo la primera compra: este disparador ocurre una vez por persona.")
Una vez por persona y elementoMatrícula y finalización de curso, lección completada, quiz aprobado, certificado emitido, primera visita y acceso a un espacio, encuesta respondida, resultado de evaluación, plan de desarrollo aprobado, elemento publicado o eliminadoDesaparece cuando el filtro elige un elemento (un curso, un espacio, una encuesta, un ciclo): "Este disparador ocurre una vez por persona para el elemento elegido." Con cualquier elemento, aparece
Puede repetirseCompra, suscripción, inscripción y check-in en un evento, comentario, reacción, publicación, etiqueta, grupo, campo del perfil, carrito, DM recibido, Alguien vuelve después de N días sin entrarAparece
Por tiempo o ejecuciónLos disparadores por fecha, Programado, Manual y Webhook recibidoAparece

Cuando el campo desaparece, vale Solo una vez dentro de la misma entrada en la comunidad: quien sale y vuelve a la comunidad entra de nuevo.

Nunca dos ejecuciones a la vez sigue valiendo para todo disparador: un evento que llega con la persona en medio de una ejecución no abre otra y aparece en el historial como Omitida, con el motivo "ya estaba en curso".

Cómo termina un workflow

Todo workflow tiene una entrada y un fin explícito, para que sepas si cada ejecución salió bien y qué hacer cuando no.

  • Un solo disparador. El diseño acepta un disparador; la API rechaza un segundo.
  • Fin: éxito y Fin: error, en la categoría Fin de los bloques. Todo camino termina en uno de ellos: un camino sin fin queda marcado ("Este camino tiene que terminar en Fin: éxito o Fin: error.") y el workflow no se guarda. Un fin solo entra donde no hay nada después. Un workflow antiguo se abre con Fin: éxito dibujado en los extremos sueltos y sigue funcionando igual.
  • Salidas "ok" y "error" en cada acción (enviar correo, enviar mensaje, comentar, reaccionar, etiqueta, grupo y Slack). La salida "ok" sigue el camino; Conectar la salida de error lleva el fallo a otro bloque, como un DM al equipo o el Fin: error. Sin la salida de error conectada, un fallo termina la ejecución en error, con el motivo. Esperar, Condición, Mientras y Registrar log no tienen salida de error.
  • Resumen y aviso: ver Tasa de éxito y aviso de errores.

Qué es un error. Solo lo que falla de verdad en el momento del paso: el correo que se eliminó de la biblioteca o que no entró en la cola de envío, el elemento del disparador o el grupo que ya no existe, el mensaje que no se pudo crear, Slack no instalado, sin el canal o caído, y la espera del cupo que pasó del límite (ver Cuándo se aplaza el envío). En el correo, solo cuenta el fallo al ponerlo en la cola: un rebote o un fallo del proveedor después de eso no cambia el camino.

Qué no es un error. Un paso omitido por una regla que no cambia con el tiempo (baja, rebote, mensajes desactivados, bloqueo) y un paso aplazado por el cupo siguen por la salida "ok". Los dos aparecen en el historial, pero nunca cuentan como error.

Cada paso deja el resultado para los siguientes: {{steps.<bloco>.result}} (done, skipped o failed), {{steps.<bloco>.reason}} y, solo en el camino de error de ese paso, {{steps.<bloco>.error}}, el motivo del fallo. Ver Variables.

Tasa de éxito y aviso de errores

En el Historial, la tarjeta Cómo terminan las ejecuciones muestra:

  • Éxito en 7 días y Éxito en 30 días, en porcentaje ("18 de 20 ejecuciones"); el éxito y el error cuentan por el bloque de fin;
  • Pasos omitidos (7 días), Logs de error (7 días), Esperando cupo (ahora) y Ya en curso (eventos en 30 días);
  • Últimos errores: las 10 últimas ejecuciones que terminaron en error, con el bloque y el motivo.

Los pasos omitidos, los aplazados y los logs no cuentan como error. El moderador y el financiero ven la tarjeta solo en lectura.

Aviso de tasa de error. Cuando más del 20% de las ejecuciones de las últimas 24 horas terminan en error (con al menos 20 ejecuciones en el período), el propietario y los administradores reciben un aviso en la campana y por correo ("El workflow "Bienvenida" tiene 35% de errores en las últimas 24 h (7 de 20 ejecuciones). Mira qué falló."), como máximo uno al día por workflow.

Variables

Cada disparador entrega los datos de lo que pasó a los bloques siguientes: el nombre del curso en la felicitación, el producto y el importe en el agradecimiento por la compra, la fecha en el recordatorio del evento. Las variables tienen nombres en inglés, con punto, como {{course.name}} y {{purchase.product}}, y valen en los textos del mensaje (DM), del comentario, de Slack, de Registrar log y en el correo (asunto y cuerpo).

Insertar variable. El botón está en cada campo de texto. El menú agrupa las variables por el bloque que las generó, con el nombre que le diste al bloque y su icono ("Disparador · Cursos", "Persona", "Comunidad"), en el orden del flujo, y solo muestra los bloques que vienen antes del bloque en edición. Cada variable trae el nombre legible, el código y un ejemplo: "Curso · {{course.name}} · ej.: Curso de Liderazgo". La búsqueda ("Buscar variable o bloque") encuentra por el nombre de la variable o del bloque. Por eso conviene dar un Nombre del bloque a cada paso.

En el correo. Editar correo, en el paso Enviar correo, abre el correo de la biblioteca con Insertar variable de ese punto del flujo.

Cómo lo ve la persona. Debajo de cada texto con variable, la vista previa muestra el texto completado con datos de ejemplo (Maria Souza, [email protected]). La simulación muestra los textos con los datos reales de la persona (ver Simular, probar y estimar).

Valor de respaldo. Para quien no tiene el dato, escribe un texto después de la barra: {{purchase.discount|sin descuento}}. Una variable sin valor sale vacía, o con el valor de respaldo, y el envío no falla.

Las variables:

| De dónde | Variables |

Bloques de IAsteps.<bloque>.output (el texto o el JSON), steps.<bloque>.output.<campo> (cada campo del JSON), steps.<bloque>.tokens y steps.<bloque>.model
Persona (todo workflow)member.first_name, member.name, member.email, member.phone, member.role, member.language, member.member_since, member.last_seen_at, member.tags, member.groups y member.field.<clave> (los campos del perfil)
Comunidad (todo workflow)community.name, community.language
Compraspurchase.product, purchase.product_type, purchase.amount, purchase.discount, purchase.payment_method, purchase.installments, purchase.free, purchase.first, purchase.tickets, purchase.ticket_type, purchase.batch; en el reembolso, refund.product, refund.amount, refund.partial; en el carrito, cart.product
Suscripcionessubscription.product, subscription.plan, subscription.interval, subscription.amount, subscription.period_end, subscription.ends_at, subscription.canceled_by, subscription.previous_plan, subscription.trial_ends_at (según el disparador)
Eventosevent.title, event.date, event.time, event.type, event.ticket_type, event.check_in_method, event.previous_date (en el evento reprogramado)
Cursoscourse.name, course.completed_at, lesson.title; certificate.title, certificate.source
Espacios, publicaciones y comentariosspace.name, target.type (dónde fue el comentario o la reacción), target.reaction
Etiquetas, grupos y campostag.name, group.name, field.name
Descargasdownload.title, download.folder (la categoría), download.previous_folder, download.file_name, download.file_type, download.size, download.version
Formularios, encuestas y convocatoriasform.name, survey.title, call.name, proposal.status
Niveles y puntoslevel.name (el nombre del nivel), level.previous_name, level.number, level.direction (Subió o Bajó), level.cause (Puntos o Actividad de la semana), points.total, points.previous
Reservasbooking.resource, booking.starts_at, booking.ends_at
Evaluaciones (RR. HH.)cycle.name, cycle.due_at
Accesoabsence.days (días sin entrar), en Alguien vuelve después de N días sin entrar y Alguien lleva N días sin entrar
Quién hizo la acciónactor.name, en los eventos del ciclo de vida
DM recibidodm.from.name, dm.from.email, dm.to.name, dm.conversation_url y, con regla propia, dm.text (ver DM recibido)
Webhook recibidotrigger.<nombre>, los valores que definiste en el disparador
Pasos anterioressteps.<bloco>.result, steps.<bloco>.skipped, steps.<bloco>.reason y, en el camino de error, steps.<bloco>.error

Los formatos. Los importes salen en la moneda y el idioma de la persona (R$ 197,00); las fechas, en la zona horaria de la comunidad y en el idioma de la persona. member.language y community.language salen como el código del idioma (pt-BR).

Reglas:

  • Los datos del disparador se guardan cuando la persona entra: una espera de 3 días no cambia el producto ni el importe, aunque el producto cambie de nombre en medio.
  • Una variable que no llega al bloque (de un paso que viene después, o de otro disparador) impide guardar, y el bloque queda marcado con su nombre.
  • Los valores entran como texto: el HTML sale escapado en el correo y en el comentario, sin <> en el DM y sin mención ni enlace en Slack; en el asunto, sin salto de línea. Ninguna variable entra en la dirección de un enlace, y trigger.* no entra en el asunto.
  • La respuesta de un bloque de IA y la de un Llamar webhook vienen de fuera: salen escapadas donde entran y nunca van en el asunto de un correo.
  • Ninguna variable trae lo que un miembro escribió (publicación, comentario, respuesta, título de votación o de anuncio), tasas, documentos o contenido de evaluación de RR. HH. más allá del nombre y del plazo del ciclo. El correo y el teléfono de la persona pueden ir en la publicación de Slack.
  • Los nombres antiguos siguen funcionando ({{nome}}, {{comunidade}}, {{campo_<chave>}}, {{gatilho_<chave>}}), pero no aparecen en Insertar variable.

En las campañas. Un correo de la biblioteca que usa variables de workflow muestra "Usa variables de workflow". En una campaña, esas variables salen vacías, y Nuevo envío avisa: "Este correo usa variables de workflow (…). En una campaña salen vacías: cámbialas por variables de la persona o de la comunidad, o usa valores de respaldo."

Condición "Variable"

La regla Variable, en el grupo Variables del flujo de la Condición, compara un dato del flujo: elige la variable (en el mismo menú de Insertar variable) y el operador, que depende del tipo:

TipoOperadores
Textoes igual a, no es igual a, contiene, no contiene, empieza con, termina con, está vacío, no está vacío. No distingue mayúsculas ni acentos ("avanzado" coincide con "Avanzado")
Número e importees igual a (=), es distinto de (≠), es mayor que (>), es mayor o igual a (≥), es menor que (<), es menor o igual a (≤), está vacío. Importes en la moneda de la comunidad, con su formato
Fechaes antes de, es después de, está entre, fue hace más de N días, fue hace menos de N días, es en los próximos N días
Lista (etiquetas, grupos, campo de selección múltiple)contiene, no contiene, contiene alguno de, contiene todos de
Sí/noes verdadero, es falso

Ejemplos: "Importe es mayor o igual a 100,00", "Formato es igual a Presencial", "Curso contiene Avanzado", "Fecha es en los próximos 7 días".

Las demás reglas usan los mismos operadores: Tiene la etiqueta y Está en el grupo con contiene, no contiene, alguno de y todos de (y varios grupos a la vez); Campo del perfil con los operadores del tipo del campo (en un campo de selección múltiple, contiene alguno de, contiene todos de y no contiene, con las opciones; la variable {{member.field.<clave>}} trae las opciones marcadas), siempre con el valor actual del campo. La regla se lee en el momento del paso.

Registrar log

El bloque Registrar log anota una línea en la ejecución: elige el Nivel (Info, Aviso o Error) y escribe el mensaje, que acepta variables ("{{member.first_name}} llegó al final de la bienvenida").

  • Solo texto: el HTML sale como texto, y el mensaje se corta en 1.000 caracteres después de completarse.
  • Hasta 20 logs por ejecución; el 21.º se descarta ("límite de logs de la ejecución").
  • La salida es siempre "ok". Un log de nivel Error no cambia el resultado de la ejecución ni cuenta en el aviso de tasa de error; el resumen muestra cuántos hubo.
  • El log aparece en el historial de la ejecución y en Administración › Logs, tipo Workflows, con filtro por workflow y por nivel. Ver Logs.
  • El mensaje solo lo ven el propietario y el administrador, porque puede contener cualquier variable. El moderador y el financiero ven que hubo un log en el historial, con "Mensaje visible solo para owner y admin." en lugar del texto.

Llamar webhook

El bloque Llamar webhook, en la categoría Integraciones, envía una llamada HTTPS a otro sistema en medio del camino: avisar al CRM de una compra, guardar una fila en una hoja de cálculo, llamar a un flujo de n8n.

  • Método y Dirección (URL): solo https://, puerto 443 y un host fijo. Las variables pueden ir en la ruta, nunca en el host, y las claves de la bóveda no entran en la dirección.
  • Cabeceras y Cuerpo (JSON): aceptan variables y las claves de la bóveda ({{env.CRM_TOKEN}}), solo hacia las direcciones de la clave, cuando tiene alguna. El cuerpo va con memberfy.memberLanguage y memberfy.communityLanguage añadidos.
  • Tiempo máximo de respuesta: de 2 a 15 segundos (por defecto 10).
  • Lo que pueden usar los siguientes bloques: {{steps.<bloque>.status}}, {{steps.<bloque>.duration}} (ms), {{steps.<bloque>.size}} (bytes) y los campos de la respuesta JSON, hasta 16 KB ({{steps.<bloque>.body.<campo>}}). Los valores que vienen de fuera nunca entran en el asunto de un correo.
RespuestaQué pasa
2xxSigue por el camino "ok"
3xx (no se sigue la redirección), 4xx, dirección bloqueada, respuesta de más de 64 KB, cuerpo inválido, clave fuera de sus direccionesVa por el camino de error, en el acto
5xx, demora mayor que el tiempo máximo o fallo de redLo intenta de nuevo tras 1, 5 y 15 minutos; sin éxito, va por el camino de error

Límites: 60 llamadas por minuto y 2.000 al día en cada workflow; 300 por minuto y 20.000 al día en la comunidad. Lo que se pasa espera su turno en lugar de fallar. Un destino que falla varias veces seguidas queda unos minutos en espera.

IPs fijas

En los planes Business y Scale, las llamadas salen de IPs fijas, las mismas de las entregas de webhook (ver IPs fijas), para permitirlas en el firewall del destino. El panel del bloque muestra las IP, con Copiar IP, y cuántas llamadas del mes ya salieron por ellas.

  • El límite es de 10.000 llamadas por IP fija al mes. Pasado ese límite, las demás salen de IPs que cambian hasta que cambie el mes, y el propietario recibe un aviso en la campana, que abre las automatizaciones. El mes es el del calendario en la zona horaria de la comunidad: el conteo se reinicia a medianoche del día 1 y no se acumula en el plan anual.
  • En los otros planes, las llamadas salen de IPs que cambian.
  • El historial muestra, en cada llamada, desde dónde salió: IP fija, IP variable o "IP variable (límite mensual de IP fija alcanzado)".

Variables y claves

Variables y claves, en la parte superior de Administración › Workflows, es la bóveda de la comunidad: los tokens y las claves que Llamar webhook usa en las cabeceras y en el cuerpo. Solo el propietario y el administrador la ven y la cambian.

  1. Antes de la primera clave, lee el aviso Antes de empezar: un aviso sobre datos personales y haz clic en He leído y acepto: los datos de las personas enviados por webhook salen de Memberfy hacia el sistema que indiques, y la comunidad es la responsable de esos datos. Se acepta una sola vez, para toda la comunidad; después, la pantalla muestra cuándo se aceptó.
  2. Nueva clave abre una ventana con tres campos:
    • Nombre: cómo llamas a la clave dentro del workflow. Se ajusta mientras escribes (mayúsculas, números y _; los espacios y las tildes se convierten en _), y justo debajo aparece cómo escribirla en el bloque: "En el bloque "Llamar webhook", escribe" {{env.CRM_TOKEN}}.
    • Valor: pega el token o la contraseña. El icono del ojo muestra u oculta lo que pegaste (Mostrar el valor / Ocultar el valor), solo mientras la ventana está abierta.
    • Solo puede enviarse a (opcional): las direcciones a las que puede ir la clave, como api.tucrm.com (Enter o Añadir; si pegas una URL entera, se queda solo el dominio). Vacío, la clave puede usarse con cualquier dirección; con direcciones, solo sale hacia ellas. Para una clave de un solo sistema, como el token del CRM, rellénalo: es más seguro.
  3. En el bloque, usa {{env.CRM_TOKEN}}.
  • El valor nunca vuelve a la pantalla. Se guarda cifrado, y la lista muestra solo el final ("…a1b2"), adónde puede ir (o "Cualquier dirección") y cuándo se usó. Para cambiarlo, Sustituir.
  • Eliminar borra el valor en el acto; los workflows que usan la clave pasan a ir por el camino de error.
  • El historial muestra el nombre de las claves usadas en una llamada, nunca el valor.

Límites de IA

La tarjeta Límites de IA, en Variables y claves, contiene el gasto de los bloques Claude y ChatGPT, que es de la comunidad. Solo el propietario y el administrador la ven y la cambian, y cada cambio queda registrado.

Qué es un token. La IA lee y escribe el texto en tokens, trozos de palabra: 1.000 tokens son unas 750 palabras. Cuentan la entrada (las instrucciones y el prompt) y la salida (la respuesta). Nada de esto usa la cuota de IA de Memberfy.

TopePor defectoCuando se supera
Por llamada4.000 tokensLo máximo que el modelo escribe en una respuesta: un bloque que pide más se queda con este número
Por ejecución20.000 tokensEl total de una persona pasando por el workflow. Superado, el bloque sigue por la salida de error ("Se alcanzó el tope de tokens de IA por ejecución.")
Por día200.000 tokensEl total de la comunidad en el día, en la zona horaria de la comunidad. Superado, los bloques esperan al día siguiente y salen cuando empieza

Por llamada tiene que ser menor o igual que por ejecución, y por ejecución menor o igual que por día. La tarjeta muestra cuánto se usó hoy ("Hoy: 12.400 de 200.000 tokens usados."); Guardar límites guarda y Volver al valor por defecto vuelve a los números de la tabla.

Bloques de IA (Claude y ChatGPT)

Los bloques Claude y ChatGPT, en la categoría IA, piden a la IA un texto o un JSON en medio del camino: escribir una bienvenida personal, clasificar un ticket de soporte, resumir la respuesta de un formulario. La llamada usa la clave de API de la propia comunidad, creada en Anthropic (Claude) o en OpenAI (ChatGPT): el uso lo paga la comunidad, directamente al proveedor.

Antes del primer bloque:

  1. En Variables y claves, acepta el aviso de datos personales y crea una clave con la clave de API del proveedor. En Solo puede enviarse a, pon api.anthropic.com (Claude) o api.openai.com (ChatGPT). Una clave sin dirección también aparece en el bloque, pero restringirla es más seguro; una clave con otras direcciones, no.
  2. Revisa los Límites de IA.

El panel del bloque:

CampoQué es
ModeloLa familia del modelo, descrita por el uso: el más capaz, para tareas difíciles (más lento y más caro), equilibrio entre calidad, velocidad y costo, o el más rápido y económico, para tareas simples. La lista sigue los modelos actuales de cada proveedor
Clave de APISolo las claves de Variables y claves que pueden ir al proveedor; Crear clave en Variables y claves lleva a la bóveda. La clave nunca entra en el prompt ni en el historial
Instrucciones del sistema (opcional)Cómo se comporta el modelo en cada llamada: rol, tono, reglas
PromptEl pedido, con variables ("Escribe un mensaje de bienvenida para {{member.first_name}}, que acaba de entrar en la comunidad."). Las claves de la bóveda ({{env.*}}) no entran
Formato de la respuestaTexto o JSON. Con JSON, un Esquema JSON opcional, y cada campo de la respuesta se vuelve una variable
Máximo de tokensEl tamaño máximo de la respuesta, de 16 a 8.000 tokens (por defecto 1.024); el tope por llamada de la comunidad puede bajar ese número
Tiempo de esperaCuánto esperar la respuesta, de 5 a 60 segundos (por defecto 30)

Las variables entran en el prompt como datos, nunca como órdenes al modelo, junto con el idioma de la persona y el de la comunidad. Pon en el prompt solo lo que la tarea necesita.

Lo que pueden usar los bloques siguientes: {{steps.<bloque>.output}} (el texto o el JSON), {{steps.<bloque>.output.<campo>}} (cada campo del JSON, también en una Condición "Variable"), {{steps.<bloque>.tokens}} y {{steps.<bloque>.model}}, con Insertar variable. La respuesta se guarda hasta 16 KB. Es un valor de fuera, como el de un webhook: sale escapada donde entra y nunca va en el asunto de un correo.

Cómo se comporta el bloque:

RespuestaQué pasa
Respuesta recibidaSigue por el camino "ok", con la respuesta en las variables
Clave o pedido rechazado, el modelo se niega, respuesta vacía o cortada por el máximo de tokens, JSON no válido para el esquemaVa por el camino de error, en el acto
Tiempo agotado, proveedor caído o límite del proveedorLo intenta de nuevo después de 1, 5 y 15 minutos; sin éxito, va por el camino de error
Tope por ejecución de los Límites de IAVa por el camino de error
Tope diario de los Límites de IAEl paso espera al día siguiente, en la zona horaria de la comunidad

La simulación muestra el prompt completado sin llamar a la IA, y el historial muestra el modelo, los tokens y la duración de cada llamada, nunca la clave, el prompt ni la respuesta (ver Historial).

Enviar SMS y Enviar WhatsApp

Los bloques Enviar SMS y Enviar WhatsApp, en la categoría Mensajes, envían un aviso de servicio al móvil de la persona de la ejecución, con las reglas de Avisos por SMS y WhatsApp: el canal activado en Correos y notificaciones, el móvil confirmado (o informado por el equipo al declarar el consentimiento), el consentimiento de servicio de ese canal y la categoría Automatizaciones activada en Mi cuenta › Avisos.

  • Texto (SMS): hasta 300 caracteres, con variables ("Hola {{member.first_name}}, tu evento empieza en 1 hora."). Las variables entran como texto simple. Al enviar, Memberfy pone el nombre de la comunidad delante ("[Club de Running] …") y, en el SMS, el enlace de baja al final.
  • Partes (SMS): el panel cuenta las partes del texto solo y tal como sale (con [Comunidad] delante y el enlace de baja). Una parte tiene 160 caracteres, o 153 cuando el mensaje se divide; una tilde como ã, õ o ç, o un emoji, hace que cada parte admita 70 (67 cuando se divide). Las variables cuentan tal como se escriben.
  • Plantilla (WhatsApp): WhatsApp no acepta texto libre. Elige la Plantilla (Entrada confirmada, Pago rechazado, Aviso de la comunidad…), rellena los Campos de la plantilla (hasta 300 caracteres cada uno, con variables; Memberfy rellena el nombre de la persona y el de la comunidad) y, si quieres, la Página que abre el botón (una ruta de la comunidad, como /eventos; vacía, la página de inicio). Para un aviso sin plantilla propia, usa Aviso de la comunidad, cuyo campo es tu texto. Cómo llega muestra el mensaje montado. Una plantilla de marketing solo llega a quien aceptó novedades por WhatsApp. No repitas en un workflow un mensaje que la plataforma ya envía, como el pago confirmado o el recordatorio del evento.
  • Plantillas que un workflow puede usar (WhatsApp): Aviso de la comunidad (también en la versión servicio), Entrada confirmada, Pago confirmado, Pago rechazado, Compra sin terminar, Evento mañana y Evento por empezar (con las versiones presenciales, que llevan el mapa), Evento en vivo, Respuesta en el post, Mención, Mensaje directo, Contenido nuevo, Propuesta decidida, 1:1, Feedback recibido (también en la versión servicio), Pendiente de RR. HH., Recordatorio de reserva, Suscripción que se renueva, Reembolso, Lugar en la lista de espera y Certificado emitido. Quedan fuera las que ningún disparador puede rellenar (Visitante en recepción, Paquete recibido, Tarjeta que vence, Respuesta a la solicitud de soporte y Registro aprobado): esas solo salen como mensaje de la plataforma.
  • Plantillas de marketing (WhatsApp): WhatsApp clasifica como marketing el Aviso de la comunidad y el Feedback recibido (las dos versiones de cada uno), la Compra sin terminar, la Mención y el Contenido nuevo. Quien no aceptó novedades por WhatsApp no las recibe: el paso se omite ("sin consentimiento para WhatsApp") y sigue por el camino "ok". Para que todos reciban el aviso, pon después del bloque una condición "Variable" con {{steps.<bloque>.result}} igual a skipped que lleve a un Enviar correo. Ver Plantillas de marketing.

Cómo se comporta el bloque:

SituaciónQué pasa
EnviadoSigue por el camino "ok". El historial muestra el texto y, en el SMS, las Partes de SMS
La persona no puede recibir: canal desactivado en la comunidad, salió de la comunidad, sin móvil, móvil sin confirmar (ni informado por el equipo al declarar el consentimiento), país no atendido, sin consentimiento, dio de baja los avisos de esta comunidad o respondió SALIR, desactivó la categoría Automatizaciones, texto vacío. En WhatsApp, también la plantilla aún no aprobada y la plantilla de marketing para quien no aceptó novedadesSe omite, con el motivo, y sigue por el camino "ok"
Horario de silencio (21:00 a 8:00, zona horaria de quien recibe), tope diario de la comunidad o cuota del mesEspera la cuota y sale cuando se libera, como en Cuándo se aplaza el envío
La persona ya recibió el límite por persona del día (5 por defecto, en la tarjeta del SMS)Queda para el día siguiente, a las 8:00
El envío fue rechazadoVa por el camino de error, con el Código del rechazo en el historial
Fallo pasajeroLo intenta de nuevo pasados 1, 5 y 15 minutos

Con el envío de la comunidad suspendido, los dos bloques esperan, como los demás mensajes. Ni lo omitido ni lo aplazado cuentan como error.

Recordatorios que también van por SMS

Con el SMS activado en la comunidad, tres recordatorios de la plataforma también salen por SMS, sin workflow, para quien puede recibir: el recordatorio del evento, 1 hora antes; los recordatorios del ciclo de PDI (enviar y aprobar el PDI); y el recordatorio del 1:1. La pantalla de cada uno lo indica ("El recordatorio de 1 hora antes también sale por SMS para quien dio su consentimiento."). Un recordatorio que el horario de silencio o el tope diario retrasaría se omite en el SMS; el correo sale como siempre. Con el SMS desactivado, nada cambia.

Acciones de la plataforma y otros workflows

Cada acción de la plataforma es un bloque de la barra, con el nombre de la acción, en la categoría de lo que toca (Personas, Contenido o Mensajes). Hace por la persona de la ejecución lo mismo que el equipo hace en pantalla; el panel del bloque pide los campos de la acción (el curso, el evento, el plan o producto y el grupo con búsqueda, el Campo del perfil, el Nuevo rol, los Puntos y el Motivo, fechas y textos, con variables) y dice el rol que exige:

AcciónQué haceRol mínimo de quien activa
Cambiar rolCambia el rol de la persona, también a administrador (nunca a owner, ni el rol de un owner o el propio)Administrador
Quitar del grupo y Completar campo del perfilSaca a la persona de un grupo; graba un valor en un campo del perfilAdministrador
Ajustar puntosSuma o quita puntos del ranking, con el motivo en el historialAdministrador
Conceder insignia y Retirar insigniaConcede una insignia del catálogo, con el Motivo opcional (quien ya la tiene se omite), con el aviso en la campana y el correo de Logros; o la retira, sin avisar (quien no la tiene se omite)Administrador
Dar acceso de cortesía y Terminar cortesíaDa un plan de cortesía hasta una fecha de fin, o termina la cortesía (una suscripción pagada nunca se toca)Administrador
Dar entrada de cortesíaUna entrada de cortesía para el eventoAdministrador
Programar un 1:1Crea un 1:1 recurrente entre la persona y su líder directo, con la Frecuencia (semanal, quincenal o mensual), el Día de la semana, la Hora y la Duración (minutos). Sin líder directo, o con un 1:1 recurrente ya programado, el paso se omiteAdministrador
Agregar una acción al PDIIncluye una acción, con Plazo (días), en el PDI activo de la persona; sin PDI activo, crea un borrador con ella. En el PDI, la acción muestra "Creado por el workflow …"Administrador
Publicar un postPublica un post (en Markdown, con variables) en un espacio de feed o de contenido, en nombre de quien activó el workflow, con la regla de quién puede crear del espacio y sin aviso por correoModerador
Emitir un certificadoEmite un certificado de una plantilla activa para la persona, con el correo de aviso si Enviar el certificado por correo está marcado; quien ya lo tiene se omiteModerador
ReconocerQuien activó el workflow publica un reconocimiento para la persona, con el mensaje y, si quiere, un valor de la comunidadModerador
Bloquear en el chatQuien activó el workflow bloquea a la persona en el chat, sin aviso a nadie; la acción no tiene camposModerador
Inscribir en el evento y Matricular en el cursoSolo eventos y cursos gratuitosModerador
Enviar aviso en la appUn aviso en la campana de la persona, con título y texto. El aviso llega también por notificación en el navegador y en el móvil, en la categoría Avisos del equipo; tocarla abre la campanaModerador

Lo que mueve dinero o borra para siempre nunca se ejecuta en un workflow.

Llamar workflow ejecuta, para la misma persona, un workflow que empieza con Llamado por otro workflow. En el disparador de ese workflow, Valores que recibe este workflow declara lo que espera (nombres con minúsculas, números y _), usados en los bloques como {{trigger.<nombre>}}; en Fin: éxito, Valores devueltos dice lo que vuelve a quien llamó. En el bloque Llamar workflow, elige el Workflow llamado, completa los Valores enviados y mira Lo que devuelve, que los bloques siguientes usan como {{steps.<bloque>.output.<nombre>}}. El workflow que llama espera a que el otro termine y sigue por "ok" o por error. Un workflow no se llama a sí mismo ni a quien lo llama, y la cadena llega hasta 3 workflows. Así, una bienvenida común vive en un solo workflow, llamado por varios.

Con qué rol actúan los pasos

Un workflow nunca hace más que la persona que lo puso en marcha:

  • Los pasos actúan con el rol de quien guardó, activó, reanudó o ejecutó el workflow. Una acción por encima del rol de quien edita queda marcada en el panel ("Esta acción exige propietario: no puedes guardar el workflow con ella.") y el workflow no se guarda.
  • El rol se lee de nuevo en cada paso: si la persona perdió el rol, la acción se omite; si salió de la comunidad, el paso falla.
  • El administrador actúa como el propietario. Guarda, activa y ejecuta workflows con cualquier acción de la plataforma, también hacer administrador a alguien. Solo una acción marcada como exclusiva del propietario quedaría por encima de él (el workflow se abriría solo para lectura: "Este workflow tiene acciones que solo propietario puede cambiar."), y hoy ninguna lo es: la titularidad de la comunidad y el plan no son acciones de workflow.
  • El moderador y el financiero tienen límites: ven, simulan y siguen el historial, pero no guardan, activan ni ejecutan workflows, y un workflow nunca les da un poder que no tienen.
  • Un workflow llamado por otro actúa con el rol más bajo de la cadena.

Eventos del ciclo de vida

29 disparadores con el ciclo de vida de cada módulo, cada uno en el bloque de su familia y también en los webhooks.

FamiliaDisparadores
DescargasUn archivo se publica, se edita, cambia de categoría o se elimina; un adjunto se añade, se sustituye por una versión nueva o se quita; se crea una categoría de descargas
Publicaciones y comentariosUna publicación se edita, cambia de espacio o se elimina; un comentario se elimina; alguien retira una reacción
EventosUn evento se crea, se edita, se reprograma o se elimina; empieza la transmisión; se publica la grabación
CursosUn curso se publica o se edita; se publica una lección; alguien sale de un curso
EspaciosUn espacio se crea, se edita o se elimina
FormulariosUn formulario se publica, se cierra o se reabre
  • Solo los elementos publicados activan: un borrador editado o eliminado no inicia nada.
  • Eliminar un evento es como se cancela un evento hoy, y el disparador lo dice: "Se elimina un evento (así se cancela)".
  • La persona de la ejecución es quien hizo la acción ({{actor.name}}). Cuando es el equipo quien publica (un evento, una lección), el disparador sirve para avisar en Slack o reconocer al autor; para avisar a todos los miembros de un contenido nuevo, usa los avisos por correo o un workflow Programado o Manual con público.

Niveles y puntos

El bloque de disparador Niveles y puntos ("Una persona sube o baja de nivel, o alcanza un total de puntos") acompaña los niveles de la comunidad:

DisparadorCuándo se disparaFiltros
Subió de nivelEn el momento en que la persona llega a un nivel más alto, por puntos (acción, ajuste del equipo o de un workflow) o por cumplir el requisito de la semana que faltaba. Saltar dos niveles dispara una vezNivel: el nivel alcanzado (Cualquier nivel, vacío)
Bajó de nivelEl lunes a las 00:00, en la zona horaria de la comunidad, para quien no cumplió los requisitos de la semana anterior, y en el momento en que un ajuste negativo deja a la persona por debajo del mínimo del nivelNivel (el nivel en el que quedó la persona) y Motivo: "No cumplió la actividad de la semana (el lunes)" y "Perdió puntos (ajuste del equipo o de un workflow)", los dos marcados por defecto ("Al menos un motivo queda marcado.")
Alcanzó N puntos"Se dispara cuando el total supera este número hacia arriba. Quien baja y lo vuelve a superar lo dispara de nuevo."Puntos (obligatorio)

Ninguno de los tres se dispara en un recálculo de puntos, en una importación, cuando la comunidad cambia los niveles ni con la gamificación desactivada.

Condiciones. En la Condición, el grupo Participación tiene las reglas Nivel ("está en el nivel Kernel o superior", o "está por debajo del nivel Kernel") y Puntos ("tiene al menos 500 puntos", o "tiene menos de 500 puntos"), leídas en el momento del paso.

Ejemplos: "Subió a Kernel → conceder la insignia Kernel"; "Bajó de Kernel, motivo actividad de la semana → sacar del grupo Kernel"; "Alcanzó 1.000 puntos → enviar un DM de felicitación".

DM recibido

El bloque de disparador Mensajes tiene el disparador Un miembro envía un DM al equipo: se activa cuando un miembro envía un mensaje a alguien del equipo. La persona de la ejecución es quien envió el DM. Un DM entre miembros, o de alguien del equipo, no activa nada.

Filtros:

  • Quién lo recibe: una o varias personas del equipo (obligatorio).
  • Quien envía tiene la etiqueta y Quien envía está en el grupo (vacío: cualquier miembro).
  • Solo el primer mensaje de una conversación nueva. Desmarcado, cada mensaje activa, con la regla de Cuántas veces entra la persona.

Variables: {{dm.from.name}} y {{dm.from.email}} (quien envió), {{dm.to.name}} (quien recibió) y {{dm.conversation_url}} (el enlace de la conversación).

El texto del DM ({{dm.text}}) sigue la regla de los mensajes: el equipo no lee la conversación de los demás. Por eso solo está disponible cuando el workflow es de quien recibió el mensaje:

  • el filtro Quién lo recibe tiene exactamente a esa persona, y solo ella guarda y activa el workflow;
  • el texto solo puede ir en un DM firmado por esa persona, en el cuerpo de un correo o en una condición. En cualquier otro lugar (asunto, Slack, comentario, log, DM en nombre de otra persona), o en un workflow guardado o activado por otra persona, el bloque queda marcado con error en el diseño y el workflow no se guarda.

El evento también llega a los webhooks como message.received, sin el texto del mensaje.

Límites

  • Límite de frecuencia, opcional, en cada workflow: como máximo N correos cada tantas horas o días a la misma persona; lo que pase del límite queda esperando cupo.
  • Límite diario de la comunidad: los correos de workflows al día del plan (40 en Starter, 80 en Growth, 200 en Business y 350 en Scale; ver Plan y extensiones); lo que pase espera al día siguiente. Los correos transaccionales nunca entran en este límite.
  • SMS y WhatsApp por persona: como máximo 5 mensajes de workflow por persona al día en cada canal, por defecto (de 1 a 20, en la tarjeta del SMS); lo que pase sale al día siguiente, a las 8:00.
  • Mensajes: como máximo 1 mensaje de workflow por persona al día; quien desactivó los mensajes o bloqueó a quien firma no lo recibe.
  • Webhook recibido: como máximo 5 ejecuciones por persona al día en cada workflow.
  • Quien se dio de baja de Automatizaciones, las direcciones con rebote o denuncia y la reputación de envío de la comunidad también frenan los correos.
  • Llamar webhook: ver los límites de las llamadas.
  • Con el envío de la comunidad suspendido, Ejecutar ahora y el Programado no inician a nadie, y los mensajes, los comentarios, las reacciones y las publicaciones en Slack de quien ya está en el camino esperan a que termine la suspensión (las etiquetas y los grupos siguen).

Cuándo se aplaza el envío

Cuando un límite que se libera con el tiempo frena el paso, este queda esperando cupo y sale en cuanto se libera, en lugar de omitirse:

LímiteHasta cuándo espera
Límite de frecuencia del workflowHasta el fin de la ventana del límite (la ventana llega hasta 90 días)
Límite diario de la comunidadHasta 7 días
Reputación de envío en alerta o pausadaHasta 7 días
Envío de la comunidad suspendidoHasta 48 horas
1 mensaje de workflow por persona al díaHasta 7 días
  • El historial muestra "Esperando cupo: aplazado hasta el 28/10, 9:00 por el límite de frecuencia del workflow".
  • Cuando el cupo se libera, los pasos salen repartidos a lo largo de una hora; después de una suspensión, a un ritmo controlado, y no todos a la vez.
  • Después de salir, el paso sigue por la salida "ok". Si pasa del tiempo máximo, la ejecución sigue por la salida "error" con el motivo "esperó el cupo más allá del límite".
  • Pausar el workflow congela la espera; Reanudar reinicia la cuenta; Finalizar ejecución o Detener cancela, y no se envía nada.
  • Un evento nuevo de la misma persona durante la espera no abre otra ejecución ("ya estaba en curso").

Un impedimento permanente cuenta como omitido. La baja de Automatizaciones, el correo con rebote o denuncia, la persona sin correo, los mensajes desactivados, el bloqueo de quien firma y quien firma fuera de las personas permitidas no se liberan con el tiempo: el paso se omite, con el motivo, y el camino sigue por la salida "ok" ({{steps.<bloco>.result}} es skipped).

Ni el aplazado ni el omitido cuentan como error: no cambian el resultado de la ejecución ni el aviso de tasa de error.

Consentimiento y quién firma

Disparador por fecha y Programado: al activar, la ventana pide una vez la confirmación de que estas personas, que ya están en la comunidad, pueden recibir estos correos.

En nombre de quién

Quién puede firmar los mensajes de los workflows es una elección de la comunidad:

  • En Administración › Configuración › Correos y notificaciones, la tarjeta Mensajes de los workflows en nombre de (la misma aparece arriba en Administración › Workflows) dice en nombre de quién los workflows pueden enviar DM, comentar y reaccionar: Todo el equipo (por defecto: propietario, administradores, moderadores y financiero) o Solo el owner. Solo el propietario y el administrador la ven y la cambian.
  • El campo En nombre de quién de cada bloque de DM, comentario y reacción lista las personas que la configuración permite. Nadie tiene que aceptar ni aprobar textos.
  • Con Solo el owner, los pasos diseñados en nombre de otra persona se omiten, con el motivo "quien firma no está entre las personas permitidas", y el editor marca esos bloques ("Esta persona ya no puede firmar: con "Solo el owner", este paso se omite hasta que cambies quién firma.").
  • Queda el registro: cada versión guarda quién la activó o publicó y los textos que salen en nombre de cada persona. Cuando otra persona del equipo activa un workflow que habla en tu nombre, recibes un aviso en la campana, que abre el workflow ("Ana activó el workflow "Bienvenida", que habla en tu nombre. Mira los textos.").

Plantillas

Plantillas crea un borrador a partir de una de las 9 plantillas, con los correos ya en la biblioteca, en el idioma de la comunidad. No se envía nada hasta que lo actives.

FamiliaPlantillaQué hace
ParticipaciónSerie de bienvenidaTres correos en la primera semana de quien entra
ParticipaciónImpulso de usoEntró y no empezó un curso en 3 días: un empujoncito
ParticipaciónReconquistaSin acceso hace 30 días: una invitación a volver
ParticipaciónFelicitaciones por el cursoUn correo cuando la persona completa un curso
ParticipaciónPrimera inscripción a un eventoBienvenida en la primera inscripción a un evento
ParticipaciónGracias por asistirUn día después del check-in, un agradecimiento
Personas (RR. HH.)Recordatorio de evaluación pendienteEvaluación sin enviar hace 3 días en el ciclo abierto
Personas (RR. HH.)1:1 sin registroLa 1:1 pasó y todavía no se registró
Personas (RR. HH.)Metas sin check-inResultado clave sin check-in hace 14 días

Abrir una plantilla muestra los pasos y los asuntos de los correos antes de usarla ("Crea N correos en la biblioteca").

Correos y baja

Los correos de los workflows salen en la categoría Automatizaciones de Correos de esta comunidad, activada por defecto, con el enlace para desactivarla en el pie.

Paso a paso

Un ejemplo: una felicitación con el nombre del curso.

  1. En Administración › Workflows, haz clic en Nuevo workflow (o en Plantillas, para empezar desde una plantilla).
  2. Arrastra el bloque Cursos de la categoría Disparadores y, en Se activa cuando, elige Alguien completa un curso. Elige el curso: el campo Cuántas veces entra la persona desaparece, porque cada persona completa ese curso una vez.
  3. Haz clic en el + después del disparador y elige Enviar correo. Ponle el Nombre del bloque Felicitación y elige el correo. En Editar correo, usa Insertar variable › Disparador · Cursos › Curso para poner {{course.name}} en el asunto.
  4. Conecta la salida "ok" a Fin: éxito. Si quieres, conecta la salida "error" a un Enviar mensaje (DM) para ti, con {{steps.<bloco>.error}} en el texto, y después a Fin: error.
  5. Guardar y Simular con una persona, con una alumna que completó el curso: la simulación muestra el asunto con el nombre del curso y Terminaría en éxito. En un paso de correo, Enviarme una prueba te envía el correo solo a ti. Simular y enviarme los correos te envía el correo tal como lo recibiría la alumna.
  6. Activar y confirma. En la lista, sigue Entraron, Terminaron y Éxito.

Por el asistente (MCP)

El propietario y el administrador crean, editan, activan, pausan y reanudan workflows por el asistente, incluso a partir de las plantillas; activar y reanudar muestran antes el disparador, los correos y la estimación. El equipo consulta, simula y sigue el historial. También por el asistente: run_workflow (ejecutar ahora), stop_workflow (detener, con el recuento de las ejecuciones canceladas antes de la confirmación), get_workflow_summary (la tasa de éxito y los últimos errores), list_workflow_variables y preview_workflow_text (las variables de un bloque y el texto completado), get_workflow_settings y update_workflow_settings (en nombre de quién) y la dirección del webhook de entrada. Consulta las recetas y Herramientas · Comunidad.

El asistente también aprende a automatizar: la guía de workflows (get_workflow_guide y la receta Automatizar una regla con un workflow) explica disparadores, bloques, reglas y variables y trae recetas listas; suggest_workflow convierte una regla en palabras ("quien compra el curso gana 7 días de acceso a la mentoría") en un borrador, sin guardar nada; y, después de enviar una campaña, emitir certificados o invitar personas, el asistente sugiere el workflow que lo automatiza. Por el asistente también: las claves de la bóveda (list_env, set_env, delete_env, sin mostrar nunca el valor), los bloques de acciones de la plataforma y Llamar workflow, y quitar ejecuciones del historial (delete_workflow_run, clear_workflow_runs, con confirmación).

Para la IA y las acciones nuevas: la guía trae el bloque ai (con los modelos y los límites del bloque) y 48 recetas, entre ellas DM de bienvenida escrito por IA, Triaje de tickets de soporte con IA, Resumen de respuesta de formulario con IA, Certificado en el check-in y 1:1 recurrente para quien entra en un equipo. get_ai_limits y update_ai_limits leen y cambian los Límites de IA, adjust_member_points ajusta los puntos de alguien sin workflow, y simulate_workflow con send_emails_to_me envía los correos de la simulación solo a ti. Ninguna de las cuatro pide confirmación.

Para el SMS y WhatsApp: la guía describe los bloques sendSms y sendWhatsapp (el límite, la regla de las 24 horas y los motivos de omisión y de espera, leídos de list_workflow_triggers), y las recetas pasan a 56, con Bienvenida por SMS, Inscripción al evento confirmada por SMS, Evento reprogramado por SMS, Pago vencido por SMS, 1:1 mañana por SMS, Inscripción al evento confirmada por WhatsApp, Pago vencido por WhatsApp y Plaza de la lista de espera por WhatsApp. Ver Avisos por SMS y WhatsApp. En WhatsApp, la guía monta el bloque con la plantilla, los campos y la página del botón, nunca con texto libre, y las recetas usan Entrada confirmada, Pago rechazado y Aviso de la comunidad.

Para los campos de selección múltiple y las insignias, las recetas pasan a 61: Bienvenida por interés y Etiqueta por interés (con contiene alguno de en la condición Campo del perfil), Insignia al terminar un curso, Grupo para quien recibe una insignia e Insignia en el check-in del evento.

Para los niveles: la guía describe los disparadores Subió de nivel, Bajó de nivel y Alcanzó N puntos y las reglas levelAtLeast y pointsAtLeast, con tres recetas nuevas: Subió de nivel, recibe una insignia, Bajó de nivel, sale de un grupo y Alcanzó N puntos, recibe una insignia. Los niveles en sí están en get_ranking_levels y update_ranking_levels.

En la API

Las rutas están en /api/workflows: disparadores, lista, crear, editar, eliminar, activar, pausar, reanudar, detener, estimación, simulación, prueba, ejecuciones, historial por miembro, plantillas y ejecutar ahora (POST /api/workflows/{id}/run). Consulta la Referencia de la API. También POST /api/workflows/{id}/stop, GET /api/workflows/{id}/summary, GET /api/workflows/{id}/variables y POST /api/workflows/variables (las variables de un diseño aún no guardado), GET y PUT /api/workflows/settings (en nombre de quién), occurs y variables en cada disparador de GET /api/workflows/triggers, activeCount y maxActive en la lista, y el tipo workflows en GET /api/logs. Un diseño rechazado vuelve con 422 y el bloque: singleTriggerOnly, pathWithoutEnd, variableUnavailable. También actionAboveRole y subWorkflowAboveRole (acción por encima del rol de quien guarda), subWorkflowCycle, httpTimeoutInvalid, externalInSubject; Ejecutar ahora o la dirección de webhook de un workflow con acciones por encima de tu rol: 403 workflows.actionsAboveRole. Y DELETE /api/workflows/runs/{runId}, POST /api/workflows/{id}/runs/clear, los bloques http, platformAction y runWorkflow, el disparador workflow.called, platformActions y subWorkflow en GET /api/workflows/triggers, y la bóveda en /api/vault (el valor de una clave nunca vuelve).

Los bloques de IA son el bloque ai (provider anthropic u openai, model, keyEnv, system, prompt, outputFormat text o json, jsonSchema, maxOutputTokens, timeoutSeconds, next y error), con los modelos y los límites del bloque en aiProviders y aiNode de GET /api/workflows/triggers; los topes están en GET y PUT /api/vault/ai-limits (propietario y administrador). Las acciones nuevas están en platformActions (content.post.create, certificate.issue, recognition.give, chat.block, oneOnOne.schedule, developmentPlan.action.add), con el campo opcional ownerOnly, y POST /api/gamification/points ajusta puntos fuera de un workflow. POST /api/workflows/{id}/simulate acepta sendEmailsToMe: true y devuelve emailsToMe; más de 10 simulaciones con envío por hora: 429; cuenta sin correo: 422.

Los bloques de SMS y WhatsApp son sendSms (text, hasta 300 caracteres, next y error) y sendWhatsapp (template, variables, hasta 300 caracteres cada una, link, next y error; las plantillas y sus campos vienen en whatsappNode.templates), descritos en smsNode y whatsappNode de GET /api/workflows/triggers. Los motivos quedan en el paso: omitido (smsNoPhone, smsPhoneUnverified, smsNoConsent, smsOptedOut, smsOptedOutAll, smsCategoryOff, smsCountryUnsupported, smsChannelDisabled, smsMemberGone, smsTextEmpty y los whatsapp* equivalentes, más whatsappNotOnPlan, whatsappTemplateNotApproved, whatsappNoConsent), aplazado (smsQuietHours, smsDailyCapReached, smsMonthlyQuotaReached, smsPersonDailyCapReached y los de WhatsApp) y error (smsSendFailed, whatsappSendFailed). El contador de partes es POST /api/sms/segments.

Las acciones de insignia son badge.award (con badgeId y reason, que acepta variables) y badge.revoke, en platformActions; los disparadores son badge.awarded (filtros badgeId y sources) y badge.revoked, con la variable {{badge.name}}. Los disparadores de nivel y puntos son member.level_changed (filtros direction, up por defecto o down, levelId y, en la bajada, causes: points y activity) y member.points_changed (filtro points, obligatorio: se dispara cuando from < N <= to); las reglas son levelAtLeast (levelId) y pointsAtLeast (points), con not. En un campo de selección múltiple, la regla fieldEquals acepta op containsAny, containsAll, notContains y contains, con values.

Relacionados