<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi from external applications > Bizagi API > SOAP web services > Available SOAP web services > WorkflowEngineSOA Web methods >



This Web method is used to obtain open Activities in Bizagi (from an external application).

Open Activities in Bizagi Processes are those Activities which are in a pending status (found at the inbox).


This method receives a single input having mainly: Process detail with optional filters to obtain the Activities meeting the search criteria.


Through this method, the list of pending Activities for cases, is obtained as in the same way they are shown in the Work Portal's Inbox.

For further information about viewing the pending Activities in the Work Portal options, please refer to Bizagi Work Portal.




The description provided in this article applies too for the getActivities web method available in Bizagi .NET edition.

For the getActivities method, the request and response XML's are of the native .NET XmlDocument type.

For the getActivitiesAsString method the same XML structure is handled, but this parameter is sent as a string type.


This method will explicitly need that the case (i.e, the parent case if sub-processes are involved) has pending activities at the inbox.




Input Schema

The following shows a sample XML structure of information to send to Bizagi:


<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:xs="" elementFormDefault="qualified" attributeFormDefault="unqualified">

 <xs:element name="BizAgiWSParam">



                         <xs:element name="domain" type="xs:string" minOccurs="0"/>

                         <xs:element name="userName" type="xs:string" minOccurs="0"/>

                         <xs:element name="radNumber" type="xs:string" minOccurs="0"/>

                         <xs:element name="applicationName" type="xs:string" minOccurs="0"/>

                         <xs:element name="categoryName" type="xs:string" minOccurs="0"/>

                         <xs:element name="ProcessName" type="xs:string" minOccurs="0"/>

                         <xs:element name="idCase" type="xs:integer" minOccurs="0"/>

                         <xs:element name="subProcessDepth" type="xs:integer" minOccurs="0"/>

                         <xs:element name="creationDate" minOccurs="0">



                                                 <xs:element name="From" type="xs:dateTime" minOccurs="0"/>

                                                 <xs:element name="To" type="xs:dateTime" minOccurs="0"/>




                         <xs:element name="expirationDate" minOccurs="0">



                                                 <xs:element name="From" type="xs:dateTime" minOccurs="0"/>

                                                 <xs:element name="To" type="xs:dateTime" minOccurs="0"/>










Input Parameters

BizAgiWSParam: Root node. All possible filters are included here and are optional. If more than one search criteria is used, the result would be only Activities complying with all the conditions.

domain: Search Activities whose assigned user belongs to this domain.

userName: Search Activities whose assigned user is the one indicated here.

radNumber: Activities belonging to this creation number (case number).

applicationName: Activities belonging to the application with this name (enter the Name not the display name).

categoryName: All open Activities of this category (enter the Name not the display name).

ProcessName: Gets Activities of this Process (enter the Name not the display name).

idCase: Activities belonging to this idCase (case identification number).

subProcessDepth: It is not a search parameter but an indicator of Sub-process’s depth.

It is used when a Task of type Sub-process exists, useful to be able to retrieved Activities in possible Sub-processes for a case (for Sub-processes type which are not configured as Stand alone).

By default the query returns one level of depth, that is to say, the result will contain the Activities of Sub-processes related to the Process of the actual case; but not Activities of a Sub-process' child processes. It can be any integer but is important to keep in mind that for greater depth the query response time will increase, so it is better to enter a small number.

creationDate: Refers to the date when an Activity became available (when it was reached by the case).

expirationDate: Date when an Activity allegedly expires (according to the configured duration).

From: To be used as sub-node of either the creationDate or expirationDate; it enables a date range to be given. This will be the initial date for the search (the older one).

To: To be used as sub-node of either the creationDate or expirationDate; it enables a date range to be given. This will be the end date for the search (the more recent).



Input Example

In the following example, we obtain those Activities which:

1. Were activated (started to be pending) from May 17 at 4 pm to May 21 at 4 pm.

2. Are currently assigned to the admon user in Bizagi.


<?xml version="1.0" encoding="utf-8"?>












Output Schema

The following shows a sample XML structure of information returned by Bizagi:


<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:xs="" elementFormDefault="qualified">

 <xs:element name="workItems">



                         <xs:element name="workItem" type="workItemType" minOccurs="0" maxOccurs="unbounded"/>




 <xs:complexType name="workItemType">


                 <xs:element name="workItemId" type="xs:integer"/>

                 <xs:element name="workItemState" type="xs:string"/>

                 <xs:element name="workItemEntryDate" type="xs:dateTime"/>

                 <xs:element name="workItemDuration" type="xs:integer"/>

                 <xs:element name="workItemSubProcesses">



                                         <xs:element name="workItems" minOccurs="0">



                                                                 <xs:element name="workItem" type="workItemType" maxOccurs="unbounded"/>







                 <xs:element name="workItemEstimatedSolutionDate" type="xs:dateTime"/>

                 <xs:element name="workItemSolutionDate" type="xs:dateTime"/>

                 <xs:element name="task">



                                         <xs:element name="taskId" type="xs:integer"/>

                                         <xs:element name="taskName" type="xs:string"/>

                                         <xs:element name="taskDisplayName" type="xs:string"/>

                                         <xs:element name="taskDescription" type="xs:string"/>

                                         <xs:element name="taskHelpText" type="xs:string"/>

                                         <xs:element name="HelpURL" type="xs:string"/>

                                         <xs:element name="taskEstimatedDuration" type="xs:integer"/>

                                         <xs:element name="taskType" type="xs:string"/>

                                         <xs:element name="taskCost" type="xs:integer"/>

                                         <xs:element name="taskPriority" type="xs:string"/>

                                         <xs:element name="taskTransactional" type="xs:boolean"/>

                                         <xs:element name="taskCompensation" type="xs:boolean"/>

                                         <xs:element name="taskTimerEventDuration" type="xs:integer"/>

                                         <xs:element name="AllowsReassign" type="xs:boolean"/>

                                         <xs:element name="SendNotification" type="xs:boolean"/>

                                         <xs:element name="SendAlarms" type="xs:boolean"/>

                                         <xs:element name="ExtendedEstimatedDuration" type="xs:integer"/>

                                         <xs:element name="Form" type="xs:integer"/>

                                         <xs:element name="IsAsynchTask" type="xs:boolean"/>

                                         <xs:element name="NumberOfRetries" type="xs:integer"/>

                                         <xs:element name="RetryInterval" type="xs:integer"/>

                                         <xs:element name="ShowFeedback" type="xs:boolean"/>

                                         <xs:element name="TimeoutSeconds" type="xs:integer"/>




                 <xs:element name="Process">



                                         <xs:element name="ProcessId" type="xs:integer"/>

                                         <xs:element name="ProcessRadNumber" type="xs:integer"/>

                                         <xs:element name="ProcessCreationDate" type="xs:dateTime"/>

                                         <xs:element name="ProcessSolutionDate" type="xs:dateTime"/>

                                         <xs:element name="ProcessWorkflowClass">



                                                                 <xs:element name="workflowClassId" type="xs:integer"/>

                                                                 <xs:element name="workflowClassName" type="xs:string"/>

                                                                 <xs:element name="workflowClassDisplayName" type="xs:string"/>

                                                                 <xs:element name="workflowClassDescription" type="xs:string"/>

                                                                 <xs:element name="workflowClassHelpText" type="xs:string"/>

                                                                 <xs:element name="workflowClassHelpURL" type="xs:string"/>

                                                                 <xs:element name="workflowClassDisplayOrder" type="xs:integer"/>

                                                                 <xs:element name="workflowClassCreationDate" type="xs:dateTime"/>

                                                                 <xs:element name="workflowClassGlobalForm" type="xs:integer"/>

                                                                 <xs:element name="workflowClassAllocationPrinciple" type="xs:string"/>

                                                                 <xs:element name="workflowClassProcessType" type="xs:string"/>

                                                                 <xs:element name="workflowClassDisplay" type="xs:boolean"/>

                                                                 <xs:element name="workflowClassUseParentRadicationNumber" type="xs:boolean"/>

                                                                 <xs:element name="workflowClassSupportsScopes" type="xs:boolean"/>




                                         <xs:element name="ProcessError">



                                                                 <xs:element name="errorCode" type="xs:string"/>

                                                                 <xs:element name="errorMessage" type="xs:string"/>












Output Parameters

workItems: This is the root node of the response, it contains a "workItem" node for each Activity included in the result.

workItem: This is a specific Activity (an instance of a Task) of the Process that is active for a case.

workItemId: Identification number or key of the Activity.

workItemState: Current state of the Activity.

workItemEntryDate: Date and time when this Activity was reached.

workItemDuration: Is the estimated duration, in minutes, for this Activity.

workItemSubProcesses: If the Activity is a Sub-process type, this will contain information about the Sub-process’s Activities. It has a "workItems" child node so from here on the structure is the same response including a "workItem" node for each Activity matching the query in the Sub-process.

workItemEstimatedSolutionDate: Is the Activity’s estimated solution date.

workItemSolutionDate: The actual date in which the Activity was completed.

task: Contains information about the Task corresponding to the Activity.

taskId: Identification number or key of the Task.

taskName: Name of the Task.

taskDisplayName: Display name of the Task.

taskDescription: Task’s descriptive text.

taskHelpText: Task’s help text.

HelpUrl: URL with information of the Activity.

taskEstimatedDuration: Is the estimated duration, in minutes, for the Task.

taskType: Type of Task.

taskCost: The estimated cost of the Task. This value, like the estimated dates, is configured and determined by the designer of the Process.

taskPriority: Fulfillment priority of the Task.

taskTransactional: An indicator stating if a Task is transactional.

taskCompensation: States if this is a compensation Task.

taskTimerEventDuration: If this Task has an attached Timer Event, it will contain its duration in minutes.

AllowsReassign: A mark showing if this Task may be reassigned to another user.

SendNotification: Indicates if an email must be sent to a user informing of the availability of the Task.

SendAlarms: Indicates if an email must be sent to the assigned user informing that the Task is at risk of being overdue.

ExtendedEstimatedDuration: Estimated extended time duration.

Form: Reserved for future use.

IsAsynchTask: Specifies if this is an asynchronous Task or not. Usually used for interfaces.

NumberOfRetries: Applies to asynchronous Tasks. Is the number of automatic retries for the Task in case it fails (an exception is thrown).

RetryInterval: Applies to asynchronous Tasks. Is the time (in minutes) between each retry.

ShowFeedback: Applies to asynchronous Tasks. Indicates if the user will be informed when an error occurs.

TimeoutSeconds: Applies to asynchronous Tasks. Time (in seconds) the asynchronous Task will wait for the external system to respond.

Process: Has information about the Process to which the Activity belongs.

ProcessId: Identification number of the case (idCase).

ProcessCreationDate: Case creation date.

ProcessSolutionDate: Case solution date.

ProcessWorkflowClass: The information in this node is all about the Process (Process metadata) not about the particular case

workflowClassId: Identification number (or key) of the Process.

workflowClassName: Name of the Process.

workflowClassDisplayName: Display name of the Process.

workflowClassDescription: Process description.

workflowClassHelpText: Process help text.

workflowClassHelpURL: Help URL for the Process.

workflowClassDisplayOrder: The order in which the Process will be viewed in the web application.

workflowClassCreationDate: Creation date of the Process.

workflowClassGlobalForm: Identification number of the Process’s global form (zero if it is not configured).

workflowClassAllocationPrinciple: Reserved for future use.

workflowClassProcessType: Process type.

workflowClassDisplay: Indicates whether the Process is visible or not.

workflowClassUseParentRadicationNumber: Indicates if a case of this Process uses its own creation number or the same number as the parent Process (if it is a Sub-process).

workflowClassSupportScopes: Indicates if the Process supports long-term transactions in Bizagi (Scopes); which is an efficient method of data persistence.

ProcessError: Contains information of errors occurred during the Processing of this method.

errorCode: Code of the error, if one occurred.

errorMessage: Message of the error, if one occurred.



Output Example

In the following example, we illustrate a returned XML-structured sample response from Bizagi SOA layer:





Related Web methods

If you wish to obtain a list of available Events in the Process, use the getEventsAsString or getEvents Web method.

For further information refer to the getEventsAsString article.


Once you obtain the list of pending Activities, you may want to perform those Activities (from an external application).

For this, use the performActivityAsString or performActivity Web method.

For further information refer to the performActivityAsString article.