> What does this return when you run it with psql?
Hmm..
Running with psql works correctly:
# psql -d db_main
db_main=# SELECT zexternal_action.hello_world('foo');
hello_world
-----------
param provided: foo
(1 row)
I am stumped since this works fine.