# Actions

Most of the main features in Mix It Up revolve around creating a series of actions to perform when something happens (Chat, Events, Timers, etc). When you open an existing command for editing, its already-saved actions start minimized to reduce clutter, while a brand-new action you add starts expanded. Adding a new action does **not** retroactively minimize the actions already in the list, however: each action's minimized/expanded state is independent, and you can open or close any action by clicking on its title.

Every action has the following:

- Play button to allow you to test out the individual action on its own
- Up & Down Arrow buttons which allow you to change the order of your actions without having to re-create them
- Help button to bring you to the exact documentation entry for that action
- Delete button to remove the action.

Most actions do not wait for their work to complete, they only wait for however long it takes for their work to be initiated. For example, a chat action only waits until the message has been successfully sent, not when it was received by the streaming platform. A sound action only starts playing the sound, it does not wait for it to finish. The Wait action is *one* exception to this, but not the only one: the Web Request action always waits for its full HTTP response (which it needs in order to populate `$webrequestresult` and the JSON Special Identifiers), and the External Program, Text To Speech, and Command actions likewise block on their own work finishing when their respective "Wait For Finish" / "Wait Until Complete" toggle is enabled.

Same-type serialization is a separate matter, and is not a property of the Wait action specifically. It comes from Mix It Up's default "Per Command Type" Command Locking System, which serializes *any* commands of the same type (whether or not they contain a Wait action) so that, for example, another Chat command cannot run until the current Chat command has finished. This applies unless you change the lock setting or individually Unlock the command.

For detailed information about a specific action, please see the dedicated pages for each action type.
