As part of our ServiceNow Event Management integration project I've created a PowerShell script that we call as an Alert Action that sends Orion Properties and Values to the ServiceNow server via a SOAP call. Right now this script is extremely complex and any time we need to alert on a new Object Type or make changes to the current property lists it requires me to do a lot of work. I am trying to create a new version of the script that will automatically grab the proper system properties and all of the custom properties for that object and, if the object is a child of a Node then it will also grab the relevant system and custom properties for its parent Node as well. I'm doing this by creating a CSV that "normalizes" the property names that we want to send to ServiceNow. For instance, the ID fields for each object type are different. InterfaceID, VolumeID, ComponentID, ApplicationID, etc...
I don't need help with the above part, but what I am trying to figure out is, when creating a new Alert in the web console, where is the list of valid Object Types to alert on stored in SWQL/SQL? Also, where are all of the valid properties and Macros for alerting variables stored in SWQL/SQL as well? See my screenshots below for clarity. I assume they're stored somewhere in the Metadata.Entity and/or Metadata.Property SWQL tables, but I'm not quite sure. I'm pretty sure tdanner is one of the few people that can answer this, but if anyone knows please feel free to share your knowledge. If I could figure out where this stuff is stored in SWQL it would save me a TON of time.

