Robocorp
Developer ToolsRobocorp Control Room (now Sema4.ai) runs and supervises Python and Robot Framework automations. Workflows start process runs, manage work items and their files, read step run output and artifacts, keep assets and secrets current, and react when a run completes or needs attention.
What This Integration Enables
Robocorp Control Room, now Sema4.ai, has a state in its data model called unresolved, and it means something worth pausing on. It does not mean the robot crashed. It means the run completed and individual records inside it could not be processed. Control Room already draws the line between a system failure and a work item that needs a human. That distinction is the entire premise of Orchestration as a Service, arrived at independently by an RPA platform, and it is the reason this connector is more interesting than the usual start a job and watch it finish.
FlowRunner takes that state and does something with it. Agents start process runs with the exact work items they name, watch them through triggers rather than by polling a queue that may take hours, gather the payload and the robot's own console output when something stalls, and put the failure in front of the person who owns the process with everything needed to decide. Alongside that, the connector covers the estate the robots run on: task packages and their versions, assets and vault secrets, workers and worker groups, assistants that people run by hand, and the webhooks the triggers depend on. What agents recover automatically is the part with an unambiguous answer. Automation exceptions get a person, which is what the human gate below is about.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Every failed record becomes a decision, not a statistic
An invoice posting robot ends its run unresolved with 6 of 900 records failed. The agent lists the failed work items, fetches each payload with data included, and pulls the console output for the step that raised the error. Three failures share the same cause, a supplier code that changed upstream, and the agent corrects those payloads and retries them. The remaining three are genuinely ambiguous, so they post to Slack or Microsoft Teams one message per record with the payload, the error, and the robot log attached. The finance lead answers each one in the thread. What used to be a dashboard number is now six specific questions with names on them.
-
A robot fed by the systems it works on behalf of
Work arrives from somewhere before it becomes a robot's problem. A ticket in ServiceNow, a record in Snowflake, a row in an operational database: the agent gathers and validates it, then calls Create Work Item to put the payload in the process input queue, and Start Process Run when the batch is ready. Creating an item starts nothing on its own, which is exactly what makes this pattern safe: the queue accumulates, the agent checks it, and the run begins on a schedule or when a threshold is met. Anything that fails validation before it reaches the queue never becomes a robot failure at all.
-
Deploying a new robot version without opening Control Room
When a task package needs a new version, the agent calls Get Task Package to obtain the upload form data, publishes the new zip, and confirms the processes pointing at it with List Processes before anything runs. Credentials for that robot live in the vault rather than in a payload, so a rotation workflow calls Update Secret, remembering that it replaces every item in the secret rather than merging, which means the full set has to be sent. Shared reference data goes through Create Asset Upload instead, addressed by name so no id lookup is needed. A build in GitHub can start the whole sequence.
Human-in-Loop Highlight
Run Work Item Batch Operation has three modes, and one of them is not what it looks like. Retry re-runs the robot against the items, which is honest: an item that is still broken fails again, visibly. Delete removes them. The third, marking items as done, processes nothing at all. It declares the records handled so they stop blocking the queue, which is exactly right after somebody dealt with them by hand somewhere else, and exactly wrong as a way to clear an alert. It is the single operation in this connector that can make a real business failure disappear without anybody resolving it, and it looks identical to progress from the outside.
So FlowRunner agents retry freely and never mark anything done. When the corrections they can make with certainty are applied and items remain, the agent hands them over: "Run 3312 has 3 items still failing after retry. Item 88214 has no matching purchase order in the ledger. Item 88301 has a supplier code the robot does not recognize. Item 88377 failed twice on a timeout against the vendor portal. Retry the timeout, or were these handled outside the robot?" Only the person who actually resolved something can truthfully say it was resolved. That claim is not one an agent is entitled to make on their behalf, which is what a digital andon cord is protecting.
Agent Capabilities
63 actionsWorkspace
1- Get Workspace Returns the workspace this connection is scoped to. The cheapest connection test, and a wrong workspace id shows up here rather than as a mysteriously empty list later.
Processes
3- List Processes Returns the workspace's processes. A process is the runnable unit: it names the steps, the task package each step runs, and the worker that executes it.
- Get Process Returns one process with its steps, workers, and notification configuration.
- Create Process Creates a process from a list of steps. The step structure is nested and specific, so building one in Control Room and reading it back is the reliable way to learn the shape.
Process Runs
6- Start Process Run Starts a process. Three mutually exclusive input modes exist and picking the wrong one is silent, so a workflow chooses deliberately between the default input, named work items, and whatever is waiting in the queue. The run is asynchronous.
- List Process Runs Returns the workspace's process runs, newest first. The unresolved state is the one that matters operationally.
- Get Process Run Returns one run with its state, timings, and who started it, which is how a workflow distinguishes its own runs from a schedule's or a person's.
- Stop Process Run Stops a running process. Its two flags decide what happens to work already executing and to the untouched queue, and terminating mid robot can leave a target system part way through a transaction.
- Delete Process Run Permanently deletes a run with its step runs, logs, and artifacts, destroying the execution evidence an audit would want.
- List Process Run Outputs Returns what a run actually produced, which the run's state does not tell you.
Work Items
6- List Work Items Returns work items, optionally filtered by process, run, or state. The failed state is the one to watch, and it is why a run reports unresolved.
- Get Work Item Returns one work item. Payloads and files are omitted unless data is explicitly included, which otherwise reads as an empty item.
- Create Work Item Adds a work item to a process input queue. Creating an item starts nothing: it waits until a run is started against the queue or the process schedule fires.
- Update Work Item Payload Replaces a work item's payload. It replaces rather than merges, so a partial correction means reading the item first.
- Create Work Item File Requests an upload slot for a file on a work item. It returns a pre-signed URL rather than uploading anything itself.
- Run Work Item Batch Operation Retries, deletes, or marks failed work items as done, in bulk. Retry is the recovery path. Marking as done processes nothing and is what this page's human gate exists for.
Step Runs
6- List Step Runs Returns the individual step executions inside a process run. A run is a container; the step runs are where the robot actually executed.
- Get Step Run Returns one step run with its state, timings, and the worker that executed it. Where a failure names its step.
- List Step Run Console Messages Returns the robot's console output for a step run. The actual robot log, and the first place to look when a failure is not explained by Control Room's own states.
- List Step Run Events Returns a step run's lifecycle events, which is more precise than the state field for working out where time went or how many retries happened.
- List Step Run Artifacts Returns the files a step run produced, including the detailed execution report a failure alert is usually worth attaching.
- Get Step Run Artifact Returns one artifact's metadata and a short lived download URL, so fetch it rather than storing the link.
Task Packages
5- List Task Packages Returns the workspace's task packages, which hold the robot code a process step runs. The package type decides how a new version reaches it.
- Get Task Package Returns a task package with a download URL and the form data for uploading a new version. Zip packages only, since git linked packages are managed by Control Room itself.
- Create Task Package Creates a task package. The type decides what else is required, and it cannot be changed afterwards.
- Update Task Package Changes a git linked package's configuration. Changing an existing package's type is not supported through the API.
- Delete Task Package Permanently deletes a task package, and any process step pointing at it breaks.
Assets
6- List Assets Returns the workspace's assets, which are shared data files robots read at run time such as configuration or lookup tables.
- Get Asset Returns an asset including its payload. The identifier accepts a name, so a workflow never has to look an id up.
- Create Asset Creates an empty asset. This only reserves the name, and a robot reading it before the content arrives gets nothing.
- Create Asset Upload Sets an asset's content, in one call for small payloads and through a returned upload URL for large ones.
- Get Asset Upload Returns an upload's status, which is how a workflow confirms a large multi step upload actually completed.
- Delete Asset Permanently deletes an asset, and any robot that reads it starts failing at run time rather than at deploy time.
Secrets
4- List Secrets Returns the vault secrets in the workspace by name and description. Control Room never returns a secret's values through the API, which is the point of the vault.
- Create Secret Creates a vault secret. The right way to give a robot a credential, instead of putting it in a work item payload where it ends up in logs and run history.
- Update Secret Replaces a secret's items. It replaces all of them, so rotating one password means sending every key the secret holds.
- Delete Secret Removes a secret from the vault. Any robot that reads it fails at run time from then on, with no warning at deploy time.
Workers
5- List Workers Returns the workers linked to the workspace. A worker is a machine that runs robots.
- Get Worker Returns one worker with its state and when it was last seen. The check to run when a run is stuck waiting.
- Update Worker Renames a worker. Name is the only field the route accepts.
- Delete Worker Unlinks a worker from the workspace. Irreversible, and the machine has to be re-linked with a new token to come back.
- Create Link Token Generates a token used to link a new worker machine to the workspace. An expiry is required, so a token cannot be made permanent, and the value is returned only once.
Worker Groups
12- List Worker Groups Returns the workspace's worker groups. A group is how a process step targets a pool of machines rather than one named worker.
- Get Worker Group Returns one worker group.
- Create Worker Group Creates a worker group.
- Update Worker Group Renames a worker group.
- Delete Worker Group Deletes a worker group. Irreversible, and a process step targeting it has nowhere to run afterwards, though the workers themselves stay linked.
- Add Worker To Group Puts an existing worker into a worker group.
- Remove Worker From Group Takes a worker out of a group. The worker stays linked to the workspace.
- List Worker Group Link Tokens Returns the link tokens issued for a worker group by name and expiry. The values are not included, so this is how a workflow spots one about to lapse.
- Create Worker Group Link Token Issues a link token so a new machine joins that group when it links. The value is retrievable in Control Room rather than from this response, so a person collects it.
- Get Worker Group Link Token Returns a link token's name and expiry, but not its value.
- Update Worker Group Link Token Changes a link token's name or expiry. The way to extend one about to lapse without reissuing it, which matters because the value cannot be read back to hand out again.
- Delete Worker Group Link Token Revokes a link token. Any machine not yet linked with it can no longer join.
Assistants
5- List Assistants Returns the workspace's assistants, which are robots a person runs on demand rather than on a schedule. An assistant cannot be started through this API, by design.
- Get Assistant Returns one assistant.
- Create Assistant Creates an assistant from a task inside a task package. Control Room checks the task name exists rather than creating something that cannot run.
- List Assistant Runs Returns assistant runs. How a workflow audits what people ran by hand, which is usually the part of an automation estate with no record.
- Get Assistant Run Returns one assistant run with its state and who ran it.
Webhooks
4- List Webhooks Returns the workspace's process webhooks with their endpoints and events. Each row includes its signing secret, so the response is a credential. Where a trigger that has gone quiet is diagnosed.
- Create Webhook Registers a process webhook. A webhook is bound to one process, so watching several processes means several webhooks.
- Get Webhook Returns one webhook including its signing secret.
- Delete Webhook Removes a webhook. Doing this by hand while a trigger is running silences that trigger with nothing to indicate it.
Triggers
3 triggersEvent Triggers
3- On Process Run Started Fires when a process run actually begins, rather than when it was requested, since a run can wait for a free worker. Useful for stamping an external ticket with the run id that later correlates a completion back to it.
- On Process Run Completed Fires when a process run finishes successfully. Far better than polling, because a run can take minutes or hours depending on queue depth. It does not fire for an unresolved run, so a workflow watching only this one misses every partial failure.
- On Process Run Unresolved Fires when a run finishes with work items the robot could not process. This is the failure signal, and it is not a crash: the run completed and individual records did not. It is the trigger the human gate on this page is built on.
Frequently Asked Questions
What can FlowRunner do with Robocorp?
FlowRunner agents can run Get Workspace, List Processes, and Get Process in Robocorp, plus 60 more actions.
Does connecting Robocorp to FlowRunner require OAuth?
No. Robocorp connects to FlowRunner with an API key, no OAuth flow required.
Can Robocorp trigger a FlowRunner workflow automatically?
Yes. Robocorp supports 3 triggers that can start a FlowRunner workflow automatically.
Start building with Robocorp
Free plan, no card required. Connect in minutes.