{
    "ObjectFields": [
        {
            "Name": "FlowStepId",
            "Type": "number",
            "Required": false,
            "ValidRegEx": "",
            "DefaultValue": 0
        },
        {
            "Name": "FlowId",
            "Type": "number",
            "Required": false,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": -1
        },
        {
            "Name": "FlowName",
            "Type": "string",
            "Label": "Flow Name",
            "PostData": true,
            "Required": true,
            "ValidRegEx": "",
            "DefaultValue": "",
            "LinkId": "FlowId",
            "PicklistJSON": "flow",
            "Multiple": false,
            "PicklistTitle": "FlowName",
            "PlaceHolder": "Enter Flow Name",
            "Width": 300,
            "LabelWidth": 150,
            "AddNew": false,
            "MaxLength": 50
        },
        {
            "Name": "NodeCode",
            "Type": "string",
            "Label": "Node Code",
            "PostData": true,
            "Required": true,
            "ValidRegEx": "",
            "DefaultValue": "",
            "LinkId": "FlowStepId",
            "PicklistJSON": "flowstep",
            "Multiple": false,
            "PicklistTitle": "NodeCode",
            "PlaceHolder": "e.g. VALIDATE_LEAVE",
            "Width": 250,
            "LabelWidth": 150,
            "AddNew": true,
            "IsFirstField": true,
            "MaxLength": 50,
            "isKeyField": true
        },
        {
            "Name": "NodeName",
            "Type": "string",
            "Label": "Node Name",
            "PostData": true,
            "Required": true,
            "ValidRegEx": "",
            "DefaultValue": "",
            "LinkId": "FlowStepId",
            "PicklistJSON": "flowstep",
            "Multiple": false,
            "PicklistTitle": "NodeName",
            "PlaceHolder": "Enter Node Name",
            "Width": 250,
            "LabelWidth": 150,
            "AddNew": true,
            "MaxLength": 100,
            "isKeyField": true
        },
        {
            "Name": "NodeType",
            "Type": "string",
            "Label": "Node Type",
            "Required": true,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": "Qualifier",
            "LabelWidth": 150,
            "Width": 250,
            "PickLists": [
                {
                    "key": "Qualifier",
                    "value": "Qualifier"
                },
                {
                    "key": "Mapper",
                    "value": "Mapper"
                },
                {
                    "key": "ApiCall",
                    "value": "ApiCall"
                },
                {
                    "key": "Approval",
                    "value": "Approval"
                }
            ]
        },
        {
            "Name": "TargetOperationId",
            "Type": "number",
            "Required": false,
            "ValidRegEx": "",
            "DefaultValue": -1
        },
        {
            "Name": "OperationName",
            "Type": "string",
            "Label": "TargetOperation Name",
            "PostData": true,
            "Required": true,
            "ValidRegEx": "",
            "DefaultValue": "",
            "LinkId": "TargetOperationId",
            "PicklistJSON": "targetoperation",
            "Multiple": false,
            "PicklistTitle": "Name",
            "PlaceHolder": "eg. TLEAVE.Get",
            "Width": 300,
            "LabelWidth": 150,
            "AddNew": false,
            "MaxLength": 50,
            "RequireBasedOnFieldName": "NodeType",
            "RequireBasedOnFieldValue": [
                "ApiCall"
            ]
        },
        {
            "Name": "LogicalServiceName",
            "Type": "string",
            "Label": "Logical Service Name",
            "Required": false,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": "",
            "MaxLength": 100,
            "LabelWidth": 150,
            "Width": 250,
            "RequireBasedOnFieldName": "NodeType",
            "RequireBasedOnFieldValue": [
                "Qualifier",
                "Mapper"
            ]
        },
        {
            "Name": "AssignedRoleId",
            "Type": "number",
            "Required": false,
            "ValidRegEx": "",
            "PostData": true,
            "DefaultValue": -1
        },
        {
            "Name": "AssignedRole",
            "Type": "string",
            "Label": "Assigned Role",
            "PostData": true,
            "Required": false,
            "ValidRegEx": "",
            "DefaultValue": "",
            "LinkId": "AssignedRoleId",
            "PicklistJSON": "Role",
            "Multiple": false,
            "PicklistTitle": "Name",
            "PlaceHolder": "Search role name",
            "Width": 300,
            "LabelWidth": 135,
            "AddNew": false,
            "MaxLength": 100,
            "RequireBasedOnFieldName": "NodeType",
            "RequireBasedOnFieldValue": [
                "Approval"
            ]
        },
        {
            "Name": "AssignedUserId",
            "Type": "number",
            "Required": false,
            "ValidRegEx": "",
            "PostData": true,
            "DefaultValue": -1
        },
        {
            "Name": "AssignedUserName",
            "Type": "string",
            "Label": "Employee Name*",
            "PostData": true,
            "Required": true,
            "ValidRegEx": "",
            "DefaultValue": "",
            "LinkId": "AssignedUserId",
            "PicklistJSON": "traineremployee",
            "Multiple": false,
            "PicklistTitle": "Name",
            "PlaceHolder": "Search employee name or ID...",
            "Width": 300,
            "LabelWidth": 135,
            "AddNew": false,
            "MaxLength": 100,
            "PicklistCriteria": "employeeCriteria"
        },
        {
            "Name": "TimeoutSeconds",
            "Type": "number",
            "Label": "Timeout (seconds)",
            "Required": true,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": 30,
            "LabelWidth": 150,
            "Width": 250
        },
        {
            "Name": "MaxRetries",
            "Type": "number",
            "Label": "Max Retries",
            "Required": false,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": 0,
            "LabelWidth": 150,
            "Width": 250
        },
        {
            "Name": "SortOrder",
            "Type": "number",
            "Label": "Sort Order",
            "Required": false,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": -1,
            "LabelWidth": 150,
            "Width": 250
        },
        {
            "Name": "SupportsRemediation",
            "Type": "boolean",
            "Label": "Supports Remediation",
            "Required": false,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": false,
            "LabelWidth": 150
        },
        {
            "Name": "ClientId",
            "Type": "number",
            "Required": false,
            "PostData": true,
            "ValidRegEx": "",
            "DefaultValue": -1
        }
    ]
}