UiPath monitoring that notices the job that never started

Orchestrator sends each job’s start and end to Robovue through a webhook. Robovue alerts your team when a job fails or misses its run, alongside every other platform you use. Email alerts come with every plan, and the Team plan adds Slack, Microsoft Teams and webhooks.

UiPath OrchestratorSends each job by webhook

Your UiPath bots this morning

Example
  • Invoice matchingExpected 06:00Missed
  • Supplier statementsFaulted at 07:12Failed
  • Daily cash postingCompleted at 07:40On time
  • Email to your team · 06:05Invoice matching missed a run. Its last run was yesterday at 06:00.
  • Slack on the Team plan, #rpa-alerts · 06:05Missed · Invoice matching missed a run.
An example morning: Orchestrator reports each job, and your team is alerted when the 06:00 job never starts.

What Robovue watches

Every job event Orchestrator sends becomes a run on the bot’s page, and a schedule on the bot catches the jobs that send nothing.

  • Every job’s outcome. A started job shows as Running when Orchestrator sends its job key. A completed job succeeds, a faulted job is Failed, and a stopped job is Failed and marked Cancelled.
  • Jobs that do not happen. Give the bot a schedule, and Robovue marks it Missed when its time passes with nothing from Orchestrator.
  • One bot per process. A process is one bot, whichever robots run it, and stays the same bot when you publish a new version. Each run shows the robot that ran it. Runs from Studio’s Run or Debug button are not counted. You can add owners, tags and a credential expiry date.
  • The whole event. Orchestrator’s event is kept with the run, so the failure detail is on the run’s page.

Connect it in three steps

You write no code and install nothing, because Orchestrator builds every request itself. You need a process in an Orchestrator folder, and the UiPath page in Robovue shows how to make one in Studio Web.

  1. Open UiPath in Connections

    Start free and your webhook URL and UiPath webhook secret are waiting there.

  2. Add a webhook in Orchestrator

    Open the tenant’s Webhooks page and add one with that URL and secret, the five job events (created, started, completed, faulted and stopped), and switch it on.

  3. Start a job from the process

    The UiPath page shows the event arrive, or says exactly why it was rejected. Jobs from Studio’s Run button are not counted. Then register the bot and give it a schedule.

ExampleWhat step 3 shows in the app

Before the first job

Nothing has arrived yet.

This step checks again every 30 seconds.

Once a job has reported

Connected. The last run was recorded at 07:40.

What Orchestrator sends

These are the fields Robovue reads from each event. The webhook URL holds your workspace ID (tenantId below). Every response code and limit is in the reference in Robovue once you’ve signed up.

POST https://app.robovue.co.uk/ingest/{tenantId}/uipath

Orchestrator calls this itself once you add the webhook subscription. You never build these requests. This shows what Robovue does with them.

Headers

X-UiPath-Signature Required

set by Orchestrator

Base64 HMAC-SHA256 of the body, keyed with your UiPath webhook secret. Orchestrator computes it from the secret on the subscription.

Body

Orchestrator’s own webhook event. Robovue reads the fields below and stores the whole event as the run’s payload.

type string Required

The event type. job.created records no run, but gives Robovue the process’s name for its runs. job.started records a Running run, job.completed a Success and job.faulted a Failure. job.stopped records a Failure categorised as Cancelled, or nothing when the job never started. Robovue acknowledges and ignores every other type.

One of job.created job.started job.completed job.faulted job.stopped

For example job.completed

eventId string, up to 200 characters Required

Orchestrator’s ID for the event. It identifies the run when the job carries no key.

timestamp timestamp Required

When Orchestrator sent the event.

job object Sometimes

Required for job.started, job.completed and job.faulted

The job. The bot is the job’s process: Release.Key, else Release.ProcessKey, trimmed and up to 200 characters. A job with neither, such as a run from Studio’s Run or Debug button, is acknowledged and records nothing. The robot (Robot.Name) is shown on the run, and is never the bot. The process’s name is Release.Name, else the name the last job.created gave, else ProcessKey. The start is StartTime or StartedAt, and the end is EndTime, CompletedAt or EndedAt. A job.faulted with no start is recorded as starting when it ended. Key, JobKey or Id ties a job.started to the event that ends the same job. In a job.faulted, an Info naming a BusinessRuleException categorises the failure as BusinessException, and any other named exception as ApplicationException. Timestamps without an offset are read as UTC.

jobs array Sometimes

Required for job.created and job.stopped

The jobs, each read like job. Each job in a job.stopped is recorded on its own. From job.created Robovue keeps each job’s Release.Key with its Release.Name or ReleaseName.

Know about the next faulted job first

You need no card and no sales call. Your webhook is ready the moment you sign up.