# Flow Versions & State Management

### About this export

| Field | Value |
| --- | --- |
| **content_type** | lesson |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/data-insights-automating-journeys-with-flows/data-insights-course-5--flow-versions-state-management |
| **course_slug** | data-insights-automating-journeys-with-flows |
| **lesson_slug** | data-insights-course-5--flow-versions-state-management |
| **markdown_file_url** | /academy/md/courses/data-insights-automating-journeys-with-flows/data-insights-course-5--flow-versions-state-management.md |
| **generated_at** | 2026-06-08T14:32:02.459Z |

> Part of **[Automating Journeys with Flows](https://www.contentstack.com/academy/courses/data-insights-automating-journeys-with-flows)** on Contentstack Academy. **Academy MD v3** — structured for retrieval; no quiz or assessment keys.

<!-- ai_metadata: {"lesson_id":"10","type":"video","duration_seconds":301,"video_url":"https://cdn.jwplayer.com/previews/ZNGBdHXm","thumbnail_url":"https://cdn.jwplayer.com/v2/media/ZNGBdHXm/poster.jpg?width=720","topics":["Flow","Versions","State","Management"]} -->

#### Video details

#### At a glance

- **Title:** 43-data-insights-flow-state-management
- **Duration:** 5m 1s
- **Media link:** https://cdn.jwplayer.com/previews/ZNGBdHXm
- **Publish date (unix):** 1752897232

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113654 kbps
- video/mp4 · 180p · 180p · 138333 kbps
- video/mp4 · 270p · 270p · 154228 kbps
- video/mp4 · 360p · 360p · 163504 kbps
- video/mp4 · 406p · 406p · 172762 kbps
- video/mp4 · 540p · 540p · 196706 kbps
- video/mp4 · 720p · 720p · 235705 kbps
- video/mp4 · 1080p · 1080p · 326528 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/ZNGBdHXm-120.vtt`

#### Video transcript

The only other things to know are versions become very important. So now that this flow is running, if I want to make a change, I can't actually change a running flow because there's any number of users in any number of states or stages within this particular flow. So at the top, you'll see that I have one version. If I try to make a change, it's going to actually prevent that. So what I'll need to do is I can again go to the action menu and I say, okay, I want to edit this flow. It's going to say, would you like to create a new version of the flow? This will copy all the configuration options and start a new draft. So I'm going to say, yes, I want to do that. It's going to replicate that flow within the same version or within the same sort of context, but it's going to create a new version. So you'll see a couple of different or a couple of important things to note. First at the top, we went back to a draft state. So now there's actually two versions. If I open the version switcher, there's still that first version, version zero that's running. I can switch back to it. I can see what's happening. I can still access my metrics just the way that I did before. Obviously metrics aren't populated until 24 hours. But then additionally, if I switch back to the draft for any exports that were configured, these go back to draft state. So we pull out any of the live configuration things, we put it back into a draft state so that you can go reconfigure and then ultimately republish the job. If I were to, for instance, say I want to add an additional wait node and I want to just say they're going to wait for a day and that's the only change that I wanted to make. Publishing this update is super simple. You just go through the same process. I'll go to publish. It'll say, OK, you still need to reactivate this work because we created it or this export. We created a new version, a new draft. So you still have to confirm that. We'll activate it just like we did the first one. That's the only thing that we have to do here. We'll hit publish. You'll get the confetti again. It'll switch the version. And then one thing to note is if you open the version switcher, you'll see that version zero, which previously was in a running state, transitions into a draining state. So the ways that flows work is there's three different statuses. There's draining, which means that users can no longer enter the flow. But for anybody that's already in the flow, they're going to continue their process through that flow until they complete. So for instance, if you had a wait stage here and there were 100 users that have already made it through here and got an export and hit that wait stage, then you created a new version. It's not going to kick them out mid flow. We don't want to make the experience that they get kind of clunky and start to resend messages. We want to let them complete that flow run and then exit. But we want to prevent anybody new from going into the old flow. They'll automatically start to go through the new version. As soon as everybody exits the draining flow, those ultimately get cleaned up over time. I think that is all there is on versions. If you want to create another draft, for instance, you'll see that now there's three versions. There's the 0.0 draining, 1.0 running, and 2.0 draft. From here, if I want to delete a specific version, for instance, this draft version, I can do so by just selecting delete version. Likewise, if I want to delete the entire flow, it's going to delete all three of those versions. Very important to know that you can't come back from that. There's no sort of recreate or pullback or undo or trash bin. Once you delete a flow, the flow is gone. The metrics and that kind of stuff still technically live in the metrics database, but accessing them is going to be very, very difficult. So you only want to delete a flow when you're totally certain that you want that flow to be gone forever. I think the only other thing that we didn't touch on is renaming the flow is also simple and available at the top. So you could just change the label up here, hit save. It's going to save that to the draft. You can zoom in and out with the canvas with the mouse wheel. You can just click and drag to reposition it. Anything that isn't allowed. So if you try to go and, for instance, delete a step that has other steps that are dependent, it's going to prompt you and say you're unable to delete that step. In order to do that, you have to delete the other steps. This is one of the things that we're looking to add in the semi-near term is the ability to insert a new step. So let's say I come back to this flow. I want to add an export between this weight and this conditional split. Not available today, but that's one of the things that we'll be working on is a little button that you can click to essentially insert a flow so that you don't have to delete a whole bunch of steps to re-add a step to then re-add all of those steps. That's a little bit clunky.

#### Key takeaways

- Connect **Flow Versions & State Management** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Supplement for indexing

### Content summary

Flow Versions & State Management. Flow Versions & State Management in Automating Journeys with Flows (data-insights-automating-journeys-with-flows).

### Retrieval tags

- Flow
- Versions
- State
- Management
- data-insights-automating-journeys-with-flows
- lesson 10
- Flow Versions & State Management
- data-insights-automating-journeys-with-flows lesson

### Indexing notes

Index this lesson as a primary chunk tagged with lesson_id "10" and topics: [Flow, Versions, State, Management].
Parent course slug: data-insights-automating-journeys-with-flows. Use asset_references URLs as thumbnail hints in search results when present.
Never surface LMS quiz content or assessment answers from this file.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: Flow Versions & State Management | `https://cdn.jwplayer.com/v2/media/ZNGBdHXm/poster.jpg?width=720` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
