ELONIQ / ELONIQ Handbook
Deutsch English Français
Overview / Automation / Chains — Workflow Automation

Chains — Workflow Automation

Visual workflow engine for complex automation scenarios

Chains enables you to design and execute complex automation workflows visually. Available for document processing, ELO integration, classification, export and more.

Overview

Chains is a fully integrated workflow automation engine for ELONIQ. With it, you can:

  • Model complex multi-step processes visually
  • Automate document routing and processing between systems
  • Integrate AI-based classification and extraction
  • Configure error handling and retries
  • Trigger workflows via events (file upload, webhook, schedule)
  • Orchestrate multiple DMS/ERP systems (ELO, SharePoint, databases, REST APIs)
Core Features
  • Visual Editor — Drag-and-drop node editor with live preview
  • 10+ Node Types — Action, Decision, Loop, AI, Parallel, Try/Catch, Delay, User-Task, etc.
  • Module Integrations — Direct actions for elobase, eloimporter, documentclassifier, database, and more
  • AI Tools — LLM-powered text classification, extraction, summarization
  • Variables & Templating — Global variables, {{dot-notation}}, data flow tracking
  • Error Handling — Retry logic, Try/Catch blocks, conditional branches
  • Monitoring — Complete run history, logs, performance metrics

Features

Node Types
  • Trigger/Start — Initiates a chain run
  • Action — Executes module-specific operations
  • Decision — Conditional branching (if/else)
  • Loop — Iteration over arrays/results
  • Parallel — Concurrent execution of multiple branches
  • AI — Claude LLM with tools and prompts
  • User Task — Manual approval/input
  • Delay — Waits for a specified time
  • Try/Catch — Error handling with fallback
  • End — Terminal node
Available Module Actions

Each module registers specific actions. See Actions Reference below.

Usage

Step 1: Create Chain
  1. Navigate to Automation > Chains
  2. Click New Chain or From Template
  3. Enter name and description
  4. Click Create
Step 2: Build Chain Logic
  1. Click Edit to open visual editor
  2. Add a Start Node if not present
  3. Click Add Node and select type + module
  4. Configure parameters (template variables supported: {{variable}})
  5. Connect nodes with edges — drag from output to input
Step 3: Configure Triggers
  1. Open Triggers tab in editor
  2. Click Add Trigger
  3. Select type (File Watcher, Webhook, Schedule, Manual)
  4. Configure conditions (e.g. file patterns, cron)
Step 4: Test
  1. Click Test to run a test execution
  2. Review logs and variables in run history
  3. Iterate until behavior matches expectations
Step 5: Activate & Monitor
  1. Mark chain as Active
  2. Click Save
  3. Monitor executions in Run History

Best Practices

  • Small, focused chains — Break large workflows into smaller chains; use invoke_chain AI tool to orchestrate
  • Error handling — Use Try/Catch or Decision nodes to handle errors. Never silently ignore failures.
  • Logging — Use log actions to store debug information. Helps troubleshoot later.
  • Variable naming — Use descriptive names: source_file, elo_obj_id, dc_fields. Follow conventions.
  • Timeouts — Set timeouts on long operations (classification, upload): timeout: "5m"
  • Retry strategies — Use retry for transient errors (network, timeouts), not for logic errors
  • Variable expansion in paths — Avoid hardcoded paths; use {{variable}} substitution for flexibility
  • Test before production — Test with real (but test) documents before activation

Examples

Example 1: File Import + Classification + Archive
Start (File Watcher: *.pdf in /inbox)
  ↓
classify_manual_fallback Chain
  ├→ documentclassifier.classify
  └→ Decision: dc_confidence >= 0.9?
       ├→ [Yes] elobase.upload → elobase.update_metadata
       └→ [No] send_mail ("Manual review required")
Example 2: ERP Data Enrichment
Start (Webhook: /chain/enrich)
  ↓
database.query (SELECT * FROM customers WHERE id = {{customer_id}})
  ↓
elobase.update_metadata (with db_result_first fields)
  ↓
send_discord (Status: "Successfully enriched")
Example 3: Parallel Processing
Start (Webhook: /export)
  ↓
Parallel Node:
  ├→ Branch 1: eloexporter.export_document → store PDF
  ├→ Branch 2: elometadata.update_from_source → sync ERP
  └→ Branch 3: database.query → update log table
  ↓
End ("All branches completed")