We show how to reconstruct etale groupoids from general semigroups of "bump" functions defined upon them. The essential idea is to extend Milgram's classic work from spaces to groupoids, using ultrafilters of such functions to recover the points. This allows us to unify a number of reconstruction theorems in the literature for C*-algebras, Lp-algebras, Steinberg algebras and inverse semigroups. (Joint work with Lisa Orloff Clark and Astrid an Huef.)