# Interface FlowScope

@Incubating @ServiceScope(org.gradle.internal.service.scopes.Scope.Build.class) public interface FlowScope
Augments the cached work graph with `dataflow actions`, anonymous, parameterized and isolated pieces of work that are triggered solely based on the availability of their input parameters.

Since:
  8.1

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `FlowScope.Registration<P extends FlowParameters>`
  Represents a registered `dataflow action`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<P extends FlowParameters>
  FlowScope.Registration<P>`
  `always(Class<? extends FlowAction<P>> action, Action<? super FlowActionSpec<P>> configure)`
  Registers a `dataflow action` that's always part of the dataflow graph.

- ## Method Details

  - ### always

    <P extends FlowParameters> FlowScope.Registration<P> always(Class<? extends FlowAction<P>> action, Action<? super FlowActionSpec<P>> configure)
    Registers a `dataflow action` that's always part of the dataflow graph.
    Type Parameters:
      `P` - the parameters defined by the given `dataflow action` type.
    Parameters:
      `action` - the `dataflow action` type.
      `configure` - configuration for the given `dataflow action` parameters.
    Returns:
      a `FlowScope.Registration` object representing the registered action.
    Since:
      8.1