# Workflows

> Automate Buttons with node-based workflows that react to events, values, timers and other systems.

A workflow is the automation and advanced-logic tool in Buttons. You connect nodes on a canvas to receive events, read current values, make decisions, run actions and exchange data with other systems, so behavior can run without a button press or with more logic than a direct action sequence provides. These pages are for anyone who builds or maintains workflows. Start with the concepts, build a small example, then use the recipes when you need a specific timed automation or HTTP integration. In a High Availability deployment, a workflow that listens for incoming TCP or UDP traffic, such as one with a REST Server node, needs a port forwarding rule to be reachable on the virtual IP. See Forward incoming traffic to a workflow in an HA deployment .
