So the concept behind this is that every action is written to a single activity stream across the enterprise. Then you query that table when you want to do analytics. Does this mean I need to modify all my other applications to write to this table when an event happens?
So the typical flow is that your production applications structure their data however they want. From there the data is sent into your warehouse as-is (using an EL tool like Fivetran).
From there you write small sql scripts in Narrator for each activity you'd like to create. Those scripts are responsible from transforming into your format to ours. They're generally fairly short. Our docs describe them here: https://docs.narrator.ai/docs/transformations