# BaseAutomation


```
interface BaseAutomation
```

<br />

Known direct subclasses [Automation](https://developers.home.google.com/reference/kotlin/com/google/home/automation/Automation)

|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Automation` | The main representation an automation, composed of various types of Automation nodes, including `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Starter` instances, `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Condition` instances, `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Action` instances, and more. |

Known indirect subclasses [MutableAutomation](https://developers.home.google.com/reference/kotlin/com/google/home/automation/MutableAutomation)

|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/MutableAutomation` | Mutable attributes for an `Automation`. |

*** ** * ** ***

Interface that is common between `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Automation` and `https://developers.home.google.com/reference/kotlin/com/google/home/automation/DraftAutomation`.

## Summary

| ### Public properties |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/AppManagedAutomationConfig?` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#appManagedAutomationConfig()` Configuration for app managed settings-based automations. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/automation/SequentialFlow?` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#automationGraph()` List of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Node` instances. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/platform/traits/AutomationSourceMetadata?` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#automationSourceMetadata()` Metadata about the source of the automation. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#clientFeatureGroup()` Unique identifier of the client feature group that the automation belongs to. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#description()` Description of this automation instance. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#isActive()` Whether the automation can execute. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/automation/BaseAutomation#name()` User given name for the automation. |

## Public properties

### appManagedAutomationConfig

```
val appManagedAutomationConfig: AppManagedAutomationConfig?
```

Configuration for app managed settings-based automations.

### automationGraph

```
val automationGraph: SequentialFlow?
```

List of `https://developers.home.google.com/reference/kotlin/com/google/home/automation/Node` instances. Nodes in the automation graph execute sequentially by default.

### automationSourceMetadata

```
val automationSourceMetadata: AutomationSourceMetadata?
```

Metadata about the source of the automation. For blueprint suggestions, this will contain the ID of the blueprint the suggestion was generated from.

### clientFeatureGroup

```
val clientFeatureGroup: String?
```

Unique identifier of the client feature group that the automation belongs to. This is used to group automations for specific client features (e.g. 3P settings-based automations).

### description

```
val description: String
```

Description of this automation instance.

### isActive

```
val isActive: Boolean
```

Whether the automation can execute.

### name

```
val name: String
```

User given name for the automation.