PPM Chatbot

PPM Chatbot is a program that can imitate a human conversation with PPM users by using text chat. Through chatting with PPM Chatbot, you can automate some PPM-related activities without opening PPM.

PPM Chatbot helps save your time that could be allocated to other areas that matter more, and reduce factors of project failure.

What PPM Chatbot can automate

Theoretically, PPM Chatbot can automate anything that can be performed by calling PPM Web services.

Main work categories where PPM Chatbot could be useful is the automation of routine tasks, data processing, and analysis. Such activities include but are not limited to:

  • Creating project risks
  • Creating project issues
  • Creating tasks
  • Assigning tasks
  • Submitting time sheets
  • Proposing ideas (requests)

How PPM Chatbot works

PPM integrates with the NLP tool (Rasa) to identify intents, retrieve responses, and perform actions. PPM Chatbot serves as the message carrier between PPM and PPM users.

  1. A PPM user starts to chat with PPM Chatbot in Microsoft Teams.
  2. Rasa translates the natural language into structured data.
  3. PPM deals with the structured data.

    • If it requires more information to perform an action, PPM prompts PPM Chatbot to continue chatting with the user.
    • If it requires no more information, PPM performs the action.
  4. PPM Chatbot tells the action result to the user with natural language.

Requirements to work with PPM Chatbot

  • PPM Chatbot is available from PPM 9.60 and only supports Microsoft Teams as the chat tool.
  • The "Enable PPM Chatbot" feature toggle is turned on.
  • You have the access grant "Intent Manage".
  • There is a user (it can be any user) in the system that has the access grant "Rasa Webhook".
  • Download the sample intents, report types, and special commands from the PPM Marketplace.

Preparations - performed by admin

  • Set up PPM Chatbot. See Set up PPM Chatbot.
  • Map Microsoft Teams users with PPM users

    When a user chats with PPM Chatbot, PPM obtains the user's Teams account (usually the user's email) and finds the user in PPM that has the same email. Then PPM can perform actions on behalf of the user.

Customize PPM Chatbot use cases - performed by admin

PPM out-of-the-box provides three sample use cases of PPM Chatbot: create project risks, create project issues, and copy time sheets. You can customize them to automate the same actions or define new use cases.

Here are the general steps to customize your PPM Chatbot use cases:

  1. Define an intent for your use case. For details, see Define an intent.

  2. Define a report type to associate with the intent. For details, see Define a report type.

  3. Define a special command for the report type. For details, see Define a special command.
  4. Train the intent. For details, see Train PPM Chatbot - performed by admin.

Define an intent

Intents refer to the goals you have in mind when chatting with PPM Chatbot. PPM Chatbot is triggered by the intents it receives. Intent is a critical factor in determining how PPM Chatbot interacts with users and whether the interaction can succeed.

To define an intent:

  1. From the PPM menu, select Open > Administration > Chatbot Management.

    If you have imported sample intents, they are displayed.

    You can use the greeting-type sample intents directly. You can modify them but cannot delete them.

    Other action-oriented sample intents such as "Create Project Risk" allow both modifications and direct use.

  2. Click New to create a new intent.

    You can only create action-oriented intents.

    Field Description
    Intent Name What you want PPM Chatbot to do.
    Description Give more details about the intent.
    Reference Code PPM will auto-fill the reference code based on your intent name. It is used for PPM to uniquely identify the intent.
    Enabled

    Whether or not you want to enable the intent.

    We recommend that you do not enable the intent until you are sure of everything defined by the intent.

    Sample User Expressions

    Add examples of what users that have the intent might say to PPM Chatbot.

    If Rasa finds what a user says to PPM Chatbot matches one of the examples, PPM Chatbot will recognize the intent and be triggered.

    For example, if your intent is to create project issues, you may add the sample user expressions such as:

    • Can you please create an issue for me?
    • I'd like to create an issue.
    • Submit an issue
    • I want to create a project issue.
    Report Type

    Associate a report type as the conversation template. Once triggered by the intent, PPM Chatbot will chat with users as defined by the associated report type.

    For details, see Define a report type.

  3. Click Create.

Define a report type

As the conversation template of intents, report types defined for intents are used to control how PPM Chatbot interact with users, including:

  • Which information PPM Chatbot should retrieve from users
  • The exact questions asked to obtain the information
  • The sequence of the questions

To define a report type for an intent:

  1. Go to PPM online help to see how to create a report type.
  2. Make sure you follow the rules as below:

    Report Type Element Rule
    Fields
    • Which fields must be added?

      The fields required by the request type related to the intent must be added.

      For example, for the intent "create project issues", its related request type is Project Issue, and the request type makes the fields "Project", "Priority", "Description", and "Date Identified" required fields, then the intent's associated report type should at least add these four fields.

      Optionally, you can add other non-required request type fields as the report type fields, such as "Due Date".

    • Should a report type field have the same attributes (such as field name, token, and validation) as the corresponding request type field?

      A report type field should have the same validation as the corresponding request type field. The other attributes do not have to be the same.

    • How to define the exact questions that PPM Chatbot will ask to get the field values?

      Enter the questions as the descriptions of the report type fields.

      For example, for the request type field "Project", its counterpart report type field "Project Name" (it could be other names) can define its description as "Would you tell me your project name?" This will be exactly what PPM Chatbot will ask users.

    Layout

    The sequence of the report type fields will be the sequence of the questions that are defined as descriptions of the fields. If two fields are in the same line, it goes from the left to the right, and then to the next line.

    For example, if the field "Project Name" is on the top, the question "Would you tell me your project name?" will be asked first.

    Command See Define a special command.

Define a special command

The special command added in a report type for an intent is used to perform an action.

For references, check the sample spacial commands.

Train PPM Chatbot - performed by admin

You train PPM Chatbot to let it "learn" how it should interact with you to get your intent automatically done.

When to train?

Train PPM Chatbot when any of the following happens:

  • Train PPM Chatbot after you add, remove, or edit an intent. Your changes take effect only when PPM Chatbot is trained successfully.
  • The report type associated with an intent changes.

How to train?

Click Train in the Chatbot Intents page. It will train PPM Chatbot with all the intents.

Start conversation with PPM Chatbot - performed by end users

Learn from your admin which actions PPM Chatbot can automate and then you can chat with it to have such actions done.

  1. Add PPM Chatbot to Microsoft Teams.
  2. Start to chat with PPM Chatbot.
  3. If you want to end the conversation for any reasons, send "restart conversation" (case-insensitive). You can start a new conversation.