# UserFlowDef

This interface allows defining a ConanFlow.

| Property         | Description                                                                                                                                                                         |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name             | <p><strong>Type:</strong>  <code>string </code><em><code>required</code></em></p><p>the name of the flow</p>                                                                        |
| statuses         | <p><strong>Type:</strong>  <code>UserFlowStatusesDef\<STATUSES, MUTATORS> </code><em><code>required</code></em></p><p><code>The statuses definition this flow will have</code></p>  |
| initialStatus    | <p><strong>Type:</strong>  <code>AsapLike\<StatusLike\<STATUSES>> </code><em><code>optional</code></em></p><p><code>The initial status to start with</code></p>                     |
| actions          | <p><strong>Type:</strong>  <code>FlowActionsDef\<STATUSES, MUTATORS, ACTIONS> </code><em><code>optional</code></em></p><p>The actions this flow will execute</p>                    |
| $onInit          | <p><strong>Type:</strong>  <code>ReactionCb\<STATUSES, any> \[] </code><em><code>optional</code></em></p><p>The array of reactions to execute when the ConanFlow is initialised</p> |
| $onStop          | <p><strong>Type:</strong>  <code>ReactionCb\<STATUSES, any> \[] </code><em><code>optional</code></em></p><p>The array of reactions to execute when the ConanFlow is stopped</p>     |
| pipelineListener | <p><strong>Type:</strong>  <code>IConsumer\<FlowEvent> </code><em><code>optional</code></em></p><p>A listener can be attached to flow events</p>                                    |
| loggingRule      | <p><strong>Type:</strong>  <code>Rule\<FlowEvent> </code><em><code>optional</code></em></p><p>the default logging policy can be overridden by passing a custom Rule</p>             |
| nature           | <p><strong>Type:</strong>  <code>FlowEventNature </code><em><code>optional</code></em></p><p><strong>TBC: Alberto qué coño es esto</strong></p>                                     |
