We are closing very soon on the module! Just a couple more parts and we will have learned 1/24 of the required modules. What I just said may not make sense if this is your first post in this series. I highly advise to go back and read the previous 3 posts if you would like to learn about app development for Microsoft 365.
As we have learned in the past, Actionable Messages have a ton of powerful capabilities allowing for tons of usability. However, that means we have a bit of work to do to allow our service to send information outside of the Microsoft 365 service. With that being said, services must register their sender and the web API endpoints.
An important aspect to remember is the Actionable Email Developer Dashboard, this is where we will do all of the remaining back-end work to ensure our service will work for the right people.
In order to register the service, we have some information that will be asked for. (TLDR will be listed in bullet points)
To begin, we need to have at least one static email address that will be used as the sender for the Actionable Messages. An example that made sense to me, is to think of the automatic emails from Coinbase or other places. The sender email is "[email protected]", Actionable Messages need the same thing.
Continuing, we also need one or more HTTPS URLs that will be invoked by actions in the AM. Essentially I took this as pressing the "send" button would send the information I entered to the required HTTPS URL, as we need a solution to collect data.
Lastly, we need to diverge the scope of the submission. This scope dictates who will see our Actionable Message or not. An example of this is a school, I want to send it to all teachers and staff, but not the students. We also have an optional requirement being a logo for their provider.
- One or more static email addresses
- One or more HTTPS URLs that will be invoked in AM
- Scope of Submission
- OPT: Logo for provider
Depending on our scope, our next step will depend on what we chose in the submission and our desired scope. We have three options that could be chosen.
Test users - The AM can only be sent to specified users that must be in the same M365 (Microsoft 365) organization as the user creating registration. Generally, this is used in later stages of development.
This choice requires a list of one or more test user addresses, and they are auto-approved.
Organization - Similar to the testing, the AM can be sent to anyone in the same M365 as the one creating registration. However, specification is not needed and a list of users is also not required. Generally, this choice is ideal for line-of-business applications, such as internal expense reporting solutions.
Global - Lastly, the most powerful of all of the choices. Global allows for any 365 user, organization does not matter here. Typically, ISV's (Independent Software Vendors) or websites that provide services to multiple users. However, with such power comes more questions. Global requires additional information to use this scope. Information needed includes company information, point of contact, description of use-case and actions, as well detailed instructions for testing and verifying the solution. You must have everything settled and carefully looked at as a request is sent to Microsoft, and it will be independently tested, verified, and approved or denied.
Done! I am sorry if this one sounded a bit "rough around the edges", this section was hard to explain in a good way without over-compensating everything with possibly bad examples.
All in all, we learned about some requirements that Microsoft needs to make sure your service and AM is not malicious, as well the use case of the different kind of scopes available to you. Although different scopes are available, the choice is very much scenario-oriented and each choice has an ideal area for use.
Until next time...
First, I want to apologize and kind of explain myself as I do love this platform and want to do well on here. However, consistency is key and that is something I just cannot afford right now. I am going through a lot in my personal life with work, schooling, and maintaining time for my hobbies (off of computer). I do not expect this to clear me of being so inconsistent, but I do want it to be known, it is not a lack of interest in this platform.
Thank you to everyone that still spends the time to read my posts through these droughts of nothing. It is appreciated.