Resource Engagement API’s coming to a Project Online near you

I will be doing a more complete post once we have the updated SharePoint Online Nuget package that will allow JS and .NET interaction with the Resource Engagement API (due out late July/ early August), but as I’ve seen a few questions coming in I though it worth an introductory posting.  The REST endpoint is now exposing the Engagement stuff – so you could start playing today if REST is your thing.

*** Update 8/5/2016 - Nuget package available - - 16.1.5521.1200 ***

Here are my requests from Project Professional



And I can see the same in PWA


And if I navigate to the _api/ProjectServer endpoint I can see the engagements there too – using https://<yourtenant>'<Project GUID>')/Engagements I see my committed engagement:


and the September one that is still to be accepted.


I can also get at these via the resource by using a Url like https://<yourtenant>'<Resource GUID>')/Engagements

*** And as Ryan mentioned in the comments "You should access the Engagements off of the project in order to create, modify, submit, or resubmit requests for resources. You should access engagements off of the resource in order to approve or reject them." ***

More later, once the JS and .NET stuff is published via the new SharePoint Online Nuget package towards the end of July 2016 – and it will be here - when it lands.

Comments (17)

  1. Ryan Psenski says:

    You should access the Engagements off of the project in order to create, modify, submit, or resubmit requests for resources. You should access engagements off of the resource in order to approve or reject them.

  2. James Boman says:

    Hey Brian – there are no Event Receivers for Engagement events. Do you think we will ever get them or do you think this area of the product will remain dark?

    1. Hi James, and no plans currently. I’d be interested in how you are using the other event receivers and how you are finding the reliability.
      Best regards,

  3. Ada says:

    Hey Ryan, thanks for your post, it was very helpful.
    Do you happen to know if Resource Engagement API will be also available for Project Server on premises environments in the near future?

    1. Ada says:

      Brian! Sorry. I read Ryan’s post and I guess his name stuck in my mind.

      1. No problem Ada – I’ve been called worse things :). No plan for this to be added to Project Server 2016 – it could be added to a future release though.
        Best regards,

  4. Roy Gilboa says:

    Hi Brian,
    The Engagements CSOM API works well for Project Online but fails when attempteing the exact same code on 16 On Premise (minus the authentication off course).
    The error seems to be coming from the server:
    “Microsoft.SharePoint.Client.ServerException: Field or property “Engagements” does not exist.
    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
    at TestEngagementsAPI.ReadEnagements()”.

    Is this a known issue?

    1. Adding the answer here too – so that people see it whichever post they happen to look at:

      Hi Roy, the Resource Engagements methods are not available in Project Server 2016 – only Project Online. It would be worth opening a support incident to make you requirements know – or go to UserVoice – The product group need to hear of the requirement so they will prioritize the work to add this capability.
      Thanks and best regards,

      1. Roy Gilboa says:

        Thanks Brian,
        I posted a user voice and hope this makes it into the upcoming roadmap features list.

          1. Worth feeding your needs back through the partner channel Brandon – my current information is that it will not make it into the Project Server 2016 release…
            Best regards,

  5. Yaroslav says:

    is it possible to add Engagements via REST API?

  6. Brian,
    is there a REST API available for Engagements?

    1. Alex and Yaroslav – yes – and that is the topic of the post – but this is only for Project Online, and not for Project Server 2016.
      Best regards,

      1. We are looking at Project Online. I wonder if there is a sample out there.

  7. Hi Brian,

    We need to update Status on the Engagement entity using JavaScript (in a SharePoint add-in) and therefore need to get if from the EnterpriseResource entity level. But for large PWAs (with +1000 Enterprise Resources, an exception is thrown complaining about

    Too many resources: 2504. You cannot load dependent objects for more than 1000 resources. Use a filter to restrict your query.

    Could you please remove this restriction?


    We can get the entity from the Project entity but that does not allow us to update “Status” and we also need to submit time-phased data for the resource. We also cannot do this from the Project level.

    We can debug the JavaScript being used in the PWA to work with engagements, and it looks as if it uses the “PSI” API. But we can not use this API from the add-in because of a browser-triggered CORS restriction.

    Do you have any plans to open the PSI endpoint for CORS purposes – in the same way the CSOM endpoint (client.svc) is opened?



Skip to main content