Skip to content

Nodos

El catálogo de nodos reúne 36 tipos repartidos en las tres pestañas de la paleta: Triggers, Actions (que incluye las acciones de diseño y de IA) y Rules (lógica, tiempos y control de flujo). Cada nodo es totalmente configurable y se valida en el mismo momento en que lo colocas. Algunos nodos de acción ya se ejecutan de verdad; unos pocos figuran en el catálogo por delante de su ejecutor y registran con honestidad un paso "todavía sin conectar" en lugar de fingir que han funcionado. Consulta la columna When run más abajo.

Vistazo rápido

  1. Abre la pestaña de la paleta que corresponda a lo que necesitas: Triggers, Actions o Rules.
  2. Arrastra el nodo al lienzo.
  3. Configura sus campos en el inspector.
  4. Revisa las tablas de abajo antes de confiar en el efecto real de un nodo de acción.

Referencia detallada

Triggers

Un único nodo de desencadenante inicia cada grafo. Consulta Desencadenantes para ver cómo se dispara cada uno realmente.

NodoQué inicia una ejecución
Manual startTú, desde el botón Test del builder
ScheduledUna cadencia por intervalo, diaria o semanal
Incoming webhookUna llamada a la URL propia de la automatización
Design createdSe crea un diseño nuevo
Design updatedSe guarda un diseño
Design sharedSe comparte o se publica un diseño
Design downloadedSe descarga un diseño
Part taggedSe añade una etiqueta a una parte, opcionalmente filtrada a una sola etiqueta
Brand appliedSe aplica un kit de marca a un diseño
Asset uploadedSe añade un archivo a la biblioteca multimedia
AI generation doneTermina una generación de IA
New work in folderSe añade un proyecto a una carpeta elegida

Acciones de diseño

NodoQué haceCamposWhen run
Pick a partElige un proyecto y luego una parte dentro de él (página, marco o diapositiva); los pasos posteriores actúan sobre ellaPart (abre el selector de parte)Se ejecuta de verdad
Set status / folderCambia el estado del diseño o lo mueve a una carpeta, o ambas cosasStatus, FolderSe ejecuta de verdad
Publish a partPublica la parte seleccionada como plantilla de la comunidadningunoTodavía sin conectar
Duplicate a designCrea una copia del diseño seleccionadoningunoTodavía sin conectar
Generate a coverGenera una portada o miniatura para la parte seleccionadaningunoTodavía sin conectar

Acciones de IA

Se ejecuta a través de tu propia clave de proveedor de IA, la misma que usas en el resto de la aplicación; consulta Usa tu propia clave de IA.

NodoQué haceCamposWhen run
Generate copyEscribe texto con un LLMAjustes de IA (se abren desde el nodo)Se ejecuta de verdad con cualquier clave de IA conectada; si no, registra un paso omitido
Generate an imageDe texto a imagenAjustes de IA (se abren desde el nodo)Se ejecuta de verdad con una clave compatible con OpenAI; con cualquier otro proveedor, o sin clave, registra un paso omitido
Generate a videoDe texto a vídeoAjustes de IA (se abren desde el nodo)Hoy siempre registra un paso omitido; el vídeo todavía no está conectado a ningún proveedor, ni siquiera con una clave configurada
Run an AI skillEjecuta una habilidad de AI StudioAjustes de IA (se abren desde el nodo)Igual que Generate an image para una habilidad que produce imágenes; una habilidad que produce vídeo siempre registra un paso omitido

Acciones de notificación

NodoQué haceCamposWhen run
In-app notificationCrea una notificación en tu espacio de trabajoMessageSe ejecuta de verdad
Send webhookEnvía una petición POST a una URLURLSe ejecuta de verdad
Slack / DiscordPublica un mensaje mediante un webhook entranteWebhook URL, MessageSe ejecuta de verdad
Write an audit entryAñade una línea al registro de auditoríaningunoSe ejecuta de verdad
Send emailEnvía un correoTo, Subject, BodySe ejecuta de verdad a través de la conexión SMTP configurada en tu espacio de trabajo; sin ella registra un paso omitido
Add to calendarAñade un evento al calendario del espacio de trabajoTitleSe ejecuta de verdad; aparece en el feed de actividad de tu Portal Calendar

Reglas y lógica

Todos los nodos de esta sección los gestiona directamente el motor central, así que todos se ejecutan de verdad.

NodoQué haceCampos
Condition (yes/no)Divide el flujo en dos ramas según una condiciónCondition
FilterDetiene el flujo si no se cumple una condiciónCondition
DelayEspera antes de continuarAmount, Unit (minuto, hora, día)
Wait until a dateEspera hasta una fecha y hora concretasDate
Set a variableEscribe un valor en el contexto de la ejecución para pasos posterioresKey, Value
Expression / templateConstruye un valor a partir de salidas anterioresTemplate
HTTP requestLlama a una URL y guarda la respuestaURL, Method, Body
No-opNo hace nada; un paso de paso a travésninguno
ExitTermina la automatizaciónninguno

Plantillas y condiciones

La mayoría de los campos de texto y de área de texto, el nodo Expression / template y varios campos de notificación aceptan marcadores de doble llave, escritos como {{ context.someKey }}, que recuperan lo que hayan escrito los nodos anteriores en la ejecución, por ejemplo la parte que elegiste o un bloque de texto generado por IA.

En cambio, Condition (yes/no) y Filter construyen una regla estructurada: eliges un campo, una comparación (igual a, contiene, empieza por, mayor que, está vacío y más, según el tipo de dato del campo) y un valor. Cualquiera de los dos lados de la regla puede referirse al contexto de la ejecución del mismo modo, por ejemplo comparando {{ context.status }} con un valor fijo como approved. Una regla vacía siempre pasa, y por eso un nodo Condition o Filter recién creado deja pasar todo hasta que lo configuras.

Cómo se usa

Paso a paso: configurar un paso de petición HTTP

  1. Arrastra HTTP request al lienzo desde la pestaña Rules y conéctalo después del nodo que produzca los datos que necesitas enviar.
  2. Define Method (GET, POST, PUT, PATCH o DELETE) y URL; el campo URL acepta {{ context.x }} igual que cualquier campo de texto.
  3. Elige Auth: None, Bearer token, Basic (user:pass) o una cabecera personalizada, y rellena el campo de valor correspondiente que aparezca.
  4. Para un método que lleva cuerpo, elige un tipo de Body (JSON, form o texto sin formato) y escribe el Body, de nuevo con marcadores donde los necesites.
  5. Deja Response variable con su valor por defecto __http, o cámbialo, y luego referencia el resultado más adelante, por ejemplo {{ context.__http.status }} o un valor anidado dentro de {{ context.__http.body }}.

Paso a paso: notificar a un canal de Slack o Discord

  1. En la aplicación de destino, crea un webhook entrante para el canal en el que quieras publicar y copia su URL.
  2. Arrastra Slack / Discord al lienzo (Actions > Notification) y pega esa URL en Webhook URL.
  3. Escribe el Message, usando {{ context.x }} para incluir cualquier cosa que hayan producido los nodos anteriores.
  4. Si quieres, define Username e Icon emoji para que las publicaciones automáticas sean fáciles de detectar en un canal con mucho movimiento.
  5. Prueba la automatización una vez; una publicación fallida aparece como un paso error con el estado HTTP adjunto, no como un no-op silencioso.

Tareas habituales

  • Disparar cada mañana de día laborable. En un desencadenante Scheduled, pon Frequency en Cron, la expresión en 0 9 * * 1-5 y una zona horaria como Europe/Istanbul. El modo Cron mantiene un puntero de recuperación, así que un minuto perdido (un despliegue, un arranque en frío) todavía se dispara una vez que se recupera, en lugar de perderse en silencio.
  • Aceptar solo llamadas de webhook firmadas. Rellena el secreto HMAC del desencadenante Incoming webhook; a partir de entonces el emisor debe enviar una cabecera X-Signature: sha256=... calculada sobre el cuerpo en bruto, o la llamada se rechaza con un 401 antes de que se ejecute nada.
  • Mover una parte a revisión tras la aprobación. Encadena Pick a part con Set status / folder y pon Status en "İncelemede" (En revisión); usa la misma ruta de actualización que el propio control de estado del editor.
  • Redactar un pie de foto o un resumen. El prompt de un nodo Generate copy puede referirse directamente al contexto anterior, por ejemplo Summarize this in one sentence: {{ context.__aiText }} encadenado después de otro paso de IA.
  • Llamar a una API externa y actuar según la respuesta. Un nodo HTTP request (pestaña Rules) puede configurar autenticación Bearer/Basic/cabecera personalizada, escribir su respuesta en una variable (por defecto __http), y un nodo Filter justo después puede filtrar según esa respuesta, por ejemplo continuando solo cuando la llamada tuvo éxito.
  • Firmar un webhook saliente. El campo Secret de la acción Webhook gönder (Send webhook), si se rellena, firma el cuerpo de la petición con HMAC-SHA256 y lo envía en la cabecera indicada en Signature header (por defecto X-Signature), de modo que el receptor puede verificar que la llamada procede realmente de tu automatización.
  • Combinar varios valores de contexto en una sola cadena. Usa Expression / template en lugar de varios nodos Set a variable, por ejemplo {{ context.name }} <{{ context.email }}> escrito una vez en su campo Template, y luego referencia el resultado más adelante como {{ context.__expr }}.
  • Enlazar una notificación de vuelta al trabajo al que se refiere. El campo Href de In-app notification acepta una ruta como /works/<id>, de modo que al hacer clic en la notificación dentro del espacio de trabajo tu equipo llega directamente al proyecto afectado.
  • Detener una ejecución antes de tiempo sin que cuente como un fallo. Encadena un nodo Filter con una regla que sea falsa para los casos que quieras descartar; una ejecución filtrada aparece como Exited en Runs, no como Failed, y no se ejecuta nada posterior al filtro.

Resolución de problemas

  • El paso de un nodo aparece como skipped en Activity. Es o bien un filtro intencionado (un nodo Filter cuya condición no se cumplió), o un nodo cuyo ejecutor de verdad todavía no está conectado (mira las columnas "When run" de arriba), o una acción que aún no tiene nada sobre lo que actuar (un correo sin conexión SMTP, una IA sin clave compatible). Ninguno de estos casos es un error; la ejecución continúa hacia lo que venga después.
  • Un nodo de acción falla una y otra vez en el mismo paso. Abre la pestaña Settings de su inspector y define un número de reintentos y una espera, o cambia On error a Continue para que el resto del grafo se ejecute igualmente; consulta Crear un flujo de trabajo.
  • Mi condición nunca parece pasar (o nunca parece fallar). Comprueba que el campo que lee de verdad se resuelve en algo: una errata en una ruta {{ context.x }}, o un nodo anterior que a su vez fue omitido, dejan el valor vacío, y la mayoría de las comparaciones que no son "está vacío" fallan frente a un valor vacío.
  • Una ejecución nunca llegó a empezar. Eso es una cuestión de desencadenante, no de nodo; consulta Desencadenantes para ver los detalles de debounce, horas de silencio y estado Active.
  • Set status / folder registra "önce bir parça seç" (elige primero una parte) y se omite. Este nodo actúa sobre la parte que haya elegido antes un nodo Pick a part en la misma ejecución. Si no hay uno antes de él en el grafo, no tiene nada sobre lo que actuar, así que siempre se omite con ese mensaje.
  • "Publish a part", "Duplicate a design" o "Generate a cover" nunca parecen hacer nada. Estas tres acciones de diseño todavía van por delante de su ejecutor; siempre registran un paso omitido y dejan pasar, exactamente igual que un nodo de IA o de correo cuya dependencia no está configurada. Hoy por hoy, nada de lo que configures en ellas cambia eso.
  • Una publicación en Slack o un webhook saliente no llegaron y no se avisó. Revisa primero su entrada en Recent step logs. Una URL de webhook entrante incorrecta o caducada, o un destino que devolvió un estado distinto de 2xx, aparecen ambos como un paso error con el estado de la respuesta en el mensaje, no como un fallo oculto.

Consejos

Skipped no significa roto

Un nodo marcado como "todavía sin conectar" no es un error. La ejecución igualmente pasa por él, registra un paso "skipped" honesto y continúa hacia el siguiente nodo, así que el resto de tu grafo sigue funcionando mientras esperas a que se conecte el ejecutor de ese nodo.

Combina condición y filtro

Usa Condition cuando necesites dos caminos distintos (sí y no); usa Filter cuando solo quieras detener una ejecución que no cumple los requisitos.

Relacionado