Properties
| Name | Type | Description |
|---|---|---|
| type | string | This is the type discriminator for liquid condition |
| liquid | string | This is the Liquid template that must return exactly "true" or "false" as a string. The template is evaluated and the entire output must be either "true" or "false" - nothing else. Available variables |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/LiquidCondition",
"title": "LiquidCondition",
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "This is the type discriminator for liquid condition",
"example": "liquid",
"enum": [
"liquid"
]
},
"liquid": {
"type": "string",
"description": "This is the Liquid template that must return exactly \"true\" or \"false\" as a string.\nThe template is evaluated and the entire output must be either \"true\" or \"false\" - nothing else.\n\nAvailable variables:\n- `messages`: Array of recent messages in OpenAI chat completions format (ChatCompletionMessageParam[])\n Each message has properties like: role ('user', 'assistant', 'system'), content (string), etc.\n- `now`: Current timestamp in milliseconds (built-in Liquid variable)\n- Any assistant variable values (e.g., `userName`, `accountStatus`)\n\nUseful Liquid filters for messages:\n- `messages | last: 5` - Get the 5 most recent messages\n- `messages | where: 'role', 'user'` - Filter to only user messages\n- `messages | reverse` - Reverse the order of messages",
"examples": [
"{% if messages.last.content contains goodbye %}true{% else %}false{% endif %}",
"{% assign userMessages = messages | where: role, user %}{% if userMessages.size > 3 %}true{% else %}false{% endif %}"
]
}
},
"required": [
"type",
"liquid"
]
}