https://retellai.com/?utm_source=discord&utm_medium=seo logo
I have set up a Logic Split Node if {{lead_title}}...
# ❓・ai-evy-support
j
@AI Evy I have set up a Logic Split Node if {{lead_title}} exists go to the next Logic Split Node. Else, go to Conversation Node. {{lead_title}} is left blank when testing but it still goes to the conversation node. Why?
a
Thanks for tagging me @JockRusky. I'll look through relevant sources and get back to you shortly.
### Answer When a dynamic variable has no assigned value, it remains in its raw form with the curly braces intact. [(1) ]() For your Logic Split Node condition checking if
{{lead_title}}
exists, you need to explicitly check whether the variable is unset using the proper syntax. In Conversation Flow equations, to check if a variable is set, use:
Copy code
{{lead_title}} != "{{lead_title}}"
This equation returns
true
when the variable is set (the evaluated value differs from the literal string) and
false
when unset (both sides remain as
{{lead_title}}
) . So your Logic Split Node condition should be: - **Condition**:
{{lead_title}} != "{{lead_title}}"
→ goes to next Logic Split Node - **Else**: → goes to Conversation Node This will properly route to the Conversation Node when
{{lead_title}}
is blank/unset. [(1) ]() [(2) ]()
​ To learn more, see the sources I considered: [[1] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[2] Logic Split Node](https://docs.retellai.com/build/conversation-flow/logic-split-node) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
j
@AI Evy I have if {{lead_title}} does not equal {{lead_title}} go to next Logic Split node, else to to conversation node, Testing with a blank value in lead_title it still goes to the Logic Split node.
a
Thanks for the follow-up, @JockRusky. I'll get back to you soon.
channels/1186424376300679209/1359881066168582194) [(2) ]()
​ To learn more, see the sources I considered: [[1] HELP: Dynamic Variables and the NEW Logic Split Node](https://discord.com/channels/1186424376300679209/1359881066168582194) [[2] Help with Logic Split Nodes (and an example of a custom variable being used would be lovely!)](https://discord.com/channels/1186424376300679209/1358825261986087126) [[3] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) ​
### Answer I apologize for the confusion in my previous response. Based on the community discussions, there's a known limitation with Logic Split Nodes and dynamic variables. [(1) ]() [(2) ]() The Issue: Logic Split Nodes currently cannot evaluate dynamic variables directly unless the variable's value has been mentioned in a previous conversation node. [(1) ]() According to Retell staff confirmation in the community, "equation based transition (including dynamic variables) is under dev." Current Workaround: You need to add a Conversation Node before your Logic Split Node that references the dynamic variable. The conversation must mention the variable's content for the Logic Split Node to recognize it. For example, you could create a Conversation Node with a prompt like: "Silently note that the lead title is {{lead_title}}. Do not speak to the user. Transition immediately to the next node." Then your Logic Split Node can properly evaluate the condition after this conversation node. [(1) ]() [(2) ]() Why Your Current Setup Isn't Working: When
{{lead_title}}
is blank, it remains as
{{lead_title}}
in its raw form with curly braces. [(3) ]() The equation
{{lead_title}} != {{lead_title}}
evaluates both sides as the same raw string when unset, making them equal, which triggers the Logic Split path instead of Else. The limitation is that Logic Split Nodes need the variable to be mentioned in prior conversation context to work properly. [(1) ](
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
j
@AI Evy I have added a conversation node "Silently note that the lead title is {{lead_title}}. Do not speak to the user. Transition immediately to the next node." with Skip User Response as the transition which goes to the logic split node which has if {{lead_title}} does not equal {{lead_title}} go to next Logic Split node, else to to conversation node, Testing with a blank value in lead_title it still goes to the Logic Split node.
a
Thanks for the follow-up, @JockRusky. I'll get back to you soon.
### Answer The issue is with your condition logic. When
{{lead_title}}
is blank, both sides of your equation evaluate to the same raw string
{{lead_title}}
, making them equal, not different. [(1) ]() Try reversing your condition: Instead of:
{{lead_title}} does not equal {{lead_title}}
Use:
{{lead_title}} equals {{lead_title}}
When the variable is blank/unset,
{{lead_title}} equals {{lead_title}}
will be true (both sides are the identical raw string) , which should route to your Conversation Node. When the variable has a value, the left side evaluates to the actual value while the right side remains as the literal string, making them unequal, which routes to the next Logic Split Node. Alternative approach based on community examples: Based on community discussions, you could also try using the "exists" check in your equation: - **Condition**:
{{lead_title}} exists
→ goes to next Logic Split Node - **Else**: → goes to Conversation Node However, note that equation-based transitions with dynamic variables have known limitations and are under development according to Retell staff. [(2) ]() [(3) ]()
​ To learn more, see the sources I considered: [[1] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[2] Help with Logic Split Nodes (and an example of a custom variable being used would be lovely!)](https://discord.com/channels/1186424376300679209/1358825261986087126) [[3] HELP: Dynamic Variables and the NEW Logic Split Node](https://discord.com/channels/1186424376300679209/1359881066168582194) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.