This is currently not implemented in the python version of zim. But there are workarounds for KDE and GNOME. See https://answers.launchpad.net/zim/+question/97405
To automatically start zim iconified on startup, make sure that
Put the following command to the session startups:
zim && sleep 1 && /usr/bin/wmctrl -c 'Zim'
It may be necessary to call Zim with its full path
/usr/bin/zim && sleep 1 && /usr/bin/wmctrl -c 'Zim'
On GNOME there are some timing problems at startup. To get it to work, put the following code in a script file in ~/bin/zimstart. Don't forget to make the file executable:
sleep 15 && /usr/bin/zim && sleep 2 && /usr/bin/wmctrl -c ' - Zim'
Then put a call to the script in Startup Applications. You will need to use the full path (use the 'Browse button when adding the startup command). Adjust the 'sleep' times to suit your machine. Start with longer times and reduce them when it works.