Flow Structure:
Recurrence → Get Items → Table Style (Compose) → Create HTML Table → Send an Email (V2)
Step 1 — Get Items
Add a Get items action connected to your SharePoint list. This pulls all the rows you want to include in the email.
Step 2 — Add Table Styling (Compose)
Add a Compose action right after Get items and rename it to "Table Style". Paste the following CSS into the Inputs field:
<style>
table {
border: 1px solid #1C6EA4;
background-color: #EEEEEE;
width: 100%;
text-align: left;
border-collapse: collapse;
}
table td, table th {
border: 1px solid #AAAAAA;
padding: 3px 2px;
white-space: nowrap;
}
table tbody td {
font-size: 13px;
}
table thead {
background: orange;
border-bottom: 2px solid #444444;
}
table thead th {
font-size: 15px;
font-weight: bold;
color: #FFFFFF;
border-left: 2px solid #D0E4F5;
}
table thead th:first-child {
border-left: none;
}
</style>
You can adjust the colors, fonts, borders, and spacing to match your preference.
Step 3 — Create HTML Table
Add a Create HTML table action. Configure it as follows:
- From: Select
value from the Get items output
- Columns: Set to Custom
- Map only the columns you need. For example:
- Header:
Title → Value: Title (from Get items)
- Header:
Amount → Value: Amount (from Get items
Step 4 — Send an Email (V2)
Add the Send an email (V2) action. In the Body field:
- Click the
</> button in the toolbar to switch to HTML mode
- Type your message text in HTML:
<p>Hi,</p>
<p>Your department has some organizational documentation that is past due for review. Please review the following document(s).</p>
- After the text, click inside the Body field and switch to the Expression tab in the dynamic content panel
- Enter the following expression and hit OK:
concat(outputs('Table_Style'),body('Create_HTML_table'))
This combines your CSS styling with the HTML table so the email renders a clean, professional-looking table.
Result:
The email will look like this — a formatted table with styled headers, borders, and alternating row colors, all sent in a single email.