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.

Microsoft Project Connections#

OAuth 2.0#

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

InputDefaultNotesExample
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 Project#

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

InputNotesExample
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 Project#

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

InputNotesExample
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 Assignment#

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

InputNotesExample
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 Resources#

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

InputNotesExample
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 Task#

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

InputNotesExample
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 Project#

Create a new project | key: createProject

InputNotesExample
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 Task#

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

InputNotesExample
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 Project#

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

InputNotesExample
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 Assignment#

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

InputNotesExample
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 Task#

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

InputNotesExample
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 Project#

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

InputNotesExample
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 Resource#

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

InputNotesExample
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 Task#

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

InputNotesExample
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 Assignments#

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

InputNotesExample
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 Assignments#

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

InputNotesExample
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 Resources#

List all resources in a draft project | key: listDraftProjectResources

InputNotesExample
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 Tasks#

List all tasks in a draft project | key: listDraftTasks

InputNotesExample
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 Resources#

List all resources in an existing project | key: listProjectResources

InputNotesExample
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 Projects#

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

InputNotesExample
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 Tasks#

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

InputNotesExample
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 Project#

Publish the draft of an existing project | key: publishDraftProject

InputNotesExample
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 Project#

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

InputNotesExample
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 Workflow#

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

InputNotesExample
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 Draft#

Update the draft of an existing project | key: updateDraft

InputNotesExample
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 Draft#

Verify the draft of an existing project | key: verifyDraft

InputNotesExample
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