Here's a simple hack to get an Org-mode agenda view to popup in an Emacs buffer, daily at a specified time.
(defvar daily-agenda-timer (parse-relative-time "9:00 am"))
;; (decode-time daily-agenda-timer)
(defun show-daily-agenda ()
(unless (time-less-p (current-time) daily-agenda-timer)
(setq daily-agenda-timer (time-add daily-agenda-timer
(seconds-to-time 86400)))
(org-agenda-list)))
(add-hook 'display-time-hook 'show-daily-agenda)
(display-time)
The parse-relative-time function helps in initializing the
daily-agenda-timer using a human readable string.
(defun parse-relative-time (time-str)
(destructuring-bind (sec min hour day month year dow dst zone)
(parse-time-string time-str)
(destructuring-bind (sec1 min1 hour1 day1 month1 year1 dow1 dst1 zone1)
(decode-time)
(encode-time (or sec sec1)
(or min min1)
(or hour hour1)
(or day day1)
(or month month1)
(or year year1)
(or zone zone1)))))