public void RegisterWorkflow(string name) { var listWorkflowRequest = new ListWorkflowTypesRequest() { Name = name, Domain = domainName, RegistrationStatus = RegistrationStatus.REGISTERED }; var results = swfClient.ListWorkflowTypesAsync(listWorkflowRequest).Result; if (results.WorkflowTypeInfos.TypeInfos.FirstOrDefault(x => x.WorkflowType.Name == name) == null) { RegisterWorkflowTypeRequest request = new RegisterWorkflowTypeRequest() { DefaultChildPolicy = ChildPolicy.TERMINATE, DefaultExecutionStartToCloseTimeout = "350", DefaultTaskList = new TaskList() { Name = deciderPollingKey }, DefaultTaskStartToCloseTimeout = "150", Domain = domainName, Name = name, Version = "1.0" }; swfClient.RegisterWorkflowTypeAsync(request); Console.WriteLine("Registerd Workflow: " + request.Name); } }