Complete API surface of the Beep.Skia.Model assembly: 67 public types with their documented members. Follow the family guide for usage patterns.

Types in this assembly

CacheMode (enum)

ColumnDefinition (class)

Describes a single column/attribute for ERD entities and ETL schemas.

MemberKindDescription
Guid IdPropertyGets or sets the id.
string NamePropertyGets or sets the name.
string DataTypePropertyGets or sets the data type.
bool IsPrimaryKeyPropertyGets or sets the is primary key.
bool IsForeignKeyPropertyGets or sets the is foreign key.
bool IsNullablePropertyGets or sets the is nullable.
string DefaultValuePropertyGets or sets the default value.
string DescriptionPropertyGets or sets the description.

ComponentPriority (enum)

Defines the priority levels for component rendering and updates.

ComponentShape (enum)

Specifies the shape of a workflow component.

ComponentState (enum)

Represents the different states a component can be in during its lifecycle.

ConnectionArgs (class)

Provides event arguments for connection-related events involving a single connection point.

MemberKindDescription
IConnectionPoint IConnectionPointPropertyGets the connection point involved in the event.
ConnectionArgs(IConnectionPoint iConnectionPoint)MethodInitializes a new instance of the ConnectionArgs class. The connection point involved in the event.

ConnectionDefinition (class)

Represents a connection between two nodes in a workflow.

MemberKindDescription
ConnectionDefinition(string id, string sourceNodeId, string targetNodeId)MethodInitializes a new instance of the ConnectionDefinition class. The unique identifier for the connection. The ID of the source node. The ID of the target node.
string IdPropertyGets the unique identifier for the connection.
string SourceNodeIdPropertyGets the ID of the source node.
string TargetNodeIdPropertyGets the ID of the target node.
string SourceOutputPropertyGets or sets the name of the output from the source node.
string TargetInputPropertyGets or sets the name of the input to the target node.
string ConditionPropertyGets or sets the condition that must be met for this connection to be followed.
string LabelPropertyGets or sets the label to display on this connection.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about this connection.
bool IsEnabledPropertyGets or sets a value indicating whether this connection is enabled.
ValidationResult Validate()MethodValidates this connection definition for correctness. A validation result indicating any issues found.
ConnectionDefinition Clone(string newId = null)MethodCreates a copy of this connection definition. Optional new ID for the copied connection. A new ConnectionDefinition instance that is a copy of this one.

ConnectionEventArgs (class)

Provides event arguments for connection events between connection points.

MemberKindDescription
IConnectionPoint SourceIConnectionPointPropertyGets the source connection point of the connection.
IConnectionPoint TargetIConnectionPointPropertyGets the target connection point of the connection.
ConnectionEventArgs(IConnectionPoint sourceIConnectionPoint, IConnectionPoint targetIConnectionPoint)MethodInitializes a new instance of the ConnectionEventArgs class. The source connection point. The target connection point.

ConnectionPoint (class)

Represents a simple connection point for automation nodes.

MemberKindDescription
ConnectionPointType TypePropertyGets or sets the type of this connection point (Input or Output).
string NamePropertyGets or sets the name of this connection point.
string DataTypePropertyGets or sets the data type expected/provided by this connection point.
bool IsRequiredPropertyGets or sets whether this connection point is required.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata for this connection point.

ConnectionPointType (enum)

Specifies the type of a connection point (input or output).

DataFlowDirection (enum)

Direction of animated data flow.

DataQualityRule (class)

Represents a data quality validation rule for ETL processing.

MemberKindDescription
string NamePropertyGets or sets the name.
string ColumnNamePropertyGets or sets the column name.
RuleType TypePropertyGets or sets the type.
string ExpressionPropertyGets or sets the expression.
string ErrorMessagePropertyGets or sets the error message.
bool StopOnErrorPropertyGets or sets the stop on error.

DataType (enum)

Specifies the data type for workflow variables and parameters.

DerivedColumnDefinition (class)

Represents a derived column definition for ETL transformations.

MemberKindDescription
string NamePropertyGets or sets the name.
string ExpressionPropertyGets or sets the expression.
string DataTypePropertyGets or sets the data type.
string DescriptionPropertyGets or sets the description.

DrawingContext (class)

Provides context information for drawing operations.

MemberKindDescription
float ZoomPropertyGets or sets the current zoom level.
SKPoint PanOffsetPropertyGets or sets the current pan offset.
object ThemePropertyGets or sets the current theme or style information.
SKRect BoundsPropertyGets or sets the visible bounds for clipping and optimization.
SKCanvas CanvasPropertyGets or sets the canvas being drawn on.
SKPoint MousePositionPropertyGets or sets the current mouse position.
object ParentPropertyGets or sets the parent component.
Dictionary<string, object> DataPropertyGets or sets additional context data.

ERDMultiplicity (enum)

ERD multiplicity markers to draw at each end of a connection. Unspecified means no ERD-specific markers are rendered at that end.

ExecutionContext (class)

Provides execution context for automation nodes including input data, workflow state, and execution environment.

MemberKindDescription
ExecutionContext(string workflowId, string executionId)MethodInitializes a new instance of the ExecutionContext class. The ID of the workflow being executed. The unique ID for this execution instance.
string WorkflowIdPropertyGets the ID of the workflow being executed.
string ExecutionIdPropertyGets the unique ID for this execution instance.
DateTime StartTimePropertyGets the time when this execution context was created.
Dictionary<string, object> DataPropertyGets or sets the input data for the current node execution.
Dictionary<string, object> VariablesPropertyGets or sets the workflow variables accessible to all nodes.
Dictionary<string, object> MetadataPropertyGets or sets metadata about the execution environment.
List<object> PreviousResultsPropertyGets or sets the results from previous nodes in the workflow execution.
string UserIdPropertyGets or sets the user ID who initiated the workflow execution.
ExecutionPriority PriorityPropertyGets or sets the execution priority.
bool IsDebugModePropertyGets or sets a value indicating whether the execution is in debug mode.
TimeSpan? TimeoutPropertyGets or sets the maximum execution timeout.
ExecutionContext CreateChild(Dictionary<string, object> newData = null)MethodCreates a copy of the current execution context with optionally modified data. New data to replace the current data, or null to keep existing data. A new ExecutionContext instance with the specified modifications.
T GetData<T>(string key, T defaultValue = default)MethodGets a strongly typed value from the data dictionary. The type to cast the value to. The key to look up. The default value to return if the key is not found. The value cast to the specified type, or the default value.
void SetData(string key, object value)MethodSets a value in the data dictionary. The key to set. The value to set.
T GetVariable<T>(string key, T defaultValue = default)MethodGets a strongly typed variable value. The type to cast the value to. The key to look up. The default value to return if the key is not found. The variable value cast to the specified type, or the default value.
void SetVariable(string key, object value)MethodSets a workflow variable value. The key to set. The value to set.

ExecutionPriority (enum)

Specifies the execution priority of a workflow or node.

FlowAnimationStyle (enum)

Animation style for data flow visualization (LinkedIn infographic style).

ForeignKeyDefinition (class)

Describes a foreign key constraint from one ERD entity to another.

MemberKindDescription
string NamePropertyGets or sets the name.
List<string> ColumnsPropertyLocal column names forming the FK (order matters for composites).
string ReferencedEntityPropertyReferenced entity/table name. Use Schema.Target for fully-qualified if needed.
List<string> ReferencedColumnsPropertyReferenced column names (order must match Columns).
string OnDeletePropertyOn delete behavior (e.g., NO ACTION, CASCADE, SET NULL). Free-form for now.
string OnUpdatePropertyOn update behavior (e.g., NO ACTION, CASCADE, SET NULL). Free-form for now.

GroupBoxBorderStyle (enum)

Specifies the border style of a group box.

IAutomationNode (interface)

Represents a node in a workflow automation system that can execute actions, validate inputs, and handle state. This interface extends the visual component system to support executable workflow logic.

IConnectionLine (interface)

Represents a connection line between two workflow components in a Skia-based diagram. Connection lines can have arrows, labels, and support animation.

IConnectionPoint (interface)

Represents a connection point on a workflow component that can be used to create connections between components. Connection points can be either input or output points and support different shapes.

IDrawableComponent (interface)

Generic interface for drawable components that can be rendered on a Skia canvas. This interface provides the basic contract for any visual component in the Beep.Skia platform.

IndexDefinition (class)

Describes a database index for an ERD entity/table.

MemberKindDescription
string NamePropertyGets or sets the name.
bool IsUniquePropertyGets or sets the is unique.
List<string> ColumnsPropertyOrdered list of column names participating in the index.
string WherePropertyOptional free-form filter/predicate for filtered indexes (dialect-specific).

InteractionContext (class)

Provides context information for user interaction operations.

MemberKindDescription
SKPoint MousePositionPropertyGets or sets the current mouse position.
int MouseButtonPropertyGets or sets the mouse button that was pressed.
int ModifiersPropertyGets or sets modifier keys that were pressed during the interaction.
bool IsControlPressedPropertyGets a value indicating whether the Control key was pressed during the interaction.
bool IsShiftPressedPropertyGets a value indicating whether the Shift key was pressed during the interaction.
bool IsAltPressedPropertyGets a value indicating whether the Alt key was pressed during the interaction.
SKRect BoundsPropertyGets the visible bounds for interaction checking.
Dictionary<string, object> DataPropertyGets or sets additional context data.

ITrigger (interface)

Represents a trigger that can initiate workflow execution based on events or conditions. Triggers monitor external systems and activate workflows when specific conditions are met.

IWorkflowEngine (interface)

Represents a workflow engine that can execute automation workflows with nodes and connections. The engine manages workflow lifecycle, execution scheduling, and state management.

LabelPlacement (enum)

Where to place a label relative to the line.

LineArgs (class)

Provides event arguments for line-related events involving connection points and lines.

MemberKindDescription
IConnectionPoint SourceIConnectionPointPropertyGets the source connection point of the line.
IConnectionPoint TargetIConnectionPointPropertyGets the target connection point of the line.
IConnectionLine ConnectionLinePropertyGets the connection line associated with the event.
LineArgs(IConnectionPoint sourceIConnectionPoint, IConnectionPoint targetIConnectionPoint, IConnectionLine connectionLine)MethodInitializes a new instance of the LineArgs class. The source connection point. The target connection point. The connection line.

LineRoutingMode (enum)

Routing modes for connection lines.

LineStatus (enum)

Status indicator shown on the line (e.g., spinner at midpoint).

LogicalOperator (enum)

Logical operator for combining conditions in ConditionalNode.

LookupConfiguration (class)

Represents a lookup configuration for ETL enrichment.

MemberKindDescription
string ReferenceSourcePropertyGets or sets the reference source.
List<string> MatchColumnsPropertyGets or sets the match columns.
List<string> ReturnColumnsPropertyGets or sets the return columns.
CacheMode CacheModePropertyGets or sets the cache mode.
bool FailOnNoMatchPropertyGets or sets the fail on no match.

MouseButton (enum)

Specifies mouse button identifiers.

NodeDefinition (class)

Represents the definition of a single node within a workflow.

MemberKindDescription
NodeDefinition(string id, string name, NodeType nodeType, string componentType)MethodInitializes a new instance of the NodeDefinition class. The unique identifier for the node. The display name of the node. The type of the node. The component type for creating the automation node.
string IdPropertyGets the unique identifier for the node.
string NamePropertyGets or sets the display name of the node.
string DescriptionPropertyGets or sets the description of what this node does.
NodeType NodeTypePropertyGets the type of this node.
string ComponentTypePropertyGets the component type used to create the automation node instance.
Dictionary<string, object> ConfigurationPropertyGets or sets the configuration parameters for this node.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about this node.
Dictionary<string, object> InputSchemaPropertyGets or sets the schema defining the input parameters this node expects.
Dictionary<string, object> OutputSchemaPropertyGets or sets the schema defining the output parameters this node produces.
SKPoint PositionPropertyGets or sets the position of this node on the workflow canvas.
SKSize SizePropertyGets or sets the size of this node on the workflow canvas.
bool IsEnabledPropertyGets or sets a value indicating whether this node is enabled for execution.
TimeSpan? ExecutionTimeoutPropertyGets or sets the execution timeout for this specific node.
RetryPolicy RetryPolicyPropertyGets or sets the retry policy for this node if execution fails.
ValidationResult Validate()MethodValidates this node definition for correctness. A validation result indicating any issues found.
NodeDefinition Clone(string newId = null)MethodCreates a copy of this node definition. Optional new ID for the copied node. A new NodeDefinition instance that is a copy of this one.

NodeErrorEventArgs (class)

Provides data for automation node error events.

MemberKindDescription
NodeErrorEventArgs(string nodeId, Exception exception, string errorMessage = null)MethodInitializes a new instance of the NodeErrorEventArgs class. The ID of the node where the error occurred. The exception that caused the error. A descriptive error message.
string NodeIdPropertyGets the ID of the automation node where the error occurred.
Exception ExceptionPropertyGets the exception that caused the error.
string ErrorMessagePropertyGets the descriptive error message.
DateTime TimestampPropertyGets the timestamp when the error occurred.
bool HandledPropertyGets or sets a value indicating whether the error was handled.
Dictionary<string, object> AdditionalDataPropertyGets or sets additional error context data.

NodeExecution (class)

Represents the execution of a single node within a workflow.

MemberKindDescription
NodeExecution(string nodeId, string executionId)MethodInitializes a new instance of the NodeExecution class. The ID of the node being executed. The workflow execution ID.
string NodeIdPropertyGets the ID of the node being executed.
string ExecutionIdPropertyGets the workflow execution ID.
NodeStatus StatusPropertyGets or sets the current status of the node execution.
DateTime CreatedTimePropertyGets the time when the node execution was created.
DateTime? StartTimePropertyGets or sets the time when the node execution started.
DateTime? EndTimePropertyGets or sets the time when the node execution completed.
TimeSpan? ExecutionTimePropertyGets the execution time for this node.
NodeResult ResultPropertyGets or sets the result of the node execution.
string ErrorMessagePropertyGets or sets error information if the node execution failed.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about the node execution.

NodeExecutionEventArgs (class)

Provides data for automation node execution events.

MemberKindDescription
NodeExecutionEventArgs(string nodeId, NodeStatus previousStatus, NodeStatus currentStatus)MethodInitializes a new instance of the NodeExecutionEventArgs class. The ID of the node. The previous status of the node. The current status of the node.
string NodeIdPropertyGets the ID of the automation node.
NodeStatus PreviousStatusPropertyGets the previous status of the node.
NodeStatus CurrentStatusPropertyGets the current status of the node.
DateTime TimestampPropertyGets the timestamp when the status change occurred.
Dictionary<string, object> AdditionalDataPropertyGets or sets additional execution context data.

NodeResult (class)

Represents the result of executing an automation node.

MemberKindDescription
NodeResult(bool success, Dictionary<string, object> outputData = null, string errorMessage = null)MethodInitializes a new instance of the NodeResult class. Whether the execution was successful. The output data produced by the node. Error message if execution failed.
bool SuccessPropertyGets a value indicating whether the node execution was successful.
bool IsSuccessPropertyGets a value indicating whether the node execution was successful (alias for Success).
Dictionary<string, object> OutputDataPropertyGets the output data produced by the node execution.
string ErrorMessagePropertyGets the error message if the execution failed.
TimeSpan ExecutionTimePropertyGets or sets the time taken to execute the node.
DateTime TimestampPropertyGets the timestamp when the execution completed.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about the execution.
Exception ExceptionPropertyGets or sets the exception that caused the failure, if any.
static NodeResult CreateSuccess(Dictionary<string, object> outputData = null)MethodCreates a successful node result. The output data produced by the node. A NodeResult indicating successful execution.
static NodeResult CreateFailure(string errorMessage, Exception exception = null)MethodCreates a failed node result. The error message describing the failure. The exception that caused the failure. A NodeResult indicating failed execution.
T GetOutput<T>(string key, T defaultValue = default)MethodGets a strongly typed output value. The type to cast the value to. The key to look up. The default value to return if the key is not found. The output value cast to the specified type, or the default value.
void SetOutput(string key, object value)MethodSets an output value. The key to set. The value to set.

NodeStatus (enum)

Represents the execution status of an automation node.

NodeType (enum)

Represents the type of automation node in a workflow.

ParameterInfo (class)

Describes a configurable parameter for a component/node, including type and values.

MemberKindDescription
string ParameterNamePropertyLogical parameter name (unique within the owning component's Parameters dictionary key).
Type ParameterTypePropertyCLR type of the parameter (e.g., typeof(string), typeof(int), typeof(bool), enum types, etc.). If null, the editor will infer type based on the current/default value runtime type.
object DefaultParameterValuePropertyDefault value used when no current value has been set.
object ParameterCurrentValuePropertyThe current value (user-edited) for this parameter.
string DescriptionPropertyOptional description/help for UI.
string[] ChoicesPropertyOptional list of allowed string choices for this parameter. When provided, the editor will render a dropdown even if ParameterType is string.

PointEventArgs (class)

Provides event arguments for point-related events, such as mouse interactions.

MemberKindDescription
float XPropertyGets or sets the X coordinate of the point.
float YPropertyGets or sets the Y coordinate of the point.
bool IsRightButtonPropertyGets or sets a value indicating whether the right mouse button was used.

RetryBackoffStrategy (enum)

Specifies the backoff strategy for retry delays.

RetryPolicy (class)

Represents a retry policy for node execution failures.

MemberKindDescription
RetryPolicy(int maxRetries, TimeSpan retryDelay)MethodInitializes a new instance of the RetryPolicy class. The maximum number of retry attempts. The delay between retry attempts.
int MaxRetriesPropertyGets or sets the maximum number of retry attempts.
TimeSpan RetryDelayPropertyGets or sets the delay between retry attempts.
RetryBackoffStrategy BackoffStrategyPropertyGets or sets the backoff strategy for increasing delay between retries.
TimeSpan? MaxRetryDelayPropertyGets or sets the maximum delay between retries when using backoff.
RetryPolicy Clone()MethodCreates a copy of this retry policy. A new RetryPolicy instance that is a copy of this one.
static RetryPolicy None()MethodCreates a no-retry policy. A RetryPolicy that does not retry on failure.
static RetryPolicy Simple(int maxRetries, int delaySeconds)MethodCreates a simple retry policy with fixed delay. The maximum number of retries. The delay in seconds between retries. A RetryPolicy with the specified parameters.
static RetryPolicy ExponentialBackoff(int maxRetries, int initialDelaySeconds, int maxDelaySeconds)MethodCreates an exponential backoff retry policy. The maximum number of retries. The initial delay in seconds. The maximum delay in seconds. A RetryPolicy with exponential backoff.

RuleType (enum)

ScdConfiguration (class)

Represents SCD (Slowly Changing Dimension) configuration.

MemberKindDescription
ScdType TypePropertyGets or sets the type.
List<string> BusinessKeysPropertyGets or sets the business keys.
List<string> ChangeTrackingColumnsPropertyGets or sets the change tracking columns.
string EffectiveFromColumnPropertyGets or sets the effective from column.
string EffectiveToColumnPropertyGets or sets the effective to column.
string CurrentFlagColumnPropertyGets or sets the current flag column.
string VersionColumnPropertyGets or sets the version column.

ScdType (enum)

SchemaDiff (class)

Structured diff between two schemas (expected vs actual) with specific categories.

MemberKindDescription
List<string> MissingColumnsPropertyGets or sets the missing columns.
List<(string Name, string ExpectedType, string ActualType)> TypeDifferencesMethod
List<(string Name, bool ExpectedNullable, bool ActualNullable)> NullabilityDifferencesMethod
List<(string Name, string ExpectedDefault, string ActualDefault)> DefaultDifferencesMethod
bool HasDifferences()MethodGets or sets the has differences.

SchemaDiffUtil (class)

Gets or sets the schema diff util.

MemberKindDescription
static SchemaDiff Compute(IEnumerable<ColumnDefinition> expected, IEnumerable<ColumnDefinition> actual)MethodGets or sets the compute.

SkiaMenuItem (class)

Represents a menu item for Skia-based user interfaces.

MemberKindDescription
string MenuTextPropertyGets or sets the text displayed for this menu item.
string IconTextPropertyGets or sets the icon text or symbol for this menu item.
string ForeColorPropertyGets or sets the foreground color of this menu item.
string BackColorPropertyGets or sets the background color of this menu item.
Action FunctionToExecutePropertyGets or sets the action to execute when this menu item is selected.

SKRectEventArgs (class)

Provides event arguments for bounds change events.

MemberKindDescription
SKRect BoundsPropertyGets the new bounds of the component.
SKRectEventArgs(SKRect bounds)MethodInitializes a new instance of the SKRectEventArgs class. The new bounds of the component.

SplitCondition (class)

Represents a conditional split route in ETL processing.

MemberKindDescription
string NamePropertyGets or sets the name.
string ExpressionPropertyGets or sets the expression.
int OrderPropertyGets or sets the order.
string DescriptionPropertyGets or sets the description.

TimerTriggerMode (enum)

Timer trigger mode for TimerTriggerNode.

TriggerDefinition (class)

Represents a trigger definition that can start a workflow.

MemberKindDescription
TriggerDefinition(string id, string name, TriggerType triggerType)MethodInitializes a new instance of the TriggerDefinition class. The unique identifier for the trigger. The display name of the trigger. The type of the trigger.
string IdPropertyGets the unique identifier for the trigger.
string NamePropertyGets or sets the display name of the trigger.
string DescriptionPropertyGets or sets the description of what this trigger monitors.
TriggerType TriggerTypePropertyGets the type of this trigger.
Dictionary<string, object> ConfigurationPropertyGets or sets the configuration parameters for this trigger.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about this trigger.
bool IsEnabledPropertyGets or sets a value indicating whether this trigger is enabled.
TriggerDefinition Clone(string newId = null)MethodCreates a copy of this trigger definition. Optional new ID for the copied trigger. A new TriggerDefinition instance that is a copy of this one.

TriggerErrorEventArgs (class)

Provides data for trigger error events.

MemberKindDescription
TriggerErrorEventArgs(string triggerId, Exception exception, string errorMessage = null)MethodInitializes a new instance of the TriggerErrorEventArgs class. The ID of the trigger where the error occurred. The exception that caused the error. A descriptive error message.
string TriggerIdPropertyGets the ID of the trigger where the error occurred.
Exception ExceptionPropertyGets the exception that caused the error.
string ErrorMessagePropertyGets the descriptive error message.
DateTime TimestampPropertyGets the timestamp when the error occurred.
bool HandledPropertyGets or sets a value indicating whether the error was handled.

TriggerEventArgs (class)

Provides data for trigger activation events.

MemberKindDescription
TriggerEventArgs(string triggerId, TriggerType triggerType, Dictionary<string, object> triggerData = null)MethodInitializes a new instance of the TriggerEventArgs class. The ID of the trigger. The type of the trigger. Data associated with the trigger activation.
string TriggerIdPropertyGets the ID of the trigger.
TriggerType TriggerTypePropertyGets the type of the trigger.
Dictionary<string, object> TriggerDataPropertyGets the data associated with the trigger activation.
DateTime TimestampPropertyGets the timestamp when the trigger was activated.
bool CancelPropertyGets or sets a value indicating whether the trigger activation should be cancelled.

TriggerType (enum)

Specifies the type of trigger that can start a workflow.

ValidationResult (class)

Represents the result of validating an automation node's configuration and input data.

MemberKindDescription
ValidationResult(bool isValid, IEnumerable<string> errors = null)MethodInitializes a new instance of the ValidationResult class. Whether the validation passed. Collection of validation errors, if any.
bool IsValidPropertyGets a value indicating whether the validation passed.
IList<string> ErrorsPropertyGets the collection of validation errors.
IList<string> WarningsPropertyGets or sets additional validation warnings that don't prevent execution.
static ValidationResult Success()MethodCreates a successful validation result. A ValidationResult indicating successful validation.
static ValidationResult Failure(params string[] errors)MethodCreates a failed validation result with the specified errors. The validation errors. A ValidationResult indicating failed validation.
static ValidationResult Failure(IEnumerable<string> errors)MethodCreates a failed validation result with the specified errors. The validation errors. A ValidationResult indicating failed validation.

WorkflowDefinition (class)

Represents the definition of a workflow including its nodes, connections, and metadata. This class provides the blueprint for executing automation workflows.

MemberKindDescription
WorkflowDefinition(string id, string name)MethodInitializes a new instance of the WorkflowDefinition class. The unique identifier for the workflow. The display name of the workflow.
string IdPropertyGets the unique identifier for the workflow.
string NamePropertyGets or sets the display name of the workflow.
string DescriptionPropertyGets or sets the description of what this workflow does.
string VersionPropertyGets or sets the version of this workflow definition.
DateTime CreatedDatePropertyGets the date when this workflow was created.
DateTime? LastModifiedDatePropertyGets or sets the date when this workflow was last modified.
string AuthorPropertyGets or sets the author of this workflow.
List<string> TagsPropertyGets or sets the category or tags for organizing workflows.
bool IsEnabledPropertyGets or sets a value indicating whether this workflow is enabled for execution.
IList<NodeDefinition> NodesPropertyGets the collection of nodes in this workflow.
IList<ConnectionDefinition> ConnectionsPropertyGets the collection of connections between nodes in this workflow.
IList<WorkflowVariable> VariablesPropertyGets the collection of workflow variables.
IList<TriggerDefinition> TriggersPropertyGets the collection of triggers that can start this workflow.
Dictionary<string, object> ConfigurationPropertyGets or sets the global configuration for this workflow.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about this workflow.
TimeSpan? MaxExecutionTimePropertyGets or sets the maximum execution timeout for this workflow.
ExecutionPriority PriorityPropertyGets or sets the execution priority for this workflow.
void AddNode(NodeDefinition node)MethodAdds a node to the workflow. The node definition to add.
bool RemoveNode(string nodeId)MethodRemoves a node from the workflow and all its connections. The ID of the node to remove. True if the node was removed, false if it was not found.
void AddConnection(ConnectionDefinition connection)MethodAdds a connection between two nodes. The connection definition to add.
bool RemoveConnection(string connectionId)MethodRemoves a connection from the workflow. The ID of the connection to remove. True if the connection was removed, false if it was not found.
IEnumerable<NodeDefinition> GetStartingNodes()MethodGets all nodes that should execute first (nodes with no incoming connections or trigger nodes). Collection of starting node definitions.
IEnumerable<NodeDefinition> GetSourceNodes(string nodeId)MethodGets all nodes that connect to the specified node as input. The ID of the target node. Collection of source node definitions.
IEnumerable<NodeDefinition> GetTargetNodes(string nodeId)MethodGets all nodes that connect from the specified node as output. The ID of the source node. Collection of target node definitions.
ValidationResult Validate()MethodValidates the workflow definition for correctness and completeness. A validation result indicating any issues found.
WorkflowDefinition Clone(string newId = null, string newName = null)MethodCreates a deep copy of this workflow definition. Optional new ID for the copied workflow. Optional new name for the copied workflow. A new WorkflowDefinition instance that is a copy of this one.

WorkflowExecution (class)

Represents an active workflow execution with its current state and progress.

MemberKindDescription
WorkflowExecution(string executionId, string workflowId, ExecutionContext context)MethodInitializes a new instance of the WorkflowExecution class. The unique execution ID. The ID of the workflow being executed. The execution context.
string ExecutionIdPropertyGets the unique execution ID.
string WorkflowIdPropertyGets the ID of the workflow being executed.
ExecutionContext ContextPropertyGets the execution context.
WorkflowStatus StatusPropertyGets or sets the current status of the execution.
DateTime CreatedTimePropertyGets the time when the execution was created.
DateTime? StartTimePropertyGets or sets the time when the execution started.
DateTime? EndTimePropertyGets or sets the time when the execution completed.
TimeSpan? ExecutionTimePropertyGets the total execution time.
string CurrentNodeIdPropertyGets or sets the current node being executed.
IList<NodeExecution> NodeExecutionsPropertyGets the collection of node executions within this workflow execution.
WorkflowResult ResultPropertyGets or sets the final result of the workflow execution.
string ErrorMessagePropertyGets or sets error information if the execution failed.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about the execution.

WorkflowExecutionEventArgs (class)

Provides data for workflow execution events.

MemberKindDescription
WorkflowExecutionEventArgs(string workflowId, WorkflowStatus previousStatus, WorkflowStatus currentStatus)MethodInitializes a new instance of the WorkflowExecutionEventArgs class. The ID of the workflow. The previous status of the workflow. The current status of the workflow.
string WorkflowIdPropertyGets the ID of the workflow.
WorkflowStatus PreviousStatusPropertyGets the previous status of the workflow.
WorkflowStatus CurrentStatusPropertyGets the current status of the workflow.
DateTime TimestampPropertyGets the timestamp when the status change occurred.
WorkflowResult ResultPropertyGets or sets the execution result if the workflow has completed.
Dictionary<string, object> AdditionalDataPropertyGets or sets additional execution context data.

WorkflowResult (class)

Represents the result of executing a complete workflow.

MemberKindDescription
WorkflowResult(string workflowId, string executionId, WorkflowStatus status)MethodInitializes a new instance of the WorkflowResult class. The ID of the executed workflow. The unique execution ID. The final status of the workflow execution.
string WorkflowIdPropertyGets the ID of the executed workflow.
string ExecutionIdPropertyGets the unique execution ID.
WorkflowStatus StatusPropertyGets the final status of the workflow execution.
DateTime StartTimePropertyGets the time when the workflow execution started.
DateTime? EndTimePropertyGets or sets the time when the workflow execution completed.
TimeSpan? ExecutionTimePropertyGets the total execution time of the workflow.
IList<NodeResult> NodeResultsPropertyGets the results of individual node executions.
Dictionary<string, object> OutputDataPropertyGets the final output data from the workflow execution.
IList<string> ErrorsPropertyGets the collection of errors that occurred during execution.
Dictionary<string, object> MetadataPropertyGets or sets additional metadata about the workflow execution.
void SetStatus(WorkflowStatus newStatus)MethodUpdates the workflow status and sets the end time if the workflow is completing. The new workflow status.
void AddNodeResult(NodeResult nodeResult)MethodAdds a node execution result to the workflow result. The node execution result to add.
void AddError(string error)MethodAdds an error to the workflow result. The error message to add.
T GetOutput<T>(string key, T defaultValue = default)MethodGets a strongly typed output value. The type to cast the value to. The key to look up. The default value to return if the key is not found. The output value cast to the specified type, or the default value.
void SetOutput(string key, object value)MethodSets an output value. The key to set. The value to set.

WorkflowStatus (enum)

Specifies the execution status of a workflow.

WorkflowVariable (class)

Represents a workflow variable that can be used across nodes.

MemberKindDescription
WorkflowVariable(string name, DataType dataType)MethodInitializes a new instance of the WorkflowVariable class. The name of the variable. The data type of the variable.
string NamePropertyGets the name of the variable.
DataType DataTypePropertyGets or sets the data type of the variable.
string DescriptionPropertyGets or sets the description of what this variable is used for.
object DefaultValuePropertyGets or sets the default value for this variable.
bool IsRequiredPropertyGets or sets a value indicating whether this variable is required.
bool IsReadOnlyPropertyGets or sets a value indicating whether this variable is read-only.
WorkflowVariable Clone()MethodCreates a copy of this workflow variable. A new WorkflowVariable instance that is a copy of this one.