Microsoft Project Component

Make queries to reporting data from a Project Web App instance
Component key: ms-project#
DescriptionMicrosoft Project is a project management software product, developed and sold by Microsoft. This component allows you to interact with your projects, tasks, and assignments by making queries to reporting data from a Project Web App instance.
#
Microsoft Project Connections#
OAuth 2.0You will need to create and configure a new "App Registration" within your Azure Active Directory tenant.
You will need to go to "Platforms" and add the "Web" platform. In that section you should add Prismatic's OAuth callback URL - https://oauth2.prismatic.io/callback - as a Redirect URI.
Next, go to "Certificates & Secrets" for the app and add a new Client Secret. Note this value as you will need to supply it to the connection within Prismatic.
You will also need the Application (client) ID from the "Overview" page. This will be your Client ID for the connection in Prismatic.
The last step of configuring the "App Registration" is assigning "App Permissions". Click "Add Permission", click on the square labeled "Sharepoint", and then "Delegated permissions". You should select all permissions that are required for your desired integration. You can use ProjectWebApp.FullControl
to get started building and choose a more refined set at a later time.
Finally, you need to get the "Project Web App Site" value (also referred to as the "PWA site"). This can be found by navigating to Microsoft Project 365, clicking the gear settings icon in the top right, and clicking on "PWA Site". You will need to copy the value from the https://
protocol through to the first slash (do not include the trailing slash or the path portion).
Now, configure the OAuth 2.0 connection in Prismatic. Add an MS Project OAuth 2.0 connection config var:
- Use the Application (client) ID value for the Client ID field.
- Use the Client Secret for the same named field.
- Use the default Authorize URL.
- Replace
<pwaSite>
in the Token URL with the PWA Site value. - Use the same PWA Site value for that field.
Save your integration and you should be able to authenticate a user through MS Project Online with Auth 2.0.
Input | Default | Notes | Example |
---|---|---|---|
Input Authorize URL string / Required authorizeUrl | Default https://login.microsoftonline.com/common/oauth2/authorize | Notes The OAuth 2.0 Authorization URL for Microsoft Project | Example https://login.microsoftonline.com/common/oauth2/authorize |
Input Client ID string / Required clientId | Default | Notes This value is obtained by creating a new app in Active Directory with the same tenant as your user with a Microsoft Project license | Example |
Input Client Secret password / Required clientSecret | Default | Notes This value can be generated inside your Active Directory application. | Example |
Input PWA Site string / Required pwaSite | Default | Notes The Project Web App Sharepoint Site domain. This is the same value that is supplied for the resource argument of the Token URL. | Example https://example.sharepoint.com |
Input Scopes string Hidden Field scopes | Default | Notes | Example |
Input Token URL string / Required tokenUrl | Default | Notes The OAuth 2.0 Token URL for Microsoft Project; replace `<pwaSite>` with the protocol and domain of the PWA Site. Example: https://example.sharepoint.com | Example https://login.microsoftonline.com/common/oauth2/token?resource=<pwaSite> |
#
Actions#
Check In Draft ProjectMark the status of an existing project to 'Checked In' | key: checkInDraftProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Checkout ProjectMark an existing project's status as 'Checked Out' | key: checkoutProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Create Draft AssignmentCreate a new assignment in a given draft product | key: createDraftAssignment
Input | Notes | Example |
---|---|---|
Input Finish Date string assignmentFinishDate | Notes Provide a valid date time value for the finish date of the assignment | Example 2021-11-04T20:29:49.305Z |
Input Assignment Start Date string assignmentStartDate | Notes Provide a valid date time value for the start date of the assignment | Example 2021-11-04T20:29:49.305Z |
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Notes string notes | Notes Provide a string value for notes. | Example These are example notes. |
Input Resource Id string resourceId | Notes Provide the unique identifier for the resource | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Task Id string / Required taskId | Notes Provide a unique identifier for the task. | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Create Draft Project ResourcesCreate a new Resource in an existing draft project | key: createDraftProjectResources
Input | Notes | Example |
---|---|---|
Input Account string account | Notes Provide the unique identifier of the account. | Example 36923632865023 |
Input Connection connection / Required connection | Notes | Example |
Input Email string email | Notes Provide a valid email address. | Example someone@example.com |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Notes string notes | Notes Provide a string value for notes. | Example These are example notes. |
Input Name string resourceName | Notes Provide a string value for the name of the resource. | Example MyExampleFile.txt |
#
Create Draft TaskCreate a new task in a draft project | key: createDraftTask
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Notes string notes | Notes Provide a string value for notes. | Example These are example notes. |
Input Parent Id string parentId | Notes Provide the unique identifier of the parent object. | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Finish Date string taskFinishDate | Notes Provide a valid datetime value for the finish date of the task. | Example 2021-11-04T20:29:49.305Z |
Input Task Name string / Required taskName | Notes Provide a string value for the name of the task. | Example Example Name |
Input Task Start Date string taskStartDate | Notes Provide a valid datetime value for the start date of a task. | Example 2021-11-04T20:29:49.305Z |
#
Create ProjectCreate a new project | key: createProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project Description string / Required projectDescription | Notes Provide a string value for the description of the project. | Example This is an example description. |
Input Project Name string / Required projectName | Notes Provide a string value for the name of the project. The name can NOT contain any special characters. | Example MyExampleProject |
Input Project Start Date string / Required projectStartDate | Notes Provide a valid datetime value for the start date of the project. | Example 2021-11-04T20:29:49.305Z |
#
Delete Draft TaskDelete an existing task from a draft project | key: deleteDraftTask
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Task Id string / Required taskId | Notes Provide a unique identifier for the task. | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Delete ProjectDelete the contents and metadata of an existing project by Id | key: deleteProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Get AssignmentGet the information and metadata of an assignment by Id | key: getAssignments
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Get Draft TaskGet the information or metadata of a task inside a draft project | key: getDraftTask
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Task Id string / Required taskId | Notes Provide a unique identifier for the task. | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Get ProjectGet the information and metadata of a project by Id | key: getProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Get Project ResourceGet the information and metadata of an existing Project Resource by Id | key: getProjectResources
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Resource Id string resourceId | Notes Provide the unique identifier for the resource | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Get TaskGet the information and metadata of a task by Id | key: getTask
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Task Id string / Required taskId | Notes Provide a unique identifier for the task. | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
List AssignmentsList all the assignments in a given project | key: listAssignments
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Page Number string pageNumber | Notes Provide an integer value for which page to return when paginating results. | Example 3 |
Input Page Size string pageSize | Notes Provide an integer value for the maximum results returned per page when paginating results. | Example 20 |
When making queries against the Assignments in your project, it may be helpful to filter out results based on a value.
For example, if you provide $filter = ResourceName eq 'ExampleCustomerName'
to the Query String input, you can filter results for a particular customer.
#
List Draft AssignmentsList all the assignments in a given draft project | key: listDraftAssignments
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
list Draft Project ResourcesList all resources in a draft project | key: listDraftProjectResources
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Page Number string pageNumber | Notes Provide an integer value for which page to return when paginating results. | Example 3 |
Input Page Size string pageSize | Notes Provide an integer value for the maximum results returned per page when paginating results. | Example 20 |
#
List Draft TasksList all tasks in a draft project | key: listDraftTasks
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Page Number string pageNumber | Notes Provide an integer value for which page to return when paginating results. | Example 3 |
Input Page Size string pageSize | Notes Provide an integer value for the maximum results returned per page when paginating results. | Example 20 |
#
list Project ResourcesList all resources in an existing project | key: listProjectResources
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
List ProjectsList all the projects in a given sharepoint site | key: listProjects
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Page Number string pageNumber | Notes Provide an integer value for which page to return when paginating results. | Example 3 |
Input Page Size string pageSize | Notes Provide an integer value for the maximum results returned per page when paginating results. | Example 20 |
Input Query String string queryString | Notes Provide a string value to query for a specific property. | Example $select=ProjectId |
For a Project Web App instance that contains a large number of entities, such as projects, assignments, or tasks, you should limit the data returned using the QueryString input. If you don't limit the data returned, the query can exceed the default limits and affect server performance, which may result in a failed execution. Unlike other Microsoft products, the Project Data service does not implement the $links query option or the $expand query option.
#
Output Example Payload{ "data": [ { "odata.type": "PS.PublishedProject" } ]}
#
List TasksList all the tasks in a given project | key: listTasks
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
Input Page Number string pageNumber | Notes Provide an integer value for which page to return when paginating results. | Example 3 |
Input Page Size string pageSize | Notes Provide an integer value for the maximum results returned per page when paginating results. | Example 20 |
#
Publish Draft ProjectPublish the draft of an existing project | key: publishDraftProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Remove ProjectRemove the contents and metadata of an existing project by Id | key: removeProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Submit Product To WorkflowSubmit an existing project to a given workflow | key: submitProject
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Update DraftUpdate the draft of an existing project | key: updateDraft
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |
#
Verify DraftVerify the draft of an existing project | key: verifyDraft
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Project GUID string / Required guId | Notes Provide a string value for the GUID | Example 9840c3b6-ac3d-ec11-bea0-00155d788e0a |