As for a task, the use case configuration is also defined using a code-first approach. You can declare a class as a use case configuration by attributing it with the UseCaseDefinition attribute.
Note that the class must only contain fields not properties!
The following generic C# types are supported.

Supported generic C# types

bool, int, string
or
Nullable<T> where T is one of the above mentioned generic types


The Nullable<T> declaration allows to define optional configuration parameters (see also section UseCaseField).
Since a lot of use cases require to specify a service endpoint for communicating with a third-party service, there are some dedicated classes to support this.

Supported complex C# types for service endpoints

ServiceEndpoint, ServiceEndpointWithoutCredentials
or
an array of these complex types


To make a specific field accessible and editable in VidiFlow's ConfigPortal mark it with the UseCaseField attribute and provide the necessary attribute values.
Since service endpoints require more data in ConfigPortal, there is a second attribute (see ServiceEndpointDescription) which must be added additionally for those types of properties.