# SelectFlowBuilder

# SelectFlowBuilder


```
@AutomationDsl
class SelectFlowBuilder : AutomationFlowBuilder, StarterNodeDsl, ManualStarterNodeDsl, SequentialDsl
```

<br />

*** ** * ** ***

Type-safe builder that builds a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow` node.

## Summary

| ### Public constructors |
|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlowBuilder#SelectFlowBuilder(kotlin.collections.List)(nodes: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/automation/Node>)` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow` instance. |

| ### Public functions |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlowBuilder#build()()` Build a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow`. |

| ### Inherited functions |
|---|
| From [com.google.home.automation.AutomationFlowBuilder](https://developers.home.google.com/reference/kotlin/com/google/home/automation/AutomationFlowBuilder) |---|---| | `open https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/automation/Node>` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/AutomationFlowBuilder#nodes()()` | |
| From [com.google.home.automation.AutomationFlowContributor](https://developers.home.google.com/reference/kotlin/com/google/home/automation/AutomationFlowContributor) |---|---| | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/AutomationFlowBuilder` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/AutomationFlowContributor#flowBuilder()()` | |
| From [com.google.home.automation.ManualStarterNodeDsl](https://developers.home.google.com/reference/kotlin/com/google/home/automation/ManualStarterNodeDsl) |---|---| | `open https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/ManualStarterNodeDsl#manualStarter()()` | |
| From [com.google.home.automation.SequentialDsl](https://developers.home.google.com/reference/kotlin/com/google/home/automation/SequentialDsl) |---|---| | `open https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SequentialDsl#sequential(kotlin.Function1)(block: https://developers.home.google.com/reference/kotlin/com/google/home/automation/SequentialFlowBuilder.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` | |
| From [com.google.home.automation.StarterNodeDsl](https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl) |---|---| | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.TypedExpression,com.google.home.EventFactory)( entityExpression: https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedEntity<HomeObjectType>?>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Expression` of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Entity` and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event, U : HomeObjectType> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.TypedExpression,com.google.home.EventFactory)( entityExpression: https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedEntity<U>>?>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Expression` of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Entity` list and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.TypedExpression,com.google.home.TraitFactory)( entityExpression: https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedEntity<HomeObjectType>?>, trait: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Expression` of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Entity` and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait, U : HomeObjectType> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.TypedExpression,com.google.home.TraitFactory)( entityExpression: https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedEntity<U>>?>, trait: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Expression` of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Entity` list and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.Structure,com.google.home.EventFactory)(structure: https://developers.home.google.com/reference/kotlin/com/google/home/Structure, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>)` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from a `https://developers.home.google.com/reference/kotlin/com/google/home/Structure` and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.Structure,com.google.home.TraitFactory)(structure: https://developers.home.google.com/reference/kotlin/com/google/home/Structure, trait: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T>)` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from a `https://developers.home.google.com/reference/kotlin/com/google/home/Structure` and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.HomeDevice,com.google.home.DeviceTypeFactory,com.google.home.EventFactory)( device: https://developers.home.google.com/reference/kotlin/com/google/home/HomeDevice, deviceType: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from a Device and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.HomeDevice,com.google.home.DeviceTypeFactory,com.google.home.TraitFactory)( device: https://developers.home.google.com/reference/kotlin/com/google/home/HomeDevice, deviceType: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType>, trait: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from a Device and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.TypedExpression,com.google.home.EventFactory,kotlin.Function1)( entityExpression: https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedEntity<HomeObjectType>?>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>, block: https://developers.home.google.com/reference/kotlin/com/google/home/automation/ParametersBuilder.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Expression` of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Entity` and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event, U : HomeObjectType> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.TypedExpression,com.google.home.EventFactory,kotlin.Function1)( entityExpression: https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedEntity<U>>?>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>, block: https://developers.home.google.com/reference/kotlin/com/google/home/automation/ParametersBuilder.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Expression` of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Entity` list and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.Structure,com.google.home.EventFactory,kotlin.Function1)( structure: https://developers.home.google.com/reference/kotlin/com/google/home/Structure, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>, block: https://developers.home.google.com/reference/kotlin/com/google/home/automation/ParametersBuilder.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from a `https://developers.home.google.com/reference/kotlin/com/google/home/Structure` and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.UnknownEntity,com.google.home.TypeFactory,com.google.home.EventFactory)( unknownEntity: https://developers.home.google.com/reference/kotlin/com/google/home/automation/UnknownEntity, entityType: https://developers.home.google.com/reference/kotlin/com/google/home/TypeFactory<HomeObjectType>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an UnknownEntity and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Trait> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.UnknownEntity,com.google.home.TypeFactory,com.google.home.TraitFactory)( unknownEntity: https://developers.home.google.com/reference/kotlin/com/google/home/automation/UnknownEntity, entityType: https://developers.home.google.com/reference/kotlin/com/google/home/TypeFactory<HomeObjectType>, trait: https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<T> )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an UnknownEntity and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.HomeDevice,com.google.home.DeviceTypeFactory,com.google.home.EventFactory,kotlin.Function1)( device: https://developers.home.google.com/reference/kotlin/com/google/home/HomeDevice, deviceType: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>, block: https://developers.home.google.com/reference/kotlin/com/google/home/automation/ParametersBuilder.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from a Device and a `https://developers.home.google.com/reference/kotlin/com/google/home/Trait` and add it. | | `open https://developers.home.google.com/reference/kotlin/com/google/home/automation/TypedExpression<T>` | `<T : https://developers.home.google.com/reference/kotlin/com/google/home/Event> https://developers.home.google.com/reference/kotlin/com/google/home/automation/StarterNodeDsl#starter(com.google.home.automation.UnknownEntity,com.google.home.DeviceTypeFactory,com.google.home.EventFactory,kotlin.Function1)( unknownEntity: https://developers.home.google.com/reference/kotlin/com/google/home/automation/UnknownEntity, deviceType: https://developers.home.google.com/reference/kotlin/com/google/home/DeviceTypeFactory<https://developers.home.google.com/reference/kotlin/com/google/home/DeviceType>, event: https://developers.home.google.com/reference/kotlin/com/google/home/EventFactory<T>, block: https://developers.home.google.com/reference/kotlin/com/google/home/automation/ParametersBuilder.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` from an `https://developers.home.google.com/reference/kotlin/com/google/home/automation/UnknownEntity` and an `https://developers.home.google.com/reference/kotlin/com/google/home/Event` and add it. | |

## Public constructors

### SelectFlowBuilder

```
SelectFlowBuilder(nodes: List<Node> = emptyList())
```

Create a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow` instance.

## Public functions

### build

```
fun build(): SelectFlow
```

Build a `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow`.

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow` | A `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SelectFlow` instance. |