current projects with pending proofs--how best to find/filter | Community
Skip to main content
KristenS_WF
Level 7
March 20, 2026
Solved

current projects with pending proofs--how best to find/filter

  • March 20, 2026
  • 1 reply
  • 35 views

I’m working on a Power BI dashboard for some of our business partners.  I’m told that delays with these projects frequently stem from the partners failing to approve proofs in a timely fashion.  In addition to project info, I am hoping to show folks info on current tasks and any pending proof approvals.

I know that proofs use a completely different API than does Workfront.  My thought is to create a custom form for documents and populate it with reviewer/status info obtained from a Workfront Proof module (that way I wouldn’t have to hassle with making a Workfront Proof API call in PBI).  I tested the back end of this idea--pulling reviewer names/roles/approval status, aggregating those values, and updating a custom field attached to my document with the aggregated text--and it worked.

I’m now trying to figure out the best way of isolating the population of objects I need for the front end of the scenario.  For my initial test, I’m hoping to pull documents with pending approvals for projects that have a status of current and that have a particular project custom field value.  After reading this thread, I create a Document Version report with this filter:

EXISTS:1:$$OBJCODE=DOCU
EXISTS:1:DE:project:Portfolio this request falls under.=Firm Services
EXISTS:1:ID=FIELD:documentID
EXISTS:2:$$OBJCODE=DOCU
EXISTS:2:ID=FIELD:documentID
EXISTS:2:project:status=CUR
proofDecision=pending
proofDecision_Mod=cieq

This works fine in a report, but I was unable to use the filter criteria in a Fusion WF Custom API Call module--I got an error indicating the EXISTS statement cannot be used.  I saw an older thread suggesting that specifying the Internal API as the version would work with EXISTS, but I was unsuccessful with attempts trying to invoke it and the Unsupported API.

Instead I’ve attempted to pull a broader set of records and then iterate through them in order to filter down to what I need:

 

I first have a Custom API Call module that searches for Document Version records with this criteria (I picked the starting date because a report indicated with don’t have any current projects with pending proofs before Oct. 2025):

I iterate through the results, sending them to a Document-based Custom API Call:

 

I filter those results for Project-level values:

 

I iterate those results and feed them into another Document Version-based Custom API Call in order to extract the Proof ID I need to drive the second half of the scenario:

 

This works, but I’m wondering if there’s a cleaner and more efficient way to get to the filtered values I need (my scenario seems a little clunky).  I’d appreciate any suggestions/assistance.

Thanks!

    Best answer by KristenS_WF

    I think I figured it out--I was able to use a Document-based Custom API Call module to filter the records I need and obtain the Proof ID for the current document version:

     

     

     

    1 reply

    KristenS_WF
    KristenS_WFAuthorAccepted solution
    Level 7
    March 24, 2026

    I think I figured it out--I was able to use a Document-based Custom API Call module to filter the records I need and obtain the Proof ID for the current document version:

     

     

     

    Ryan_T
    Adobe Champion
    Adobe Champion
    March 24, 2026

    Hi ​@KristenS_WF,

    I like your approach of using Document-based API call since you likely only want to return the Proof associated with the current version of a Document. Starting with Document Version may produce more ‘noise’ than intended—you may end up hitting the 2000 record count quickly depending on the rate that new documents and versions are added to your Workfront instance. Your approach also reduces the number of modules required for your Fusion scenario.

     

    If you end up exceeding the 2000 limit, you’ll likely need to adjust your filter criteria or add a repeater section to process ‘chunks’ of Documents.

     

    As a matter of personal preference/style, I also like to create a fields key-value pair within the Query String section to keep the URL input clean and easy to read and use uppercase for the Workfront object.

    Workfront Custom API Module Config

     

    KristenS_WF
    Level 7
    March 24, 2026

    Thanks for the fields key-value pair tip--I like that a lot better!