cancel
Showing results for 
Search instead for 
Did you mean: 
Workflow Hero

Get All Outstanding Tasks

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>domain\username</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

0 Kudos
Reply
1 Reply
Workflow Hero

Re: Get All Outstanding Tasks

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/defaultNSSmiley SurprisedtherEmailAddress

Cheers

Philipp

Accept as Solution Reply