6. SkyStudio Node Types
Nodes are the building blocks of your workflow. Each node performs a specific task, such as receiving data, calling an API, summarizing content with AI, saving data to a table, or creating a condition.
1. Inputs
Text Input
📌 What does it do?
Receives text from the user and starts the workflow.
📌 When is it used?
- "Enter the customer name"
- "Enter the support ticket number"
- "Provide a prompt"
- "Enter a filter value, such as 'Acme'"
📌 How is it used?
- Drag the node onto the canvas.
- Give the node a name from the right panel, such as "Company Name".
- Enter sample text in the test section.
- The output can be used in other nodes as
{{nodeId.output}}.
File Input
📌 What does it do?
Receives a file from the user, such as PDF, Excel, CSV, or JSON.
📌 When is it used?
- Processing data from Excel
- Summarizing a PDF
- Creating a table from CSV
- LLM flows that receive a file as input
📌 Tip:
You can process the file by connecting this node to File to Table or LLM nodes.
2. Outputs (Output Nodes)
🟨 Text Output
📌 What does it do?
Displays a readable result to the user at the end of the workflow.
📌 When is it used?
- Displaying a report
- Returning a summary
- Viewing the result while testing an API
📌 Example:
LLM → Output Text → Text Output
3. Triggers (Webhook)
📌 What does it do?
Allows you to trigger the workflow with external events. In other words, SkyStudio can be run not only by you, but also by other systems.
📌 When is it used?
- When a CRM sends a webhook
- When an event comes from an internal company system
- When an external application sends a trigger
📌 Tip:
You can create automatically running flows such as:
Webhook → HTTP Call → LLM → Result
4. Artificial Intelligence Nodes (LLM)
OpenAI API Call
Uses the selected OpenAI model, such as GPT-4o Mini, to generate text, create summaries, and perform classification.
How is it used?
- Add the OpenAI API Call node from the left panel.
- From the right panel:
- Select a model.
- Write a prompt in the query field.
- Example: "Group this customer feedback by sentiment (positive/negative/neutral) and generate a short summary."
- You can reference the output of the previous node inside
{{}}, for example{{node.output.data.result}}.
- System Prompt
- This is the field where you define the model’s role.
- Example: You are an experienced data analyst. Provide your answers in JSON format.
- You can test only this node by clicking the Test button.
📌 When selecting a model:
- GPT-5.4 Mini: Speed, low cost, simple tasks
- GPT-5.5: Higher accuracy, complex outputs
- GPT-5.2: Balanced performance, professional content generation, and technical tasks
- GPT-5.4: Advanced reasoning, long context, detailed analysis, and premium outputs
Anthropic API Call Node
Allows you to send requests to Anthropic’s Claude models, such as Claude 4.5 Sonnet, Claude 4.5 Opus, Claude 4.7 Opus, Claude 4.6 Sonnet, and others, to perform text processing, summarization, analysis, classification, and content generation.
This node works with the same logic as the OpenAI API Call node; only the model provider is different.
🛠 Node Interface and Settings
1. Model Selection
You can select different Claude models from the dropdown menu in the right panel:
- Claude 3.5 Sonnet (mid-level, fast)
- Claude 3.7 Sonnet (current + advanced)
- Claude 4 Opus (high capacity)
- Claude 4 Sonnet (balanced price/performance)
- Claude 4.5 Opus (advanced reasoning + stability)
- Claude 4.5 Sonnet (improved price/performance, smarter reasoning)
💡 Tip: The model list is always up to date. When SkyStudio supports new Claude models, they are automatically added here.
2. Prompt / Query Section
This is where you write what you want Claude to do.
Example:
Analyze {{output.data.answer}}
This means: "Send the data from the previous node, such as an HTTP API response or LLM output, to Claude and analyze it."
Prompt Examples
Scenario 1 – Summarizing a support ticket
Summarize this customer feedback data:
{{node-id.output.data}}
- Complaint content
- Main themes
- Sentiment (positive/neutral/negative)
- Recommended actions
Scenario 2 – Text classification
Review the text and assign it to one of the following categories:
- Positive - Negative - Risky - Urgent
Text:
{{node-id.output.text}}
▶ Testing
You can run only this node by clicking the Test button under the node. This allows you to see:
- Whether the model call works
- Whether the prompt is processed correctly
- The output format
- The JSON response
🔁 Connection Structure (Recommended Usage)
Most common usage:
Text Input → Anthropic API Call → Text Output
Text Input → HubSpot API → Claude 4 Sonnet → Summary / Analysis
SkyStudio API Call Node
📌 What does this node do?
This node allows you to communicate from within the workflow with custom assistants created by you or your team on the SkyStudio platform.
In other words, you no longer have to use only GPT or Claude. You can also integrate your own trained enterprise agents into the workflow.
🧠 When should I use it?
- ✔ If you have a custom assistant you created, such as an Appointment Assistant, PDF Summarization Assistant, or Data Analysis Bot
- ✔ If you want to run an assistant from a flow where the user enters parameters
- ✔ If you want to use the same agent both in the chat screen and inside Workflow
- ✔ If you need customized behavior, such as an assistant that accesses corporate information, documents, or APIs
Example use cases:
- Sending the Excel file selected by the user to the Data Analysis Assistant and generating a report
- Summarizing customer data from CRM with a corporate assistant
- Having a SkyBot scan products
- Automatically triggering the appointment assistant
🛠 Node Interface – Step-by-Step Usage
Select Assistant: After clicking the node, select an assistant from the list in the right panel.
📌 Important: This list is automatically populated based on the assistants in your SkyStudio account. If you create a new assistant, it appears here.
Query (Prompt): This is where you write what you want the assistant to do.
Example:
Analyze {{output.data.answer}}
This takes the data from the previous node and sends it to the selected assistant for analysis.
5. Actions
HTTP Call Node
What does this node do?
This node allows you to connect to any API from your SkyStudio Workflow. You can make REST calls, receive JSON, send data, and even transfer the API result to an LLM or table.
With SkyStudio, you can:
- ✔ Retrieve CRM data
- ✔ Make Jira / HubSpot / SAP / ServiceNow API calls
- ✔ First retrieve data from an API and then send it to an LLM
- ✔ Turn SkyStudio into a real integration platform for internal company systems
When should I use it?
Use this node when:
- ✔ You need to communicate with JSON and REST APIs
- ✔ You want to make parameterized API calls
- ✔ You want to send data from other nodes to an external API
- ✔ You are designing flows such as
API result → LLM → Output Text → Report
Node Interface – Detailed Usage
URL
Enter your API endpoint here:
https://api.example.com/data
📌 If you want to use dynamic parameters, you can add the variable like this:
https://api.example.com/data?param={{output.data}}➡ Press
/to get automatic suggestions when writing outputs from other nodes inside{{ ... }}.
HTTP Method
Supported methods:
GET(retrieve data)POST(send data)PUTPATCHDELETE
Example usage:
- ✔
GET→ Retrieve a list from Jira - ✔
POST→ Send form data to CRM - ✔
POST→ Send JSON with a body
Headers
Headers are written in JSON format.
Example:
{"Content-Type": "application/json", "Authorization": "Bearer {{node-api-key.output}}"}
- ✔ You can send a token
- ✔ You can use dynamic headers
- ✔ If you make a JSON syntax error, the node test displays the error
Body (for POST / PUT)
If you want to send data to the API, use JSON format.
Example:
{"name": "{{output.name}}", "email": "{{output.email}}"}
In this example:
- The
nameandemailfields come from the output of the previous node - This allows you to send information from user input to the API
▶ Testing
The Test button under the node runs only this node. You can view the test result as:
- ✔ JSON
- ✔ Error / status code
- ✔ Debug information
This is very useful for verifying the API connection without running the entire workflow.
🔁 Recommended Usage Flows
Simple:
Text Input → HTTP Call → OpenAI / Claude → Output
Text Input ("Acme") → HubSpot API → Claude Sonnet → Output
⚡ Tips
- Preserve JSON format to avoid mistakes in URL and Header fields
- Use
{{ }}for dynamic values. Autocomplete opens with/ - Leave the Body field empty for
GETcalls - If the response exceeds the 500 KB limit, system protection is activated, as shown in the warning on the screen
Site Extractor Node
(Retrieves content from a website, extracts it, and produces structured data)
📌 What does this node do?
This node allows you to enter a website address, or URL, and automatically retrieves the page content. It extracts text, headings, links, and visible data, then converts them into structured data that can be used inside the workflow.
Simply put:
"Provide a page link → SkyStudio retrieves its content and converts it into JSON format → You can send it to an LLM, convert it to a table, or create a report."
🧠 When is it used?
- ✔ When you want to collect data from a website
- ✔ When you want to analyze or summarize content
- ✔ When you want to process text or lists on a web page, such as blog posts, job listings, or product lists
- ✔ When you want to retrieve information from systems that have a web interface but no API access
🛠 How is it used? Step by step
Add the node: From the left menu, take the Actions > Site Extractor node and drop it onto the canvas.
Enter URL: Enter the address you want to scan in the Website URL field in the right panel.
Example:
https://skymod.tech/company-career/
💡 You must enter the full URL, including
httporhttps.
Test: Click the Test button under the node.
- ✔ If the connection is successful, the content is displayed as JSON
- ✔ If there is an error, such as 404, CORS, or robots.txt blocking, it is shown in the test panel
📦 Output Format
The Site Extractor output is in JSON format. Example structure:
{
"title": "Skymod - Career",
"text": "Join our team...",
"links": ["https://skymod.tech/apply"],
"sections": [
{
"heading": "Open Positions",
"content": "AI Engineer, Product Manager..."
}
]
}
You can directly:
- ✔ Send this output to an OpenAI / Claude API Call
- ✔ Split it into fields with the Output Text node
- ✔ Convert it to a table
- ✔ Process it with SkyStudio API Call, a custom assistant
🔁 Example Flows
Simple example:
Text Input (URL) → Site Extractor → Text Output
LLM flow that scans a website and summarizes it:
Site Extractor → JSON to Table → Table Data → GPT → Summary Report
⚡ Advanced Tips
- 🔹 Nudging: Some websites may have very large HTML. Split the output with Output Text before sending it to an LLM
- 🔹 Robots.txt blocked sites may not work. This is generally used as an option when there is no API
- 🔹 Dynamic sites loaded with JS work in a more limited way. In this case, the SkyBot Website Scanning assistant is more powerful
- 🔹 You can scan specific categories using URL parameters
6. Data Processing Nodes (Knowledge Category)
This section contains the core data nodes used to store, list, query, and use data in LLM flows inside SkyStudio.
File to Table Node
This node automatically converts an uploaded CSV or JSON file into a table inside SkyStudio.
In other words, if you have a data file such as Excel, CSV, or JSON, and you want to run SQL queries on it, filter it, transfer it to an LLM, or pass data to other nodes, you first use this node.
🔍 What does it do?
- ✔ Imports external data sources into SkyStudio
- ✔ Automatically converts CSV / JSON formats into tables
- ✔ Allows you to use the table inside the workflow
- ✔ Works together with nodes such as Query, Table Data, and LLM
💡 This node works independently. It has no connection output. In other words, you cannot connect it to other nodes, but you can use the table it creates in other nodes.
Step-by-Step Usage
Drag and Drop the Node: Left menu → 📂 Knowledge category → File to Table
Enter Table Name:
📌 Write only the table name. Do NOT use commas or similar characters.
Example:
users
orders
inventory_2025
❌ Incorrect example: users, products, orders...
The table name must be unique. If the same table already exists, it does not overwrite it and returns an error.
Upload Your File:
- 📎 Select a file or drag and drop it
- ✔ Supported formats: CSV & JSON
Example files:
users.csvproducts.jsonsales_2024.csv
⚠ Important Information
- 🚫 The node does not connect to other nodes
- 🔁 You cannot upload twice with the same table name
- 📥 If the data is JSON, it is automatically split into columns
- 🗄 All data is stored inside SkyStudio
Testing
After filling in the node, click the Test button:
- ✔ The file is read
- ✔ The table is created
- ✔ CSV / JSON format is validated
- ❗ If there is an error, you see it on the screen
How Do I Use This Table Later?
With one of the following nodes:
- 🔍 Query → Query it by writing SQL
- 📊 Table Data → Transfer the table to an LLM
- 🧠 OpenAI / Anthropic / Goat → Use the data as a prompt
- 📤 HTTP Call → Send it to an external service
JSON to Table Node
This node directly converts JSON-formatted data into a table in the SkyStudio database.
In other words, if you retrieved data from an API, received JSON output from an LLM, or collected data from an external source in JSON format, you can create a table in one step with this node.
What does it do?
- ✔ Converts JSON-formatted data into a table
- ✔ Supports a dynamic table structure
- ✔ Suitable for storing API results or data received through a webhook
- ✔ Provides a more flexible column structure than CSV
- ✔ Allows you to perform SQL and data analysis in subsequent nodes
⚠ Important Notes
- 🔸 It is an independent node and does not receive connections
- 🔸 JSON must always be valid
- 🔸 Performance may be affected with large JSON sets
- 🔸 Data is transferred directly into the SkyStudio database
🧭 Usage Steps
Drag the node into the workflow: Left menu → Knowledge → JSON to Table
Enter the table name:
Example:
users_table
tickets
logs_2025
- ❗ Table name CANNOT BE EMPTY
- ❗ You cannot upload again with the same table name
Enter the JSON structure: There are two fields inside the node:
📌 Columns JSON — Used to define the structure of the content
[
{
"name": "name",
"type": "String"
},
{
"name": "age",
"type": "Number"
},
{
"name": "active",
"type": "Boolean"
}
]
📌 Data JSON — The actual data to be written into the table
[
{
"name": "John",
"age": 25,
"active": true
},
{
"name": "Alice",
"age": 30,
"active": false
}
]
Click the Test button:
- ✔ JSON is validated
- ✔ The table is created
- ✔ If there is an error, it is displayed on the screen
| Usage | Example Scenario |
|---|---|
| JSON received from an API | Weather API → JSON to Table |
| LLM produced JSON output | AI report → JSON to Table |
| Web scraper result will be saved | Site Extractor → JSON → Table |
| External data scenarios | Zapier, Webhook, API Gateway |
List Tables
📌 What does it do?
This node lists all existing tables in SkyStudio. It is used to view the database structure, learn table names, or debug issues.
🔧 How is it used?
- Drag the node into the flow.
- Click the Test button.
- The list of tables appears on the screen.
🎯 When should you use it?
- To check which tables are loaded
- When you need to use it because you do not know the table names
- To debug the question "Why did the table not appear?"
🧠 Tip
The output of this node can be read by other nodes. For example, you can dynamically retrieve a table name and send it to another node.
Table Data Node
This node is used to retrieve data from a table previously created inside SkyStudio.
In other words, if you uploaded CSV / JSON, created a table through an API, or used the JSON to Table node, you use this node to bring the table content into the workflow.
🎯 What does it do?
- ✔ Returns the content of a table in the database in JSON format
- ✔ You can send the output to an LLM, use it in an API call, or display it in the UI
- ✔ Supports static or dynamic table names
- ✔ Can be used as data context in subsequent nodes
🧭 How is it used?
Add the node to the flow: Left menu → Knowledge → Table Data
Enter the table name: It can be used in two ways:
🔹 Static table name
users
products
bankadatabasee
🔹 Dynamic table name (recommended)
{{output.tableName}}
This allows the table name to be automatically retrieved from the previous node.
Click Test:
- ✔ The node reads the table
- ✔ It returns data in JSON format
- ✔ Total record count and content are displayed
🔍 When is it used?
| Scenario | Usage |
|---|---|
| Sending a table to an LLM | Table Data → OpenAI |
| Transferring data to an API | Table Data → HTTP Call |
| Running SQL or analysis | Table Data → Query |
| Dynamically processing multiple tables | Use with {{output.tableName}} |
🧩 Most Common Workflow
Upload CSV / JSON → Create Table → Table Data → Query / LLM / API
⚠ Things to Watch Out For
- ❗ If the table name is incorrect, the node returns empty
- ❗ Large tables may be heavy in JSON format
Query Node
🔍 Query Node — Runs SQL queries on a collection or table
📌 What does it do?
The Query node allows you to run SQL-like queries on tables inside SkyStudio.
This allows you to:
- Filter data
- Group and sort data
- Build reporting and analytics scenarios
In short:
"The SQL engine you use for reporting, analytics, and data preparation on tables."
🧠 When should I use it?
- ✔ When you want to retrieve only specific rows from a table
- ✔ When you want to filter, sort, or aggregate data
- ✔ When you want to reduce raw data before sending it to an LLM
- ✔ When you want to produce a ready dataset for reports and dashboards
Example scenarios:
- List only users in the "TR" country
- Retrieve transactions from the last 30 days
- Calculate the total amount of transactions of type "SALARY"
- Find the number of active and inactive users
🛠 Interface and Usage
There is one main field inside the node: Query
You write SQL directly into this field. SkyStudio automatically converts this text into a query and runs it.
▶ Test Button
When you click Test:
- The query runs
- The result returns in JSON format
- If there is an error, such as a syntax error, missing table, or missing column, it appears as a message below
This allows you to quickly validate both your SQL and your data model.
⚠ Points to Consider
- Table names and column names must be written correctly
- SQL syntax is very similar to classic SQL; basic
SELECT,WHERE,GROUP BY,ORDER BY, andLIMIToperations are supported - Instead of retrieving very large tables with
SELECT *, it is more performant to query them with filters - If you use dynamic values, make sure the path inside
{{ }}is correct
If-Else Condition Node
Branches the flow in different directions based on user data, a control variable, or previous node results.
🎯 What does it do?
This node is like the "brain" of the workflow. Based on the condition you define, the flow works as follows:
- ✔ If TRUE, the True Branch runs
- ✔ If FALSE, the False Branch runs
It works just like the if (...) else {...} logic in programming, but without writing code.
Testing
- 🔹 You can see whether the condition result is TRUE or FALSE by clicking the Test button
- 🔹 If there is an error, the UI displays a warning
- 🔹 You can check node connections for debugging
⚠ Things to Watch Out For
- ⚠ If the variable path inside
{{ }}is incorrect, the condition always becomes FALSE - ⚠ String comparisons are case-sensitive
- ⚠ In numeric comparisons, if the data is a string, a small cast may be required
- ⚠ Conditions run only at evaluation time
- ⚠ If there is no node connection, the flow does not continue
Interface and Fields
🔹 Conditions Area
Each row you see in the UI is a condition.
Supported operators:
- Equals
- Contains
- Greater than
- Less than
- Is empty?
- Is not empty?
- ...and others
🔹 Multiple Conditions
You can combine conditions with AND / OR:
(status == "success") AND (count > 0)
In the UI, this corresponds to:
- ✔ AND / OR selector
- ✔ Add condition button
- ✔ Delete button
🔀 Output Ports (Branches)
🟢 True Branch — Nodes connected here run if the conditions are true
🔴 False Branch — Nodes connected here run if the condition is not met
You can connect any node you want to both ports: LLM, HTTP Call, email, table operations, another If-Else, and more.
Data Analysis Node
Purpose: Analyze uploaded Excel/CSV tables to obtain short summaries and basic statistics, and use the results in workflow steps.
Setup:
- Workflow → Actions Node → Drag the Data Analysis node onto the canvas.
- Select and connect the data source, such as file upload or File to Table.
- Define question/output templates, such as "Sales summary by product breakdown for the last 4 weeks".
- Connect the output to the next node.
🔍 Watch the video we prepared to learn how to use Workflow.
Mail Send Node – Quick Usage Guide
What does it do?
Allows you to send emails from within the workflow. It supports fields such as subject, content, recipient(s), CC/BCC, importance level, saving as draft, and category tagging. You can generate dynamic emails by binding an LLM node output to the subject or content field.
When is it used?
- To automatically convert a report, summary, or offer text generated by an LLM into an email
- To send periodic notifications such as approvals, alerts, or summaries from flows
- To template and send data from forms, webhooks, and triggers using an LLM
Step-by-Step Setup
1. Add an LLM node
- Write a prompt that generates the text you want, such as "Generate an email draft for the production summary".
- Test it and make sure you receive the expected text in the output.
- You can select the correct parameters using the
/shortcut.
2. Add the Mail Send node
Fill in the Subject and Content fields in the right panel. Use the output of the LLM node for dynamic binding.
Content example:
{{node-<LLM_NODE_ID>.output.response}}
Subject example:
Subject – {{node-<LLM_NODE_ID>.output.title || "Current Report"}}
3. Recipients
- To: You can add multiple addresses.
- CC / BCC: Optional.
4. Additional Settings
- Importance: Normal / High.
- Save as Draft: If enabled, the email is not sent and a draft is created in your mailbox.
- Categories/Labels: You can add labels such as "High priority" or "Important".
5. Test & Run
- Test the node separately using Test.
- Run the entire flow.
Mail Search – Quick Usage Guide
1. Search Text
- Enter search text related to the email or emails you want to find.
2. Date Range
- Optionally, specify a date range to search for emails between specific dates.
3. Advanced Filters
- Mail Folder
- Read Status
- Importance
4. Categories and Result Count
- Enter the category you want.
- Enter the number of results you want, up to a maximum of 25.
Note Stickers in Workflow (Note-Taking Feature)
When designing a workflow together, it is now much easier to answer questions such as "What does this step do?" or "Why did we add this node?"
Thanks to note stickers added to SkyStudio Workflow, you can leave notes directly on the flow and write explanations, instructions, or reminders for your teammates.
With these notes, you can:
- Explain the purpose and logic of each flow step
- Add explanations like a usage guide to the scenarios you deliver
- Enable quick handover and onboarding in projects transferred within the team
How is it used?
- Open the relevant workflow in SkyStudio. Click the helper tools section in the left panel.
- Click the add note sticker icon on the workflow screen.
- Click the area where you want to place the note and add the sticker.
- In the text field that opens, write the flow step, expected inputs, or points to pay attention to.
- Optionally, add multiple notes to different flow sections to explain the entire scenario step by step.
As with every new feature, note stickers were added to continuously improve the user experience. SkyStudio supports you in making your workflows not only functional, but also easy to understand and share.