Get All Outstanding Tasks

  • 22 February 2016
  • 1 reply
  • 1 view

Badge +2

Hello All,

I'm thinking of setting up a site workflow to email people who have outstanding workflow tasks (like a reminder, but for all workflows).

My first thought was to use the NintexWorkflow web service and the GetRunningWorkflowTasksCollection method. This returns XML containing the data I need. Maybe there's a better way, but this seemed reasonable to me.

Now I need to process the data to send each person and email with details of their tasks. I've added a Query XML action to extract the data, but I'm having trouble with the XSLT. Please could someone give me a start? Here's an example of some of the XML.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <soap:Body>

    <GetRunningWorkflowTasksCollectionResponse xmlns="http://nintex.com">

      <GetRunningWorkflowTasksCollectionResult>

        <UserTask>

          <SharePointTaskId>537</SharePointTaskId>

          <HumanWorkflowID>1060</HumanWorkflowID>

          <AssignedTo>

            <OtherEmailAddress>address@email.com</OtherEmailAddress>

            <UserID>domainusername</UserID>

            <IsDomainGroup>false</IsDomainGroup>

            <IsSPGroup>false</IsSPGroup>

            <IsUser>false</IsUser>

          </AssignedTo>

          <Comments />

          <EntryTime>2010-05-19T15:36:04.78</EntryTime>

          <WorkflowName>Approval</WorkflowName>

          <WorkflowInstaceId>e0cc328c-fca6-497d-a78a-4e1e4b234524</WorkflowInstaceId>

          <TaskName>Assign a Flexi task</TaskName>

          <TaskType>MultiOutcome</TaskType>

        </UserTask>

      </GetRunningWorkflowTasksCollectionResult>

    </GetRunningWorkflowTasksCollectionResponse>

  </soap:Body>

</soap:Envelope>

Thanks in advance for any help!

Regards,

Mark


1 reply

Badge +11

Hi Mark,

the query xml action is the right thing, but I recommend using XPath rather than XSLT. using XPath you also have a "XPath Builder" available in your query xml action. You can use this XPath builder to catch exactly the xml node you need even without knowing  anything about XPath, it is very user-friendly.

Using the XPath Builder, the XPath for getting the "OtherEmailAdress" would be:

/soap:Envelope/undefined:soap:Body/defaultNS:GetRunningWorkflowTasksCollectionResponse/defaultNS:GetRunningWorkflowTasksCollectionResult/defaultNS:UserTask/defaultNS:AssignedTo/defaultNS:OtherEmailAddress

Cheers

Philipp

Reply