Knowledge Base

Approvals on Runtime Agent

Duration: ~35 min · Level: Advanced · Topic: Runtime agent · Safety gates · Business approvals

Prerequisites: Export Runtime to Edge, Approvals Explained. An Active workflow with at least one Dangerous node or approval.requestApproval node.

When a workflow runs on an exported runtime agent (headless, no Studio UI on site), approvals work differently than in Studio. This tutorial walks through export, the agent dashboard, safety gates, and the business approvals inbox.

Two approval types on the agent

TypeWhen it firesWhere to decide
Safety gateDangerous or Armed Required node (Modbus write, shell, device command)Agent dashboard / — Approve / Arm
Business approvalapproval.requestApproval nodeAgent dashboard /approvals

Studio login and roles do not apply on the agent. The agent uses a safety interlock (pause + operator name in audit log). See Approvals Explained for the full security model.

Step 1 — Prepare a workflow with approvals

Use any workflow that needs human decisions, for example:

Validate and move the workflow to Active.

Step 2 — Export with Operator approval support

  1. Canvas → Export Runtime.
  2. Set target OS, service mode, and dashboard port (default 9090).
  3. Enable Operator approval support when the workflow contains Dangerous nodes or business-approval nodes (auto-checked when detected).
  4. This pre-fills DashboardActionToken in the exported appsettings.json for remote Approve/Arm from LAN.
  5. Download the ZIP and install on the edge host — see Export Runtime to Edge.

Step 3 — Open the agent dashboard

  1. On the agent machine: http://localhost:9090.
  2. From another PC on the LAN: http://<agent-ip>:9090 (Linux/macOS binds 0.0.0.0; restrict port 9090 with firewall).
  3. When export included a control plane URL, sign in at /login with your on-prem Studio user or Nodlyn Cloud account (same API as /api/auth/login).
  4. Edit operational node settings at /settings (Configuration) — values apply on the next run without re-exporting from Studio.
  5. Legacy remote token (exports without dashboard login): open http://<agent-ip>:9090/?accessToken=<token-from-appsettings> once.

Windows agents listen on 127.0.0.1 by default — use RDP or SSH tunnel to the host for local dashboard access.

Step 4 — Safety gate: Approve and Arm

  1. Trigger a run that hits a Dangerous node (webhook, cron, or manual trigger via API).
  2. The run suspends — execution stops until confirmed.
  3. On the dashboard home (/), find the suspended run.
  4. Click Approve. When signed in, your account name is recorded automatically; otherwise enter operator name.
  5. If the node requires Arm: a Supervisor/Admin (or second person when not using login) enters confirmation text (two-person rule).
  6. After approval, execution continues to the dangerous action.
Important: External event ingress (/api/agent/event) is not blocked by approval suspend and cannot approve Dangerous steps. See Approval vs Event Ingress.

Step 5 — Business approval: /approvals inbox

  1. When a run creates a business approval (approval.requestApproval), it is stored in the agent’s local database.
  2. Open http://<agent>:9090/approvals (sign in if dashboard login is enabled).
  3. Pending requests show title, description, and approver field.
  4. When signed in, your Studio/Cloud identity is used — designated approver match or Supervisor/Admin applies.
  5. Without login, enter approver email or name manually (legacy).
  6. Click Approve or Reject.
  7. Downstream approval.checkApproval nodes read the decision on the next poll cycle.

Business approvals on the agent do not appear in Studio Jobs → Approvals. Studio and agent use separate databases.

Step 6 — Verify the full loop

  1. Start a run that requests approval, waits (Delay node), then checks status (Check Approval → Switch).
  2. Decide in /approvals before the delay elapses (default 5 minutes in most templates).
  3. Confirm the correct branch (approved vs rejected) in Jobs → History on the agent dashboard or Studio Agents tab.

Step 7 — Monitoring from Studio

  • Agents tab — heartbeat, online status, last run.
  • Agent dashboard — full run history, variables, schedules, logs.
  • No push notifications in v1 — operators open the dashboard when a run may need attention.

Security checklist (v1 pilot)

  • Treat the agent LAN as a trusted perimeter (factory network, VPN).
  • Firewall port 9090 on Linux gateways.
  • Store the export ZIP and DashboardActionToken like credentials.
  • For strong identity on business approvals, run workflows in Studio instead of the agent inbox.

What you learned

  • Export with Operator approval support and dashboard token.
  • Safety gates on / vs business inbox on /approvals.
  • Studio and runtime approval stores are separate.

Related tutorials

Nodlyn Assistant
Ask me anything about Nodlyn
Hi! 👋 I'm the Nodlyn assistant. Ask me about the product, workflow components, connectors, agent runtime, agent capabilities, deployment, and more. If I don't know an answer, I'll point you to our contact form.