As can be clearly seen in the image, the Logic block is equating “Blog Post” to “Email”, where the other option is clearly correct. It happened once as of now, but this messed up the entire flow going from one direction to a completely different one.
Hope this gets fixed and doesn’t happen again, because logic blocks are there to separate different paths of the workflow, if this messes up the entire flow messes up.
The Logic block relies on AI to make the decision, so I’d suggest simplifying the Conditions to make them more straightforward. You can try something like:
I can confirm that nothing has changed on our end. The logic block uses the Default Model Settings of your workspace to evaluate options and choose its path.
Echoing Alex’s notes, all the logic block sees is the context and a list of the resolved values. Because it’s a language model, it often gets tripped up because it tries to infer semantic intent (e.g., “what does this user mean by this”), rather than performing simple equality checks like a computer. So from its perspective, it sees:
<context>
The core routing block. Determines which type of content is being generated
</context>
# Task
- Using any provided context above, evaluate the statements in the following markdown table and respond with the ordinal of the statement that is most accurate.
- If more than one statement is accurate, or if no statements seem accurate, choose the statement that seems most likely to be accurate.
<statements>
| Ordinal | Statement |
| ----- | --------------------------------------------|
| 1 | If Blog Post is equal to 'Blog Post' |
| 2 | If Blog Post is equal to 'Email Newsletter' |
</statements>
Only respond with a number and absolutely no other text. Never respond with anything other than the number of the statement you chose.
With this in mind, I would propose the following would be more performant and reliable:
Context: The user's selected content type is "{{contentType}}"
Option 1: User selected "Blog Post"
Option 2: User selected "Email Newsletter"
You could also write a simple custom function to handle this, if you wanted to guarantee it worked 100% of the time! Hope this helps!