I recommend doing this by using Azure Activity Log and then sending it to a Log Analytics workspace. From there are a few different ways you can do it, depending on what your goals are.
If your goal just is to set something easy up, then I'd recommend setting up a Logic App. Logic Apps make it easy to read data from Log Analytics, and they have great integrations with both email and Slack. Haven't tried it with Teams.
If you want to build an application to do this, where you have code instead of a UI, with version control and all else that comes with a "proper" application, then I'd recommend building an Azure Function. Then you can use the Azure SDK (this is available for a few different languages).