Customizing elgg actions

I'm looking for the best approach to take... my goal is to customize any Elgg action that results in a database transaction such as posting on a blog or uploading an image.  In addition to the core functions of these actions I'd like to be able to make an api call to an external service with data related to the action being taken.  In reading through the developer documentation it seems as these changes would be considered Elgg core functionality and recommended not to modify.  I've searched through the discussions to see if anyone else may have tried to do something similar but didn't see anything.

Just looking for some guidance.  Thanks in advance.