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.
Your UiPath bots this morning
Example- Invoice matchingMissed
- Supplier statementsFailed
- Daily cash postingOn 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.
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.
-
Open UiPath in Connections
Start free and your webhook URL and UiPath webhook secret are waiting there.
-
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.
-
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.
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/
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-SignatureRequired-
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.
typestring 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.createdjob.startedjob.completedjob.faultedjob.stoppedFor example
job.completed eventIdstring, up to 200 characters Required-
Orchestrator’s ID for the event. It identifies the run when the job carries no key.
timestamptimestamp Required-
When Orchestrator sent the event.
jobobject 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.
jobsarray 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.