Skip to main content

Workflows

Build AI-powered process automation with visual workflow design.

Overview

Workflows combine AI, integrations, and human tasks to automate business processes:
  • Visual builder — Drag-and-drop workflow design
  • AI-powered — Built-in AI nodes for text, image, and document processing
  • Human-in-the-loop — Route decisions to humans when needed
  • Scalable — Handle high-volume processing

Workflow Builder

Canvas

The workflow canvas provides:
FeatureDescription
Node paletteDrag nodes onto canvas
ConnectionsConnect nodes to define flow
ConfigurationClick nodes to configure
Zoom/panNavigate large workflows
Undo/redoRevert changes

Building Workflows

  1. Add Start node — Define trigger and input
  2. Add processing nodes — AI, logic, integration
  3. Connect nodes — Define execution flow
  4. Add End node — Define output
  5. Test — Run with sample data
  6. Deploy — Make available for use

Create Workflow

Basic Configuration

Workflow: Invoice Processor
Description: Extracts data from invoices and updates accounting system
Version: 1.0
Tags:
  - finance
  - automation

Input Schema

Define expected input:
Input Schema:
  type: object
  properties:
    document_url:
      type: string
      format: uri
      description: URL of invoice document
    vendor_id:
      type: string
      description: Vendor identifier
  required:
    - document_url

Output Schema

Define workflow output:
Output Schema:
  type: object
  properties:
    invoice_number:
      type: string
    amount:
      type: number
    due_date:
      type: string
      format: date
    line_items:
      type: array
      items:
        type: object

Triggers

API Trigger

Expose workflow as API endpoint:
Trigger: API
Endpoint: /workflows/invoice-processor/run
Method: POST
Authentication: api_key
Rate limit: 100/minute
Call the workflow:
curl -X POST https://api.kore.ai/workflows/invoice-processor/run \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "document_url": "https://storage.example.com/invoice.pdf",
    "vendor_id": "V-12345"
  }'

Schedule Trigger

Run on a schedule:
Trigger: Schedule
Cron: "0 9 * * *"  # Daily at 9 AM
Timezone: America/New_York
Input:
  source: data_table
  query: "SELECT * FROM pending_documents"

Event Trigger

Trigger on platform events:
Trigger: Event
Source: file_upload
Conditions:
  - file_type: pdf
  - folder: /invoices

Manual Trigger

Run from UI:
Trigger: Manual
Input form:
  - field: document
    type: file_upload
    label: "Upload Invoice"
  - field: vendor
    type: dropdown
    label: "Select Vendor"
    options_from: vendors_table

Workflow Patterns

Sequential Processing

Linear flow through nodes:
[Input] → [Process A] → [Process B] → [Process C] → [Output]

Parallel Processing

Execute branches simultaneously:
                    ┌─► [Branch A] ─┐
[Input] → [Split] ─┼─► [Branch B] ─┼─► [Merge] → [Output]
                    └─► [Branch C] ─┘

Conditional Branching

Route based on conditions:
                         ┌─► [Path A] ─┐
[Input] → [Condition] ───┼─► [Path B] ─┼─► [Output]
                         └─► [Path C] ─┘

Loop Processing

Iterate over collections:
[Input] → [Loop Start] → [Process Item] → [Loop End] → [Output]
              ▲                               │
              └───────────────────────────────┘

Sharing & Permissions

Workflow Permissions

RolePermissions
OwnerFull control, delete
EditorModify workflow
RunnerExecute workflow
ViewerView only

Share Workflow

Sharing:
  team_access:
    - team: Finance
      role: runner
    - team: Engineering
      role: editor
  user_access:
    - user: jane@company.com
      role: owner

Deployment

Environments

EnvironmentPurpose
DevelopmentBuilding and testing
StagingPre-production validation
ProductionLive execution

Deploy Process

  1. Test workflow in development
  2. Create version snapshot
  3. Deploy to staging
  4. Validate with test data
  5. Promote to production

Version Management

Version: 2.1.0
Changes:
  - Added validation step
  - Updated prompt template
  - Fixed error handling
Created: 2024-01-15
Deployed to:
  - staging: 2024-01-15
  - production: 2024-01-16

Monitoring

Workflow Monitor

Track workflow executions:
MetricDescription
ExecutionsTotal runs
Success rate% completed successfully
Avg durationAverage execution time
FailuresFailed executions
In progressCurrently running

Execution Logs

View detailed execution history:
Execution: exec-abc123
Status: completed
Duration: 45s
Started: 2024-01-15 10:30:00
Completed: 2024-01-15 10:30:45

Node Executions:
├── start_node: success (0.1s)
├── ai_extract: success (12.5s)
├── human_review: success (30.2s)
├── api_call: success (2.1s)
└── end_node: success (0.1s)

Alerts

Configure alerts for:
  • Workflow failures
  • High error rates
  • Long execution times
  • Queue backlogs

Guardrails

Input Validation

Validate input before processing:
Guardrails:
  input_validation:
    - rule: document_url must be https
    - rule: vendor_id must exist in vendors table
  on_failure: reject_with_error

Output Validation

Validate output before returning:
Guardrails:
  output_validation:
    - rule: amount must be positive
    - rule: invoice_number must match pattern
  on_failure: route_to_human_review

Rate Limiting

Protect external systems:
Guardrails:
  rate_limits:
    - node: api_call
      limit: 10/second
    - workflow: overall
      limit: 100/minute

Best Practices

Design

  • Keep workflows focused on single processes
  • Use sub-workflows for reusable components
  • Add clear descriptions and documentation
  • Design for failure with error handling

Testing

  • Test with realistic data
  • Test edge cases and error scenarios
  • Validate human task flows
  • Load test before production

Operations

  • Monitor execution metrics
  • Set up alerts for failures
  • Review logs regularly
  • Version and document changes