# Custom .NET

{% hint style="info" %}
Note: We do recommend keeping the source code for any custom .NET connectors in a VCS system (such as Git). When upgrading Flow to a new major version, the process on this page needs to be reperformed with the wrapper from the new major Flow version.
{% endhint %}

Flow has support for using third-party .net assemblies. All public static methods with primitive types as arguments can be executed from a [machine step](https://home.novacuraflow.com/Help/latest/?designer_applications_workflow_machine_task) in any type of workflows.

Follow these steps to setup a custom connector:

1. Run **NovaCura.Flow\.Connector.Wrapper.exe** from your command line console.
   * It is located in Flow Designer program folder.
   * **First argument** is output connector dll name, example: CustomConnector.dll
   * **Second argument** is input assembly path.
   * If input assembly has dependencies to other assemblies those can be entered as arguments. For example: NovaCura.Flow\.Connector.Wrapper.exe CustomConnector.dll CustomAssembly.dll CustomUtil.dll
2. Copy output dll to the current studio version (*%appdata%\\{{version}}) and to* bin/CustomConnectors\* folder located in Server installation folder.
3. Add a *connector* element to CustomConnectors.xml located in *bin/CustomConnectors* folder in Server installation folder.

   ```
   <!-- Change 'species' to a unique technical name --> 
    <!-- Change 'displayName' to a suitable display name --> 
    <!-- Change 'assemblyname' to the name of the output dll exluding .dll, in the example below the file is named CustomConnector.dll --> 
   <connector 
    species="custom_connector_name"
    displayName="DotNet API Custom Connector" 
    assemblyname="CustomConnector"
    type="NovaCura.Flow.Connector.Wrapper.ConnectorWrapper" 
    uitype="NovaCura.Flow.ApiConnector.UI.ApiConnectorUI" 
    uiassemblyname="NovaCura.Flow.ApiConnector.UI" /> 
   ```
4. Start Flow Designer and verify that a new connector type with the previous specified display name exists in Connectors page under Environments when adding a new connector.
5. Add the new connector and enter a suitable name.
6. The new connector should now exist in all [machine step](https://home.novacuraflow.com/Help/latest/?designer_applications_workflow_machine_task) configurations.
