First Steps

Aiigle lets you build interactive programs by combining visual blocks. Each block performs one task: it can create a value, load data, transform text, compare numbers, call an AI model, write a log, or send data to another system. You build a program by placing blocks in the editor, connecting their ports, configuring the blocks, and pressing run.

This guide walks you through the basic idea with simple examples. You do not need to write code to get started, but Aiigle still shows you how the workflow behaves through the Log and Code panels.

Aiigle Editor

The basic idea

A workflow is a chain of connected blocks. Data usually flows from left to right: one block produces an output, the next block receives it as input, and the result continues through the graph.

1. Add blocks

Choose a block from the ribbon and place it in the workspace. Start with simple blocks such as Text, Number, Math, Compare, or Log.

add a new block

2. Connect blocks

Drag from an output connector to an input connector. Connections define which result is passed to which block.

Connect two blocks

3. Configure blocks

Open a block’s settings and enter the value, formula, column name, URL, or option that the block needs.

configure blocks example

4. Configure UX blocks

Use UX blocks to create simple user interfaces for your workflow. Configure labels, inputs, buttons, and outputs so users can enter values, start actions, and see results without editing the graph itself.

Configure UX blocks

5. Run the graph

Press the run button and watch the workflow while it is running. Active blocks are highlighted, completed blocks change their state, and connected log blocks show the current output.

run buttonRun and see results

6. Log each step

Use the Log panel to follow runtime messages, errors, warnings, and results. Add Log blocks to inspect the data they receive.

Log result

Example 1: Show a text in the log

The smallest useful program contains a value block and a log block. The value block creates data, and the log block shows it.

  1. Add a Data → Text block.
  2. Enter a short message, for example: Hello Aiigle.
  3. Add a Process → Log block.
  4. Connect the output of the Text block to the input of the Log block.
  5. Press Run run-button.

The Log panel should now show the text that came from the Text block. This is the simplest form of data flow: one block creates a value, another block receives it.

hello-world example

Example 2: Compare two numbers

You can create small logic programs by combining Number, Compare, Assert, Switch, and Log blocks. The following example checks whether two numbers are equal.

  1. Add two Number blocks.
  2. Enter 4 in the first Number block and 4 in the second Number block.
  3. Add a Compare block and set the operator to equals.
  4. Connect the first Number block to input 1 of Compare (A).
  5. Connect the second Number block to input 2 of Compare (B).
  6. Add a Log block and connect the Compare output to it.
  7. Run the graph.
compare values example

The Compare block returns whether the condition is true or false. This is useful when you want to branch a workflow, validate data, or stop a graph when a condition is not fulfilled.

You can also use the If/Then block if you want to use more complex conditions (like A == B).

Example 3: Use a Switch block

A Switch block chooses one of several outgoing paths. It is useful when the next step depends on a value, such as a category, status, number, or user choice.

  1. Add a Number or Text block.
  2. Enter a value, for example 4.
  3. Add a Switch block.
  4. Add cases in the Switch settings, for example 1, 2, 3, and 4.
  5. Connect the value block to the Switch input.
  6. Connect the output case 4 to a Log block.
  7. Run the graph.

Only the matching output path should fire. If no case matches, the default path can be used, if it is configured and connected.

switch case example

Example 4: Repeat work with a For block

A For block lets you run the same part of a workflow for every item in a list or table. A Collector block gathers the results again after all items have been processed.

  1. Add a Text block and insert the following table data:
    id;name;age;city
    1;Anna;28;Berlin
    2;Leo;34;Munich
    3;Maya;22;Hamburg
    4;Jonas;41;Cologne
  2. Connect the Text block to Table Tools → String to Table and set the separator to ;.
  3. Connect the table output to a For block. The For block now sends one row at a time to the next connected blocks.
  4. Connect the For output to a Column block and select the column city. This extracts the city value from each row.
  5. Connect the city value to a text-processing block, for example to create a short message such as City: Berlin, City: Munich, and so on.
  6. Connect the processed output to a Collector block. The Collector waits for all For iterations and combines the individual results into one collected result.
  7. Connect the Collector output to a Log block to inspect the final collected result.
process each row separately with for loop

In this example, the original table is used as input. The workflow processes each row separately, extracts the city, creates one result per row, and then collects those results.

Example 5: Make an LLM Prompt

AI models can be integrated directly into workflows. The LLM block sends a prompt to a language model and returns the generated response.

  1. Add a Prompt block.
  2. Enter a prompt, for example: Explain $topic in one sentence.
  3. Add a text block with "hello world" connected to the $topic variable.
  4. Add an LLM block.
  5. Select the model (e.g. llama3.2:1b) in the LLM settings.
  6. Connect the Prompt block output to the LLM input.
  7. Add a Log block.
  8. Connect the LLM output to the Log block.
  9. Run the graph.
LLM prompt example

The LLM block receives the prompt, generates a response, and passes the result to the next block. You can combine LLM blocks with tables, Moodle data, APIs, UX blocks, or workflow logic to create more advanced applications.

Understanding connectors

Connectors are the small points on a block. Inputs are usually on the left side, outputs are usually on the right side. Some blocks have more than one input or output.

Data inputs

Data inputs receive values from previous blocks. A block normally waits until its required connected inputs are available. This ensures each step has the information it needs before processing begins.

Math block A+B

Data outputs

Data outputs send the result of a block to the next block. They pass values such as text, numbers, tables, rows, files, API responses, or generated results through the workflow.

Number block with outgoing node

Trigger inputs

Some blocks can wait for a trigger before they run. If a trigger input is connected, the block starts only after that trigger fires, even when its data inputs are already available.

Process Trigger node

Progress outputs

Blocks such as Switch or If can send execution to different paths depending on a condition. Always connect with trigger input ■ to control execution.

Progress outgoing nodes

Multiple data outputs

Each output can contain a different result, such as selected columns, model scores, transformed data, or separate parts of the same calculation.

Multiple data output nodes

Variable inputs

With $ you can add flexible ingoing nodes as placeholders, which are filled with the ingoing values. They are useful for dynamic blocks with changing contents.

Use variables in nodes

Using the Log and Code panels

The panels on the right help you understand your program while it runs.

Log panel

Shows values, messages, errors, and output from Log blocks. Use Log blocks whenever you want to inspect intermediate results or troubleshoot workflows.

Log Panel

Code panel

Shows generated or related execution information where available. This helps you understand what the visual graph is doing internally.

Code Panel

Saving and opening workflows

Use the file controls in the top bar to create, save, save as, and open workflows. A workflow stores the blocks, positions, connections, and block settings. If your graph uses external services, such as Moodle or OpenAI, make sure the required keys are configured before running it. Create a free account to store all your workflows.

Save and open workspace

Good habits for building workflows

Start small

Build two or three blocks first, run them, and only then add more steps.

Use Log blocks often

Log blocks help you see what data looks like at each point in the workflow.

Check inputs

If a block does not run, verify that all required connected inputs receive data.

Troubleshooting

A block does not run

Check whether all connected inputs are available. If the block has a trigger input, it may be waiting for that trigger.

The result is empty

Add a Log block directly after the previous block to see whether data is already missing earlier in the graph.

An external service fails

Check the URL, API key, selected method, permissions, and whether the external service is reachable.