Cannot delete/remove a Robot in Orchestrator

Issue deleting/removing a Robot in Orchestrator , receiving an error "An error has occurred " when pressing 'Remove' option in the "Robots" tab

  1. Make sure the user is logged in as administrator else the user have Delete permissions on robots. Check for user permissions in the "User->Roles->Edit"


    2. Please remove all the filters from the job search page and see if there is any job still in pending status on this robot. If so, kill the job and try to delete the robot. You can only delete Robots if they do not have pending or active jobs attached to them. Deleting a Robot also removes it from all associations it may be part of (environments, assets, processes, schedules):


    3. Make sure no running/pending/terminating jobs and schedules are associated with it.

4. Disconnect and reconnect the robot to Orchestrator again - Possibility is that a job is hung in the robot machine. Please refer: https://forum.uipath.com/t/cannot-remove-unsued-robot-from-orchestrator/38415/3

5. Kindly check if Uipath Robot service is running with the below configuration: 
  • Robot service should be running under Local System Account.
  • If it is not under Local system account then Change the logon account to local system account
  • Restart Robot service from Windows Services
  • Thereafter, please follow the below approach: 
    • Disconnect the Robot from Orchestrator. Quit the Robot from the tray.
    • Open Uipath Robot service As an Administrator . 
    • Restart the Robot Service (RUN-> Services.msc -> UiPath Robot -> Restart)
    • Delete the Robot from the Orchestrator. 
    • Provision again the Robot in Orchestrator, pass the required credential details.
Image_2020-03-25_18-45-23.png

6. If above approach does not help, please try to delete the robot using API DELETE - /OData/Robots({Id}) Robots.Delete. For reference, please check https://docs.uipath.com/orchestrator/v2019-fastTrack/reference#section-robots

7. 
Last final solution, if nothing from above helped, use the following query to find the terminating job: 
select * from [dbo].[Jobs] where State = 3
  • Once you get the details, update the status, NOT DELETE (Before updating anything in database, please make sure to backup the database)
  • UPDATE [xxxxxx].[dbo].[Jobs] SET[xxxxxx].[dbo].[Jobs].[State]='5' where [xxxxxx].[dbo].[Jobs].[Id]='xxxx
  • Kindly note, 5 is the code of 'Success', status to 4--> 'Faulted' or 6 --> Stopped