## The Flow itself - [ ] **No secrets, passwords or similar in place.** - [ ] No unnecessary hard-codings (if some piece of data acts as constant in several flows, it's better to make it part of the `env`) - [ ] The right `reference_tasks` are indicated, or the defaults are good enough - [ ] The flow has a proper clean-up/tear-down (if something fails, finishing activities like closing connections or deleting files will still happen) - [ ] There is no unnecessary boilerplate imports, configs, variables, constants and functions in the script (if you can remove something and the flow will still always work properly, remove it) - [ ] The flow has a way to be run and tested without consequences (i.e. write to a production database) - [ ] You have run the flow succesfully at least once in its final state before registering - [ ] You have run the flow succesfully at least once from the prefect server ## Scheduling - [ ] You have set up a slack warning so that failures are notified - [ ] You have intentionally made the flow fail to verify that notifications work properly - [ ] The right parameters are set with the scheduled run - [ ] You have verified manually that the first scheduled run went well and produced the expected output