Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Troubleshoot a workflow
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Reuse a group of workflow nodes safely
Next
Sequence a timed automation →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Workflows/Troubleshoot a workflow

Troubleshoot a workflow

When a workflow isn't producing the value or action you expect, Buttons gives you several layers of signal: from a workflow-wide error count down to the specific input handle that failed validation. This guide walks through them in the order that finds a broken node or edge fastest.

Before you begin#

  • The workflow open in the editor.
  • Familiarity with Value and Event connections, since several of the signals below depend on knowing which kind of connection you're looking at.

Start from the error count, not the canvas#

Don't scan the whole graph node by node. Instead:
  1. On the Workflows list, or the Workflows card on the Dashboard, look for a red error count. The Dashboard's version reads "{N} node(s) in error. Open workflow to fix." and opens straight into the editor with the error list already showing.
  2. Inside the editor, select the red "{N} Error(s)" button in the top bar. It lists every node currently in error, by type and label, along with its specific issue: either the invalid field paths and their validation messages, or the underlying error text.
This narrows a large graph down to exactly the nodes that need attention before you've looked at a single wire.

Read what a node's border is telling you#

A node's outline reflects whether it's saved and initialized, separately from whether it errored:
  • Solid red border: the node is in error. Hover its header icon for the specific reason (invalid input, invalid configuration, a connection problem, a rate limit, or another error's own message).
  • Dashed amber border: the node hasn't initialized yet. Its tooltip says exactly this: "This node has not been initialized. Save the workflow to initialize it." Select Apply to initialize it. This is expected right after adding a node, not a sign of a problem by itself.
  • Solid accent-colored border: the node has unsaved changes on the canvas that haven't been applied yet.
  • No border highlight: the node is saved, initialized, and currently error-free.
A red triangle next to one specific input on a node points to exactly which field failed validation, with the same message you'd see in the top-bar error list.

Understand why one problem can show up on several nodes#

A node that fails doesn't stop the rest of the workflow: its outgoing edges still resolve, just with an undefined value, so nodes downstream of it keep running rather than the whole graph hanging. If a downstream node requires a real value on that input, it will show its own red error too. When you see several nodes in error at once, look for the one closest to the start of the graph first; fixing it often clears the others without touching them directly.

Inspect the actual values flowing through#

Two switches in the node-pool sidebar control this, and both are useful together:
  • Show Values on Edges: labels every edge with its current value, right on the wire.
  • Show Debug: adds a collapsible Debug section to every node showing its full live state (status, error, input, output, and whether the backend has initialized it).
For a single value you want to keep an eye on while you keep building, drop a Display node on that wire instead: it shows the value large and typed (string, number, boolean, or an expandable object tree), with a warning that it needs Apply before it goes live if you've just added it.

Re-run the workflow to test a fix#

There's no separate "run" or "test" button for a single node or the whole workflow: selecting Apply is what actually re-evaluates the graph from the top, so it doubles as your test trigger after a change. Make a fix, apply it, and re-check the error count and node borders.

When nothing is flagged but the workflow still seems stuck#

If every node looks clean (no red borders, no error count) but the workflow clearly isn't producing what you expect, the graph may have hit an unhandled error at the engine level rather than a per-node validation problem. This doesn't currently surface anywhere in the editor. Check the server-side workflow process log for the workflow appearing to stop mid-cycle, and treat this as a case for support if you can't resolve it from the log alone.

Check Workflow Logs for the right kind of problem#

The Workflow Logs panel (below the Workflows list) is useful for confirming that an Action node actually fired, or that a Scheduler node triggered when expected: those log their own activity there. It does not currently capture node validation or render errors; for those, use the error count and node borders above rather than searching this log.

If a workflow is halted by its own rate limit#

A blinking "Rate Limit Exceeded" bar means the workflow tripped its own execution rate limit and has been paused briefly. It resumes automatically after a few seconds: this is a workflow-wide condition, not a broken node, so don't go hunting for a bad node if you see this instead.

If you get stuck#

What you see
What to try
A dashed amber border on a node you just added.
That's expected for a new, unsaved node: select Apply to initialize it.
Several nodes are red at once.
Check the one earliest in the graph first: a single upstream failure can cascade into several downstream error badges.
A node is red but its tooltip just repeats a generic message.
Turn on Show Debug on that node to see its full input/output/status state, and check for a red triangle on a specific handle for a more precise field-level message.
You're not sure what value is actually reaching a node.
Turn on Show Values on Edges, or drop a Display node on the wire in question.
A change doesn't seem to take effect.
Confirm you selected Apply: nothing on the canvas is live until you do.
Everything looks clean but the workflow still isn't working.
Check the server-side workflow process log for a cycle that didn't complete: this can happen without any visible error badge.
You're looking for why an action didn't fire.
Check Workflow Logs, not the node borders: action execution is logged there specifically.
A red "Rate Limit Exceeded" bar is showing.
Wait: it clears on its own after a few seconds. This is workflow-wide throttling, not a broken node.

Where to go next#

  • Understand workflows
  • Workflow node reference
  • Reuse a group of workflow nodes safely, if a copied Action or Scheduler node started firing unexpectedly.
  • Monitor and troubleshoot a connection, if an Action node's target connection is the actual problem.

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful