JerryIan
03/08/2025, 2:24 AMVapi Support Bot
03/08/2025, 2:25 AMJerryIan
03/08/2025, 12:27 PMShubham Bajaj
03/10/2025, 8:21 PMjson
"has_time": {
"type": "boolean",
"description": "Whether the caller has time for a review. yes=true, no=false..."
}
2. However, in your conditional edges, you're comparing this boolean to strings:
json
"condition": {
"type": "logic",
"liquid": "{% if has_time == Yes %} true {% endif %}"
}
3. And similarly for "No":
json
"condition": {
"type": "logic",
"liquid": "{% if has_time == No %} true {% endif %}"
}
This is causing the conditions to fail because you're comparing a boolean value (`true`/`false`) with string literals (`"Yes"`/`"No"`), which don't match.
## The Solution
You need to modify the Liquid template conditions in your workflow to compare with boolean values instead:
1. Change {% if has_time == Yes %} to {% if has_time == true %} or simply {% if has_time %}
2. Change {% if has_time == No %} to {% if has_time == false %} or simply {% if not has_time %}
You can make these changes in the Vapi workflow editor for your assistant (ID: d0840bce-e3c2-4cff-b4f3-09435de5fa68).
## Logs Verification
From your logs, I can see that the workflow did collect the has_time value as a boolean:
"🔵 07:51:51:581 [Workflow] [gather#gather_1741245344439] Output variable values: {"has_time": true}"
But then it failed when trying to evaluate the conditions because it was looking for string values that didn't match the boolean.
This simple update to your conditional liquid syntax should resolve the issue and allow your workflow to progress normally when users respond with "yes" or "no"