The *LOV functions (RANDLOV, HASHLOV, etc) return lists of values so that they can be quickly/actively used during the publish process.
Since this is a post-publish action, the variable is only expecting a single string, not a list (or array) of strings.
TDM does not have any function to just get the first/single value from the returned list during the post publish, so the data will need to be generated manually.
This can be achieved via execsql:
For an Oracle repo:
@execsql(R,SELECT * from (SELECT RD_REF_VALUE_1 FROM GTREP_REFERENCE_DATA WHERE RD_REF_ID = 'LastName' AND RD_PROJ_ID = 0 order by DBMS_RANDOM.VALUE) WHERE ROWNUM = 1)@
For a MS SQL repo:
@execsql(R,SELECT top 1 rd_ref_value_1 FROM gtrep_reference_data WHERE rd_ref_id = 'LastName' AND rd_proj_id = 0 order by newid())@
This will return one random value from the seedlist that is defined within the repo as noted by "rd_ref_id". In this example "LastName". Different seedlists may use different rd_ref_value_* columns and possibly more than one rd_ref_value_* column. View the data to choose the correct values and modify the SQL accordingly to meet the needs.