You’re doing a find job of explaining the issue.
Here’s what’s happening (I thinkl)… when Integromat reads the content from Airtable it is unencoding it, thus eliminating all the great work you did in Airtable to properly encode the data.
When I mentioned that the URL needed encoding, the implication was that it would either occur when building fields that contained the URL in Airtable, or when any other external process generated such URLs; in this case, Integromat.
Integromat supports functions and formulas much like Airtable - indeed, the string functions include
encodeURL and this would likely be the place to perform the encoding before updating the data back into your long text field in Airtable.
I have almost zero experience in Airtable but @cor has plenty. Perhaps he can guide from this point forward.
There’s at least a coin flip probability that you can achieve this without going around the barn into Integromat by using a simple Airtable script block to update the long text field (with fully encoded URLs) and in a format that looks as pretty as you’ve achieved with Integromat.
I realize you don’t have a lot of script experience and I am slammed for the next two weeks. But I recommend you make a plea in the Script Block category for a very simple ask that goes something like this:
Help! New Script Block User Trying to Learn Basics!
Need a script block that reads a URL field from each record and writes a long text field with a pretty Markdown link.
I’ll bet someone will see that as a challenge and lend a hand.