Hey there @e7de84f7c71249dc8a21a7d1f05899f3! Depending on the scope of the project, personally I would likely look to create a Game Instance Subsystem as a story manager to manage the flags that have been triggered and to keep the data persistent.
Then depending on if all of your story beats are sequential or not, I’d make an enum to define the states, then call to the story manager to ask “Can I fire yet?” and have the manager decide based on the state at the time. Alternatively I would have a data asset to hold the flags themselves and have the story manager check them directly.