APP_QUIESCE_CMDS - Run before snapshot is taken and are agent aware
APP_UNQUIESCE_CMDS - Run after snapshot is taken and are agent aware
PRE_EXIT_CMDS - Run when error occurs and are agent aware. You would just want to do what you do for unquiesce here, maybe some extra error checking as well.
All you need to do is to figure out how to quiesce and unquiesce Zimbra from the CLI. The scAgent allows Snap Creator to run these commands remotely which provides a centralized solution. In addition SC can integrate with Protection Manager and provide restore (data from snapshot) as well as many other data protection solutions. They key is that we have a Zimbra consistent snapshot, then everything is possible.
2. Create a plug-in
To create a plug-in you should join the Snap Creator Developer community www.snapcreator.com. Currently there are some technical issues preventing some from logging in, we hope to have these addressed soon. Anyone with a NOW account should have access but again there are some technical issues.
A plug-in can be created in any programming or scripting language, so you could even do it in poweshell or unix shell script. A plug-in allows you to provide more advanced capabilities like recover or cloning. If you just care about automation of backup process then option 1 is easiest.
In the Snap Creator Developer community there are plenty of folks, including myself that will help you create / understand how to create plug-ins. It only takes about a hour to get started
Creating a plugin also allows you to share your solution with other's or other customers. If you are a partner or service provider this would be very interesting. A Plug-in finally could end up in the supported product one day so that is an advantage as well.
Here is an example of a shell script plug-in:
case "$1" in
echo "SC_DESCRIBE#DESCRIPTION#Plug-in to handle DB2 database integration"