Use a workflow when steps are known, repeatable, and mostly deterministic — confirmations, reminders, sync jobs, status updates.
Use an agent when the system must choose tools, interpret messy input, or escalate with judgment — still with hard boundaries and human handoff.
If you are unsure, start with the workflow — preferably on a real platform backend. Agents earn their place when a brittle flow keeps failing on edge cases.
Can you write down the steps in advance?
A booking confirmation is a useful example: validate the booking, record it, send confirmation, and schedule a reminder. The path is known, including the conditions for cancellation or a failed message. A workflow makes those states visible and repeatable.
Does the next action depend on interpretation?
A messy support request may require reading context, finding the relevant record, and choosing a tool before proposing an action. An agent can be appropriate for that variable path, provided its available tools and authority match the task.