Used directus[0] (v9) for a customer project[1]. I needed to sync the CMS content with meilisearch[2], so I had to write a custom extension that registers some hooks[3] for that. I discovered some weirdness in the API, since the payload of a hook behaves differently whether the CMS change gets triggered via UI event, API request, or CSV upload. Was a bit annoying, but got it working in the end. Don't know if that improved in later versions, but I honestly also didn't keep up with development since the license change.