# Flows

## Format

FBL expecting flows to be presented as YAML files with following format:

```yaml
# [optional] flow version, used for informational purposes only.
version: 1.0.0

# [optional] flow description, used for informational purposes only. 
description: |-
  Plugn invoker.

# [optional] flow runtime dependencies
requires:
  # [optional] fbl version requirements
  fbl: '>=1.1.0'

  # [optional] required plugins and their versions
  plugins:
    '@fbl-plugins/http': '>=0.1.0'

  # [optional] required native applications presented in the PATH environment variable
  applications:
  - echo

# [required] entry point
pipeline:
  # Pipeline may only have one root action ID (or alias).
  # Value format is specific to the action. Each action may have its own format and requirements.  
  exec: 
    command: echo
    args: 
      - 'Hello World'

  # Metadata field.
  # Each action may have zero or more additional metadata fields associated with it.
  # All metadata fields should start with dollar sign ($). 
  $title: 'Say hello'
```

In most cases you will use [flow](https://github.com/FireBlinkLTD/fbl/tree/de8ffd0b86840bbfabb2bcfb879bcd09f9c9532c/docs/flows/flow.md) control action handlers as a starting point of your flow.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fbl.fireblink.com/flows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
