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 most faced challenges in our projects are related to stakeholders, task management and technology are common.
According to 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), Stakeholders to identify and overcome such typical challenges by Integrating ServiceNow Project Portfolio Management application with Microsoft Teams.

 

What can be achieved with this Integration/ Use Cases:

Create Project Group – Create MS Teams Channel for a project as required.
Daily Project Status Teams – It 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 count of 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:

Why to implement PPM and Teams Integration?

It simplifies the task for the Project Managers to Create, Manage Tasks and 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 a 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.

 

When the Project Manager assigns a task to any user in the project it will be notified (updated) on teams about the task assignment with the specified details as 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 user from MS Teams.
The Daily Project Status will give you the regular updates of the project for example Exceptions, Project running late by no of days, Project not stated on date or Over due by number of days, Overdue tasks, Delayed tasks, Due Today, 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 priorities the task.

On the project whenever the state or the status is getting updated or the manage task being updated or created then the 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. 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)

Set up 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

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

 

 

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

 

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

This completes the registration of your application in Azure Active Directory.

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.

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

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

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

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

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

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

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

Select OAuth 2.0 Credentials.
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

Navigate to All > Connections & Credentials > Connection & Credential Aliases.
Open the Microsoft Teams Graph spoke record.
In the Connections related list, click New.
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

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

The system auto-populates the webhook callback URL.

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.

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 or Perficient’s marketing team.