BattlePass is powered in a lot of places by actions. Be aware that options like next-page may only be available in menus. Same goes for other dependent options.
The menu action can be used to open a menu for a player anywhere or if they have a menu open, go to the previous or next page. The menu action also supports conditions. = is used to represent something being the same, ! to represent when something is different. Additionally, instead of using the menu name, you can also use close to close their currently open menu. Format: [menu](condition) {menu-name} Examples:
- '[menu](page = 1) {portal}' # If the page is 1, take them to the portal page
- '[menu](page ! 1) {previous-page}' # If their page is not 1, take them to the previous page
- '[menu] {next-page}' # Conditions are not required
- '[menu] {close}' # Closes their currently opened menu

Message Action

The message action is simple and can be used to send a message to a player. Where appropriate, you can use the %tier% placeholder such as in the default config. Format: [message] {message} Example:

Sound Action

This will play a sound for a player. You can find a list of sounds for your version by googling Minecraft sound enum . You can optionally specify the volume and pitch of the sound (doesn't work for all due to the way Minecraft works). Format: [sound]{sound:volume:pitch} where you can remove volume/or pitch. Examples:
- '[sound] {BLOCK_ANVIL_USE}'
- '[sound] {BLOCK_ANVIL_USE:2}'
- '[sound] {DOOR_CLOSE:3:2}'

Command Action (Since v3.4)

This will execute a command as the player it's triggered for. You can use %player% to use the player's name. Format: [command] {the command} Examples:
- '[command] {bp menu rewards}'
- '[command] {some-command %player%}'

Console Command Action (Since v3.4)

This will execute a command as the console. You can use %player% to use the triggered player's name. Format: [console-command] {some console command} Examples:
- '[console-command] {bc &c%player% did some thing. IDK what.}'
- '[console-command] {lp user %player% parent add some-group server="skyblock"}'