npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-orbital-actions

v3.3.0

Published

Orbital Actions para n8n — 7 operaciones simplificadas: pipeline, progreso+pasos, finalizar, saltar fase, notificar, documentos, aprobación HITL. JWT y URL auto-resueltos.

Downloads

273

Readme

n8n-nodes-orbital-actions

Nodo de n8n para reportar progreso, steps y callbacks a Orbital desde workflows ejecutados como Actions.

v3.0.2 — Refactor interno modular + doble selector categoría→plantilla + 8 plantillas genéricas universales + URL hardcoded (zero-config).

Instalación

npm install n8n-nodes-orbital-actions

O desde la UI de n8n: Settings → Community Nodes → Installn8n-nodes-orbital-actions.

Concepto

Cuando Orbital lanza un flujo n8n como Action, envía un payload con JWT del job (trae jobId, userId, projectId, agentId embebidos). Este nodo se usa dentro del flujo para reportar:

  • Pipeline de fases al inicio (esqueleto del job)
  • Progreso y steps durante la ejecución (hidratación)
  • Callback de éxito/error al final
  • Documentos, notificaciones, aprobaciones HITL según convenga

El dashboard de Orbital muestra todo en tiempo real (polling cada 8s).

Zero-config (v3.0.2)

El nodo no requiere configurar URLs. Apunta a producción de Orbital internamente (api.orbital.fractaliacyber.com/public/wh/*). El técnico solo configura:

  1. Autenticación — JWT directo (default, con expresión al Webhook Trigger) o Credential guardado (Header Auth de n8n).
  2. Campos específicos de la operación (plantilla de pipeline, título del step, etc.).

Modelo de datos

Job                                   ← workflow_jobs (1 por ejecución)
 └── Fase                             ← pipelineUi (declarada al inicio)
      └── Step (flat, sin jerarquía)  ← job_steps filtrado por phase_ref
           └── ai.tools[] (inline)    ← metadata del step AI, no substeps

3 niveles fijos, no árbol recursivo. Alineado con NIST, GitHub Actions, Airflow, Temporal.

Doble selector categoría → plantilla (v3.0.2)

El campo "Declarar Pipeline" ahora tiene 2 dropdowns:

  1. Categoría del Pipeline (11 categorías):

    • Generic / Universal
    • Cybersecurity / SOC
    • Offensive Security
    • Research / Análisis
    • IT Service Management
    • DevOps / Engineering
    • Data / Analytics
    • Business Operations
    • Compliance / Legal
    • Content
    • Custom (manual)
  2. Plantilla (filtrada dinámicamente por la categoría elegida).

Si la categoría es Custom, se oculta el selector de plantilla y aparece el campo para definir fases manualmente.

Plantillas disponibles

🔄 Generic / Universal (8 — NUEVAS en v3.0.2)

| ID | Nombre | Fases | |---|---|---| | generic_basic | Proceso básico | received → processing → completed | | generic_with_notify | Proceso con notificación | received → processing → completed → notified | | async_job | Job async | queued → running → completed | | request_approval | Solicitud / Aprobación | submit → review → decide → notify | | ticket_simple | Ticket / Caso simple | open → in_progress → resolved → closed | | pdca | PDCA (Deming) | plan → do → check → act | | kanban_basic | Kanban | backlog → todo → doing → done | | document_process | Procesar documento | receive → parse → extract → validate → store |

🛡️ Cybersecurity / SOC (5)

  • CyberSOC NIST (Operativo L1/L2/L3)
  • NIST CSF 2.0 (Estratégico)
  • SOC Incident Response (Clásico)
  • ISO 27001 Audit
  • MITRE ATT&CK Response

⚔️ Offensive Security (2)

  • Penetration Test
  • Red Team Operation

🔬 Research (4)

  • Deep Research, Threat Intelligence, Market Research, User Research (UX)

🎫 ITSM (2)

  • ITIL Change Management, ITIL Incident Management

⚙️ DevOps (2)

  • CI/CD Deploy, Bug Triage & Fix

📊 Data (2)

  • ETL Pipeline, ML Model Lifecycle

💼 Business (2)

  • Customer Onboarding, Sales Pipeline

📋 Compliance (2)

  • GDPR DPIA, Contract Review

✍️ Content (1)

  • Content Production

🛠️ Custom

  • Definir manualmente

Total: 31 plantillas (8 genéricas + 22 industria + 1 custom).

Uso típico

1. Declarar Pipeline (PRIMER nodo del flujo)

[Webhook Trigger]
    ↓
[Orbital Actions]
  Operación: Declarar Pipeline
  Categoría: Generic / Universal  ▾
  Plantilla: Proceso básico        ▾
    → Envía POST /public/wh/pipeline
    → Dashboard muestra 3 fases vacías:
       - Recibido
       - Procesando
       - Completado

2. Reportar progreso y steps

[Orbital Actions]
  Operación: Reportar Progreso
  Fase: processing          ← marca como activa
  Progreso: 20

[HTTP Request: procesar datos]

[Orbital Actions]
  Operación: Reportar Step
  Fase: processing           ← dropdown autocompletado tras 1ª ejecución
  Título: "Datos validados"
  Tipo: process
  Estado: success

3. Saltar fase (opcional, early-exit)

[IF es falso positivo?]
  -> SI: [Orbital Actions] Saltar Fase: processing, Motivo: "Falso positivo"

4. Finalizar

[Orbital Actions]
  Operación: Finalizar - Éxito
  Título del Resultado: "Procesamiento completado"
  Contenido: markdown del resumen

Operaciones disponibles

Pipeline

| Operación | Uso | |---|---| | Declarar Pipeline | PRIMER nodo. Envía fases al backend desde una plantilla o custom. | | Saltar Fase | Marca una fase como saltada con motivo (early-exit, fases ya hechas, N/A). |

Progreso y Steps

| Operación | Uso | |---|---| | Reportar Progreso | Actualiza status/progress/phase del job. | | Reportar Step | Crea un step en la fase actual — 90% de casos. | | Construir Step (sin enviar) | Devuelve JSON del step para manipular con Code/Merge. | | Batch › Añadir Step al Buffer | Acumula step localmente (sin HTTP). | | Batch › Enviar Buffer | Envía todos los steps acumulados en un POST atómico. | | Actualizar Step Abierto (async) | Solo para async/loops largos — cierra un step con status=started. |

Callbacks

| Operación | Uso | |---|---| | Finalizar - Éxito | Marca job como complete. Puede crear documento. | | Finalizar - Error | Marca job como errored con categoría. | | Crear Documento | Añade un documento al centro de documentos del usuario. | | Notificar Usuario | Envía notificación visible al usuario. | | Solicitar Aprobación (HITL) | Pausa el job esperando acción del usuario. |

Autenticación

2 modos:

Autenticación: [JWT directo ▾]
  JWT: ={{ $("Webhook").item.json.body.auth.token }}   ← default, edítalo si tu Webhook se llama diferente

Autenticación: [Credential guardado ▾]
  → usa un Header Auth configurado en n8n (reutilizable entre nodos)

La URL del endpoint es constante interna del nodo — el técnico no la configura. Apunta a producción (api.orbital.fractaliacyber.com/public/wh/*). Si en el futuro se añaden entornos dev/lab se expondrán como dropdown interno.

Dropdown dinámico de fases

Tras ejecutar Declarar Pipeline al menos una vez, el campo "Fase del Pipeline" de steps y skip se autocompleta con las fases declaradas. Se guarda en workflowStaticData.orbitalPipelinePhases y persiste entre ediciones del workflow.

En la 1ª ejecución el dropdown está vacío — el técnico escribe el ref de la fase manualmente, o deja "(auto)" para que el backend lo asigne a la fase activa (currentPhaseRef).

Arquitectura del paquete (v3.0.2)

Refactor modular — cada responsabilidad en su archivo:

src/nodes/Orbital/
├── OrbitalActions.node.ts       (slim — clase + execute orquestador)
├── templates/                    (doble selector + catálogo + helpers)
├── descriptions/                 (INodeProperties por grupo funcional)
├── loadOptions/                  (dropdowns dinámicos)
├── operations/                   (13 handlers, 1 por operación)
└── shared/                       (step-builder, auth, errores, buffer)

Añadir una plantilla nueva = 1 entrada en templates/catalog.ts + 1 ID en PIPELINE_TEMPLATE_ORDER. Añadir una operación nueva = 1 handler en operations/ + 1 línea en el map.

Migración desde v3.0.x anterior

Ningún cambio breaking funcional. Workflows guardados siguen funcionando:

  • Los IDs de plantillas no cambiaron (cybersoc_nist, nist_csf_2_0, …).
  • Los campos internos (stepKind, stepTitle, phaseRef, etc.) no cambiaron.
  • Lo único nuevo es el campo pipelineCategory — los workflows antiguos lo reciben con default generic y la plantilla guardada sigue cargando normalmente (aunque el dropdown de plantillas mostrará las de generic hasta que el usuario ajuste la categoría — edición de 1 click).

Recomendado: al abrir un workflow v3.0.x, ajustar el dropdown de categoría a la familia correcta para que el 2º dropdown muestre las plantillas esperadas.

Build local

pnpm install
pnpm run build

Para testing local:

npm link
cd ~/.n8n/custom
npm link n8n-nodes-orbital-actions
# reiniciar n8n

Licencia

MIT