{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":22091,"path":"integrate-applications/rpa-hub-actions.md","title":"Workflow Studio actions and subflow in RPA Hub","bundle":null,"doc_type":null,"release":"australia","body":"\n# Workflow Studio actions and subflow in RPA Hub\n\nTwo-way integration of actions and subflows in Workflow Studio and RPA Hub for a seamless robot execution.\n\n## Flows and actions overview\n\nThe flows and actions are built using ServiceNow Workflow Studio, so make sure you’re familiar with the [Building actions in Workflow Studio](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/build-workflows/actions.md) and [Building subflows in Workflow Studio](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/build-workflows/subflows.md) basics.\n\n## Invoke flows or subflow\n\nInvoke the flow or subflow via RPA Desktop Design Studio, Unattended Robot, or Attended Robot. For more information, see the topics listed in [Flow Designer components](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/flow-designer-components.md).\n\n## Enable the client callable option for a flow or subflow\n\nEnable a client script to trigger an RPA Hub flow or subflow. For more information, see [Enable the client callable option on a flow or subflow in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/enable-client-flow-rpa.md).\n\n## RPA Hub actions\n\nThe following table shows the detailed descriptions, action inputs, and action outputs of RPA Hub actions.\n\n<table id=\"table_efr_qkt_tsb\"><thead><tr><th>\n\nAction\n\n</th><th>\n\nDescription\n\n</th><th>\n\nAction inputs\n\n</th><th>\n\nAction outputs\n\n</th></tr></thead><tbody><tr><td>\n\nAdd WorkItem to Queue Action\n\n</td><td>\n\nAdds WorkItem in a specified queue in the RPA Hub application and returns the WorkItem ID.\n\n</td><td>\n\n-   **Queue Name**: Record\n-   **Name**: String\n-   **Content**: String\n-   **Type**: String\n-   **Priority**: String.Choice\n-   **Stage**: String\n-   **SLA**: Date/Time\n\n The maximum limit for **Content** field \\(Request Content and Response Content\\) is 8000 characters.\n\n If the **Is Work Item Name Sensitive** check box on the associated work queue form is selected, the data in the **Request Content** field is encrypted. Sensitive data with encryption is stored in the work item, so that it can be passed to the RPA Desktop Design Studio or robots.\n\n</td><td>\n\n-   **Action Status**: Object\n-   **WorkItemID**: GUID\n-   **IsNameExists**: Boolean\n-   **status**: String\n-   **message**: String\n\n</td></tr><tr><td>\n\nAssign User to Attended Automation Process Action\n\n</td><td>\n\nAssigns a user to the attended automation process.\n\n</td><td>\n\n-   **Process Name**: Record\n-   **Username**: Record\n\n</td><td>\n\n-   **Action Status**: Object\n-   **status**: String\n-   **Message**: String\n\n</td></tr><tr><td>\n\nAssign User to Attended Robot Action\n\n</td><td>\n\nAssigns a user to the attended robot.\n\n</td><td>\n\n**Username**: Record\n\n</td><td>\n\n-   **Action Status**: Object\n-   **status**: String\n-   **Message**: String\n\n</td></tr><tr><td>\n\nChange Life Cycle Stage Status of a Bot Process Action\n\n</td><td>\n\nChanges the life cycle stage status of a bot process that is not retired.If a bot process is in **Build** life cycle stage status, if you have the required role, you can update it to **Published** state, but you cannot update it to **In Maintenance**.\n\nIf a bot process is in **Published** life cycle stage status, if you have the required role, you can update it to **In Maintenance** state, and vice versa.\n\n</td><td>\n\n-   **Process name**: Record\n-   **Life cycle stage status**: Choice\n\n</td><td>\n\n-   **result**: String\n-   **message**: String\n-   **Action Status**: Object\n\n</td></tr><tr><td>\n\nFetch Created Jobs Action\n\n</td><td>\n\nFetches the process jobs in RPA Hub.\n\n</td><td>\n\n-   **Process Number**: String\n-   **Robots**: Array\\[String\\]\n\n</td><td>\n\n-   **Action Status**: Object\n-   **Result**: String\n-   **Jobs**: Array\\[String\\]\n-   **startedRobots**: Array\\[String\\]\n-   **pendingRobots**: Array\\[String\\]\n\n</td></tr><tr><td>\n\nFetch Execution Status Action\n\n</td><td>\n\nFetches the execution status of a specific process job in RPA Hub.\n\n</td><td>\n\n**Process Job Number**: String\n\n</td><td>\n\n-   **Action Status**: Object\n-   **ProcessJob**: Object\n    -   **Process Name**: String\n    -   **Robot Name**: String\n    -   **State**: String\n    -   **Started At**: Date/Time\n    -   **Completed At**: Date/Time\n    -   **Message**: String\n-   **status**: String\n-   **message**: String\n\n</td></tr><tr><td>\n\nFetch Work Item Status Action\n\n</td><td>\n\nFetches the status of specific work queue items, asynchronously.\n\n</td><td>\n\n**Work Queue Item ID**: GUID\n\n</td><td>\n\n-   **Action Status**: Object\n    -   **Code**: Integer\n    -   **Message**: String\n-   **WorkItem**: Object\n    -   **sysId**: String\n    -   **name**: String\n    -   **type**: String\n    -   **priority**: String\n    -   **status**: String\n    -   **lockedBy**: String\n    -   **additionalComments**: String\n    -   **requestContent**: String\n    -   **responseContent**: String\n    -   **deferredTill**: Date/Time\n    -   **sla**: Date/Time\n    -   **created**: Date/Time\n    -   **startedOn**: Date/Time\n    -   **completedOn**: Date/Time\n    -   **lastStartedTime**: Date/Time\n-   **status**: String\n-   **message**: String\n\n</td></tr><tr><td>\n\nStart Process Action\n\n</td><td>\n\nTriggers a specific bot process in RPA Hub and returns the status.\n\n</td><td>\n\n-   **Process Name**: Record\n-   **Robots**: Array\\[String\\]\n\nIgnore an entry in this field if a robot pool is assigned to the bot process.\n\nWhen invoking the **Start Process** Workflow Studio action, the robots that are in the **In Maintenance** life-cycle stage status are treated as failed robots.\n\n\n</td><td>\n\n-   **Action Status**: Object\n-   **Result**: String\n-   **Robots**: Array\\[String\\]\n-   **Process**: String\n-   **Failed Robots**: Array\\[Object\\]\n\n</td></tr><tr><td>\n\nStop Process Action\n\n</td><td>\n\nStops a bot process. If Graceful Stop is enabled, this action gracefully stops the bot process.\n\n</td><td>\n\n-   **Process Name**: Record\n-   **Robots**: Array\\[String\\]\n-   **Wait For Graceful Stop**: True/False\n\nIf this check box is selected, then bot process must stop gracefully.\n\nFor more information about stopping a bot process, see [Stop an unattended bot process in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/stop-bot-process.md).\n\nFor more information about Graceful stop, see [Using Graceful Stop functionality in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/graceful-stop-rpa.md).\n\nFor more information about Robot Pool, see [Robot pool in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/robot-pool-rpa.md).\n\n\n</td><td>\n\n-   **Result**: String\n-   **Action Status**: Object\n-   **Robots**: Array\\[String\\]\n-   **Process**: String\n-   **Failed Robots**: Array\\[Object\\]\n\n</td></tr><tr><td>\n\nUnassign User from Attended Automation Process Action\n\n</td><td>\n\nUnassigns the user from the attended automation process.\n\n</td><td>\n\n-   **Process Name**: Record\n-   **Username**: Record\n\n</td><td>\n\n-   **status**: String\n-   **message**: String\n-   **Action Status**: Object\n\n</td></tr><tr><td>\n\nUnassign User from Attended Robot Action\n\n</td><td>\n\nUnassigns the user from the attended robot and retires the attended robot.\n\n</td><td>\n\n**Username**: Record\n\n</td><td>\n\n-   **Action Status**: Object\n-   **Status**: String\n-   **Message**: String\n\n</td></tr><tr><td>\n\nUpdate Process Parameter Action\n\n</td><td>\n\nUpdates the **Value** field for the process parameter.\n\n</td><td>\n\n-   **Process**: Record\n-   **Parameter Name**: String\n-   **Value**: String\n\n</td><td>\n\n-   **status**: String\n-   **Action Status**: Object\n-   **message**: String\n\n</td></tr><tr><td>\n\nUpdate WorkItem Action\n\n</td><td>\n\nUpdates work queue items.\n\n</td><td>\n\n-   **Queue Name**: Record\n-   **WorkItemID**: String\n-   **Stage**: String\n-   **DefferedTill**: Date/Time\n-   **Name**: String\n-   **Priority**: Choice\n-   **Status**: Choice\n-   **Request Content**: String\n-   **Type**: String\n-   **Remarks**: String\n-   **SLA**: Date/Time\n-   **Response Content**: String\n\n The maximum limit for **Request Content** and **Response Content** fields is 8000 characters.\n\n If the **Is Work Item Name Sensitive** check box on the associated work queue form is selected, the data in the **Request Content** field is encrypted. Sensitive data with encryption is stored in the work item, so that it can be passed to the RPA Desktop Design Studio or robots.\n\n</td><td>\n\n-   **IsNameExist**: True/False\n-   **Status**: String\n-   **Message**: String\n-   **Action Status**: Object\n\n</td></tr><tr><td>\n\nVerify HashCode of a Package Version\n\n</td><td>\n\nVerifies the HashCode of a package version in RPA Hub to validate the HashCode of the manually uploaded automation zip file with the associated package version record.For more information about verifying the HashCode of a package version, see [Verify the HashCode of a package version in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/view-hash-code.md).\n\n</td><td>\n\n**Package Version**: Record\n\n</td><td>\n\n-   **Action Status**: Object\n-   **Message**: String\n-   **isAttachmentValid**: True/False\n\n</td></tr></tbody>\n</table>## RPA Hub subflow\n\nThe following table shows the detailed description, action input, and action output of RPA Hub subflow.\n\n<table id=\"id_f1t_skt_tsb\"><thead><tr><th>\n\nSubflow\n\n</th><th>\n\nDescription\n\n</th><th>\n\nSubflow inputs\n\n</th><th>\n\nSubflow outputs\n\n</th></tr></thead><tbody><tr><td>\n\nImport Package Version Attachment Subflow\n\n</td><td>\n\nImports the package version attachments automatically for a package version. To automatically migrate the package attachment \\(automation zip file\\) from a lower \\(non-production\\) to a higher \\(production\\) environment.For more information about importing a package version attachment in RPA Hub, see [Import a package version attachment in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/import-attachment-package-version.md).\n\n</td><td>\n\n-   **Email**: Email\n-   **Package Version**: Record\n\n</td><td>\n\nAfter the attachment is uploaded successfully or if an error occurs while uploading the attachment, an email notification \\(if email is provided as an input\\) is sent to the user who performs this import attachment action.\n\n</td></tr><tr><td>\n\nStart Process Subflow\n\n</td><td>\n\nTriggers a specific bot process in RPA Hub. Returns process job details.\n\n</td><td>\n\n-   **Process Name**: Record\n-   **Robots**: Array\\[String\\]\n\nIgnore an entry in this field if a robot pool is assigned to the bot process.\n\nIf a process job is not in the **Running** status, the robot that is associated with the process job is treated as **Failed** in the **Start Process** subflow output.\n\n\n</td><td>\n\n-   **Failed Robots**: Array\\[Object\\]\n-   **Stopped Robots**: Array\\[String\\]\n-   **Pending Robots**: Array\\[String\\]\n-   **Process Jobs**: Array\\[String\\]\n-   **Result**: String\n-   **Message**: String\n\n</td></tr><tr><td>\n\nStop Process Subflow\n\n</td><td>\n\nTriggers a specific bot process to stop in RPA Hub. Returns robots details and process job status. If Graceful Stop is enabled, this subflow gracefully stops the bot process.\n\n</td><td>\n\n-   **Graceful Stop**: True/False\n-   **Process Name**: Record\n-   **Robots**: Array\\[String\\]\n\n</td><td>\n\n-   **Failed Robots**: Array\\[Object\\]\n-   **Stopped Robots**: Array\\[String\\]\n-   **Pending Robots**: Array\\[String\\]\n-   **Process Jobs**: Array\\[String\\]\n-   **Message**: String\n-   **Result**: String\n\n</td></tr></tbody>\n</table>-   **[Enable the client callable option on a flow or subflow in RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/enable-client-flow-rpa.md)**  \nEnable a client script to trigger an RPA Hub flow or subflow.\n\n**Parent Topic:**[Using RPA Hub](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/managing-rpa-hub.md)\n\n"}}