Node Types
Orchka provides a variety of node types organized into categories. Each node serves a specific purpose in your workflow.
Triggers
Triggers are the starting points of your workflows. They define when and how a workflow begins execution.
Manual Trigger
The default trigger that allows manual execution of workflows.
Type: MANUAL_TRIGGER
Category: TriggersUse Cases:
- Testing workflows during development
- On-demand automation tasks
- Debugging and troubleshooting
Webhook Trigger
Starts a workflow when an HTTP request is received.
Type: WEBHOOK_TRIGGER
Category: TriggersConfiguration:
- URL: The unique webhook endpoint
- Method: HTTP method to accept (GET, POST, etc.)
- Headers: Expected headers for validation
Actions
Action nodes perform operations and can transform data.
HTTP Request
Makes HTTP requests to external APIs and services.
Type: HTTP_REQUEST
Category: ActionsConfiguration:
| Field | Description |
|---|---|
| URL | Target endpoint |
| Method | GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD |
| Headers | Request headers (with enable/disable toggle) |
| Body | Request body (JSON, text, form-data, x-www-form-urlencoded) |
| Auth | None, Bearer, Basic, API Key, or Credential |
Authentication Options:
| Type | Description |
|---|---|
| None | No authentication |
| Bearer | Authorization: Bearer <token> |
| Basic | Authorization: Basic <base64> |
| API Key | Custom header with API key |
| Credential | Use a stored credential |
Advanced Settings:
- Timeout: Request timeout in milliseconds (default: 30000)
- Follow Redirects: Automatically follow HTTP redirects
- Retry on Failure: Retry failed requests with exponential backoff
- Max Retries: Maximum retry attempts (default: 3)
AI
AI nodes leverage large language models for intelligent automation.
AI Agent
Executes AI-powered tasks with tool calling capabilities.
Type: AI_AGENT
Category: AIConfiguration:
- Model: AI model to use
- Credential: Stored credential for the AI provider (optional)
- System Prompt: Instructions for the AI agent
- Tools: Connected AI Tool nodes for function calling
Supported Providers:
- OpenAI (GPT-4.1, GPT-4o, o1, o3)
- Anthropic (Claude Sonnet 4, Claude 3.7, Claude 3.5 Haiku)
- Google (Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.0 Flash)
Authentication: You can authenticate with AI providers in two ways:
- Stored Credentials (recommended): Select a credential from the dropdown
- Environment Variables: Set
OPENAI_API_KEY,ANTHROPIC_API_KEY, etc.
AI Generate
Simple text generation using AI models.
Type: AI_GENERATE
Category: AIConfiguration:
- Model: AI model to use
- Credential: Stored credential for the AI provider
- System Prompt: Instructions for generation
- Prompt/Input Variable: Text to process
- Temperature: Creativity level (0-2)
- Max Tokens: Maximum output length
Use Cases:
- Content creation
- Summarization
- Translation
- Text transformation
AI Classify
Classify content into predefined categories.
Type: AI_CLASSIFY
Category: AIConfiguration:
- Model: AI model to use
- Categories: Classification options with labels and descriptions
- Include Confidence: Add confidence score (0-1)
- Include Reasoning: Add explanation for classification
Built-in Templates:
- Sentiment Analysis (positive/negative/neutral)
- Intent Detection (question/request/complaint/feedback)
- Priority Classification (urgent/high/medium/low)
- Spam Detection (spam/not_spam)
AI Tool
Defines a tool that can be used by AI Agent nodes.
Type: AI_TOOL
Category: AIConfiguration:
- Name: Tool identifier
- Description: What the tool does (used by AI)
- Parameters: JSON Schema for tool inputs
- Implementation: The action to perform
Control
Control nodes manage the flow of execution.
Condition (If)
Branches workflow based on an expression.
Type: CONDITION
Category: ControlConfiguration:
- Expression: JSONata expression that evaluates to boolean
- True Branch: Path when expression is true
- False Branch: Path when expression is false
Example Expressions:
$input.status = "success"
$input.count > 10
$exists($input.email)Wait
Pauses workflow execution for a specified duration or until a specific time.
Type: WAIT
Category: ControlConfiguration:
| Mode | Fields | Description |
|---|---|---|
| Duration | value, unit | Wait for a fixed time period |
| Until | timestamp | Wait until a specific date/time |
Duration Units: seconds, minutes, hours, days
Example - Duration Mode:
{
"mode": "duration",
"duration": {
"value": 5,
"unit": "minutes"
}
}Example - Until Mode:
{
"mode": "until",
"until": "{{ $input.scheduledTime }}"
}Loop
Iterates over an array of items or a fixed count.
Type: LOOP
Category: ControlConfiguration:
| Mode | Fields | Description |
|---|---|---|
| Array | arrayExpression | Iterate over each element |
| Count | count | Iterate N times |
Loop Context Variables:
$item- Current item in the iteration$index- Current index (0-based)$total- Total number of items
Example - Array Mode:
{
"mode": "array",
"arrayExpression": "{{ $input.users }}"
}Example - Count Mode:
{
"mode": "count",
"count": 10
}Switch
Routes workflow execution based on matching a value against multiple cases.
Type: SWITCH
Category: ControlConfiguration:
- Expression: Value to evaluate and match
- Cases: Array of value/label pairs to match against
- Default: Fallback when no case matches
Example Configuration:
{
"expression": "{{ $input.status }}",
"cases": [
{ "id": "case-1", "value": "pending", "label": "Pending" },
{ "id": "case-2", "value": "approved", "label": "Approved" },
{ "id": "case-3", "value": "rejected", "label": "Rejected" }
]
}Output Handles:
- One handle per case (connects to case-specific logic)
- Default handle (when no case matches)