HomeDocsAdvanced ProgrammingAdvanced Programming Introduction
Advanced Programming

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, and geoloc.
  • 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.

Next: V8 JavaScript Engine Node | Variables & Globals