Re the issue of ‘just’ making RTF with a link, I think this thread (from the OmniOutliner forum) might help.
%-prefixed URL-encoding codes are not case sensitive by intent: see RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. But code parsing those might decide differently, in which case the choice is the coder’s not the standard.
Aside the code at play here are encoding angle brackets. The first line below is the urlencoding of the last:
message://%3cdiscourse/post/41031@forum.eastgate.com%3e
message://<discourse/post/41031@forum.eastgate.com>
IOW, the angle brackets are enclosing an email address.