How to use Schedule Exports to create an email notification for Materialization refresh

Add a column in the Dataset using the Now() formula. In this example, I truncated the output to the hour as my materialization would be running hourly.

DateTrunc("hour", Now())

My materialization was set to run every 2 hours on the hour.

In a Workbook, import the same Dataset as a table and in the Summary create a formula to check if the day and hour in the [Materialization Time Check] column matches the current day and hour:

If(Max([Materialization Time Check]) = DateTrunc("hour", Now()), True, False)

When the data gets stale this boolean would evaluate to False. Only after the next time the materialization ran (in 2 hours) would the data would be fresh and so the boolean would then evaluate to True.

Still in the Workbook, create an email Scheduled Export with a condition to check if the data is fresh. The condition in this example is whether the [Fresh Materialization?] column evaluates to True.

This export is scheduled to check the condition every hour at ten minutes past the hour (I added 10 minutes as a safety mechanism to allow time for the materialization to finish processing as it is scheduled to begin at the start of the hour. This interval may need to be longer or shorter depending on the typical duration of the materialization processing).

When materialization occurs successfully, the email Schedule Export will be triggered.