We recommend to deploy the panagenda OfficeExpert appliance on Azure, however, if you prefer an on-premises installation, please refer to the knowledge base article: OfficeExpert - On-Premises Deployment.

 Note that a license file is required to run OfficeExpert. Please contact sales@panagenda.com to request a license.

Place the license file OfficeExpert.lic in a folder on your local hard drive. This file will be uploaded to the virtual appliance in a later step using the panagenda OfficeExpert web interface.


 Please ensure that the Firewall and/or Network Security Groups are set up accordingly, see Network and Firewall - Requirements.


Azure Deployment

The following GitHub repository contains everything needed in order to deploy panagenda OfficeExpert in your own Azure tenant: https://github.com/panagenda/oe-on-az

Please perform the following steps:

For GCC deployments:  If you want to deploy OfficeExpert into a GCC enabled Azure tenant, please contact support@panagenda.com

Below's steps require an account which has enough privileges to deploy Azure Resources (Keyvaults, Storage Containers, etc...) and to register an Azure AD Application which acts as the service principal, Terraform (Script) runs with.



  1. Access shell.azure.com and login as Azure tenant administrator (alternatively it is also possible to use Azure CLI)

  2. Clone this repository by executing:
    git clone https://github.com/panagenda/oe-on-az.git; cd oe-on-az


  3. Export your azure tenant id by executing:
    export tenantId="{Azure Tenant ID}"

  4. Define your azure subscription id where the Azure resources should be assigned to by executing:
    export subscriptionId="{Azure Subscription ID}"

  5. Define the template URL we provided you with:
    export template="https://oestoresxxxx/xxxx.vhd"

  6. Customize the prep.sh file and adjust the location placeholder (default=westeurope, etc.) according to your requirements:
    You can either use the 
    Azure Cloud Shell editor or 
    vi prep.sh


    By default a Service Principal with Contributor role for the defined subscription gets created in your Azure AD. If you don't want OE to create this SP, you can define an existing Service Principal and the corresponding secret in the following two lines inside of this prep.sh file

    export spId=""
    export spSecret=""
  7. Execute:
    ./prep.sh
    to prepare everything for Terraform

  8. Customize the vars.tf based on your needs: (details can be found here: Customize the Azure Deployment)
    You can either use the Azure Cloud Shell editor or
    vi vars.tf

    In the Network section you can specify if the VM should get a public IP (from Azure) or an internal IP Address coming from one of your existing VNETs.


  9. Execute the following to deploy OfficeExpert:
    ./up.sh

  10. The up.sh will print the IP address of the deployed Appliance. Please create a DNS entry for this IP address.

  11. The final steps depend on your configuration:

Option 1: For public IP (default):

./config.sh "{FQDN of OE}" "{TimeZone}" "{Bot certificate secret}" "{new root password}"

Example:./config.sh "my-oe.my-domain.com" "Europe/Berlin" "my-oe-secret" "my-root-password"

  • The config.sh script will configure the appliance and also create the Azure Bot application for you

The Azure resources are now successfully deployed.


With public IP the steps described under Starting the Virtual Appliance can be skipped!  Please continue with the Chapter OfficeExpert Web Interface



Option 2: For custom virtual network (if you configured a custom network in the vars.tf file):

With custom virtual network deployment, please continue here Starting the Virtual Appliance (adjusting hostname, timezone settings and network settings).
Below steps are ALL optional and not mandatory!


  • Execute 

./create-bot.sh "{resource group}" "{azure location}" "{FQDN of OE}" --> for further details, please refer to Azure Deployment Details

Example:./create-bot.sh "pana-oe-rg" "westeurope" "my-oe.my-domain.com"

  • The Azure resources are now successfully deployed.


Executing the steps from above will deploy the following Azure resources:
Example (public IP):

Configure ACE Bot in Azure Portal - Optional

  • In order to configure the ACE Bot, click on the bot item:


  • Select Settings and write down the Microsoft App ID of the ACE Bot for OfficeExpert - the App ID will be required later to configure the ACE Bot in the Teams Integration Settings.


  • Open the Bot app then via Azure Active Directory and App registrations to provide the required client secret, select Certificates & secrets and click on New client secret:


  • Provide an appropriate description, for example "OfficeExpert Azure Bot Client Secret" and set the period of validity (recommended: "Never" - otherwise you will have to create a reminder, so that you can renew the secret before it expires).
    Click on the Add button.


  • Back in the Certificates & secrets view, the Value will be displayed.
    Write down this value, since it will be required later to configure the ACE Bot in the Teams Integration Settings.

    Please note that the value ist only visible right after creation, therefore we recommend to write it down immediately!