Build custom automations for your EasyLife 365 suite using Azure Automation.
Report Bug
As the authorized partner and distributor of EasyLife 365, Workoho is your gateway to seamless integration and optimization of Microsoft 365.
Discover the Potential: Schedule a complimentary demo today and explore the transformative solutions EasyLife 365 offers.
Expertise at Your Service: Need guidance? Our seasoned consultants are at the ready to tailor your internal processes, ensuring a perfect fit with Microsoft 365.
Connect with Workoho – where efficiency meets excellence.
Table of Contents
Using webhooks, EasyLife 365 provides a method for you to extend provisioning capabilities with custom logic. While this provides great flexibility, you may wonder about the right webhook endpoint you shall implement where you can securely run your own logic.
Besides using Azure Functions, Azure Automation is another option you may look into. This provides hybrid capabilities to integrate with your on-premises environment and long-running tasks. It also might feel more natural for administrators that are used to PowerShell scripting on their local machine.
In case you decide to use Azure Automation, this project can help you get up to speed in no time. If you're familiar using the Microsoft Graph PowerShell SDK, you will feel right at home. Using GitHub Codespaces, you get an easy way to start immediately without installing complex dependencies on your local machine. You can even start in your browser with no local dependency at all. PowerShell scripts (runbooks) can be developed and tested similar to what you are used to do during daily operation tasks already, which might feel more natural and less abstract to you.
Our setup script is idempotent, meaning you can run it multiple times and it will always result in the same system state. It will guide you through the process and explain what minimum privileges are required for you. This makes it easy to comply with security requirements like following the principle of least privilege. It will also manage peculiarities of Azure Automation where you don't need to spend time on.
A configuration file will allow to tailor everything to your specific needs. Besides setting the details of your Azure Automation account, it also allows to define permissions for the managed identity, define runtime environments with the appropriate PowerShell modules, or pre-define automation variables that your runbooks may use to help separating configuration from code.
To allow a single infrastructure-as-code solution, we also provide capabilities to define a complex set of Microsoft Entra objects you may depend on. For example, you may define Administrative Units and create groups in them. In case your administrative unit is management restricted, it is interesting to know that you can also assign scopable Microsoft Entra roles to your setup user to ensure the setup script may continue to run properly.
The entire setup is fully automatic (thanks to the amazing Azure Automation Common Runbook Framework), but requires some preparation and decision making to start.
We recommend to install Visual Studio Code locally on your machine for the best experience. However, you may also start right in your browser.
You also need a GitHub account to use GitHub Codespaces. The cost implications are rather small, GitHub Free or personal accounts get a few hours per month of free use (see Billing for GitHub Codespaces).
Alternatively, you may use any type of development container with your local Visual Studio Code setup. We provide pre-configured Docker containers for Windows Subsystem for Linux (Intel x64), Linux (Intel x64 and ARM64), and macOS (Intel x64 and Apple Silicon).
For further information, read Choosing your development environment at Visual Studio Code Docs.
- Click here to create a new repository based on our template. You may also click here to fork this repository, if you would like to keep the Git history.
- Then, create a new codespace in your new repository. You can do so directly from the GitHub web page of your repository, or in your Visual Studio Code application on or local machine. We recommend using Visual Studio Code for the best experience.
- The codespace will build automatically which takes some time. If you would like to have this pre-heated for the next time someone creates a new codespace, you may take a minute to setup prebuilds.
This section requires further attention. :-)
In general, you may have a look to the inline documentation of the runbooks if you would like to start with an idea.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the CC-BY-SA-4.0 License. See LICENSE.txt
for more information.
- Julian Pawlowski - @jpawlowski
Project Link: https://github.com/workoho/EasyLife365-AzAutomation