web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Updating pwa (project ...
Power Apps
Suggested Answer

Updating pwa (project online) Timesheets through dynamics

(2) ShareShare
ReportReport
Posted on by 72

I have a model‐driven app in Dynamics 365 with a custom Time Entry table. Each Time Entry record includes:

  • Hours (decimal)

  • Date (date)

  • Notes (multiline text)

  • Task (lookup to my Task table, which stores the PWA Assignment GUID)

  • User (lookup to SystemUser, defaulting to “Created By”)

What I want to do:

  • Automatically insert each Time Entry into the user’s Project Online timesheet (so that 5 hours on June 1 appear on the correct PWA Task/Assignment).

What I’ve tried so far

  • Pulled sample code/links for OData V1 (ProjectData) from Jitterbit docs.

  • Considered calling OData V2 (?api-version=2.0), but not sure if CRUD is actually supported.

  • Read about ProjectServer REST (/_api/ProjectServer/…) for timesheet operations, but looking for a simpler or “built-in” approach.

What I need help with

  • Is there a more direct method (other than hand-rolling OData queries) to push Dynamics Time Entry rows into PWA timesheets?

  • Has anyone used Power Automate to do this—if so, what connector or HTTP URI patterns did you use?

  • Any recommended documentation or code samples aside from the Jitterbit OData guide?

https://docs.jitterbit.com/integration-studio/design/connectors/microsoft-project/connection-details/#pg_odatav1
Categories:
I have the same question (0)
  • Suggested answer
    MParikh Profile Picture
    313 Super User 2025 Season 2 on at
    Try implementing below Power Automate. 
     

    Connectors & Actions:

    • Dataverse Connector:
      • Trigger: When a row is added, modified, or deleted from your custom Dynamics Time Entry table.
      • Action: Retrieve additional details (Get a row by ID) if necessary.
     
    • SharePoint HTTP Action (Built-in Power Automate HTTP connector tied to SharePoint Online authentication):
      • URI Patterns Used (Commonly Applied):
        • To Add a Timesheet Line:
           
           
          POST https://{tenant}.sharepoint.com/sites/{pwa-site}/_api/ProjectServer/Timesheets('[TimesheetPeriodId]')/Lines/Add
           
        • Payload Pattern Example:
           
           
          {"parameters": {"AssignmentId": "<assignment-guid-from-task>","Comment": "<notes>","Work": "<hours>h"}}
           
        • To Submit a Timesheet (if required):
           
           
          POST https://{tenant}.sharepoint.com/sites/{pwa-site}/_api/ProjectServer/Timesheets('[TimesheetPeriodId]')/Submit

     

  • CU09051456-0 Profile Picture
    72 on at
    Hi @MParikh this wasn't really helpful
     
  • MParikh Profile Picture
    313 Super User 2025 Season 2 on at

    Okay Lets try couple of option and let me know how it goes. If you solve mark the answer and like.

    To integrate Dynamics 365 Time Entry records with Project Online timesheets, use a combination of Power Automate and Project Online’s REST API. Here’s a structured approach:

    1. Power Automate Setup
     
    Use the Project Online connector to authenticate and interact with your PWA site. Key steps:
     
    • Trigger: Use "When a row is added, modified, or deleted" for your Time Entry table.
    • Authentication: Configure the Project Online connector with your PWA root site URL (e.g., https://[tenant].sharepoint.com/sites/pwa).
     
    2. REST API Integration
     
    For timesheet operations, use HTTP actions targeting Project Online’s REST endpoints:
     
    • Create/Update Timesheets:
       
       
       
      https://[tenant].sharepoint.com/sites/pwa/_api/ProjectServer/TimeSheet/Entries('[AssignmentID]')/Hours('[Date]')
       
      • Headers: 
        {"Content-Type": "application/json","X-RequestDigest": "[DigestValue]"}
      • Body:
        {"Hours": "[DynamicsTimeEntry.Hours]","Comment": "[DynamicsTimeEntry.Notes]"}
      • Replace [AssignmentID] with the PWA Task GUID from your Dynamics Task table.
     
    3. Key Components
     
    • Timesheet Period Handling:First, retrieve the active timesheet period using:
       
      GET https://[tenant].sharepoint.com/sites/pwa/_api/ProjectServer/TimeSheetPeriods
       
      Use the PeriodId in subsequent calls.
    • Assignment Validation:Ensure the Task’s PWA GUID matches a valid Project Online assignment. Use:
       
      GET https://[tenant].sharepoint.com/sites/pwa/_api/ProjectServer/Projects('[ProjectID]')/Assignments
     
    4. Automation Workflow Example
     
    1. **Trigger**: New Time Entry created in Dynamics.
    2. **Get PWA Assignment**: Match Dynamics Task GUID to Project Online assignment.
    3. **Check Timesheet Period**: Ensure the entry date falls within an active period.
    4. **Submit Hours**: Use the `PATCH` request above to update timesheet hours.
    5. **Error Handling**: Log failures to a separate list for reconciliation.
     
    5. Documentation & Samples
       
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 711 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 319 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard