This worked fine for me when I was using helm-ag:
(defun mu-helm-ag-thing-at-point ()
"Search the symbol at point with `helm-ag'."
(let ((helm-ag-insert-at-point 'symbol))
You should make your functions interactive (see here).
You could also try the helm-grep-do-git-grep command, which I think is a lot smarter at solving this issue. For example, it always searches the symbol at point if it finds one, but as soon as you start typing the Helm buffer updates automatically to display the new candidates.