DynamicFlowButton Button Class
The DynamicFlowButton button class runs an autolaunched flow. When the flow runs, the button class passes the data returned by the data source on the button to the flow.
How Can I Use It?
The DynamicFlowButton button class only works with autolaunched flows. Autolaunched flows do not contain steps, screens, choices, or dynamic choices in the active or latest flow version.
To perform DML on the InputSObject(s) in your flow, perform a Fast Lookup to get the record matching the ID, and assign it to a new variable. Then, perform the assignment DML with the variable rather than the the InputSObject(s) directly.