Advanced Programming in Querlo
Querlo Studio is designed to be both accessible to non-technical users and powerful for developers. While our visual interface covers most use cases, complex applications often require custom logic, external API integrations, and sophisticated data handling.
Two Ways to Program
Depending on your needs and technical background, you can implement logic in two primary ways:
1. Visual Logic & Branching
For most decision-making flows, you can use Conditional Branch nodes. These nodes allow you to create "if-then" logic without writing actual code. You can evaluate user variables, session data, or previous answers to determine the path of the conversation.
- Logic Type: Boolean evaluations and variable matching.
- Best for: Standard navigation, simple user segmentation, and basic response filtering.
- Documentation: See Conditional Branching.
2. V8 JavaScript Engine Node
For developers who need "unlimited" control, Querlo provides a specialized V8 JS Engine Node. This allows you to write raw JavaScript that executes within a high-performance, sandboxed environment.
- Full Language Support: Use modern JavaScript features (ES6+) to manipulate data.
- External Requests: Perform asynchronous API calls to your own backends or third-party services.
- Debugging Tools: Full support for
console.log()outputs, error catching, and detailed stack traces for debugging. - State Management: Read and write directly to the user's session variables from within the script.
Why use Advanced Programming?
- Dynamic Content: Generate chat responses on the fly based on real-time data.
- Third-party Integration: Connect to CRM systems (Salesforce, HubSpot), Databases, or payment gateways.
- Complex Calculations: Perform mathematical operations or string manipulations that go beyond simple comparisons.
- Custom Validation: Implement sophisticated rules for user input validation.
State & Variable Management
At the heart of every professional chat flow is State Management. Querlo Studio provides a robust system to track and manipulate data throughout the user's journey.
- Global Variables: Access system-level data instantly, including
chat_id,session_id,user_id, andgeoloc. - Custom Node Variables: Every input node allows you to define your own variables. Simply specify a variable name in the node's input field to store the user's response.
- Intelligent Autocomplete: Don't memorize variable names. Our editor features a nice autocomplete system that suggests available globals and previously defined custom variables as you type.