> For the complete documentation index, see [llms.txt](https://docs.akamas.io/quick-guides/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.akamas.io/quick-guides/quick-guides-akamas-in-a-box/aiab-01-optimize-a-java-based-application-renaissance-benchmark/aiab-01-create-the-workflow.md).

# \[AIAB-01] Create the workflow

How does Akamas understand when a given JVM configuration is improving performance or making it worse? This is done by running optimization experiments. Thus you now need to tell Akamas how to conduct these experiments. You can do this by creating a workflow.

A workflow is a sequence of tasks that Akamas executes for every experiment, such as:

* apply the parameters to an application configuration file
* restart the application
* launch a performance test to assess the effects of the new configuration

In the next guides you will learn how to define a workflow from the UI or to specify the YAML file to get it created from the CLI. But since the purpose of this guide is to focus on getting you started, for this time you will simply use the `workflow.yaml` file provided in the repository, defined as the following:

```yaml
name: renaissance-optimize

tasks:
  - name: Configure Benchmark
    operator: FileConfigurator
    arguments:
      source:
        hostname: benchmark
        username: akamas
        password: akamas
        path: launch_benchmark.sh.templ
      target:
        hostname: benchmark
        username: akamas
        password: akamas
        path: launch_benchmark.sh

  - name: Launch Benchmark
    operator: Executor
    arguments:
      command: "bash launch_benchmark.sh"
      host:
        hostname: benchmark
        username: akamas
        password: akamas

  - name: Parse Output
    operator: Executor
    arguments:
      command: "bash parse_output.sh"
      host:
        hostname: benchmark
        username: akamas
        password: akamas
```

Create the workflow by running the following command:

```bash
akamas create workflow workflow.yaml
```

You can verify your new workflow has been created by accessing the corresponding **Workflow** menu in the UI:

<figure><img src="/files/RLtOmJ8rWvnWxfo3ZtF9" alt=""><figcaption></figcaption></figure>

You can always list all workflows and verify that they have been correctly created:

```bash
akamas list workflows
```

At this point, you are ready to create your optimization study.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.akamas.io/quick-guides/quick-guides-akamas-in-a-box/aiab-01-optimize-a-java-based-application-renaissance-benchmark/aiab-01-create-the-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
