How to customize Strapi backend (content-manager) controllers, services and validation?

Well, well, WELL!

Turns out, none of the “solutions” worked for me.

What I ended up doing was creating my own inbound Webhook API, by the help of strapi generate (or yarn strapi generate ymmv).

I then set up a custom controller that listens for POST requests to /webhook and with an extensible lookup table, I fire certain functions depending on what specific event and model was in that request.

The events and models I am talking about of course come from the outbound webhook that I set up in the Strapi settings.

Now I have working, completely extensible, completely secure code, that can be set up to listen to each and every thinkable action performed in the Content Manager and act accordingly :smiley:

There really are no limits to what you can use this for, but for me, I wanted to be able to enrich address information behind the scenes with coordinates from OpenStreetMap, when a user clicks Save or Create, and it works beautifully!