Object bind particles

Hi,
I have been trying to create something like this:

It’s just an axample, but basically particles following the surface of a custom mesh. It’s pretty basic stuff, but I can’t find any information on how to do it anywhere. Is it even possible? Can someone point me to a tutorial or documentation about it?