In your microflow, from EmailTemplate object try to retrieve associated TokenList.
Then check whether the token list is empty or not, if it’s not empty then use ReplaceEmailTemplateTokens java action and pass the Main object, TokensList, EmailMessage object, DataObject.
Hope it helps!
I usually create an entity (EmailContext) that contains the runtime values. Then I use the CreateEmailFromTemplate microflow from EmailConnector, it’s quite straightforward then.
So the flow is:
Create and fill the context object (username etc.) – Retrieve template – Create EmailMessage with CreateEmailFromTemplate – Send the email with the SendEmail java action from EmailConnector