Skip to main content

StreamSpace Studio Node Configuration Guide

Complete reference for configuring workflow nodes in StreamSpace Studio.


Quick Navigation

Jump to Section: AI Capabilities | Contact Actions | Engage & Route | Send Message | Collect | Logic | Built-in Tools | Loop


Table of Contents

🤖 AI Capabilities

📧 Contact Actions

🔀 Engage & Route

💬 Send Message

📝 Collect

Logic

🛠️ Built-in Tools

🔄 Loop


🤖 AI Capabilities

Quick Jump: ↑ Top | Contact Actions →

AI-powered nodes for intelligent conversation handling, intent detection, and automated responses.


Intent Classifier Node

node_intent_classifier

Purpose: Automatically categorizes user messages into predefined intent categories to route conversations appropriately.

When to Use:

  • Route conversations based on user's goal or request
  • Categorize support tickets automatically
  • Trigger different workflows based on intent
  • Build intelligent chatbots with contextual responses

Configuration Settings:

FieldDescriptionRequiredExample
User InputThe message text to classify✅ YesUser's message variable
CategoriesIntent categories to classify into✅ YesMultiple categories

Category Configuration:

Each category requires:

  • Name: Unique identifier for the intent (e.g., "Billing", "Technical Support")
  • Instruction: Description or examples of what this intent includes

Setup Steps:

  1. Add Intent Classifier node to your workflow
  2. Connect user input from chat or form
  3. Click "+ Add Category" to create intent categories
  4. For each category:
    • Enter a clear Name
    • Provide detailed Instructions with examples
  5. Connect output to routing logic or response nodes

Output Data:

The node returns the classified intent category name that can be used in subsequent nodes for routing decisions.

Best Practices:

DO:

  • Use clear, distinct category names
  • Provide detailed instructions with multiple examples
  • Test with real user messages
  • Create at least 3-5 intent categories
  • Include a "General" or "Other" category for unmatched intents

DON'T:

  • Create overlapping or ambiguous categories
  • Use vague category names
  • Skip providing instruction details
  • Create too many categories (keep under 10-15)

Common Use Cases:

Customer Support Routing:

Categories:
- Billing Issues (payment problems, invoice questions)
- Technical Support (app not working, bugs, errors)
- Account Management (password reset, profile updates)
- General Inquiry (other questions)

E-commerce Assistant:

Categories:
- Product Information (specs, features, availability)
- Order Status (tracking, delivery questions)
- Returns & Refunds (return process, refund status)
- Shopping Assistance (recommendations, comparisons)

Troubleshooting:

ProblemSolution
Intents not classifying correctlyAdd more detailed instructions and examples
Too many "Other" classificationsReview and refine category definitions
Overlap between categoriesMake category boundaries more distinct

Related Nodes:

  • AI Agent - Generate intelligent responses based on intent
  • Switch Node - Route to different paths based on classified intent

⬆ Back to Top


AI Agent Node

node_ai_agent_configuration

Purpose: Generates intelligent, context-aware responses using large language models (LLMs) with customizable prompts and settings.

When to Use:

  • Create conversational chatbots
  • Generate dynamic responses based on context
  • Provide intelligent customer support
  • Build AI assistants with specific knowledge
  • Automate content generation

Configuration Tab

node_ai_agent_configuration

Prompt Configuration:

FieldDescriptionRequired
Prompt EnableToggle to enable/disable custom prompting❌ No
SYSTEM PROMPTInstructions that define the AI's role and behavior❌ No
CONTEXTBackground information and data for the AI to reference❌ No
USER MESSAGEThe actual user's message or query✅ Yes

Advanced Settings:

FieldDescriptionDefault
Output VariableVariable name to store the AI's response-
Skip Tag ParsingDisable automatic tag processingOff
Trigger KeywordsKeywords that activate this node-
Skip TTS TagSkip text-to-speech tag processing-

Prompt Best Practices:

SYSTEM PROMPT Example:

You are a helpful customer support agent for StreamSpace Company.
Your role is to assist customers with billing questions,
account issues, and general inquiries. Be professional,
friendly, and concise. Always offer to escalate complex
issues to human agents.

CONTEXT Example:

Customer Name: {{contact.name}}
Account Type: {{contact.subscription_type}}
Last Login: {{contact.last_login}}
Previous Issues: {{contact.ticket_history}}

USER MESSAGE Example:

{{user_input}}

Providers Tab

node_ai_agent_providers

Provider Configuration:

FieldDescriptionRequired
ProviderSelect AI model provider✅ Yes
TemperatureControls response randomness (0-1)❌ No
Output TokenMaximum response length❌ No

Available Providers:

  • OpenAI (GPT-4, GPT-3.5)
  • Anthropic (Claude)
  • Google (Gemini, PaLM)
  • Custom providers

Temperature Settings:

  • 0.0 - 0.3: Deterministic, consistent responses (recommended for support)
  • 0.4 - 0.7: Balanced creativity and consistency
  • 0.8 - 1.0: Creative, varied responses (recommended for content generation)

Output Token Limits:

  • Short responses: 100-300 tokens
  • Standard responses: 300-1000 tokens
  • Long-form content: 1000-4000 tokens

Advanced Settings Tab

node_ai_agent_advanced

MCP (Model Context Protocol) Configuration:

FieldDescriptionRequired
MCP ServerSelect MCP server for enhanced capabilities❌ No
MCP ToolsAvailable tools from the MCP server❌ No

Advanced Features:

SettingDescriptionDefault
StreamingEnable real-time response streamingOff
GuardEnable content safety filteringOff
Enable Link GeneratorGenerate clickable links in responsesOff

Assistance Status:

FieldPurpose
Assistance Status MessageCustom message shown during AI processing
Assistance Status TimeoutMaximum wait time before timeout
Assistance Status TimeDisplay duration of status message

Complete Setup Guide

Step 1: Configure Basic Prompts

  1. Add AI Agent node to canvas
  2. Open Configuration tab
  3. Write clear SYSTEM PROMPT defining the AI's role
  4. Add CONTEXT with relevant variables
  5. Set USER MESSAGE to capture user input

Step 2: Select Provider & Model

  1. Switch to Providers tab
  2. Select your AI provider (OpenAI, Anthropic, etc.)
  3. Set Temperature (0.7 recommended for most uses)
  4. Configure Output Token limit

Step 3: Advanced Options (Optional)

  1. Go to Advanced Settings tab
  2. Configure MCP Server if using external tools
  3. Enable Streaming for real-time responses
  4. Set up Guardrails for content safety
  5. Configure status messages for user feedback

Step 4: Test & Refine

  1. Test with sample user messages
  2. Review AI responses for quality
  3. Adjust prompts and temperature as needed
  4. Monitor token usage and response times

Output Variables:

Store the AI's response in a variable for use in subsequent nodes:

{{ai_response}}

Common Use Cases:

Customer Support Bot:

SYSTEM PROMPT: You are a friendly support agent...
CONTEXT: Customer account info, order history
USER MESSAGE: Customer's question
Temperature: 0.5 (balanced)

Content Generator:

SYSTEM PROMPT: You are a creative content writer...
CONTEXT: Brand guidelines, product info
USER MESSAGE: Content request
Temperature: 0.8 (creative)

FAQ Assistant:

SYSTEM PROMPT: Answer based on knowledge base...
CONTEXT: FAQ documents, policies
USER MESSAGE: User question
Temperature: 0.2 (consistent)

Best Practices:

DO:

  • Write specific, detailed SYSTEM PROMPTs
  • Include relevant CONTEXT for personalization
  • Test with various user inputs
  • Monitor token usage to control costs
  • Use appropriate temperature for your use case
  • Enable Guardrails for customer-facing bots

DON'T:

  • Leave SYSTEM PROMPT vague or generic
  • Include excessive context (increases costs)
  • Set temperature too high for factual responses
  • Ignore token limits (can cause errors)
  • Skip testing with edge cases

Troubleshooting:

ProblemSolution
Responses are too genericAdd more specific SYSTEM PROMPT and CONTEXT
Responses are inconsistentLower temperature to 0.3-0.5
Responses are too similarIncrease temperature to 0.6-0.8
Timeout errorsReduce Output Token limit or check provider status
Inappropriate responsesEnable Guardrails in Advanced Settings

Related Nodes:

⬆ Back to Top


📧 Contact Actions

Quick Jump: ↑ Top | ← AI Capabilities | Engage & Route →

Manage customer contact data, retrieve contact information, and update contact records.


Fetch Contact Node

node_fetch_contact

Purpose: Retrieves contact information from your contact database based on identifiers.

When to Use:

  • Load customer profile at conversation start
  • Retrieve contact details for personalization
  • Check if contact exists before creating
  • Get contact information for routing decisions

Configuration Settings:

FieldDescriptionRequired
Contact ListSelect which contact list to search✅ Yes

Setup Steps:

  1. Add Fetch Contact node to workflow
  2. Select the Contact List from dropdown
  3. Connect from a trigger or previous node
  4. The node automatically fetches contact based on session identifier
  5. Use fetched contact data in subsequent nodes

Output Data:

Returns contact object with fields:

  • Contact ID
  • Name
  • Email
  • Phone number
  • Custom fields
  • Tags
  • Contact metadata

Usage Example:

Workflow: Chat Start

Fetch Contact → Load customer profile

AI Agent → Use {{contact.name}} for personalized greeting

Best Practices:

DO:

  • Fetch contact early in the workflow
  • Store contact data in variables for reuse
  • Handle cases where contact doesn't exist

DON'T:

  • Fetch contacts multiple times unnecessarily
  • Assume contact always exists

Related Nodes:

⬆ Back to Top


Modify Contact Node

node_modify_contact

Purpose: Updates existing contact records with new information or adds new contact details.

When to Use:

  • Update contact information during conversation
  • Add tags or notes to contacts
  • Store conversation data in contact record
  • Update contact preferences or settings

Configuration Settings:

FieldDescriptionRequired
Contact ListTarget contact list to update✅ Yes
Contact DetailsFields to update (dynamic)✅ Yes

Setup Steps:

  1. Add Modify Contact node to workflow
  2. Select Contact List from dropdown
  3. Click "+ Add Field" to add contact details
  4. Map data to contact fields:
    • Standard fields (name, email, phone)
    • Custom fields
    • Tags
  5. Connect to previous nodes providing data

Contact Detail Options:

You can update:

  • Name: Full name or first/last name separately
  • Email: Primary email address
  • Phone: Phone number
  • Custom Fields: Any custom fields defined in your contact list
  • Tags: Add or remove contact tags
  • Notes: Append conversation notes

Best Practices:

DO:

  • Update contacts with collected information
  • Use variables to dynamically populate fields
  • Add tags for segmentation
  • Validate data before updating

DON'T:

  • Overwrite important data without checking
  • Update every message (causes unnecessary API calls)
  • Store sensitive data in unencrypted fields

Common Use Cases:

Update After Form Collection:

Collect User Info → Modify Contact (update name, email, phone)

Add Tags Based on Intent:

Intent Classifier → Modify Contact (add "Interested-in-Billing" tag)

Store Conversation Summary:

AI Agent → Modify Contact (append summary to notes field)

Related Nodes:

⬆ Back to Top


🔀 Engage & Route

Quick Jump: ↑ Top | ← Contact Actions | Send Message →

Control conversation flow, route to appropriate handlers, and manage customer engagement.


Hybrid Engage Node

node_hybrid_engage

Purpose: Manages scheduled campaign engagement with contacts, enabling automated outreach at specific times.

When to Use:

  • Schedule automated follow-up messages
  • Send campaign messages at optimal times
  • Manage drip campaigns
  • Coordinate multi-touch outreach

Configuration Settings:

FieldDescriptionRequired
Campaign ListSelect campaign to engage✅ Yes
Schedule TimestampWhen to send the message (YYYY-MM-DD HH:mm:ss)❌ No
Contact DetailsContact field mapping✅ Yes

Setup Steps:

  1. Add Hybrid Engage node to workflow
  2. Select Campaign List from dropdown
  3. Set Schedule Timestamp (leave empty for immediate)
  4. Map Contact Details (typically phone_number)
  5. Connect to trigger or previous node

Scheduling Options:

Immediate Engagement:

  • Leave Schedule Timestamp empty
  • Message sends immediately when workflow reaches this node

Scheduled Engagement:

  • Format: YYYY-MM-DD HH:mm:ss
  • Example: 2026-02-15 14:30:00
  • Use variables for dynamic scheduling: {{scheduled_time}}

Best Practices:

DO:

  • Schedule messages during business hours
  • Use contact's timezone for scheduling
  • Test campaigns before deploying
  • Monitor engagement metrics

DON'T:

  • Send messages at inappropriate times
  • Schedule too many messages close together
  • Forget to map contact details correctly

Common Use Cases:

Follow-up After Purchase:

Order Complete → Hybrid Engage (schedule follow-up in 7 days)

Appointment Reminder:

Appointment Booked → Hybrid Engage (schedule reminder 1 hour before)

⬆ Back to Top


Human Handoff Node

node_human_handoff

Purpose: Transfers the conversation from AI automation to a human agent for personalized handling.

When to Use:

  • Customer explicitly requests human agent
  • Complex issue beyond AI capabilities
  • Escalation required for sensitive matters
  • High-value customer requiring personal attention

Configuration Settings:

FieldDescriptionRequired
Assign To TeamSelect which team receives the handoff✅ Yes

Available Teams:

Select from configured teams:

  • Sales Team
  • Support Team
  • Technical Team
  • Billing Team
  • Custom teams

Setup Steps:

  1. Add Human Handoff node to workflow
  2. Select Assign To Team from dropdown
  3. Connect from decision logic (If node, Intent Classifier, etc.)
  4. Conversation is transferred to selected team's queue

Best Practices:

DO:

  • Notify customer about handoff
  • Provide agent with conversation context
  • Set appropriate team based on issue type
  • Track handoff reasons for analysis

DON'T:

  • Handoff too early (let AI handle simple queries)
  • Forget to notify customer
  • Send to wrong team

Common Use Cases:

Customer Requests Agent:

Intent: "Talk to Human" → Human Handoff (Support Team)

Complex Technical Issue:

AI Agent (can't resolve) → Human Handoff (Technical Team)

High-Value Lead:

Lead Score > 80 → Human Handoff (Sales Team)

Workflow Example:

User Message

Intent Classifier

[If intent = "Complex Issue"]
→ Human Handoff (Support Team)

[Else]
→ AI Agent (handle automatically)

Related Nodes:

⬆ Back to Top


💬 Send Message

Quick Jump: ↑ Top | ← Engage & Route

Send various message types to users including text, rich media, cards, carousels, and location information.


Send Text Message Node

node_send_text_message

Purpose: Sends plain text messages to users through configured communication channels.

When to Use:

  • Send simple text responses
  • Deliver AI-generated messages
  • Send confirmations or notifications
  • Provide information or answers

Configuration Settings:

FieldDescriptionRequired
MESSAGE CONTENTThe text message to send✅ Yes
Skip Tag ParsingDisable variable replacement❌ No

Message Content:

  • Supports plain text
  • Supports variables: {{variable_name}}
  • Supports multi-line messages
  • Maximum length varies by channel

Setup Steps:

  1. Add Send Text Message node to workflow
  2. Enter message text in MESSAGE CONTENT
  3. Use variables for dynamic content: {{user_name}}
  4. Enable/disable Skip Tag Parsing as needed
  5. Connect from previous nodes

Using Variables:

Hello {{contact.name}}!

Your order #{{order.id}} has been confirmed.

Thank you for shopping with us!

Best Practices:

DO:

  • Keep messages concise and clear
  • Use personalization with variables
  • Test message formatting
  • Consider character limits per channel

DON'T:

  • Send overly long messages
  • Forget to test variable replacement
  • Use complex formatting (use Card node instead)

Related Nodes:

  • AI Agent - Generate message content
  • Card - Send rich formatted messages

⬆ Back to Top


Card Node

node_card

Purpose: Sends rich card messages with title, description, media, and interactive buttons.

When to Use:

  • Present product information
  • Show options with buttons
  • Share content with images
  • Create interactive messages

Configuration Settings:

FieldDescriptionRequired
TitleCard headline✅ Yes
DescriptionCard body text✅ Yes
MediaImage or video file❌ No
ChoicesAction buttons (URLs or actions)❌ No

Setup Steps:

  1. Add Card node to workflow
  2. Enter Title text
  3. Add Description with details
  4. Upload or link Media file
  5. Add Choices (buttons):
    • Click "+" to add button
    • Enter button text
    • Add URL or action
  6. Connect to previous nodes

Button Configuration:

Each button can:

  • Open a URL
  • Trigger a workflow action
  • Submit data
  • Navigate to another screen

Best Practices:

DO:

  • Use clear, action-oriented button text
  • Optimize images for mobile viewing
  • Limit to 3-4 buttons per card
  • Test on multiple devices

DON'T:

  • Overload with too many buttons
  • Use large image files (optimize first)
  • Make titles too long

Common Use Cases:

Product Showcase:

Title: "Premium Wireless Headphones"
Description: "Noise-cancelling, 30hr battery"
Media: Product image
Buttons: "Buy Now", "Learn More"

Service Selection:

Title: "How can we help?"
Description: "Choose a service below"
Buttons: "Billing", "Technical", "Account"

⬆ Back to Top


Media Node

node_media

Purpose: Sends media files (images, videos, audio, documents) to users.

When to Use:

  • Share images or photos
  • Send videos or GIFs
  • Deliver audio files
  • Share PDF documents or files

Configuration Settings:

FieldDescriptionRequired
Media TypeSelect type: Image, Video, Audio, Document✅ Yes
CaptionOptional text caption❌ No
Upload ImageFile upload area✅ Yes

Supported Media Types:

Image Tab:

  • JPEG, PNG, GIF
  • Max file size: 5MB
  • Recommended: 1200x630px

Video Tab:

  • MP4, MOV
  • Max file size: 16MB
  • Recommended: 1080p or lower

Audio Tab:

  • MP3, WAV
  • Max file size: 5MB

Document Tab:

  • PDF, DOCX, XLSX
  • Max file size: 10MB

Setup Steps:

  1. Add Media node to workflow
  2. Select media type tab (Image/Video/Audio/Document)
  3. Enter optional Caption
  4. Upload file:
    • Drag & drop file
    • Or click "Choose Image/File"
  5. Connect to previous nodes

Best Practices:

DO:

  • Compress large files before upload
  • Add descriptive captions
  • Test media displays correctly
  • Use appropriate file formats

DON'T:

  • Upload files exceeding size limits
  • Send without captions (reduces accessibility)
  • Use proprietary formats

Common Use Cases:

Send Receipt:

Type: Document (PDF)
Caption: "Here's your receipt for order #12345"

Share Product Image:

Type: Image
Caption: "Our new summer collection!"

⬆ Back to Top


node_carousel

Purpose: Sends multiple cards in a scrollable carousel format for presenting options or products.

When to Use:

  • Show multiple products
  • Present service options
  • Display image galleries
  • Offer multiple choices

Configuration Settings:

Each carousel card includes:

FieldDescriptionRequired
TitleCard title✅ Yes
SubtitleCard description❌ No
MediaImage or video❌ No
ChoicesButton actions❌ No

Setup Steps:

  1. Add Carousel node to workflow
  2. Configure first card:
    • Add Title
    • Add Subtitle
    • Upload Media
    • Add Choices (buttons)
  3. Click "+" to add more cards
  4. Repeat configuration for each card
  5. Recommended: 2-5 cards per carousel

Card Best Practices:

DO:

  • Keep card count between 2-5
  • Use consistent image sizes
  • Make titles concise
  • Add clear call-to-action buttons

DON'T:

  • Create too many cards (overwhelming)
  • Mix different image aspect ratios
  • Make subtitles too long

Common Use Cases:

Product Catalog:

Card 1: Product A (image, price, "Buy" button)
Card 2: Product B (image, price, "Buy" button)
Card 3: Product C (image, price, "Buy" button)

Service Selection:

Card 1: Basic Plan ($9/mo, "Choose" button)
Card 2: Pro Plan ($29/mo, "Choose" button)
Card 3: Enterprise (Custom, "Contact" button)

⬆ Back to Top


Location Node

node_location

Purpose: Sends location information with map preview to users.

When to Use:

  • Share store or office locations
  • Send meeting place addresses
  • Provide directions
  • Show service area locations

Configuration Settings:

FieldDescriptionRequired
Location NameName of the place✅ Yes
Full AddressComplete street address✅ Yes
LatitudeGPS latitude coordinate✅ Yes
LongitudeGPS longitude coordinate✅ Yes

Setup Steps:

  1. Add Location node to workflow
  2. Enter Location Name (e.g., "Main Office")
  3. Enter Full Address
  4. Enter Latitude coordinate
  5. Enter Longitude coordinate
  6. Connect to previous nodes

Finding Coordinates:

Use Google Maps:

  1. Right-click on location
  2. Select coordinates
  3. Copy latitude and longitude

Best Practices:

DO:

  • Verify coordinates are accurate
  • Use descriptive location names
  • Include complete addresses
  • Test location renders correctly

DON'T:

  • Swap latitude/longitude
  • Use incomplete addresses
  • Forget to include location name

Common Use Cases:

Store Locator:

Location Name: "StreamSpace Store - Downtown"
Full Address: "123 Main St, New York, NY 10001"
Latitude: 40.7128
Longitude: -74.0060

Meeting Point:

Location Name: "Coffee Shop Meeting"
Full Address: "456 Park Ave, Los Angeles, CA 90012"
Latitude: 34.0522
Longitude: -118.2437

⬆ Back to Top


Additional Resources

Need Help?

  • Contact StreamSpace Studio support
  • Visit the documentation portal
  • Join the community forum

Related Guides:

  • Workflow Builder Guide
  • Best Practices for Node Configuration
  • Advanced Workflow Patterns
  • Troubleshooting Common Issues

Last Updated: February 11, 2026

Version: 1.0

📝 Collect

Quick Jump: ↑ Top | ← Send Message | Logic →

Gather and validate information from users through various input methods.


Get User Input Node

node_get_user_input_configuration

Purpose: Captures user input and stores it in a variable, with options to allow various media types.

When to Use:

  • Collect text responses from users
  • Accept file uploads (images, videos, audio, documents)
  • Gather user information in forms
  • Store user responses for processing

####Configuration Tab

node_get_user_input_configuration

Configuration Settings:

FieldDescriptionRequired
Set Input AsVariable name to store the user's input✅ Yes

Setup Steps:

  1. Add Get User Input node to workflow
  2. Enter variable name in Set Input As field
  3. Switch to Advanced Settings tab to configure input types
  4. Connect to previous and next nodes

Advanced Settings Tab

node_get_user_input_advanced

Media Input Options:

SettingDescriptionDefault
Allow Audio InputAccept audio files from usersOff
Allow Image InputAccept image files from usersOff
Allow Video InputAccept video files from usersOff
Allow Document InputAccept document files from usersOff

Setup Steps:

  1. Toggle each input type based on what you want to accept
  2. When enabled, users can upload files of that type
  3. Files are stored in the variable specified in Configuration tab

Best Practices:

DO:

  • Use descriptive variable names (e.g., user_email, customer_name)
  • Enable only necessary input types
  • Validate input in subsequent nodes
  • Provide clear instructions to users

DON'T:

  • Allow all file types unless necessary
  • Use generic variable names
  • Skip input validation
  • Forget to handle empty inputs

Common Use Cases:

Collect Customer Name:

Send Message: "What's your name?"

Get User Input (Set Input As: customer_name)

Send Message: "Thanks, {{customer_name}}!"

Accept Document Upload:

Send Message: "Please upload your ID document"

Get User Input (Allow Document Input: ON)

Process document with AI or external service

Related Nodes:

⬆ Back to Top


Message With Buttons Node

node_message_with_buttons

Purpose: Sends a message with quick reply buttons, allowing users to select from predefined options.

When to Use:

  • Present multiple choice questions
  • Offer menu selections
  • Provide quick reply options
  • Guide users through structured flows

Configuration Settings:

FieldDescriptionRequired
Message TextThe question or prompt to display✅ Yes
Save Response AsVariable to store selected button value✅ Yes
Quick Reply ButtonsButton labels and values✅ Yes

Button Configuration:

Each button has:

  • Button Label: Text shown to user
  • Button Value: Value stored when clicked

Setup Steps:

  1. Add Message With Buttons node to workflow
  2. Enter your question in Message Text
  3. Specify variable name in Save Response As
  4. Add buttons:
    • Enter Button Label (what user sees)
    • Enter Button Value (what gets stored)
  5. Click "+" to add more buttons (recommended: 2-4 buttons)

Best Practices:

DO:

  • Keep button labels short and clear
  • Limit to 3-4 buttons for best UX
  • Use meaningful button values
  • Provide clear message text

DON'T:

  • Create too many buttons (overwhelming)
  • Use long button text
  • Make button labels ambiguous
  • Forget to save the response

Common Use Cases:

Yes/No Question:

Message: "Would you like to continue?"
Buttons:
- Label: "Yes" → Value: "yes"
- Label: "No" → Value: "no"
Save As: user_choice

Service Selection:

Message: "Which service do you need?"
Buttons:
- Label: "Billing" → Value: "billing"
- Label: "Technical" → Value: "technical"
- Label: "Account" → Value: "account"
Save As: service_type

Rating:

Message: "How was your experience?"
Buttons:
- Label: "⭐ Poor" → Value: "1"
- Label: "⭐⭐⭐ Good" → Value: "3"
- Label: "⭐⭐⭐⭐⭐ Excellent" → Value: "5"
Save As: rating

Related Nodes:

⬆ Back to Top


⚡ Logic

Quick Jump: ↑ Top | ← Collect | Built-in Tools →

Control workflow execution with conditional logic, variables, and decision-making nodes.


Condition Node

node_condition

Purpose: Creates simple if/then logic to route workflow execution based on conditions.

When to Use:

  • Route based on user input
  • Check variable values
  • Make binary decisions (yes/no, true/false)
  • Validate data before proceeding

Configuration Settings:

FieldDescriptionRequired
KeyVariable or value to check✅ Yes
ConditionComparison operator✅ Yes
ValueValue to compare against✅ Yes

Available Conditions:

  • Equal To - Exact match
  • Not Equal To - Does not match
  • Greater Than - Numeric comparison
  • Less Than - Numeric comparison
  • Contains - Text contains substring
  • Starts With - Text begins with
  • Ends With - Text ends with
  • Is Empty - Field is blank
  • Is Not Empty - Field has value

AND Logic:

Add multiple conditions with AND logic by clicking "+ Add Condition". All conditions must be true.

Setup Steps:

  1. Add Condition node to workflow
  2. Enter Key (variable to check, e.g., {{user_age}})
  3. Select Condition operator
  4. Enter Value to compare
  5. Add more conditions if needed (AND logic)
  6. Connect "ON FAILURE" and "Fail Branch" outputs

Output Paths:

  • ON FAILURE → Condition is TRUE, continue main flow
  • Fail Branch → Condition is FALSE, alternative path

Best Practices:

DO:

  • Use clear, descriptive variable names
  • Test with different values
  • Handle both success and failure paths
  • Use appropriate comparison operators

DON'T:

  • Create overly complex conditions (use Multi Condition instead)
  • Forget to connect failure branch
  • Mix data types in comparisons

Common Use Cases:

Age Verification:

Key: {{user_age}}
Condition: Greater Than
Value: 18

Check User Response:

Key: {{user_choice}}
Condition: Equal To
Value: "yes"

Validate Email:

Key: {{user_email}}
Condition: Contains
Value: "@"

Related Nodes:

⬆ Back to Top


Multi Condition Node

node_multi_condition

Purpose: Creates multiple conditional branches (IF/ELIF/ELSE) for complex decision-making.

When to Use:

  • Route to multiple different paths
  • Handle multiple scenarios
  • Create switch-like logic
  • Complex decision trees

Configuration Settings:

IF (Case 1):

  • First condition to evaluate
  • Add multiple conditions with AND logic

ELIF (Case 2):

  • Second condition if first fails
  • Evaluated only if IF is false
  • Can add more ELIF cases

ELSE (Fallback):

  • Default path when no conditions match
  • Always executed if all conditions fail

Setup Steps:

  1. Add Multi Condition node to workflow
  2. Configure IF case:
    • Enter Key, Condition, Value
    • Add more conditions with "+ Add Condition"
  3. Configure ELIF cases:
    • Click "+ ELIF" to add more cases
    • Set conditions for each case
  4. ELSE path is automatic fallback
  5. Remove cases with "Remove" button if needed

Evaluation Order:

  1. IF condition evaluated first
  2. If false, ELIF conditions evaluated in order
  3. If all false, ELSE path is taken

Best Practices:

DO:

  • Order cases from most specific to most general
  • Always handle the ELSE case
  • Keep conditions clear and simple
  • Test all paths

DON'T:

  • Create overlapping conditions
  • Make too many ELIF cases (limit to 5-6)
  • Forget about the fallback path

Common Use Cases:

Priority Routing:

IF: {{priority}} Equal To "urgent" → Route to urgent team
ELIF: {{priority}} Equal To "high" → Route to priority queue
ELIF: {{priority}} Equal To "normal" → Route to standard queue
ELSE → Route to general queue

Score-Based Actions:

IF: {{score}} Greater Than 90 → Send premium offer
ELIF: {{score}} Greater Than 70 → Send standard offer
ELIF: {{score}} Greater Than 50 → Send basic offer
ELSE → Send general information

Related Nodes:

⬆ Back to Top


Variables Node

node_variables

Purpose: Set, update, or modify variable values during workflow execution.

When to Use:

  • Store calculated values
  • Initialize variables
  • Update existing variables
  • Transform data
  • Set default values

Configuration Settings:

FieldDescriptionRequired
Variable KeyVariable name to set✅ Yes
ValueValue to assign to variable✅ Yes
SET/ADD/SUBTRACTOperation type✅ Yes

Operations:

  • SET: Assign or replace value
  • ADD: Add to existing number (numeric only)
  • SUBTRACT: Subtract from existing number (numeric only)

Setup Steps:

  1. Add Variables node to workflow
  2. Enter Variable Key (name)
  3. Enter Value (can use variables with {{}})
  4. Select operation (SET/ADD/SUBTRACT)
  5. Click "+" to add more variables

Value Types:

  • Static text: "Hello" or Hello
  • Numbers: 42 or 3.14
  • Variables: {{user_name}}
  • Expressions: {{first_name}} {{last_name}}

Best Practices:

DO:

  • Use descriptive variable names
  • Initialize variables before use
  • Use SET for text, ADD/SUBTRACT for numbers
  • Document complex calculations

DON'T:

  • Use ADD/SUBTRACT on text values
  • Overwrite important variables accidentally
  • Create variables you don't use

Common Use Cases:

Initialize Counter:

Key: attempt_count
Value: 0
Operation: SET

Concatenate Names:

Key: full_name
Value: {{first_name}} {{last_name}}
Operation: SET

Increment Counter:

Key: attempt_count
Value: 1
Operation: ADD

Calculate Total:

Key: total_price
Value: {{item_price}} + {{tax}}
Operation: SET

Related Nodes:

⬆ Back to Top


Report Variables Node

node_report_variables

Purpose: Displays or logs variable values for debugging and monitoring purposes.

When to Use:

  • Debug workflows
  • Log variable states
  • Monitor data flow
  • Troubleshoot issues
  • Verify calculations

Configuration:

This node automatically displays all current variables in the execution logs. No configuration required.

Setup Steps:

  1. Add Report Variables node at debug points
  2. Run workflow
  3. Check execution logs to see variable values
  4. Remove or disable in production

Best Practices:

DO:

  • Use during development and testing
  • Place at decision points
  • Review logs after testing
  • Remove before production deployment

DON'T:

  • Leave in production (performance impact)
  • Use for sensitive data logging
  • Rely on for critical logic

Common Use Cases:

Debug Condition Logic:

Variables Node (set values)

Report Variables (check values)

Condition Node (test logic)

Verify Calculations:

Calculate values

Report Variables (verify math)

Proceed with workflow

⬆ Back to Top


Business Hours Node

node_business_hours

Purpose: Checks if current time falls within configured business hours and routes accordingly.

When to Use:

  • Route to agents only during business hours
  • Send auto-replies after hours
  • Apply time-based logic
  • Schedule-aware workflows

Configuration Settings:

Configure hours for each day of the week:

DayEnabledHours
MondayToggleStart Time - End Time
TuesdayToggleStart Time - End Time
WednesdayToggleStart Time - End Time
ThursdayToggleStart Time - End Time
FridayToggleStart Time - End Time
SaturdayToggleStart Time - End Time
SundayToggleStart Time - End Time

Setup Steps:

  1. Add Business Hours node to workflow
  2. For each day:
    • Toggle ON if business is open
    • Set Start Time (e.g., 12:00 AM)
    • Set End Time (e.g., 11:59 PM)
    • Click "+" to add multiple time slots per day
  3. Connect "ON FAILURE" (within hours) and "Fail Branch" (outside hours)

Output Paths:

  • ON FAILURE → Current time IS within business hours
  • Fail Branch → Current time is OUTSIDE business hours

Best Practices:

DO:

  • Set accurate time zones
  • Account for holidays separately
  • Test before deploying
  • Provide clear after-hours messages

DON'T:

  • Forget to set all days
  • Overlook time zone differences
  • Ignore holidays

Common Use Cases:

Route to Agents:

Business Hours Check

Within Hours: → Human Handoff
Outside Hours: → Send auto-reply, log ticket

Time-Based Pricing:

Business Hours Check

Within Hours: → Standard pricing
Outside Hours: → After-hours surcharge

Related Nodes:

⬆ Back to Top


🛠️ Built-in Tools

Quick Jump: ↑ Top | ← Logic | Loop →

Utility nodes for API calls, delays, workflow control, and data processing.


HTTP Request Node

node_http_request_configuration

Purpose: Makes HTTP API calls to external services and processes responses.

When to Use:

  • Call external APIs
  • Fetch data from web services
  • Send data to external systems
  • Integrate with third-party services
  • Webhook calls

Configuration Tab

Request Settings:

FieldDescriptionRequired
MethodHTTP method (GET, POST, PUT, DELETE, PATCH)✅ Yes
URLAPI endpoint URL✅ Yes
AuthorizationAuthentication method (no-auth, API key, Bearer, etc.)❌ No
HeadersHTTP headers (Key-Value pairs)❌ No
ParamsURL query parameters (Key-Value pairs)❌ No
BodyRequest body content❌ No

Body Types:

  • none: No request body
  • form-data: Form data format
  • x-www-form-urlencoded: URL encoded format
  • JSON: JSON payload
  • raw: Raw text/data

Output Variables:

Map response data to variables for use in workflow.

Advanced Settings:

SettingDescriptionDefault
TIMEOUTMaximum wait time for response30s
RETRY ON FAILURERetry failed requestsOff
MAX RETRIESNumber of retry attempts3
RETRY INTERVALTime between retries (ms)100

Setup Steps:

  1. Add HTTP Request node to workflow
  2. Select HTTP Method (GET, POST, etc.)
  3. Enter API URL
  4. Configure Authorization if needed
  5. Add Headers (Content-Type, etc.)
  6. Add Params for query string
  7. Configure Body if sending data
  8. Map Output Variables
  9. Configure retry settings in Advanced

Best Practices:

DO:

  • Set appropriate timeouts
  • Enable retry for critical calls
  • Validate responses
  • Handle error cases
  • Store API keys securely

DON'T:

  • Hardcode sensitive credentials
  • Skip error handling
  • Make unnecessary API calls
  • Ignore rate limits

Common Use Cases:

Fetch User Data:

Method: GET
URL: https://api.example.com/users/{{user_id}}
Headers: Authorization: Bearer {{api_key}}

Send Notification:

Method: POST
URL: https://api.example.com/notify
Body (JSON):
{
"message": "{{notification_text}}",
"user": "{{user_id}}"
}

⬆ Back to Top


Sleep Node

node_sleep

Purpose: Pauses workflow execution for a specified duration.

When to Use:

  • Wait for external processes
  • Add delays between actions
  • Throttle API calls
  • Implement retry delays
  • Wait for user actions

Configuration Settings:

FieldDescriptionRequired
Sleep Duration (Seconds)Time to pause in seconds✅ Yes

Setup Steps:

  1. Add Sleep node to workflow
  2. Enter duration in seconds
  3. Connect to previous and next nodes
  4. Workflow pauses before continuing

Best Practices:

DO:

  • Use for necessary delays only
  • Keep delays reasonable (under 60 seconds)
  • Document why delay is needed
  • Consider user experience

DON'T:

  • Use long delays in user-facing flows
  • Replace with sleep when polling is needed
  • Block critical workflows

Common Use Cases:

API Rate Limiting:

HTTP Request

Sleep (2 seconds)

Another HTTP Request

Retry Delay:

API Call Failed

Sleep (5 seconds)

Retry API Call

⬆ Back to Top


Manual Trigger Node

node_manual_trigger

Purpose: Requires manual action to continue workflow execution, useful for testing and approval workflows.

When to Use:

  • Test workflows step-by-step
  • Require human approval
  • Debug workflow execution
  • Pause for manual intervention
  • Approval gates

Configuration:

No configuration needed. Workflow pauses until manually triggered.

Setup Steps:

  1. Add Manual Trigger node where pause is needed
  2. Run workflow
  3. Workflow stops at this node
  4. Manually trigger to continue execution

Best Practices:

DO:

  • Use for testing and debugging
  • Document approval requirements
  • Remove from production if not needed
  • Set up notifications for approvers

DON'T:

  • Leave in automated production flows
  • Use as permanent solution without reason
  • Forget to trigger during testing

Common Use Cases:

Approval Workflow:

Submit Request

Manual Trigger (Manager Approval)

Process Approved Request

Testing:

Step 1

Manual Trigger (Verify Step 1)

Step 2

Manual Trigger (Verify Step 2)

⬆ Back to Top


Flow Transfer Node

node_flow_transfer

Purpose: Transfers execution to another workflow, enabling modular workflow design.

When to Use:

  • Call reusable workflows
  • Modularize complex workflows
  • Share common logic
  • Organize workflows by function
  • Create sub-workflows

Configuration Settings:

FieldDescriptionRequired
Flow TypeType of workflow to call✅ Yes
FlowSpecific workflow to transfer to✅ Yes

Setup Steps:

  1. Add Flow Transfer node to workflow
  2. Select Flow Type from dropdown
  3. Select target Flow from dropdown
  4. Execution transfers to selected workflow
  5. Can return or end in transferred workflow

Best Practices:

DO:

  • Create reusable workflows
  • Name workflows clearly
  • Document workflow relationships
  • Test transfer logic

DON'T:

  • Create circular transfers
  • Transfer unnecessarily
  • Lose track of execution flow

Common Use Cases:

Reusable Validation:

Main Workflow

Flow Transfer → Validation Workflow

Return to Main Workflow

Module Organization:

Entry Point Workflow

Flow Transfer → Processing Workflow

Flow Transfer → Notification Workflow

⬆ Back to Top


Audio To Text Node

node_audio_to_text

Purpose: Converts audio files to text using speech-to-text technology.

When to Use:

  • Transcribe voice messages
  • Process audio inputs
  • Convert voice to text for analysis
  • Enable voice-based workflows

Configuration Settings:

FieldDescriptionRequired
Process URLURL of audio file to transcribe✅ Yes
Output VariableVariable to store transcribed text❌ No

Setup Steps:

  1. Add Audio To Text node to workflow
  2. Enter Process URL (audio file URL or variable)
  3. Set Output Variable to store result
  4. Audio is transcribed and stored in variable

Supported Audio Formats:

  • MP3
  • WAV
  • OGG
  • Other common audio formats

Best Practices:

DO:

  • Use clear audio recordings
  • Check audio quality
  • Handle transcription errors
  • Store results for reference

DON'T:

  • Process very long audio files
  • Skip error handling
  • Assume 100% accuracy

Common Use Cases:

Voice Message Processing:

Receive Voice Message

Audio To Text (transcribe)

AI Agent (analyze text)

Respond

⬆ Back to Top


Code Node

node_code

Purpose: Execute custom JavaScript code for advanced data processing and transformations.

When to Use:

  • Complex data transformations
  • Custom calculations
  • Advanced logic not available in other nodes
  • Data parsing and formatting
  • Custom integrations

Configuration:

JavaScript Code Editor:

Write JavaScript code with access to:

  • Workflow variables via {{ }} syntax
  • Standard JavaScript functions
  • JSON parsing and manipulation
  • Math operations
  • String operations

Built-in Instructions:

  1. Access variable values using {{ }} syntax
  2. Parse JSON with JSON.parse()
  3. Save results to $output object: $output.data = 'value'

Example:

// Access variable values
$output.data = 'Your data';

// This stores the value under the 'data' key

Setup Steps:

  1. Add Code node to workflow
  2. Write JavaScript in editor
  3. Access variables with {{variable_name}}
  4. Store results in $output object
  5. Use $output values in subsequent nodes

Best Practices:

DO:

  • Keep code simple and readable
  • Add comments
  • Handle errors with try/catch
  • Test thoroughly
  • Use for complex logic only

DON'T:

  • Write overly complex code
  • Skip error handling
  • Use when simpler nodes suffice
  • Forget to save to $output

Common Use Cases:

Parse JSON:

const data = JSON.parse('{{api_response}}');
$output.name = data.user.name;
$output.email = data.user.email;

Calculate Total:

const subtotal = parseFloat('{{subtotal}}');
const tax = subtotal * 0.08;
const total = subtotal + tax;

$output.tax = tax.toFixed(2);
$output.total = total.toFixed(2);

Format Date:

const date = new Date('{{timestamp}}');
$output.formatted_date = date.toLocaleDateString();
$output.formatted_time = date.toLocaleTimeString();

⬆ Back to Top


node_link_generator

Purpose: Creates shortened URLs or tracked links from long URLs.

When to Use:

  • Shorten long URLs
  • Create trackable links
  • Generate branded links
  • Simplify URL sharing

Configuration Settings:

FieldDescriptionRequired
Input TextLong URL to shorten✅ Yes
Base PathBase URL for short link❌ No
Short CodeCustom short code❌ No
Output VariableVariable to store shortened URL✅ Yes

Setup Steps:

  1. Add Link Generator node to workflow
  2. Enter long URL in Input Text
  3. Set Base Path if using custom domain
  4. Set Short Code for custom short URL
  5. Set Output Variable to store result

Best Practices:

DO:

  • Use descriptive short codes
  • Track link clicks
  • Use HTTPS
  • Test generated links

DON'T:

  • Create duplicate short codes
  • Use special characters in codes
  • Forget to set output variable

Common Use Cases:

Shorten Long URL:

Input: https://example.com/very/long/path/to/content?param1=value&param2=value
Output: https://short.link/abc123

Branded Link:

Base Path: https://yourbrand.com
Short Code: summer-sale
Output: https://yourbrand.com/summer-sale

⬆ Back to Top


End Node

node_end

Purpose: Terminates workflow execution after a specified delay.

When to Use:

  • Gracefully end workflows
  • Close conversations after resolution
  • Add delay before ending
  • Clean up workflow

Configuration Settings:

FieldDescriptionRequired
SecondsDelay before ending (in seconds)✅ Yes

Setup Steps:

  1. Add End node where workflow should terminate
  2. Set delay in Seconds field
  3. Workflow ends after delay

Best Practices:

DO:

  • Use at logical endpoints
  • Add brief delay for final messages
  • Clean up before ending

DON'T:

  • End workflows abruptly
  • Use long delays before ending
  • Leave workflows hanging

Common Use Cases:

Graceful Closure:

Send Thank You Message

End (5 seconds delay)

Quick End:

Complete Transaction

End (0 seconds)

⬆ Back to Top


🔄 Loop

Quick Jump: ↑ Top | ← Built-in Tools

Iterate over data, repeat actions, and control loop execution.


Loop Node

node_loop_configuration

Purpose: Repeats workflow actions multiple times or iterates over a dataset.

When to Use:

  • Process arrays of data
  • Repeat actions N times
  • Iterate over list items
  • Batch processing
  • Retry logic with counter

Configuration Tab

node_loop_configuration

Configuration Settings:

FieldDescriptionRequired
Max CountMaximum number of iterations✅ Yes

Setup Steps:

  1. Add Loop node to start of loop
  2. Set Max Count (maximum iterations)
  3. Add actions to perform in loop
  4. Add Break Loop or Continue Loop for control
  5. Loop exits when count reached

Advanced Settings Tab

node_loop_advanced

Variable Configuration:

FieldDescriptionRequired
Loop VariableArray or list to iterate over❌ No
Counter VariableVariable to store current iteration count❌ No
Output VariableVariable to store loop results❌ No

Setup Steps:

  1. Switch to Advanced Settings tab
  2. Set Loop Variable (array to iterate)
  3. Set Counter Variable (tracks iteration)
  4. Set Output Variable (stores results)

How It Works:

  • Loop Variable: Array of items to process
  • Counter Variable: Current iteration number (0, 1, 2...)
  • Output Variable: Accumulated results

Best Practices:

DO:

  • Set reasonable max count
  • Use counter variable for tracking
  • Handle loop exit conditions
  • Process data efficiently

DON'T:

  • Create infinite loops
  • Set max count too high
  • Process large datasets without limits
  • Forget to break loop when needed

Common Use Cases:

Process Array:

Loop Variable: {{customer_list}}
Counter Variable: index
Max Count: 100

For each customer:
- Send email
- Update record

Retry Logic:

Max Count: 3
Counter Variable: attempt

Loop:
- Try API call
- If success → Break Loop
- If failure → Continue Loop

Batch Processing:

Loop Variable: {{orders}}
Max Count: 50

For each order:
- Process payment
- Send confirmation
- Continue to next

⬆ Back to Top


Continue Loop Node

node_continue_loop

Purpose: Skips remaining actions in current iteration and continues to next iteration.

When to Use:

  • Skip invalid items
  • Skip to next iteration conditionally
  • Filter items during processing
  • Handle errors and continue

Configuration Settings:

FieldDescriptionRequired
LabelLoop label to continue✅ Yes
ConditionWhen to continue (optional)❌ No

Condition Settings:

  • Add conditions to determine when to continue
  • Multiple conditions with AND logic
  • Only continues if conditions match

Setup Steps:

  1. Inside loop, add Continue Loop node
  2. Select Label (which loop to continue)
  3. Add Condition if conditional continue needed
  4. Remaining actions in iteration are skipped

Best Practices:

DO:

  • Use for filtering invalid data
  • Add clear conditions
  • Document why skipping
  • Handle edge cases

DON'T:

  • Overuse (consider filtering before loop)
  • Create complex conditions
  • Skip without reason

Common Use Cases:

Skip Invalid Items:

Loop through items

If item is null
→ Continue Loop (skip this item)

Process valid item

Filter During Processing:

Loop through customers

If customer.status != "active"
→ Continue Loop

Send email to active customer

⬆ Back to Top


Break Loop Node

node_break_loop

Purpose: Exits loop immediately, stopping all further iterations.

When to Use:

  • Exit when condition is met
  • Stop on error
  • Exit after finding item
  • Limit processing time

Configuration Settings:

FieldDescriptionRequired
LabelLoop label to break✅ Yes
ConditionWhen to break (optional)❌ No

Condition Settings:

  • Add conditions to determine when to break
  • Multiple conditions with AND logic
  • Only breaks if conditions match

Setup Steps:

  1. Inside loop, add Break Loop node
  2. Select Label (which loop to break)
  3. Add Condition if conditional break needed
  4. Loop exits immediately when triggered

Best Practices:

DO:

  • Use for early exit conditions
  • Break on critical errors
  • Break when goal achieved
  • Document exit conditions

DON'T:

  • Break without cleanup
  • Use instead of proper condition checking
  • Forget to handle post-loop logic

Common Use Cases:

Find First Match:

Loop through items

If item matches criteria
→ Break Loop (found it!)

Process matched item

Error Handling:

Loop through API calls

If error occurs
→ Break Loop

Handle error after loop

Limit Processing:

Loop through large dataset

If processed 100 items
→ Break Loop

⬆ Back to Top


Additional Resources

Need Help?

  • Contact StreamSpace Studio support
  • Visit the documentation portal
  • Join the community forum

Related Guides:

  • Workflow Builder Guide
  • Best Practices for Node Configuration
  • Advanced Workflow Patterns
  • Troubleshooting Common Issues