Customize the Workflow Manager configuration file

Available with Workflow Manager license.

As an administrator, you can add and manage properties in the WorkflowManager.conf file to configure custom settings for ArcGIS Workflow Manager Server and the web app. After installing Workflow Manager, the configuration file is located at %ProgramData%\esri\workflowmanager\WorkflowManager.conf.

Note:

If your ArcGIS Enterprise system contains more than one ArcGIS Server machine with Workflow Manager, changes to the configuration file must be repeated in each instance of ArcGIS Server.

Configure a high-availability deployment

For highly available Workflow Manager deployments, each machine must be configured to enable high availability.

Note:

When federating your Workflow Manager machines with your ArcGIS Enterprise Portal, set the Administration URL to a URL that can be used to communicate with all servers in the site.

  1. Open %ProgramData%\esri\workflowmanager\WorkflowManager.conf in a text editor.
  2. Uncomment the following lines in the WorkflowManager.conf file:
    • play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
    • play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

    If these lines don't exist in your WorkflowManager.conf file, add them to the bottom of the file.

  3. Save the change to the file.
  4. Restart the ArcGIS Workflow Manager Server service using the Windows Services console.
  5. Repeat steps 1 through 4 on each Workflow Manager machine.

    Workflow Manager is now configured for high availability.

Sample configuration file

The following is a sample Workflow Manager configuration file that can be used or referenced in your system:

#########################################################
# Workflow Manager configuration settings
# Set any user-defined configuration options in this file
#########################################################

include "application.conf"

wmx {
  // Generally should be set to <= play.server.http.idleTimeout / 2
  // This way 2  pings are sent / timeout period to avoid disconnections if one is lost
  wsKeepAlive = 3 minutes

  arcadeExpressionTimeout = 10 seconds

  featureBatchSize = 100

  webRequestTimeout = 1 minute

  webhookTokenExpiration = 30 minutes

  webhookMaxAttachmentSize = 10m
}

// The following settings can be used to modify security settings

// Uncomment this to modify the allowed cipher suites. Can use same options as ArcGIS Server
//akka.ssl-config.enabledCipherSuites = [
//  "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
//  "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
//  ]

// Uncomment this to modify the allowed TLS protocols
//akka.ssl-config.enabledProtocols = [
//  "TLSv1.2",
//  // "TLSv1.1", // Deprecated - only use if absolutely required
//  // "TLSv1" // Deprecated - only use if absolutely required
//]

// Uncomment this to enable CORS
//play.filters.enabled += "play.filters.cors.CORSFilter"
//play.filters.cors {
//  pathPrefixes = ["/workflow"]
//  allowedOrigins = ["https://www.example.com", ...]
//  allowedHttpMethods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
//  allowedHttpHeaders = ["Accept", "Accept-Language", "Content-Language", "Content-Type"]
//  preflightMaxAge = 1 day
//}

// Uncomment the following lines to configure site to support multi-machine deployments
// play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
// play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

// This can be used to change the maximum file size for attachments.
// If file sizes larger than 500MB are required, the hosted feature layer for the workflow item will also
// need to be updated in addition to this parameter. See the Workflow Manager documentation for more information.
// play.http.parser.maxDiskBuffer = 500m

// This can be used to change the max allowable POST body size
//play.http.parser.maxMemoryBuffer = 2m