This custom alert will query the DBA_OBJECTS system table and return all objects that are currently invalid. The query will return the object information in the first column and a the number of minutes the object has been invalid in the second column. For the thresholds, use 1 as the min value, meaning anything that has been invalid more than 1 minute will cause the alert to be triggered. If you have have objects that become invalid but later will get revalidated, consider setting the threshold to a higher value.
To add this to DPA, create a custom alert of type Custom SQL Alert - Multiple Numeric Return and make the alert look similar to below. For the SQL statement, past in the contents of the attachment: