Skip to main content

Microsoft Project Component

Make queries to reporting data from a Project Web App instance

Component key: ms-project

Description

Microsoft 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.

Connections

OAuth 2.0

To create an new Microsoft Project App Registration:

  1. Navigate to the Microsoft Entra Identity > Applications > App registrations and select New registration.
  • Set the Supported Account types to Accounts in any organizational directory (Any Azure AD directory - Multitenant) so that users outside of your organization (i.e. your customers) can authenticate.
  • Set the Redirect URI dropdown as a "Web" platform. In that section add the Prismatic's OAuth callback URL https://oauth2.prismatic.io/callback - as a Redirect URI.
  • Select Register to complete.
  1. From the App menu navigate to Certificates & Secrets for the app and add a new Client Secret. Save the Value for the Client Secret in the Prismatic Connection Configuration.

  2. Navigate to the Overview page save the value listed as the Application (client) ID. This will be your Client ID for the Prismatic Connection Configuration.

  3. Navigate to API Permissions and select Add Permission, select the square labeled Sharepoint, and then Delegated permissions. Under the Project section select Project.Read, Project.Write in addition to any other permissions that will be required by your integration. You can use ProjectWebApp.FullControl to get started building and choose a more refined set at a later time.

  4. Finally, to retrieve 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).

  5. Additionally, Depending on your PWA site's configuration, user's attempting to authenticate through prismatic may need to be added as members of the site before authentication.

To configure the OAuth 2.0 connection in Prismatic:

  1. 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.

Actions

Check In Draft Project

Mark the status of an existing project to 'Checked In' | key: checkInDraftProject


Checkout Project

Mark an existing project's status as 'Checked Out' | key: checkoutProject


Create Draft Assignment

Create a new assignment in a given draft product | key: createDraftAssignment


Create Draft Project Resources

Create a new Resource in an existing draft project | key: createDraftProjectResources


Create Draft Task

Create a new task in a draft project | key: createDraftTask


Create Project

Create a new project | key: createProject


Delete Draft Task

Delete an existing task from a draft project | key: deleteDraftTask


Delete Project

Delete the contents and metadata of an existing project by Id | key: deleteProject


Get Assignment

Get the information and metadata of an assignment by Id | key: getAssignments


Get Draft Task

Get the information or metadata of a task inside a draft project | key: getDraftTask


Get Project

Get the information and metadata of a project by Id | key: getProject


Get Project Resource

Get the information and metadata of an existing Project Resource by Id | key: getProjectResources


Get Task

Get the information and metadata of a task by Id | key: getTask


List Assignments

List all the assignments in a given project | key: listAssignments

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 Assignments

List all the assignments in a given draft project | key: listDraftAssignments


list Draft Project Resources

List all resources in a draft project | key: listDraftProjectResources


List Draft Tasks

List all tasks in a draft project | key: listDraftTasks


list Project Resources

List all resources in an existing project | key: listProjectResources


List Projects

List all the projects in a given sharepoint site | key: listProjects

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 Tasks

List all the tasks in a given project | key: listTasks


Publish Draft Project

Publish the draft of an existing project | key: publishDraftProject


Raw Request

Send raw HTTP request to Microsoft Project | key: rawRequest


Remove Project

Remove the contents and metadata of an existing project by Id | key: removeProject


Submit Product To Workflow

Submit an existing project to a given workflow | key: submitProject


Update Draft

Update the draft of an existing project | key: updateDraft


Verify Draft

Verify the draft of an existing project | key: verifyDraft