Use this API sample to validate a workflow.
IWorkflowEngine engine = WorkflowRuntime.Engine; Workflow workflow = engine.GetService<IWorkflowDefinitionService>().GetWorkflow(workflowId); ValidationContext validationContext = new ValidationContext(engine); validationContext.Options.IsRecursive = true; Validator validator = Validator.GetValidator(workflow, engine); validator.Validate(validationContext); foreach(ValidationError error in validationContext.Errors) { //do whatever you want with an error… }