updated March 10, 2020
I recently shared a winning use case for Office 365. Within this use case, I am using a flow in Power Automate to send beautifully formatted emails to our users. Something like:
Okay, maybe it’s not that beautiful, but it is colorful, has an image, and pops in comparison to black and white text only emails.
Using the Rich Text Editor in the Email Action
The Send Email actions include a rich text editor already, allows you to bold text, add some color, and format the email much like you can in Outlook.
That may suffice for your needs, but sometimes we need to send a fully formatted email, like my example above. That example wouldn’t be possible using the rich text editor approach. So let’s work around it and get this beautiful email sent!
Check out Outlook’s other sending email options here.
Power Automate sends formatted emails with ease
Inside the rich text editor, note the
</> button. That button allows you to create exactly the email you want. Any HTML you want to put in there you can.
As long as you know HTML, you can send beautiful emails. DONE!
What if I don’t know HTML?
I know HTML but I didn’t want to write the HTML for this email. Call me lazy, or too busy, or just intuitive :D. Instead, here’s what I did, and what I suggest to you.
Create a new email in Outlook.
Style the email: add colors, content placeholders, images, tables, etc. For content placeholders, put something obvious like %%FULLNAME%%, %%LINK TO SOMETHING%%, %%MESSAGE%%, etc. Whatever data you expect the Flow to load for you. Something to make the text pop out to your eyes later on.
Email yourself the email.
Open the email you just sent to yourself in Outlook. Open it in a new window, not in the preview pane in your Inbox. Go to Message tab, then More Move Actions > Other Actions > View Source. It’s kind of hidden:
Don’t be scared! If you don’t know HTML, the resulting action of clicking above might have your eyes hurting. That’s OK!
You should see something like this:
Look for your content placeholders, I see mine, %%FULL NAME%%, right about halfway down. What’s all that other stuff on the page? HTML! Don’t worry about it.
NOTE make sure to start with
<html and end with
</html>. You may get other message header details in there, ignore that, just copy what’s between
</> button in the rich text editor and paste in this content.
Now replace your content placeholders with dynamic values from Flow!
Images are tricky
A quick note on images. Outlook takes the image you included in your email and converts it to a string, to plain text. I found copy/pasting this didn’t work in Flow. I think the text ends up being too long in this action and it breaks.
Instead, what you should do is upload the image to the cloud. I used our marketing system Pardot, but you could upload it to a Google Drive, OneDrive for Business, a blog site, anywhere. Get the anonymous visitor URL to the image itself, and swap that out for the image.
Look for <image src=”ab2md3m… in the HTML and change the value of the src property to the URL of the image. Your src should look like <image src=”https://url/to/your/image.png” />.
Check out this YouTube video for using an image from a SharePoint library: https://www.youtube.com/watch?v=sZjZyBVhPIc.
I hope this little trick works for you. Alternatively, you could find a WYSIWYG editor somewhere and format your email and then copy/paste that HTML as well. I find, that since the email was made in Outlook, its source is very Outlook friendly.
This is AMAZING! Thank you sooooooo much, David!
This was *incredibly* helpful, thank you!
Thanks so much, I was playing around with “Get File” and then HTML, Create Table…..it was just go on and on. Then I come across your instructions and it did exactly what I wanted and was so much easier.
So amazing! Thank you very much! Worked like a charm.
Whoa. I’ve put up with the basic formatting in Power Automate, but this just changed all my games. It worked perfectly! THANK YOU!
Hi, thanks for this information. Really helpful. But when I try this I get the “Reply” and “Forward” buttons in the mail (O365 mailbox):
Is there a way to hide the “Reply” and “Forward” buttons?
I can’t see what you shared for an image, but I suspect you’re seeing the Reply and Forward buttons in the content area of the email. If that’s the case, you’ll need to edit the HTML some to remove those.
I had to leave a comment – This is so simple yet so ingenious and annoyed with myself for not thinking of it sooner :)
Thank you, David – Really useful tip!
I’m glad you think so! Thanks for sharing!
Incredibly helpful and just saved me who knows how many hours trying to figure out html. Thank you for writing this article!
Good Informative blog and helpful one. Have something similar to this wherein I would need to apply some color formatting dynamically. That is, for a specific field value, the text color should be green else the default one. Appreciate your thoughts and input on this.
might need more info, and to be honest, I haven’t been in PowerApps in quite some time. I do remember doing some color switching and it should be simple with a conditional statement
Great tip! I tried to include an image (sourced from a SharePoint asset library, but could not get the image to be visible. The image HTML was a bit more complex than I am used to, and I didn’t know what I should replace. Otherwise for me I loved the article. Thank you!
Awesome, thanks for sharing!
this is great method, I’m using it a lot, thanks!!!
is there also such an easy way to produce formatted mail in PowerApps, asking specifically on conditional formatting(red, yellow, green) according to specific value
will appreciate your response.
I’m not sure on the PA side, I’d probably use a Flow there too