---
title: "SDK: Default Parameters and Custom Editors (Basic)"
slug: "flow-steps-rule-steps-simple-default-parameters-custom-editors"
description: "This document shows users how to customize the default values for inputs on the public methods for a created step in Decisions. The document provides an example of the code needed to change these default parameters. "
updated: 2024-08-07T13:00:27Z
published: 2024-08-07T13:00:27Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK: Default Parameters and Custom Editors (Basic)

**Version 7.x .NET Architecture Change**

- Versions 7.0.1 - 7.1 require [.NET Core 3.1](https://dotnet.microsoft.com/en-us/download/dotnet/3.1)
- Versions 7.2 - 7.9 require [.NET 5](https://dotnet.microsoft.com/en-us/download/dotnet/5.0)
- Versions 7.10+ require [.NET 6](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)

## Overview

When creating simple steps by registering public methods, default values can also be set for the inputs of those methods. This allows users to still change these input values but populates the inputs with default values when the step is first used.

Custom codes are located here: C:\Program Files\Decisions\Decisions Server\Instances\Control\CustomReferencesDecisions has a [Public GitHub Repository](https://github.com/decisions-com/sdk-examples) with various SDK examples available.

## Example

The following code example demonstrates how to write a step to upload a file to an FTP server and having the server address and server port populated by default. Below is the code example of the method with the options parameters with the default inputs.

```csharp

public void FtpUpload(string username, string password, string serverAddress = "myftpserver.com", int serverPort = 21)
{
//upload files to ftp site
}
```

When the user places this step in a Flow, the serverAddress and serverPort inputs will be populated.

Custom editors can also be supplied on property values in the same manner.

```csharp

public static void CreateUserAdvanced(
string ouPath,
string loginName,
[PasswordText]
string userPassword,
string email,
string firstName,
string lastName,
string department,
[PropertyClassification(0, INPUT_NAME_SYSTEM_USER_NAME, PROPERTY_NODE_ROOT, PROPERTY_NODE_LDAP_SETTINGS)]
string systemUserName,
[PasswordText]
[PropertyClassification(1, INPUT_NAME_SYSTEM_PASSWORD, PROPERTY_NODE_ROOT, PROPERTY_NODE_LDAP_SETTINGS)]
string systemPassword,
[PropertyClassification(2, INPUT_NAME_LDAP_SERVER_ADDRESS, PROPERTY_NODE_ROOT, PROPERTY_NODE_LDAP_SETTINGS)]
string ldapServerAddress)
```
