Titan AI is in beta. Features and behavior may change, and some functionality is still in development. To share feedback or report an issue, complete the support form.
Titan AI checks a workflow as you build it and reports what it finds in the status bar at the bottom of the workflow editor. Checking as you build means you fix problems when you create them, rather than finding them when a run fails.
View errors and warnings
- Go to Automations > Workflows.
- Open the workflow you want to check.
- Select the status bar at the bottom of the page to expand it.
The Issues tab lists every error and warning in the workflow, and the count beside it shows the combined total. A triangle marks a warning and a red circle marks an error. Each entry names the block, describes what is wrong, and labels the kind of fix it needs. Blocks that carry an issue are also flagged on the canvas, so you can find the one that needs attention without reading the whole list. Titan rechecks the workflow as you edit, so an issue leaves the list once you resolve it.
Errors
Workflows with errors cannot run as built, and cannot be saved until you fix the errors.
| Issue | What to do |
| The workflow has no trigger block, or no End block. | Add the missing block. Every workflow starts with a trigger, and every path ends with an End block. |
| A block is not connected to the trigger, or the connections form a loop. | Connect the block so that the trigger can reach it, and remove any connection that leads back to an earlier block. |
| A connection points to a block that no longer exists. | Reconnect the block, or remove the connection. This usually happens after you delete a block. |
| A branch on a Decision Switch is not connected to anything. | Connect every branch, including the ones you expect to be rare. A branch that leads nowhere is not a valid path. |
| A block that waits for an event, such as Send Questionnaire, has an unconnected exit. | Connect both exits. These blocks have one path for when the event happens and one for when the block times out. |
| A Decision Switch is incomplete. | Give it at least two branches, a value to evaluate, and a label on every branch. Add the expression to any branch that uses one. Use at most one catch-all branch, and put it last. |
| A Get Data block has no extraction rule, or the rule is not valid. | Enter a rule that names the variable and gives a plain expression path to the value you want to extract. Do not use a {{ }} reference. |
| A required field on a block is empty. | Open the block and complete every required field. |
| An End block message is longer than 240 characters. | Shorten the message. |
| A block uses a value from a step that does not exist, or that has not run yet at that point in the flow. | Choose a value from a block that runs earlier on the same path. |
| A block uses an input value that the trigger does not supply. | Add the input to the trigger, or choose a different value. Event triggers supply a fixed set of fields. |
| A block is missing a connector or an action, or is a type that Titan does not support. | Remove the block. This happens only in a workflow created through the API rather than the editor. |
Warnings
Workflows with warnings are valid and can be saved, but they are worth a second look before you run them.
| Issue | What to do |
| A block has nothing connected after it. | Connect the block to the next step, or to an End block. Titan warns rather than blocks, because a deliberate dead end is sometimes what you want. |
| A Decision Switch has no catch-all branch. | Add one. You can save without it, but a run that matches no branch fails. |
| Two branches on a Decision Switch share the same label. | Rename one of them, so you can tell which branch a run took in the execution details. |
| An End block has no message. | Enter a message. Without one, the run records a default outcome, which makes paths harder to tell apart. |
| A block uses an input value that a Manual trigger does not currently define. | Check the value. You can supply extra values when you select Run, so this is a reminder rather than a fault. |