Esri has new functionality called "Attribute Rules" which store trigger-like behavior in the XML of a feature class with customizable functions. For example, a new asset ID number can be assigned automatically while editing features. As it's stored in the database not at the project level, it is portable and the functionality also persists over published editable web services. Unfortunately, there is no backwards compatibility and the feature classes are no longer viewable in ArcMap or ArcCatalog when these rules are created. It also appears that the FME geodatabase reader is unable to consume these feature classes when the new functionality enabled.
Documentation:
https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/an-overview-of-attribute-rules.htm
Esri Video on Attribute Rules
https://www.youtube.com/watch?v=-2W1H0xr90o
The rules seem to be stored in the sde.gdb_items table of the database and more specifically in the "definition" XML type field of the feature class row. I created an attribute rule and sequence following this tutorial that adds an asset ID based on an auto-incrementing sequence I named curbseq_agspro to new features. The following XML was appended to the feature class definition XML after using the esri geoprocessing tools:
<AttributeRules xsi:type='typens:ArrayOfAttributeRule'><AttributeRule xsi:type='typens:AttributeRule'><ID>3</ID><Name>AssetMgmtLinkID_Txt</Name><Type>esriARTCalculation</Type><EvaluationOrder>1</EvaluationOrder><FieldName>astmgmtlinkid</FieldName><SubtypeCode>-1</SubtypeCode><Description>Update the Asset Mgmt Link ID field with the next sequence value from curbseq_agspro.</Description><ErrorNumber>-1</ErrorNumber><ErrorMessage></ErrorMessage><UserEditable>true</UserEditable><IsEnabled>true</IsEnabled><ReferencesExternalService>false</ReferencesExternalService><ExcludeFromClientEvaluation>false</ExcludeFromClientEvaluation><ScriptExpression>var assetfield = $feature.astmgmtlinkid; IIF(IsEmpty(assetfield), Text(NextSequenceValue("curbseq_agspro")), assetfield);</ScriptExpression><TriggeringEvents xsi:type='typens:ArrayOfString'><String>esriARTEInsert</String><String>esriARTEUpdate</String></TriggeringEvents><CheckParameters xsi:type='typens:PropertySet'><PropertyArray xsi:type='typens:ArrayOfPropertySetProperty'></PropertyArray></CheckParameters><Category>-1</Category><Severity>-1</Severity><Tags>Asset ID</Tags><Batch>false</Batch><RequiredGeodatabaseClientVersion>12.3</RequiredGeodatabaseClientVersion><CreationTime>2020-01-06T21:34:00</CreationTime></AttributeRule></AttributeRules>
It would be great if FME could read / write features with this functionality as it's a highly useful ability now to create these rules in an Esri supported manner rather than customized database triggers and I foresee their use expanding among customers.
Here is a .gif animation showing the rule in action on ArcGIS Online. Notice the assetid_attrule field is automatically updated with a new value (after I pan/zoom to refresh the data).