Core Nodes
2. Core Nodes
Core nodes are the building blocks of SkyStudio workflows. They are used to take input, return output, branch the flow, send requests to external services and trigger the flow. Most of these nodes require no credential connection — they run directly inside the workflow.
They are listed under the Nodes tab in the node catalog.
Common Panel Structure
The right panel of every core node follows the same layout:
| Section | Description |
|---|---|
| Node Name | The name shown on the canvas. Use meaningful names in complex workflows |
| Parameters | The settings specific to the node |
| Node Connections | The list of incoming connections and the "Route to next node" selector |
| Node ID | The node's system identifier (e.g. düğüm-1786462069276) |
Note: You can connect nodes by dragging on the canvas, or select the target node from the Route to next node dropdown at the bottom of the panel.
Passing Data into Parameter Fields
Wherever you see the "add a parameter with /" hint to the right of a parameter field, you can click the field and press / to select the output of a previous node.
References are written in the following form:
{{düğüm-id.output.field}}
{{output.field}}
Inputs
Text Input
The node that starts the workflow and takes text from the user. It is the first step of most workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Text Input | No | Default/test text. It is replaced by the text the user enters when the workflow runs |
Example Use
Added as the first step in a meeting note summarization workflow. The user pastes text into this node when running the workflow.
Example Output
{
"text": "Toplantıda Q3 bütçesi görüşüldü. Pazarlama bütçesi %15 artırıldı."
}
Note: The text you enter in the panel is for testing only. Once the workflow is published and run, the value entered by the user is used.
File Input
Starts the workflow by taking a file from the user. It is the first step of workflows that process files such as PDFs, Excel files or images.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Accepted Formats | No | The permitted file extensions |
| Maximum Size | No | The largest permitted file size |
Example Use
File Input → Read Excel → Data Analysis → Text Output
Example Output
{
"file_name": "satislar-agustos.xlsx",
"file_size": 48213,
"mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"content": "<base64-icerik>"
}
Note: To read the file contents, connect this node's output to a processing node such as Read Excel, File to Table or Data Analysis.
Outputs
Text Output
Returns the result of the workflow to the user. You choose which part of the workflow data is displayed.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Output Text | Yes | The text to display. You can type a fixed value or select a previous node's output with / |
Example Use
To display only the summary produced by the LLM:
- Output Text: Click the field, press
/and select the LLM node's output
To combine it with fixed text:
Analysis complete. Result: {{output.answer}}
Note: You can use more than one Text Output in a workflow. In workflows that branch with If-Else, placing a separate output node at the end of each branch is a common approach.
Triggers
Webhook
Starts the workflow automatically through an HTTP call from an external system. It is the starting point for automations that run without user involvement.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Webhook URL | Automatic | Generated by SkyStudio; you provide this address to the external system |
| HTTP Method | No | The method to accept (usually POST) |
| Secret / Token | No | A secret key used to verify incoming requests |
How to Use It
- Add the Webhook node to the workflow and take it live with Publish.
- Copy the Webhook URL shown in the node panel.
- Provide this address to the system that will trigger it (a Jira automation, a form service, your own application).
- When that system sends a request to the address, the workflow runs automatically.
Accessing the Incoming Data
You reach the JSON body sent to the webhook from later nodes with /:
{{webhook.body.customer_name}}
{{webhook.body.order_id}}
Note: The webhook URL only works after the workflow is published. Workflows in draft state cannot be triggered externally.
Logic
If-Else Condition
Splits the workflow into two paths based on a condition. If the condition is met the flow continues from the green (True) output, otherwise from the red (False) output.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Conditions | Yes | The value to compare. Select a previous node's output with / |
| Operator | Yes | The type of comparison |
| Value | Conditional | The fixed value to compare against |
Available Operators
| Operator | Description |
|---|---|
| Equals | Whether the two values are exactly the same |
| Not Equal | Whether the two values differ |
| Contains | Whether the text contains the given expression |
| Does Not Contain | Whether the text does not contain the given expression |
| Greater Than | Whether it is numerically greater |
| Less Than | Whether it is numerically smaller |
| Greater Than or Equal | Whether it is greater than or equal |
| Less Than or Equal | Whether it is less than or equal |
| Is Empty | Whether the value is empty |
| Is Not Empty | Whether the value is filled in |
| Starts With | Whether the text starts with the given expression |
Output Ports
| Port | Color | When it runs |
|---|---|---|
| True Branch | Green (T) | When the condition is met |
| False Branch | Red (F) | When the condition is not met |
By connecting separate nodes to both ports you can run different operations on each path.
Multiple Conditions
You can define additional conditions with the + Add Condition button. All conditions are evaluated together.
Example Use
To notify a manager only about urgent support requests:
- Conditions: Select the Freshdesk node's
priorityoutput with/ - Operator: Equals
- Value:
4
Connect a Slack message to the True branch and a regular record node to the False branch.
Note: Long text or
{{...}}expressions wrap onto several lines in the Value field. You can increase the field height from its bottom right corner.
Actions
HTTP Call
Sends an HTTP request to any API and passes the response into the workflow. It is the fastest way to make a one-off request to a service that has no dedicated node in SkyStudio.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| URL | Yes | The address the request is sent to. You can use variables with {{...}} |
| HTTP Method | Yes | GET, POST, PUT, PATCH, DELETE |
| Headers | No | The request headers (in JSON format) |
| Body | Conditional | The request body. You can insert a previous node's output with / |
Using Variables in the URL
You can use values coming from previous nodes inside the URL:
https://api.example.com/users/{{userID}}/data?workspace={{workspaceID}}
Headers Example
{
"Content-Type": "application/json",
"Authorization": "Bearer {{token}}"
}
Body Example
{
"user_id": "{{userID}}",
"workspace": "{{workspaceName}}",
"name": "{{output.name}}"
}
Choosing a Method
| Method | When to use it |
|---|---|
| GET | To read data (no body required) |
| POST | To create a new record |
| PUT | To replace an entire record |
| PATCH | To update part of a record |
| DELETE | To delete a record |
Note: As a system safeguard, responses are limited to 500 KB. For APIs that return larger responses, split the data using the API's pagination parameters.
HTTP Call or REST API (Generic)?
| Situation | Which one |
|---|---|
| A one-off simple request | HTTP Call |
| Many calls to the same service within a workflow | REST API (Generic) |
| You do not want to enter credentials over and over | REST API (Generic) |
| You want to query in natural language | REST API (Generic) |
Site Mapper
Extracts content from a website and returns it as structured data. Used in competitor tracking, price monitoring and content collection scenarios.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| URL | Yes | The address of the web page to crawl |
| Depth | No | How many levels of sub-pages to follow |
| Maximum Pages | No | The maximum number of pages to crawl |
| Selector | No | A CSS selector to capture only a specific area |
Example Use
To monitor a competitor's pricing page:
- URL:
https://rakip.com/fiyatlar - Depth:
1 - Maximum Pages:
10
Note: Only publicly accessible pages can be crawled. For pages that require a login, you must first sign in with an HTTP Call.
Data Analysis
Analyzes data by running code in the background. Performs statistical calculations, grouping and summarization.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Data | Yes | The data to analyze (selected from a previous node with /) |
| Analysis Instruction | Yes | The type of analysis to perform |
Example Use
File Input → Read Excel → Data Analysis → Text Output
Analysis Instruction: Calculate total sales by product group and list the five best-selling products
Note: For more advanced analysis, forecasting and machine learning, use the Python node.
Tools
Note
Adds an explanatory note to the canvas. It does not run anything in the workflow; it is purely a visual annotation.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Note Text | Yes | The annotation shown on the canvas |
What It Is Used For
- Explaining what the workflow does
- Describing what a group of nodes does
- Leaving a warning or reminder for your teammates
- Marking sections you have temporarily disabled
Note: You can also add the Note node quickly by clicking the page icon in the bottom toolbar.
Common Errors
| Error | Possible Cause | Resolution |
|---|---|---|
| The / menu is empty | The node is not connected to a previous step | Check that the connection line is drawn on the canvas |
| The webhook is not triggered | The workflow is not published | Open the workflow and click the "Publish" button |
| If-Else always returns False | The comparison types do not match | Do not put quotes in the Value field for numeric comparisons |
| Response too large | The response exceeded the 500 KB limit | Use the API's pagination parameters |
| Invalid JSON in Headers | The header format is invalid | Check that the Headers field contains valid JSON |
| HTTP 401 / 403 | The authorization header is missing | Add the Authorization header to the Headers field |
| Site Mapper returns nothing | The page is loaded with JavaScript | Confirm that the content is present in the page's source HTML |
| Text Output is empty | The Output Text field was left empty | Insert a previous node's output into the field with / |
Notes
- Most core nodes require no credential connection; they run directly inside the workflow.
- The Node ID is shown at the bottom of every node's panel; it is useful when debugging and when writing a
{{düğüm-id.output.field}}reference. - The text in the Text Input panel is for testing; the published workflow uses the value entered by the user.
- The Webhook node can only be triggered externally after the workflow is published.
- The If-Else node has two outputs; remember to connect a node to both, otherwise one branch ends without a result.
- HTTP Call responses are limited to 500 KB; use pagination on large data sets.
- The Note node does not affect how the workflow runs; use it for documentation in complex workflows.
- Naming nodes meaningfully makes it easier to find the right output in the
/menu. Core nodes are the building blocks of SkyStudio workflows. They are used to take input, return output, branch the flow, send requests to external services and trigger the flow. Most of these nodes require no credential connection — they run directly inside the workflow.
They are listed under the Nodes tab in the node catalog.
Common Panel Structure
The right panel of every core node follows the same layout:
| Section | Description |
|---|---|
| Node Name | The name shown on the canvas. Use meaningful names in complex workflows |
| Parameters | The settings specific to the node |
| Node Connections | The list of incoming connections and the "Route to next node" selector |
| Node ID | The node's system identifier (e.g. düğüm-1786462069276) |
Note: You can connect nodes by dragging on the canvas, or select the target node from the Route to next node dropdown at the bottom of the panel.
Passing Data into Parameter Fields
Wherever you see the "add a parameter with /" hint to the right of a parameter field, you can click the field and press / to select the output of a previous node.
References are written in the following form:
{{düğüm-id.output.field}}
{{output.field}}
Inputs
Text Input
The node that starts the workflow and takes text from the user. It is the first step of most workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Text Input | No | Default/test text. It is replaced by the text the user enters when the workflow runs |
Example Use
Added as the first step in a meeting note summarization workflow. The user pastes text into this node when running the workflow.
Example Output
{
"text": "Toplantıda Q3 bütçesi görüşüldü. Pazarlama bütçesi %15 artırıldı."
}
Note: The text you enter in the panel is for testing only. Once the workflow is published and run, the value entered by the user is used.
File Input
Starts the workflow by taking a file from the user. It is the first step of workflows that process files such as PDFs, Excel files or images.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Accepted Formats | No | The permitted file extensions |
| Maximum Size | No | The largest permitted file size |
Example Use
File Input → Read Excel → Data Analysis → Text Output
Example Output
{
"file_name": "satislar-agustos.xlsx",
"file_size": 48213,
"mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"content": "<base64-icerik>"
}
Note: To read the file contents, connect this node's output to a processing node such as Read Excel, File to Table or Data Analysis.
Outputs
Text Output
Returns the result of the workflow to the user. You choose which part of the workflow data is displayed.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Output Text | Yes | The text to display. You can type a fixed value or select a previous node's output with / |
Example Use
To display only the summary produced by the LLM:
- Output Text: Click the field, press
/and select the LLM node's output
To combine it with fixed text:
Analysis complete. Result: {{output.answer}}
Note: You can use more than one Text Output in a workflow. In workflows that branch with If-Else, placing a separate output node at the end of each branch is a common approach.
Triggers
Webhook
Starts the workflow automatically through an HTTP call from an external system. It is the starting point for automations that run without user involvement.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Webhook URL | Automatic | Generated by SkyStudio; you provide this address to the external system |
| HTTP Method | No | The method to accept (usually POST) |
| Secret / Token | No | A secret key used to verify incoming requests |
How to Use It
- Add the Webhook node to the workflow and take it live with Publish.
- Copy the Webhook URL shown in the node panel.
- Provide this address to the system that will trigger it (a Jira automation, a form service, your own application).
- When that system sends a request to the address, the workflow runs automatically.
Accessing the Incoming Data
You reach the JSON body sent to the webhook from later nodes with /:
{{webhook.body.customer_name}}
{{webhook.body.order_id}}
Note: The webhook URL only works after the workflow is published. Workflows in draft state cannot be triggered externally.
Logic
If-Else Condition
Splits the workflow into two paths based on a condition. If the condition is met the flow continues from the green (True) output, otherwise from the red (False) output.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Conditions | Yes | The value to compare. Select a previous node's output with / |
| Operator | Yes | The type of comparison |
| Value | Conditional | The fixed value to compare against |
Available Operators
| Operator | Description |
|---|---|
| Equals | Whether the two values are exactly the same |
| Not Equal | Whether the two values differ |
| Contains | Whether the text contains the given expression |
| Does Not Contain | Whether the text does not contain the given expression |
| Greater Than | Whether it is numerically greater |
| Less Than | Whether it is numerically smaller |
| Greater Than or Equal | Whether it is greater than or equal |
| Less Than or Equal | Whether it is less than or equal |
| Is Empty | Whether the value is empty |
| Is Not Empty | Whether the value is filled in |
| Starts With | Whether the text starts with the given expression |
Output Ports
| Port | Color | When it runs |
|---|---|---|
| True Branch | Green (T) | When the condition is met |
| False Branch | Red (F) | When the condition is not met |
By connecting separate nodes to both ports you can run different operations on each path.
Multiple Conditions
You can define additional conditions with the + Add Condition button. All conditions are evaluated together.
Example Use
To notify a manager only about urgent support requests:
- Conditions: Select the Freshdesk node's
priorityoutput with/ - Operator: Equals
- Value:
4
Connect a Slack message to the True branch and a regular record node to the False branch.
Note: Long text or
{{...}}expressions wrap onto several lines in the Value field. You can increase the field height from its bottom right corner.
Actions
HTTP Call
Sends an HTTP request to any API and passes the response into the workflow. It is the fastest way to make a one-off request to a service that has no dedicated node in SkyStudio.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| URL | Yes | The address the request is sent to. You can use variables with {{...}} |
| HTTP Method | Yes | GET, POST, PUT, PATCH, DELETE |
| Headers | No | The request headers (in JSON format) |
| Body | Conditional | The request body. You can insert a previous node's output with / |
Using Variables in the URL
You can use values coming from previous nodes inside the URL:
https://api.example.com/users/{{userID}}/data?workspace={{workspaceID}}
Headers Example
{
"Content-Type": "application/json",
"Authorization": "Bearer {{token}}"
}
Body Example
{
"user_id": "{{userID}}",
"workspace": "{{workspaceName}}",
"name": "{{output.name}}"
}
Choosing a Method
| Method | When to use it |
|---|---|
| GET | To read data (no body required) |
| POST | To create a new record |
| PUT | To replace an entire record |
| PATCH | To update part of a record |
| DELETE | To delete a record |
Note: As a system safeguard, responses are limited to 500 KB. For APIs that return larger responses, split the data using the API's pagination parameters.
HTTP Call or REST API (Generic)?
| Situation | Which one |
|---|---|
| A one-off simple request | HTTP Call |
| Many calls to the same service within a workflow | REST API (Generic) |
| You do not want to enter credentials over and over | REST API (Generic) |
| You want to query in natural language | REST API (Generic) |
Site Mapper
Extracts content from a website and returns it as structured data. Used in competitor tracking, price monitoring and content collection scenarios.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| URL | Yes | The address of the web page to crawl |
| Depth | No | How many levels of sub-pages to follow |
| Maximum Pages | No | The maximum number of pages to crawl |
| Selector | No | A CSS selector to capture only a specific area |
Example Use
To monitor a competitor's pricing page:
- URL:
https://rakip.com/fiyatlar - Depth:
1 - Maximum Pages:
10
Note: Only publicly accessible pages can be crawled. For pages that require a login, you must first sign in with an HTTP Call.
Data Analysis
Analyzes data by running code in the background. Performs statistical calculations, grouping and summarization.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Data | Yes | The data to analyze (selected from a previous node with /) |
| Analysis Instruction | Yes | The type of analysis to perform |
Example Use
File Input → Read Excel → Data Analysis → Text Output
Analysis Instruction: Calculate total sales by product group and list the five best-selling products
Note: For more advanced analysis, forecasting and machine learning, use the Python node.
Tools
Note
Adds an explanatory note to the canvas. It does not run anything in the workflow; it is purely a visual annotation.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Note Text | Yes | The annotation shown on the canvas |
What It Is Used For
- Explaining what the workflow does
- Describing what a group of nodes does
- Leaving a warning or reminder for your teammates
- Marking sections you have temporarily disabled
Note: You can also add the Note node quickly by clicking the page icon in the bottom toolbar.
Common Errors
| Error | Possible Cause | Resolution |
|---|---|---|
| The / menu is empty | The node is not connected to a previous step | Check that the connection line is drawn on the canvas |
| The webhook is not triggered | The workflow is not published | Open the workflow and click the "Publish" button |
| If-Else always returns False | The comparison types do not match | Do not put quotes in the Value field for numeric comparisons |
| Response too large | The response exceeded the 500 KB limit | Use the API's pagination parameters |
| Invalid JSON in Headers | The header format is invalid | Check that the Headers field contains valid JSON |
| HTTP 401 / 403 | The authorization header is missing | Add the Authorization header to the Headers field |
| Site Mapper returns nothing | The page is loaded with JavaScript | Confirm that the content is present in the page's source HTML |
| Text Output is empty | The Output Text field was left empty | Insert a previous node's output into the field with / |
Notes
- Most core nodes require no credential connection; they run directly inside the workflow.
- The Node ID is shown at the bottom of every node's panel; it is useful when debugging and when writing a
{{düğüm-id.output.field}}reference. - The text in the Text Input panel is for testing; the published workflow uses the value entered by the user.
- The Webhook node can only be triggered externally after the workflow is published.
- The If-Else node has two outputs; remember to connect a node to both, otherwise one branch ends without a result.
- HTTP Call responses are limited to 500 KB; use pagination on large data sets.
- The Note node does not affect how the workflow runs; use it for documentation in complex workflows.
- Naming nodes meaningfully makes it easier to find the right output in the
/menu.
