Skip to main content

Project Management

Project Portfolio Management and MS Teams Collaboration

The Value Of Nearshoring Services: Innovation & Performance

Challenges faced while managing a project:

  • Just like any other project, ServiceNow projects have several challenges, and if these challenges are not dealt with, it usually means that the project will fail to deliver some of the expected criteria/result.
  • ServiceNow Community will agree that the most common challenges in our projects are related to stakeholders, task management and technology.
  • According to a study, only 2.5% of companies successfully complete 100% of their projects. Around 50% of projects fail to achieve their exact requirement or fail completely.
  • Generally, projects seem to be more expensive than the planned budget. My objective is to help Project Managers, Team Member (Task Assignees), and Stakeholders to identify and overcome typical challenges by integrating the ServiceNow Project Portfolio Management Application with Microsoft Teams.

 

What Can Be Achieved with this Integration/Use Case:

  • Create Project Group – Create MS Teams Channel for a project as required.
  • Daily Project Status Teams – Contains the overview of the project, overdue task. Daily Project Status sent to MS Teams as required based on the data of a project in ServiceNow.
  • Teams Action – Posts a message to the project channel or team whenever an Action is created with priority 1-Critical or 2-High, or if the priority of an existing Action is updated to 1-Critical or 2-High.
  • Add Assigned Users to MS Group – Handles adding the users in the “Assigned to” or “Additional Assignee list” fields of the project tasks to the project channel or team.
  • Archive MS Group – Handles archival of the project channel or team based on the number of days from which the project is moved to a closed state. This flow is set to run daily at 08:00 AM.
  • Change Request Teams – Posts a message to the project channel or team whenever a Change Request with priority 1-Critical or 2-High is created, or if the priority of an existing Change Request record is updated to 1-Critical or 2-High.
  • Decision Teams – Posts a message to the project channel or team whenever a Decision with priority 1-Critical or 2-High is created, or if the priority of an existing Decision is updated to 1-Critical or 2-High.
  • Issue Teams – Posts a message to the project channel or team whenever an Issue with priority 1-Critical or 2-High is created, or if the priority of an existing Issue is updated to 1-Critical or 2-High.
  • Milestone/Key Milestone Teams – Posts a message to the project channel or team whenever a Milestone or a Key Milestone task is moved to the closed state.
  • Project Manager Changes MS Teams – Handles adding the new project manager as a member to the project channel or team. This flow also checks if the user who was the old project manager is assigned to any project tasks and if not assigned to any task, removes the user from the channel.
  • Risk Flow Teams – Posts a message to the project channel or team whenever a Risk with probability High or Absolute is created, or if the probability of an existing risk is updated to High or Absolute. 

Architecture Diagram:

Snow Solutions Ms Teams

Why Implement PPM and Teams Integration?

It simplifies the task for the Project Managers to create, manage tasks, and the overall project. When a project is created, the “Enable MS Teams Collaboration” in the related links of the project is populated and is only visible to the users with the Project Manager role. Now the Project Manager can decide whether to create an MS Teams channel for the project or not. When the “Enable MS Teams Collaboration” link is clicked automatically, a channel with the project name will be created on Teams. The link “Enable MS Teams Collaboration” is only available to the Project Manager once. After enabling it, the link will disappear from the project form.

2022 06 11 20 34 06 Settings

 

  • When the Project Manager assigns a task to any user in the project, they will be notified (updated) on Teams about the task assignment with the specified details on the task created. We can add “Assigned to” or “Additional Assignee list” users to MS project group. Removing any user from the project will automatically remove the user from MS Teams.
  • The Daily Project Status will give you the regular updates of the project. For example: exceptions, project running late by number of days, project not started on date or overdue by number of days, overdue tasks, delayed tasks, due today, and due within next 7 days (Milestone/Key Milestones). So that as a Project Manager, you can plan to do the follow-up by scheduling the timing for updates and prioritize the task.

Try 7

  • On the project, whenever the state or the status is getting updated or the managed task is being updated or created, Teams will be notified with the updates. When a project is set to complete, the state is set to “Closed” and the project channel on MS Teams will be closed and Archived in some days.

How to Enable MS Teams and PPM Collaboration

Install PPM Collaboration

a. Install the PPM Collaboration (sn_ppm_collab) application from ServiceNow Store.

b. The following plugins are required to use Microsoft Teams as the project collaboration tool:

  • PPM Standard (com.snc.financial_planning_pmo)
  • Microsoft Azure AD Spoke for IntegrationHub(com.sn.azure_ad.spoke)
  • Microsoft Teams Graph Spoke (sn_msteams_ahv2)

Setup Microsoft Teams Graph Spoke

Integrate the ServiceNow instance and Microsoft Teams account by creating a custom OAuth application in Microsoft Teams to authenticate ServiceNow requests.

Register an Application Using the Microsoft Azure Portal 

Provide authorization to the ServiceNow instance by registering an application with Azure AD.

Procedure

  1. In the Microsoft Azure portal, copy and record the Directory ID for later use. For more information, see Get tenant and app ID values for signing in in Microsoft Azure documentation.

2022 06 11 20 50 08 Blog On Ppm And Ms Teams Collaboration Word

 

    1. Register your application in the Azure portal. For instructions on registering an application, see Tutorial: Register an app with Azure Active Directory in the Microsoft Docs.
    2. Copy and record the Application ID for later use.

Try1

 

  • Select Manifest tab, in the manifest editor, set the allowPublicClient* property to true and click on Save.
  • Select API permissions tab, click on Add a permission.
  • Search for and choose Dataverse under the APIs my organization uses. If “Dataverse” is not found, then search for “Common Data Service”.
  • Click on Delegated permissions and check the options and click on Add permissions.

Try2

  • This completes the registration of your application in Azure Active Directory.
  1. Add the Reply URLs in this format: https://<instance-name>.service-now.com/oauth_redirect.do. For more information, see Authentication and authorization for Azure Time Series Insights API in Microsoft Docs.

Try4

Note: Copy the Client Secret for later use.

Register Microsoft Teams as the OAuth provider.

Register Microsoft Teams as the OAuth provider so that the ServiceNow instance can request OAuth 2.0 tokens.

Procedure

  1. Navigate to All > System OAuth > Application Registry.
  2. Click New.

The system displays the message, What kind of OAuth application?

  1. Select Connect to a third-party OAuth Provider.
  2. On the form, fill in the required fields.

Try5

A system-generated OAuth entity profile is created and displayed in the OAuth Entity Profiles related list. For example, MS Teams default_profile.

Create Credential records for the Microsoft Teams Graph spoke.

Authorize the Microsoft Teams Graph spoke actions by creating credential records for the application registered in the Microsoft Azure portal. The Microsoft Teams Graph spoke connection and credential alias uses these credentials to authorize actions.

Procedure

  1. Navigate to All > Connections & Credentials > Credentials.
  2. Click New.

The system displays the message, what type of Credentials would you like to create?

  1. Select OAuth 2.0 Credentials.
  2. On the form, fill in the required fields

Result

The credential record for the Microsoft Teams Graph spoke is created.

Create Connection records for the Microsoft Teams Graph spoke

Perform actions in Microsoft Teams by creating connection records for your Microsoft Teams account. The Microsoft Teams Graph spoke connection and credential alias uses these connections to perform actions.

Procedure

  1. Navigate to All > Connections & Credentials > Connection & Credential Aliases.
  2. Open the Microsoft Teams Graph spoke record.
  3. In the Connections related list, click New.
  4. On the form, fill in the required fields.

Set up a bi-directional webhook for Microsoft Teams Graph spoke 

Configure a webhook to subscribe to Microsoft Teams with a ServiceNow callback URL.

Register a Microsoft Teams Graph Webhook in ServiceNow Instance

Register a Microsoft Teams in your ServiceNow instance to notify the ServiceNow app when certain events occur in Microsoft Teams.

Procedure

  1. Navigate to Microsoft Teams Graph Spoke > Webhook Registry.
  2. On the form, fill in the fields.
  3. Right-click the form header and click Save.
  4. Click Callback URL.

The system auto-populates the webhook callback URL.

  1. Copy and record the webhook callback URL.

Note: Copy the Callback URL, Channel ID, Group ID, Tenant ID for later use.

Flows Designed to Synchronize Projects with Your Collaboration Tool 

Understand the flows designed for the PPM Collaboration application so that you can edit the configurations as required.

Try6

By default, all the flows or sub flows are inactive. Activate all the flows or sub flows according to the requirements for getting notified for each update on a project. Flows can be viewed by navigating to Flow Designer > Designer and filtering the flows by the PPM collaboration application. This is how you can manage the overall growth of the project and complete it successfully without any delays or failures.

For more information, connect with me on LinkedIn.

Perficient + ServiceNow

We excel with ServiceNow’s IT Service Management (ITSM) capabilities. ITSM refers to all the activities involved in designing, developing, deploying, supporting, and managing the life cycle of IT services. We can help customers and prospects consolidate to a single, modern cloud IT solution using the Now Platform and IT service and operations workflows to increase IT productivity, predict and prevent issues, and deliver compelling service experiences.

We have ServiceNow certified Implementation Specialists in IT Service Management, Customer Service Management, Human Resources, CMDB, Discovery, and App Engine and Administration. We can holistically assess and address a broad range of workflow integration projects with the ability to deliver success from concept to launch and beyond.

To learn more about Perficient’s ServiceNow expertise, subscribe to Perficient’s blog, and follow us on LinkedIn and Twitter.

Thoughts on “Project Portfolio Management and MS Teams Collaboration”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Sheikh Ayesha Tabassum

Sheikh Ayesha Tabassum is an Associate Technical Consultant at Perficient, focused on ServiceNow. She has experience in Automation Testing using ATF, Integration, ITBM, Virtual Agent Chat Bot, Customer Service Management, and Testing techniques. Ayesha likes to explore new technologies and keep herself updated.

More from this Author

Follow Us
TwitterLinkedinFacebookYoutubeInstagram