Hey,
There is also a 3rd option that we are using, that is a dataverse connection. All 3 methods are valid and have their benefits and drawbacks, which I are the following - at least in my opinion.
In general, development is always the most easiest way for developers, however, it requires a release. So, if the requirement is not clear or changes arise, you have to touch code and have a release.
ad 1:
The business event (BE) needs development and a release. You have to know and test on your dev box, if you have all the information for the Power automate (PA) trigger. If you miss something here, development and release is necessary. However, this solution gives you at least some flexibility in Power automate. If the design of the mail, recipients have to be changed, you can do it easily without a code release. Also, if something fails a consultant can easily check it without a developer in the first place.
ad 2:
Maybe the easiest to implement for a developer. However, any changes or tracking if something failed or didnt work as expected has to be done by the developer.
ad 3:
You dont need a developer here. Setting up a dataverse connection might take some time to figure out how it works, however, everything can be done by a consultant. No developer is necessary. You are also setting up a system where you can trigger changes in other business cases, like when you want a trigger based on vendor fields.
The drawback is, you might access to every field through the virtual entity. Some specific fields or relations to other tables are easier to be done by a developer. Usually, you should be fine with the virtual entities.
Kind regards, Adis
If this helped, please mark it as "Verified" for others facing the same issue
Keep in mind that it is possible to mark more than one answer as verified