RPA Bot Monitoring and Logging

A deployed bot is not a set-and-forget solution. Applications change. Data formats shift. Network issues arise. Without monitoring, a bot can fail silently for hours — or days — while business transactions are missed and problems pile up. Robust monitoring and logging give you immediate visibility into every bot run, every transaction processed, and every error encountered.

The Three Layers of RPA Monitoring

 ┌──────────────────────────────────────────────────────┐
 │              MONITORING LAYERS                       │
 │                                                      │
 │  LAYER 3 – BUSINESS MONITORING                       │
 │  "Did the business outcome happen correctly?"        │
 │  KPIs: STP rate, processing accuracy, turnaround time│
 │                                                      │
 │  LAYER 2 – PROCESS MONITORING                        │
 │  "Did the bot complete its workflow?"                │
 │  Checks: Job status, queue health, exception rate    │
 │                                                      │
 │  LAYER 1 – INFRASTRUCTURE MONITORING                 │
 │  "Is the bot machine available and healthy?"         │
 │  Checks: VM uptime, CPU, memory, disk, network       │
 └──────────────────────────────────────────────────────┘

Orchestrator Monitoring Dashboard

The UiPath Orchestrator dashboard is the central monitoring hub. It shows in real time:

  • How many jobs are currently running, idle, or pending
  • Which robots are connected, disconnected, or busy
  • Queue status — how many items are pending, in progress, completed, or failed
  • Recent job outcomes — success, fault, stopped
  • Alert notifications for failures and threshold breaches

Job Status Definitions

StatusMeaningAction Required
SuccessfulJob completed without errorsNone — review summary
FaultedJob stopped due to an unhandled exceptionInvestigate logs immediately
StoppedJob manually stopped by an operatorVerify if intentional
RunningJob is currently executingMonitor for expected duration
PendingJob queued, waiting for an available robotCheck if robot pool is busy or offline

Logging Levels in UiPath

UiPath sends log messages to the Orchestrator at different severity levels. Configure the minimum log level that gets captured — capturing everything is useful in development but creates noise in production.

Log LevelUsed ForExample
VerboseExtremely detailed step-by-step trace (dev only)"Attempting to click Submit button"
TraceDetailed flow tracing"Entering ForEach loop iteration 45"
InformationNormal processing milestones"Invoice INV-2024-0451 posted successfully"
WarningNon-critical issues worth noting"Vendor name trimmed — leading spaces removed"
ErrorHandled exceptions the bot recovered from"SAP timeout — retried and succeeded"
CriticalUnrecoverable failures causing bot to stop"SAP login failed after 3 retries — bot halted"

In production, set the minimum log level to Information. In development and testing, use Verbose or Trace.

What to Log at Each Stage

Initialisation

 Log: "InvoiceBot v1.2.0 started at {DateTime.Now}"
 Log: "Config loaded — environment: Production"
 Log: "SAP connection established successfully"
 Log: "Outlook inbox opened — {emailCount} unread emails found"

Per-Transaction Processing

 Log: "Processing invoice {invoiceNo} from {vendorName}"
 Log: "Invoice amount: {amount} — within auto-approval limit"
 Log: "Invoice {invoiceNo} posted to SAP — document: {sapDocNo}"
 Log: "Confirmation email sent to {vendorEmail}"
 Log: "Invoice {invoiceNo} completed in {duration} seconds"

Error Events

 Log ERROR: "Selector not found — SAP amount field. Attempt 1 of 3."
 Log ERROR: "Duplicate invoice detected: {invoiceNo} — skipping."
 Log CRITICAL: "SAP login failed after 3 retries at {DateTime.Now}. Bot halted."
 Save screenshot: "C:\ErrorLogs\SAP_Fail_{DateTime.Now}.png"

Completion

 Log: "Bot run completed at {DateTime.Now}"
 Log: "Processed: 148 | Success: 143 | Failed: 3 | Skipped: 2"
 Log: "Average processing time per invoice: 58 seconds"
 Log: "Summary email sent to ap.manager@company.com"

Custom Log Fields

UiPath lets you add custom fields to log entries — structured data beyond the basic message text. This enables powerful filtering and analysis in log management tools.

 Log Message with custom fields:
 ├── Message: "Invoice processed"
 ├── TransactionID: invoiceNo
 ├── VendorName: vendorName
 ├── Amount: invoiceAmount
 ├── SAPDocNo: sapDocNo
 ├── Duration: processingSeconds
 └── BotName: "InvoiceBot_Prod_VM01"

 In Elasticsearch / Kibana, filter all logs by VendorName = "Acme Ltd"
 to see every invoice Acme submitted and its outcome.

Alerts and Notifications

Configure Orchestrator to send automatic alerts when specific events occur:

  • A job faults (email + SMS to the operations team)
  • A robot goes offline unexpectedly
  • A queue backlog exceeds a defined threshold (e.g., more than 500 pending items)
  • A job runs longer than its expected duration
  • License usage exceeds 80% of capacity

Log Retention and Compliance

In regulated industries, bot logs are part of the audit trail. Define a retention policy:

  • Keep detailed transaction logs for at least 7 years in financial services (varies by regulation)
  • Archive logs to a long-term storage solution (Azure Blob Storage, AWS S3, on-premise archive)
  • Ensure logs cannot be modified after writing — use immutable storage for compliance
  • Include bot identity in every log entry so auditors can trace every action back to the specific bot and run

Monitoring KPIs for Operations Teams

KPIFormulaTarget
Bot UptimeTime bot ran ÷ Total scheduled time> 98%
Success RateSuccessful transactions ÷ Total transactions> 95%
Exception RateFailed transactions ÷ Total transactions< 5%
Average Handle TimeTotal run time ÷ Total transactionsBenchmark vs manual
MTTR (Mean Time to Recover)Average time from failure to resolution< 2 hours

Summary

Monitoring and logging are the operational backbone of a production RPA programme. The Orchestrator dashboard gives real-time visibility into job status, robot health, and queue backlogs. Log messages at appropriate severity levels capture the full story of every bot run. Custom log fields enable powerful filtering and analysis. Alerts notify the team immediately when something goes wrong. Compliance industries require immutable, long-term log retention. Monitoring KPIs measure bot health objectively and support continuous improvement. A bot you cannot monitor is a bot you cannot trust.

Leave a Comment

Your email address will not be published. Required fields are marked *