--- alias: tutorials-connectiot-mechanics description: "Hands-on tutorials on how Connect IoT workflows move values, branch, keep time and state, talk to MES, and run custom code" --- # Workflow Mechanics These tutorials teach how a Connect IoT workflow behaves at run time: when a task runs, which values it reads, how a branch decides, how time and state are kept, and how a workflow talks to MES. Each one builds a small workflow and checks the result in the controller log. Complete [[tutorials-connectiot-configuration-basic]] first. For where these tutorials fit among the others, see [[tutorials-connectiot-learning-path]]. 1. [[tutorials-connectiot-how-values-travel]] - activation, the values a task keeps between runs, and the difference between `null` and `undefined` in Data Flow. 2. [[tutorials-connectiot-control-flow-in-depth]] - branches, conditions, loops, error handling, functions, and subworkflows in Control Flow. 3. [[tutorials-connectiot-timing-and-state]] - timers, cron jobs, waits, deadlines, stored values, and per-item queues. 4. [[tutorials-connectiot-talking-to-mes]] - service calls, actions, requests and replies between MES and the workflow, and notifications. 5. [[tutorials-connectiot-writing-a-code-task]] - when a Code task is the right tool, how to write it, and how to test it.