Views:
Surface Automate is made available as a collection of NUGET packages. This article describes how you can deploy these into your environment.

Where can I download the application?

Surface Automate is published as a set of NUGET packages which can be downloaded from https://repository.surfacebi.com.

How can I deploy the application?

You can use any of the number of available Continuous Deployment solutions such as Octopus.

Configuration parameters

During the deployment, you will need to configure a number of parameters in the web.config file or equivalent. Your deployment tool will probably be able to automate this for you or you can make the changes manually.
See below for the configuration parameters for each NUGET package.

Surface.Automate.WebAPI

Parameter Value(s) Notes
connectionStrings/SurfaceBIDb Connection String for your database  
AuthorizationScheme Azure | Windows Use "Azure" if you wish the users to authenticate using Entra ID (formerly Azure AD).
Use "Windows" if you wish to use Windows-integrated authentication (for on-premises deployments only).
AzureADInstance https://login.microsoftonline.com/{0} Only applicable when AuthorizationScheme = Azure.
In most cases you can leave the default value.
AzureADTenant mydomain.com Only applicable when AuthorizationScheme = Azure.
The name of your Azure AD tenancy
RedirectUri https://automate.mydomain.com Only applicable when AuthorizationScheme = Azure.
The url of your Surface Automate instance. This needs to correspond to the redirect Uri configured in your Entra ID application.
LogoutRedirectURL https://automate.mydomain.com The url to which the user will be redirected if they explicilty log out. In most cases, this is the same as RedirectUri
AutoProvisionUsers true | false Set to true if you wish to automatically provision users when they first access the application. If set to false, users need to be manually set up before then can access the application.
Typically set to true for deployments on-premises, set to false for Azure-based deployments.
ClientID Id of the application in your Entra ID Only applicable when AuthorizationScheme = Azure.
 
ClientSecret Client Secret from the application in your Entra ID Only applicable when AuthorizationScheme = Azure.
 

Surface.Automate.Scheduler.Service

Only applicable for deployments on-premises.

Parameter Value(s) Notes
Endpoint https://url Url of the Surface Automate instance.
PollingIntervalMinutes 1 The frequency at which the schedule should execute. Default value is 1 minute.

Surface.Automate.Scheduler.WebJob

Only applicable for deployments in Azure.

Parameter Value(s) Notes
ServiceUri https://url Url of the Surface Automate instance in Azure.
AADTenancyName mydomain.com The name of your Azure AD tenancy
AADInstance https://login.microsoftonline.com/{0} In most cases you can leave the default value.
AADAppClientId Id of the application in your Entra ID  
AADAppKey Client Secret from the application in your Entra ID