Stimulsoft is a platform for data visualization, report creation, and interactive dashboards. One of the key features of the products is the ability to add custom logic for data processing, visualization control, and user interaction.
Historically, additional logic was implemented using scripting programming languages. Depending on the Stimulsoft product, these could be C#, VB.NET, or JavaScript. Support for a specific language depends on the runtime environment: for example, reports containing logic written in C# will not work in Node.js products, which significantly complicates the migration of such solutions across platforms.
To improve versatility, integration with Google Blockly a visual no-code programming platform was introduced. This solution allows scripts to be created as blocks, without the need to write code manually. Although Blockly functionality has been present in Stimulsoft products for quite some time, the growing popularity of such solutions makes it relevant to take a closer look at the capabilities of no-code programming in reports and dashboards.
Thus, at present, scripts in Stimulsoft are used in the following cases:
In all these scenarios, there are two possible implementation approaches:
Starting from version 2025.3.1, in the «Interpretation» report calculation mode, support for executing scripts in a programming language has been added. In addition, scripts can now be used inside expressions by using the return operator. However, creating scripts via Blockly directly within expressions is not supported at this time.
Key advantages:
Switching from code mode to Blockly mode and back is done using the Switch to Blockly and Switch to Code controls, respectively.
When creating scripts in custom functions, you need to open the function editor, go to the Blockly script tab, and click Edit with Blockly.
The editor provides the following components:
Blocks are added to the workspace simply by drag-and-drop them.

When creating a script in custom functions, one additional category is available:
Now the report component Text1 will display the value Hello, World!.

Using Blockly in Stimulsoft scripts significantly expands the possibilities for customizing report and dashboard logic without the need to write code manually. It increases the versatility and security of solutions by providing cross-platform compatibility. The introduction of a visual script editor simplifies work for both engineers and business users, lowering the entry barrier to creating interactive reports. Thus, adopting a no-code approach becomes an important tool for improving development efficiency and flexibility in Stimulsoft.
Historically, additional logic was implemented using scripting programming languages. Depending on the Stimulsoft product, these could be C#, VB.NET, or JavaScript. Support for a specific language depends on the runtime environment: for example, reports containing logic written in C# will not work in Node.js products, which significantly complicates the migration of such solutions across platforms.
To improve versatility, integration with Google Blockly a visual no-code programming platform was introduced. This solution allows scripts to be created as blocks, without the need to write code manually. Although Blockly functionality has been present in Stimulsoft products for quite some time, the growing popularity of such solutions makes it relevant to take a closer look at the capabilities of no-code programming in reports and dashboards.
Using scripts
In earlier versions of Stimulsoft products, scripts were used exclusively in the events of report page components and the report template itself. Later, a Button element was introduced in dashboards, allowing actions to be triggered by a user event, and more recently, the ability to create custom functions and use them in a template was added.Thus, at present, scripts in Stimulsoft are used in the following cases:
- Handling events of components and templates;
- Logic linked to the Button element in a dashboard;
- Using custom functions.
In all these scenarios, there are two possible implementation approaches:
- Writing scripts in a supported programming language;
- Creating a script using Blockly, a visual no-code logic builder.
Starting from version 2025.3.1, in the «Interpretation» report calculation mode, support for executing scripts in a programming language has been added. In addition, scripts can now be used inside expressions by using the return operator. However, creating scripts via Blockly directly within expressions is not supported at this time.
What is Blockly and why is it used in Stimulsoft
Blockly is a Google library that allows you to create scripts by visually connecting logical blocks. Each block represents a construct such as a condition, loop, operation, variable, and so on. In the context of the Stimulsoft Reports and Stimulsoft Dashboards product lines, using Blockly provides access to programming logic in a no-code format meaning there is no need to write code manually.Key advantages:
- Versatility: scripts created with Blockly work across all Stimulsoft products, regardless of the platform;
- Security: Blockly provides a limited, controlled set of logic. Certain capabilities are deliberately restricted to reduce the risk of executing unsafe or critical code;
- Accessibility: scripts can be created without knowledge of programming languages, making the tool convenient for analysts and business users. However, a basic understanding of algorithms and logic is recommended.
Opening the Blockly editor
Depending on the method used to create scripts in a report, the editor will open in one mode or another. One mode is used for writing scripts in programming languages, and another for working with Blockly. The choice of editor mode for events and the Button dashboard element depends on the Default Script Mode parameter in the Options window of the report designer. This parameter determines which editor will be used by default and can have one of the following values:- Code - the editor for writing code manually is used.
Exception: If the template has the Interpretation calculation mode set and the Allow Scripts to Run property is set to False, the editor will not be activated; - Blocks - the Blockly editor is always launched, regardless of other parameters;
- Auto - the default value. The code editor is launched by default, except in the following cases:
- The template is set to Interpretation mode, and Allow Scripts to Run is set to False;
- The template already contains at least one script created with Blockly, in this case, the Blockly editor will open automatically.
Switching from code mode to Blockly mode and back is done using the Switch to Blockly and Switch to Code controls, respectively.
When creating scripts in custom functions, you need to open the function editor, go to the Blockly script tab, and click Edit with Blockly.
Blockly script editor
Let’s take a quick look at the Blockly script editor.The editor provides the following components:
- Blocks grouped by categories (logic, loops, variables, etc.);
- Workspace where the script is built;
- Save and Open buttons, allowing you to save the current script to a file or load it from a file useful for reusing scripts in different reports;
- Zoom buttons to adjust the workspace scale;
- Trash bin, where you can drag unwanted blocks. Block recovery from the trash is supported;
- Switch to Code button, which changes the editor to manual script-writing mode;
- OK and Cancel buttons, which apply or discard changes to the script.
Blocks are added to the workspace simply by drag-and-drop them.

Description of block categories
As mentioned earlier, all blocks are divided into categories. Blocks from different categories can be combined within a single script. Below is a brief overview of each category:- Objects - this category contains blocks for working with report objects. For example, selecting a component, reading (set) and writing (get) its properties;
- Visuals - this category contains blocks for working with visual design. For example, selecting a color or adjusting border rounding;
- Data - this category contains blocks for working with report data. For example, retrieving data from a column or data source by name;
- Variables - this category contains blocks for working with report variables. For example, reading (set) and writing (get) a report variable;
- Process - this category contains blocks for process control. For example, opening a hyperlink, resetting all filters, refreshing the viewer;
- Functions - this category contains blocks for working with built-in functions. All functions are grouped into categories the same way as in the Dictionary, and each function is represented by a separate block;
- Logic - this category contains blocks for creating conditional branches. For example, condition and comparison blocks;
- Loops - this category contains blocks for creating loops in scripts. For example, equivalents of for and while loops;
- Math - this category contains blocks for mathematical operations. For example, addition, square root extraction;
- Text - this category contains blocks for working with string literals. For example, getting the length of a string, searching for a substring;
- Lists - this category contains blocks for working with list data. For example, creating a list, sorting it;
- Local Variables - this category contains blocks for working with local variables. The scope of these variables is limited to the current script only. Unlike report variables, they are unavailable in other parts of the report.
When creating a script in custom functions, one additional category is available:
- User function – this category contains a block for the
return
operator. When creating a script for a custom function, usingreturn
is mandatory. Without it, the function’s script will not work.
First Blockly script
Let’s create our first Blockly script step by step:- Launch the report designer;
- Create a blank report;
- Add a Text component to the report;
- Select the report template area (the gray area between the page and the properties panel) or, on the Report tab, click Properties;
- In the properties panel, go to the report’s events;
- Click the Browse button for the Rendering event;
- If the editor opened in Code mode, switch the editor to Blockly mode;
- From the Objects category, add the Set Property, of, to block to the workspace;
- From Objects, add the block with the components list and attach it to the of section of the Set Property, of, to block.
- In the components list block, choose the text component. For example, Text1;
- In the Set Property section enter Text;
- From the Text category add a text-input block and attach it to the ‘to’ section of the Set Property, of, to block;
- Specify a string value in the ‘to’ section, for example: "Hello, World!";
- Click OK in the script editor;
- Switch to the Preview tab to render the report.
Now the report component Text1 will display the value Hello, World!.

Using Blockly in Stimulsoft scripts significantly expands the possibilities for customizing report and dashboard logic without the need to write code manually. It increases the versatility and security of solutions by providing cross-platform compatibility. The introduction of a visual script editor simplifies work for both engineers and business users, lowering the entry barrier to creating interactive reports. Thus, adopting a no-code approach becomes an important tool for improving development efficiency and flexibility in Stimulsoft.
You can learn more by watching our tutorial videos on our YouTube channel.