So, by doing ln -s /my/source/* ./
I created a link to content of source but changes in source aren't reflected in the target.
For example, when I create new folder in source it's not being shown in target
Actually this is the expected behavior. Your command will make links for current contents of /my/source/ directory.
The easy solution is to link the directory itself:
ln -s /my/source ./
it will create a link like:
source -> /my/source
But also inotifytools can be used to watch the directory and take an action.