# Upload a pipeline (/docs/guides/developer-workspace/pipelines/upload-a-pipeline)



A pipeline is a compiled workflow definition stored as a YAML file. You
create a pipeline in Python with the [Kubeflow Pipelines SDK](https://www.kubeflow.org/docs/components/pipelines/user-guides/core-functions/compile-a-pipeline/), compile it locally, then
upload the resulting file to BullSequana AI. Once uploaded, the pipeline
appears in the **Pipelines** list and you can run it any number of times
with different parameters.

Before you start [#before-you-start]

You need a compiled pipeline YAML file. See the
[Kubeflow Pipelines SDK documentation](https://www.kubeflow.org/docs/components/pipelines/user-guides/core-functions/compile-a-pipeline/)
for instructions on writing and compiling a pipeline locally.

Upload a pipeline [#upload-a-pipeline]

To upload a pipeline to BullSequana AI, follow these steps:

1. Select **Pipelines** in the left sidebar.

2. Select <kbd>+ Upload pipeline</kbd>.

3. In the **Upload pipeline** dialog, fill in the required fields:

   * **Pipeline name**: a unique name for this pipeline.
   * **Pipeline description**: optional description of what the pipeline
     does.
   * **Upload a file**: select your compiled `.yaml` file, or provide a
     URL to a publicly accessible YAML file instead of uploading from your
     computer.

4. Select <kbd>Create</kbd>.

The pipeline appears in the **Pipelines** list. Selecting it shows the
pipeline graph, where you can inspect each step and its inputs and outputs.

View a pipeline [#view-a-pipeline]

Select any pipeline in the list to open its detail page. The detail page
shows:

* The **graph**: a visual representation of the steps and their
  dependencies.
* The **Pipeline spec** tab: the raw YAML definition.
* The **Runs** tab: all runs started from this pipeline.

Next steps [#next-steps]

* [Create an experiment](experiments) to group runs from this pipeline.
* [Start a run](runs) to execute the pipeline with specific parameters.
