What makes a material a good ice nucleating agent? Despite the importance of heterogeneous ice nucleation to a variety of fields, from cloud science to microbiology, major gaps in our understanding of this ubiquitous process still prevent us from answering this question. In this work, we have examined the ability of generic crystalline substrates to promote ice nucleation as a function of the hydrophobicity and the morphology of the surface. Nucleation rates have been obtained by brute-force molecular dynamics simulations of coarse-grained water on top of different surfaces of a model fcc crystal, varying the water-surface interaction and the surface lattice parameter. It turns out that the lattice mismatch of the surface with respect to ice, customarily regarded as the most important requirement for a good ice nucleating agent, is at most desirable but not a requirement. On the other hand, the balance between the morphology of the surface and its hydrophobicity can significantly alter the ice nucleation rate and can also lead to the formation of up to three different faces of ice on the same substrate. We have pinpointed three circumstances where heterogeneous ice nucleation can be promoted by the crystalline surface: (i) the formation of a water overlayer that acts as an in-plane template; (ii) the emergence of a contact layer buckled in an ice-like manner; and (iii) nucleation on compact surfaces with very high interaction strength. We hope that this extensive systematic study will foster future experimental work aimed at testing the physiochemical understanding presented herein.