Service Manager to WhatsApp Integration (via MS Power Automate)

Last modified on 2023/03/27 17:24

From:  Facebook Graph API versions 13 and later

  To help you set up this integration, you can download the pre-configured flows. Open url.png See the List of files to download

IntegrationIntroduction

You can integrate third-party systems with Service Manager in many ways. The method you select will depend on business requirements, architectural and security constraints as well as the characteristics specific to each third-party application or service.

This document describes an integration process that has already been implemented in a customer context. 

To find out more about this integration (e.g. scripts to be used), please do not hesitate to contact your EasyVista contact, or your service provider and integrator.

Overview of the integration

WhatsApp is an instant messaging app for smartphones and tablets.

This integration enables you to send a WhatsApp message to the recipient of a change request via Microsoft Power Automate after accepting or rejecting the change request.
 

Preview of the tools used in this integration

IntegrationTool_MicrosoftAzureLogicApps
  • Microsoft Azure Logic Apps enables you to create logic apps that run workflows and provide access to cloud data and services using ready-to-use connectors.
IntegrationTool_MicrosoftPowerAutomate
  • Microsoft Power Automate (formerly known as Microsoft Flow) enables you to automate recurrent tasks by building workflows using Web applications. The tool relies on standard connectors based on Microsoft Azure Logic Apps for interfacing with any endpoint via HTTP/HTTPS. It can also use the Microsoft Graph gateway via the Microsoft Graph API.
Integration Data Feed (direction) Authentication Type Integration Connector Options

Favicon EasyVista - 32.png Service Manager

Down arrow.png

Logo Icon - Microsoft Flow.png

Down arrow.png

Logo - WhatsApp.png

  • Depending on the third-party service used (authentication managed by Logic Apps)
  • Basic Authentication for the Service Manager API REST Service Manager
  • Service Manager :

    EV Integration connector icon - Workflow.png    Workflow

    EV Integration connector icon - Business rule.png    Business rule

  • MS Power Automate :

    EV Integration connector icon - Receive.png    Connector: When a HTTP request is received

    (Service Manager trigger => Logic Apps)

Available versions
SaaS On-premises
Service Manager Check icon.png Check icon.png
Third-party product Check icon.png N/A

Microsoft Power Automate flows

The integration between Service Manager and WhatsApp will trigger two separate flows in Microsoft Power Automate when the status of a Service Manager change request is changed.

MS Power Automate flow 1: Change request acceptedService Manager MS Power Automate flow 2: Change request rejected Service Manager
Data feed diagram 1 - EN.png Data feed diagram 2 - EN.png

Prerequisites

Caution

Caution_TitleActionInPowerAutomateFlow
  • When you create workflow actions in Microsoft Power Automate, you must rename them as indicated in the procedure. This is because certain items of information in the name refer to the title of the action. If you do not respect the naming convention, the workflow will not be triggered correctly.

example  The split(body('Analyze_Ticket_Info')'')?['AVAILABLE_FIELD_6'],',') instruction refers to the action called Analyze Ticket Info

Note: Spaces in the title will automatically be replaced by the underscore _

Step-by-Step Integration Process

You configure the sending of a WhatsApp message via Microsoft Power Automate when the status of a Service Manager change request is changed in two phases:

Create MS Power Automate flow 1

Description of the Change request accepted workflow

Azure flow description - Flow 1.png
  • Step 1 : Create the step that will trigger the flow
  • Step 2 : Configure the WhatsApp URL to be called
  • Step 3 : Send a WhatsApp message when the request is accepted in Service Manager
  • Step 4 : Send a WhatsApp message when the request is closed in Service Manager
  • Step 5 : Save the configuration of the workflow


Step 1: Create the step that will trigger the flow

==> The workflow is triggered when a change request is accepted in Service Manager.

1. Log in to the Azure portal using your Azure account.

2. Create a new logic app. Open the Logic App Designer.
       Open url.png See Microsoft Azure Logic Apps integration for details on the procedure

3. Create a When a HTTP request is received step that will trigger the workflow.

Microsoft Power Automate - Trigger - When a http request is received.png
  • Specify the information on the trigger.
    • Body: Copy and paste the JSON schema below.

      Display the JSON schema

      {
         "type": "object",
         "properties": {
             "Description": {
                 "type": "string"
              },
             "id": {
                 "type": "string"
              },
             "Host": {
                 "type": "string"
              },
             "URL": {
                 "type": "string"
              },
             "Account": {
                 "type": "string"
              },
             "Title": {
                 "type": "string"
              },
             "Telephone": {
                 "type": "string"
              },
             "Type": {
                 "type": "string"
              }
          }
      }
    • Method: Select the POST value.
  • Save the trigger.

    The following information will be retrieved from Service Manager: Ticket description, ticket ID, Host, Account, URL, ticket title, recipient's phone number, status of the ticket stored in the Type variable.


Step 2: Configure the WhatsApp URL to be called

1. Define the following variables by creating Initialize variable actions in the order listed below.

Microsoft Power Automate - Action - Initialize variable.png
Variable 1:
  • Rename the action Initialize variable Version using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Name: Enter Version.
    • Type: Select the String value.
    • Value: Specify the version of the Facebook Graph API used by WhatsApp.

Caution: The Facebook Graph API version must be version 13 or later.

Variable 2:
  • Rename the action Initialize variable Phone-Number-ID using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Name: Enter Phone-Number-ID.
    • Type: Select the String value.
    • Value: Specify the WhatsApp sender's phone number ID.

  Contact your administrator to obtain the ID.

Variable 3:
  • Rename the action Initialize variable Bearer Token using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Name: Enter Bearer Token.
    • Type: Select the String value.
    • Value: Specify the Bearer Token for accessing your WhatsApp account.

2. Create a Compose action to remove the + character from the recipient's phone number.

Microsoft Power Automate - Action - Compose.png
Compose 1:
  • Rename the action Compose Remove + using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Inputs: Enter the instruction below.
      replace(triggerBody()?['Telephone'],'+','')


Step 3: Send a WhatsApp message when the request is accepted in Service Manager

          Flow 1 - Condition Yes.png

1. Create a Condition action to check for changes to the status of the request.

Flow 1 - Condition Accept request - Line condition.png
  • Rename it Condition using Browse black points icon.png in the title bar.
  • Click Add to add the following line to the condition.
Value tested Condition line
Status changed
  • Select Value: Select the Type field to return the status of the request.
  • Comparator: Select is equal to.
  • Value: Enter {Implementation}.

    Replace {Implementation} with the value corresponding to the Accepted status in your repository.

example Accepted, Validated, Approved ==> The value corresponds to the  Completed meta-status

2. Define the actions to be performed when the status of the request is equal to {Implementation} (Example: Accepted - condition satisfied).

  • Go to the If Yes branch.
  • Select Add an action to add the following actions.

3. Create a HTTP action to notify that the change request is accepted.

Flow 1 - Condition Accept request - HTTP Post.png
  • Rename it HTTP currently in progress using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Method: Enter the POST value.
    • URI: Enter the following expression.
      concat('https://graph.facebook.com/',variables('Version'),'/',variables('Phone-Number-ID'),'/messages')
    • Headers:
      • Enter the Bearer value.
      • Enter the following expression.
        Bearer @{variables('Bearer Token')}
    • Body: Copy and paste the JSON schema below.
      { "messaging_product": "whatsapp", "preview_url": false, "recipient_type": "individual", "to": "@{outputs('Compose_Remove_+')}", "type": "text", "text": { "body": "Your request no. @{triggerBody()?['id']} has been validated, it is being processed" } }


Step 4: Send a WhatsApp message when the request is closed in Service Manager

Note: The workflow will automatically close the request once it is accepted.

          Flow 1 - Condition No.png

1. Define the actions to be performed when the status of the request is not equal to {Implementation} (Example: Closed - condition is not satisfied).

  • Go to the If No branch.
  • Select Add an action to add the following actions.

2. Create a HTTP action to notify that the change request is closed.

Flow 1 - Condition Close request - HTTP Post.png
  • Rename it HTTP end using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Method: Enter the POST value.
    • URI: Enter the following expression.
      concat('https://graph.facebook.com/',variables('Version'),'/',variables('Phone-Number-ID'),'/messages')
    • Headers:
      • Enter the Bearer value.
      • Enter the following expression.
        Bearer @{variables('Bearer Token')}
    • Body: Copy and paste the JSON schema below.
      { "messaging_product": "whatsapp", "preview_url": false, "recipient_type": "individual", "to": "@{outputs('Compose_Remove_+')}", "type": "text", "text": { "body": "Your request no. @{triggerBody()?['id']} has been closed" }


Step 5: Save the configuration of the workflow

1. Click Save at the bottom of the flow.

          Azure flow 1 - Save configuration.png

Create MS Power Automate flow 2

Description of the Change request rejected workflow

Azure flow description - Flow 2.png
  • Step 1: Create the step that will trigger the flow
  • Step 2: Configure the WhatsApp URL to be called
  • Step 3: Send a WhatsApp message when the request is rejected in Service Manager
  • Step 4: Save the configuration of the workflow


Step 1: Create the step that will trigger the flow

==> The workflow is triggered when a change request is rejected in Service Manager.

1. Log in to the Azure portal using your Azure account.

2. Create a new logic app. Open the Logic App Designer.
       Open url.png See Microsoft Azure Logic Apps integration for details on the procedure

3. Create a When a HTTP request is received step that will trigger the workflow.

Microsoft Power Automate - Trigger - When a http request is received.png
  • Specify the information on the trigger.
    • Body: Copy and paste the JSON schema below.

      Display the JSON schema

      {
         "type": "object",
         "properties": {
             "Description": {
                 "type": "string"
              },
             "id": {
                 "type": "string"
              },
             "Host": {
                 "type": "string"
              },
             "URL": {
                 "type": "string"
              },
             "Account": {
                 "type": "string"
              },
             "Title": {
                 "type": "string"
              },
             "Telephone": {
                 "type": "string"
              },
             "Type": {
                 "type": "string"
              }
          }
      }
    • Method: Select the POST value.
  • Save the trigger.

    The following information will be retrieved from Service Manager: Ticket description, ticket ID, Host, Account, URL, ticket title, recipient's phone number, status of the ticket stored in the Type variable.


Step 2: Configure the WhatsApp URL to be called

1. Define the following variables by creating Initialize variable actions in the order listed below.

Microsoft Power Automate - Action - Initialize variable.png
Variable 1:
  • Rename the action Initialize variable Version using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Name: Enter Version.
    • Type: Select the String value.
    • Value: Specify the WhatsApp version used.

Caution: The Facebook Graph API version must be version 13 or later.

Variable 2:
  • Rename the action Initialize variable Phone-Number-ID using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Name: Enter Phone-Number-ID.
    • Type: Select the String value.
    • Value: Specify the WhatsApp sender's phone number ID.

  Contact your administrator to obtain the ID.

Variable 3:
  • Rename the action Initialize variable Bearer Token using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Name: Enter Bearer Token.
    • Type: Select the String value.
    • Value: Specify the Bearer Token for accessing your WhatsApp account.

2. Create a Compose action to remove the + character from the recipient's phone number.

Microsoft Power Automate - Action - Compose.png
Compose 1:
  • Rename the action Compose Remove + using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Inputs: Enter the instruction below.
      replace(triggerBody()?['Telephone'],'+','')


Step 3: Send a WhatsApp message when the request is rejected in Service Manager

1. Create a HTTP action to notify that the change request is rejected.

Flow 2 - Condition Reject request - HTTP Post.png
  • Rename it HTTP end using Browse black points icon.png in the title bar.
  • Specify the information on the action.
    • Method: Enter the POST value.
    • URI: Enter the following expression.
      concat('https://graph.facebook.com/',variables('Version'),'/',variables('Phone-Number-ID'),'/messages')
    • Headers:
      • Enter the Bearer value.
      • Enter the following expression.
        Bearer @{variables('Bearer Token')}
    • Body: Copy and paste the JSON schema below.
      { "messaging_product": "whatsapp", "preview_url": false, "recipient_type": "individual", "to": "@{outputs('Compose_Remove_+')}", "type": "text", "text": { "body": "Your request no. @{triggerBody()?['id']} has been denied" }


Step 4: Save the configuration of the workflow

1. Click Save at the bottom of the flow.

          Azure flow 2 - Save configuration.png

Service Manager: Accept or reject a change request

Step 1: Accept a change request

1. Open the relevant change request.

2. Accept the change request.

          Service Manager - Accept change request.png

3. Click Save.

The WhatsApp message, Your request no. XXX has been validated, it is being processed, will automatically be sent to the recipient of the change request.
        WhatsApp - Accept change request.png
 

Step 2: Reject a change request

1. Open the relevant change request.

2. Reject the change request.

          Service Manager - Reject change request.png

3. Click Save.

The WhatsApp message, Your request no. XXX has been denied, will automatically be sent to the recipient of the change request.
        WhatsApp - Reject change request.png

List of files to download

Note: To find out how to install them, see the integration process.

Links to other integrations

Tags:
Powered by XWiki © EasyVista 2022