This simple GEL script does not have any messages in the script but it still forces the engine to display a message when it is completed.
<gel:script
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:core="jelly:core"
xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary"
xmlns:sql="jelly:sql"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<gel:persist scope="INSTANCE" value="${gel_objectInstanceId}" var="myObjectId"/>
<gel:persist scope="INSTANCE" value="${gel_processInstanceId}" var="myProcessId"/>
</gel:script>
On the process run instance it has the yellow flag with the message "BPM-0546: Custom script has completed.