Dialogue Cloud

Example configuration Microsoft Power Automate to schedule callback when a dialogue is missed

Introduction

This example shows on how to automatically create a callback CallBack, an IVR menu feature for voice, enables the customer to leave his / her number to be called back by an available agent during business hours. when a dialogue has been missed.

In addition it will also remove pending callback when the customer successfully

Configuration

  1. From your Office Portal, go to your Power Automate app
  2. Click "My Flows"
  3. Click "New" and "Create from Blank"
  4. Use "When an item is created" (SharePoint) as Trigger:
    1. Site = SharePoint UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). A UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location. url where the dialogues are handled
    2. List Name = CallSummary
  5. Add action "Get Items" (SharePoint) and rename to "Get Skill id":
    1. Site = SharePoint UCC url where the dialogues are handled
    2. List = Skills
    3. Filter Query =
    4. Copy
      Expression
      Title eq '@{triggerBody()?['wsp_ucc_SkillChosen']}'
  6. Add action "Initialize variable" and rename to "Get Skill id":
    1. Name = SkillId
    2. Type = String
    3. Value =
    4. Copy
      Expression
      first(body('Get_Skill_Id')?['value'])?['id']
  7. Add action "Get Items" (SharePoint) and rename to "Get active Outbound Dialers":
    1. Site = SharePoint UCC url where the callbacks are handled
    2. List = OutboundDialerCalls
    3. Filter Query =
    4. Copy
      Expression
      Title eq '@{triggerBody()?['wsp_ucc_Customer']}' and wsp_ucc_odc_processed eq 'No'
  8. Add action "Initialize variable" and rename to "Active Outbound Dialer Id":
    1. Name = Dialer
    2. Type = String
    3. Value =
    4. Copy
      Expression
      @{first(body('Get_active_Outbound_Dialers')?['value'])?['id']}
  9. Add action "Condition", with the following checks:
    1. Value 1 =
    2. Copy
      Expression
      @triggerBody()?['wsp_ucc_Accepted']
    3. Check = Is equal to
    4. Value 2 =
    5. Copy
      Expression
      @false
    6. Value 1 =
    7. Copy
      Expression
      @triggerBody()?['wsp_ucc_SkillChosen']
    8. Check = Is not equal to
    9. Value 2 =
    10. Copy
      Expression
      @null
  10. If Yes:
    1. Add action "Condition", with the following check:
      1. Value 1 =
      2. Copy
        Expression
        @variables('Dialer')
      3. Check = Is equal to
      4. Value 2 =
    2. If Yes:
      1. Add "Create Item" (SharePoint):
        1. Site = SharePoint URL where the callback should be created on
        2. List = OutboundDialerCalls
        3. Processed = No
        4. Skill Id =
        5. Copy
          Expression
          @variables('SkillId')
    3. If No, do nothing
  11. If No:
    1. Add action "Condition", with the following checks:
      1. Value 1 =
      2. Copy
        Expression
        @variables('Dialer')
      3. Check = Is equal to
      4. Value 2 =
      5. Value 1 =
      6. Copy
        Expression
        @triggerBody()?['wsp_ucc_Accepted']
      7. Check = is equal to
      8. Value 2 =
      9. Copy
        Expression
        @true
    2. If Yes:
      1. Add action "Update Item" (SharePoint):
        1. Site = SharePoint UCC Site, where callbacks are handled
        2. List = OutboundDialerCalls
        3. Id =
        4. Copy
          Expression
          @{variables('Dialer')}
        5. Invite =
        6. Copy
          Expression
          @{triggerBody()?['wsp_ucc_Customer']}
        7. Processed = Yes
    3. If No, no nothing.

Example: