# Managing journeys
Journeys represent end-to-end user flows against your application.
Each journey, generally consists of some interactions that take you from the starting point A to a target point B, and some validations along the way. We call each of these actions a step, and you can separate these actions by checkpoints.
In the previous section we saw how Virtuoso can generate these journeys for you, but what if you want to create your own journey?
# Creating new journeys
The journeys tab of the goal view on the left-hand side of the screen lists all the journeys you have in your goal.
To create a new journey, click on
Add a journey positioned at the end of the journey list.
This will open up the form to name a new journey. After choosing the name, click on save and you will be redirected to the newly created journey.
# Publishing a journey
Creating new journeys often involves tinkering and envisioning how to best represent an end-to-end user flow. To make this less intimidating, newly created journey are created as draft, meaning that they will not be executed when you execute the whole goal, until you publish them. This allows you to freely build your journey, and only once you're happy with it, you include it in your goal's set of tests.
Once you have created your journey and you think it is ready to be included in your goal (described in Adding checkpoints and test steps), you can publish the journey by clicking the publish button on top:
Tip: Code review for tests
One practice that can help with the completeness and quality of your tests, is to seek a review from your colleagues/manager, before you publish a journey.
You can even leave the decision to publish a journey to your manager or colleagues.
# Tagging journeys
As you create more journeys, you may wish to organize them in various ways.
For example, some journeys may target a specific feature, some may target a specific user action, some may be part of your core smoke testing pack, some relate to a test specification in a JIRA ticket ID, etc.
We find the best way to organize our tests is through tags. You can tag your journeys in bulk or individually, and you can tag them with anything you want. You can then filter, view their status, and re-execute them simply by their tags. We will cover this in more details on the Journeys Dashboard.
Now that we have some journeys, in the next section, we will look at executing them.