- Getting Started
- Requirements
- Best Practices
- Installation
- Updating
- Identity Server
- Troubleshooting startup errors

Orchestrator installation guide
Webhooks AppSettings.json
The appsetting.json file (C:\Program Files (x86)\UiPath\Orchestrator\Webhooks) contains the out-of-the-box settings for the Webhooks Service. It is recommended to configure your custom settings in the appsetting.Production.json. This file overrides any pre-existing settings within appsetting.json after each installation process.
It is recommended that only administrators change the values of these parameters. Additionally, it is recommended that you shut down the IIS server in order to modify appsetting.Production.json settings under any circumstances. Parameters that are not documented in this page should not be changed. All parameters are case sensitive.
Settings Priority
Settings can be configured in multiple places. Here are the priorities used by Webhooks Service when determining the value of a setting, listed from high (1) to low (3):
- Value within the
appsettings.Production.jsonfile - Value within the
appsettings.jsonfile - Default value setting within the code. Used only if a specific setting can't be found within
appsettings.Production.jsonorappsettings.json.
Settings
The appsettings.json file has an internal structure composed of multiple json sections separated by a comma.
Orchestrator SQL Client Settings
"OrchestratorSqlClientSettings": {
"ConnectionString": "<OrchestratorConnectionString>",
"Enabled": true
},
"OrchestratorSqlClientSettings": {
"ConnectionString": "<OrchestratorConnectionString>",
"Enabled": true
},
ConnectionString
The connection string as generated by the Orchestrator instance you want to connect to.
Webhook Service Config
"WebhookServiceConfig": {
"MaxWorkerCount": 10,
"HttpClientUserAgent": "UiPath-WebhookService/Webhooks",
"RequestTimeout": "0.00:01:00",
"RetryAfter": [
"0.00:00:0",
"0.00:00:45",
"0.00:02:30",
"0.00:05:00"
],
"MaxRetryRequests": 2
"SubscriberCircuitBreakerExpirationSeconds": 600
},
"WebhookServiceConfig": {
"MaxWorkerCount": 10,
"HttpClientUserAgent": "UiPath-WebhookService/Webhooks",
"RequestTimeout": "0.00:01:00",
"RetryAfter": [
"0.00:00:0",
"0.00:00:45",
"0.00:02:30",
"0.00:05:00"
],
"MaxRetryRequests": 2
"SubscriberCircuitBreakerExpirationSeconds": 600
},
RequestsTimeout
The amount of time after which each HTTP request is canceled. Please note that each request that times out is retried, according to the RetryAfter value. By default, the timeout time is set to 1 minute.
RetryAfter
The amount of time, in seconds, after each failed request is retried. By default, there are four retries defined as follows:
- The first retry request is executed immediately after the first attempt failed.
- The second retry is executed 45 seconds after the first retry fails.
- The third retry is executed 2 minutes and 30 seconds after the second one fails.
- The fourth retry is executed 5 minutes after the third one fails.
You can change the number of delays, if you list fewer entries or if you set the value of MaxRetryRequests to a smaller value. We recommend that you always set the first retry to 0, and never set time amounts greater than 300 seconds (5 minutes) in between retries.
MaxRetryRequests
The maximum number of retries to be performed on a failed request.
MaxWorkerCount
The maximum number of webhooks that can be enabled per tenant. By default, it is set to 10.
SubscriberCircuitBreakerExpirationSeconds
The amount of time, in seconds, during which webhooks stops sending messages to the subscriber that reported a failure. By default, the value is set to 600. If the value of the parameter is set to 0, this feature is disabled and failures are ignored. More information about how this pattern works can be found here.
Ledger Configuration
"LedgerConfiguration": {
"Enabled": true,
"Subscribers": [
{
"LedgerComponentType": 0,
"ComponentId": "WebhookSubscriber",
"Topics": null,
"ConnectionString": "<OrchestratorConnectionString>",
"EstablishNewConnection": false,
"LedgerSubscriberDeliveryType": 1,
"LedgerSubscriberReliability": 1,
"Enabled": true,
"LedgerComponentClassType": 2,
"Context": "{\"BatchSize\": 500, \"DeliveriesBatchSize\": 500}"
}
]
},
"LedgerConfiguration": {
"Enabled": true,
"Subscribers": [
{
"LedgerComponentType": 0,
"ComponentId": "WebhookSubscriber",
"Topics": null,
"ConnectionString": "<OrchestratorConnectionString>",
"EstablishNewConnection": false,
"LedgerSubscriberDeliveryType": 1,
"LedgerSubscriberReliability": 1,
"Enabled": true,
"LedgerComponentClassType": 2,
"Context": "{\"BatchSize\": 500, \"DeliveriesBatchSize\": 500}"
}
]
},
The logging infrastructure is identical to that of the Orchestrator service.
ConnectionString
The connection string as generated by the Orchestrator instance you want to connect to.
"ApplicationInsights": {
"InstrumentationKey": "<AI_InstrumentationKey>"
},
"ApplicationInsights": {
"InstrumentationKey": "<AI_InstrumentationKey>"
},
InstrumentationKey
Required if you are using Application Insights.
For more details, refer to the official Create an Application Insights resource documentation.