Squillo · Schema

Squillo Workflow

A workflow automation definition in the Squillo SaaU platform

Integration PlatformAutomationWorkflowNo-CodeIT Process AutomationSoftware As A Utility

Properties

Name Type Description
id string Unique workflow identifier
name string Human-readable workflow name
description string Optional workflow description
status string Current workflow status
createdAt string
updatedAt string
tags array
trigger object
steps array
View JSON Schema on GitHub

JSON Schema

squillo-workflow-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://squillo.io/schemas/workflow",
  "title": "Squillo Workflow",
  "description": "A workflow automation definition in the Squillo SaaU platform",
  "type": "object",
  "required": ["id", "name", "status"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique workflow identifier"
    },
    "name": {
      "type": "string",
      "description": "Human-readable workflow name",
      "minLength": 1,
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "description": "Optional workflow description"
    },
    "status": {
      "type": "string",
      "enum": ["active", "inactive", "draft"],
      "description": "Current workflow status"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "trigger": {
      "$ref": "#/$defs/Trigger"
    },
    "steps": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/WorkflowStep"
      }
    }
  },
  "$defs": {
    "Trigger": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["webhook", "schedule", "manual", "event"],
          "description": "Trigger type"
        },
        "config": {
          "type": "object",
          "description": "Trigger-specific configuration (cron expression, webhook URL, etc.)"
        }
      },
      "required": ["type"]
    },
    "WorkflowStep": {
      "type": "object",
      "required": ["id", "name", "type"],
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": ["action", "condition", "loop", "delay", "transform"]
        },
        "connectorId": {
          "type": "string",
          "description": "ID of the connector used by this step"
        },
        "action": {
          "type": "string",
          "description": "Connector action to perform"
        },
        "inputMapping": {
          "type": "object",
          "description": "Input field mappings from previous step outputs"
        },
        "outputMapping": {
          "type": "object",
          "description": "Output field mappings for downstream steps"
        }
      }
    },
    "Execution": {
      "type": "object",
      "required": ["id", "workflowId", "status"],
      "properties": {
        "id": {
          "type": "string"
        },
        "workflowId": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": ["running", "success", "failed", "cancelled"]
        },
        "startedAt": {
          "type": "string",
          "format": "date-time"
        },
        "completedAt": {
          "type": ["string", "null"],
          "format": "date-time"
        },
        "triggeredBy": {
          "type": "string",
          "enum": ["manual", "schedule", "webhook", "event"]
        }
      }
    }
  }
}