Skip to main content

Workflow Types

interface WorkflowConfig {
  id: string;
  name?: string;
  description?: string;
  inputSchema: z.ZodSchema;
  outputSchema: z.ZodSchema;
  steps: WorkflowStep[];
  options?: WorkflowOptions;
}

interface WorkflowStep {
  id: string;
  name?: string;
  description?: string;
  type: 'agent' | 'function' | 'connector' | 'condition' | 'parallel';
  config: StepConfig;
  inputTransform?: (previousOutput: any, workflowInput: any) => any;
  outputTransform?: (stepOutput: any) => any;
  condition?: (context: WorkflowContext) => boolean;
  retryConfig?: RetryConfig;
}

interface RetryConfig {
  maxAttempts: number;
  backoff: 'fixed' | 'exponential' | 'linear';
  delay: number;
  retryableErrors?: string[];
}

Next Steps