The Keboola SQL Editor allows users without specialized tools to directly interact with their Snowflake data warehouse within Keboola Connection. It offers a smooth, fully integrated experience, replacing previous solutions like Snowsight. The editor is tightly connected with Keboola Storage, so you can easily access and use your buckets, tables, shared codes and variables in one place.
Currently, the SQL Editor supports Snowflake workspaces.
Public Beta Warning:
This feature is currently in public beta. Please provide feedback using the feedback button in your project.
The SQL Editor is accessed via a dedicated Snowflake Workspace. To get started, you must first create this workspace.
In the configuration dialog, provide a Name for your workspace (e.g., “Demo”). You can optionally add a description and select the Backend Size.

The workspace will be scheduled and created. Once active, you can access the SQL Editor.

The SQL Editor interface is divided into key sections that make it easy to explore data, write queries, and create transformations directly within Keboola.
The left pane, known as the Table Explorer, is divided into two sections:
account, user).
The main central area is where you write and execute your SQL code.
The SQL Editor provides various functionalities to streamline data exploration.
To quickly inspect the contents of a table in the Storage Explorer:
account).
This executes a SELECT * FROM table_name LIMIT 100 query, showing the first rows and metadata in the results pane below.

Instead of manually typing full table names, you can insert the fully qualified name directly into the editor:

The editor automatically populates the code block with the table’s fully qualified Snowflake identifier.
SELECT * FROM "SAPI_10495"."in.c-keboola-ex-http-01k749e8rrzzs9s7f9p7gbrg"."account";
You can run a query either by clicking the green run icon next to the code block or using the keyboard shortcut Ctrl + Enter.

You can add multiple code blocks using the + New Query button below the existing block, or + New Code Block below the main editor section.

After executing a query, you can access detailed information about the execution in the results pane by clicking QUERY DETAILS.

After executing a query, you can view detailed information about previously run queries in the results pane by clicking QUERY HISTORY.
The SQL Editor supports creating persistent tables that are saved back into Keboola Storage.
To create a persistent table, you must convert your SELECT statements into CREATE TABLE AS SELECT statements, specifying a temporary output table name. These tables are automatically created in the workspace schema upon successful execution.
CREATE TABLE "out" AS SELECT ...
If successful, the new tables (e.g., out and out2) will appear in the Working Tables section.

Once temporary working tables are created, you must map them to a destination in Keboola Storage if you want to create a transformation that saves data permanently.
out).
Once mapped, the table icon in the Working Tables section changes to OM (Output Mapping), confirming it is ready to be saved as a transformation.

To persist the SQL logic and output mapping into a formal Keboola Transformation:

This action saves the SQL code and the output mapping configuration, creating a new Transformation component in your project.
This section describes advanced concepts available in the SQL Editor.
While the SQL Editor automatically provides read-only access to all tables within the project’s Storage (visible in the Storage Explorer below the Working Tables section), Input Mapping (IM) is necessary when you need to apply filters, specify specific columns, or set time-based filters before the data is loaded into the workspace database.
Input Mapping is also commonly used when migrating older transformations that rely on input mapping configuration.
To set up Input Mapping for a table:
account table under basic-customer).

Here you can define:
account).
When a table is configured with Input Mapping, it is not immediately loaded into the workspace. The configuration merely tells the transformation what to load when it runs.
To query and work with the filtered/mapped data interactively in the editor, you must manually load it:
account).
If a table is configured for Input Mapping but not yet loaded, hovering over the table icon will show a warning indicating limited functionality.

Shared Code allows you to reuse predefined SQL queries across multiple transformations or query blocks. This promotes consistency and simplifies maintenance.
To import shared code into a transformation block:

Aggregate).
You have two options for using shared code:
When linking shared code:
If you need to make modifications to the code for a specific transformation, you must use the Use Inline option.
Variables allow you to parametrize transformations. More information can be found here. Variables can be created, edited, used or removed inside of SQL Editor.
Variables behave consistently across both Workspaces and Transformations:
In a Workspace, you can create variables and use them in your SQL queries. When you save the Workspace (which also saves its queries), you can then copy it to a new or existing Transformation. This action transfers the queries, input/output mapping, and all associated variables.
In a Transformation, you can also create variables and reference them in your transformation queries. You can then copy the Transformation to a Workspace, which brings over its queries, mappings, and variables.
Variables are not shared automatically between Workspaces and Transformations. If you create a variable in either a Workspace or a Transformation and do not copy the configuration to the other environment, that variable will remain local to where it was created—meaning it won’t be visible or usable elsewhere.
How Workspaces work now while using SQL Editor, there are two important components:
This stores configuration - such as:
This is the state of the database schema where tables are created while working in the workspace. Every user has his own.
Previous Behavior (before SQL Editor): One workspace sandbox had one shared physical workspace for all users. Multiple users worked in the same database schema, meaning:
Current Behavior (SQL Editor Workspaces): Each user now gets their own physical workspace (database schema) even though the sandbox configuration is shared. This makes collaboration safer because:
| Scenario | What Happens | Impact |
|---|---|---|
| Two users open the same shared workspace sandbox | They see the same configuration (Input/Output mapping, saved SQL queries) | ✅ Collaboration on queries and configuration |
| User creates a table by running a query (not output-mapped) | Table is created only in that user’s personal database schema | ❌ Other users cannot see or access it |
| User saves a SQL query | Query is saved to the shared workspace sandbox configuration | ✅ Other users can see and run it |
| Two users save queries at the same time | A conflict warning appears (configuration changed by another user) | ⚠️ One user may need to reload/resolve changes |
| User unloads table from SQL Editor to Storage | Table becomes a standard KBC Storage table | ✅ Visible to others via Storage, outside the workspace |
| Sharing workspace sandbox is enabled | Users can open each other’s workspace sandbox configuration | ✅ Shared queries & mappings, ❌ not shared database state |
Benefits of the New Setup
Limitations to Be Aware Of
You can manually download the history of recently executed queries from Snowsight. The downloaded file will be in .sql format and can be copied directly into the SQL Editor.
