kind: AdaptiveDialog
startBehavior: CancelOtherTopics
beginDialog:
  kind: OnEscalate
  id: main
  intent:
    displayName: Escalate
    includeInOnSelectIntent: false
    triggerQueries:
      - Talk to representative
      - Talk to a person
      - Talk to someone
      - Call back
      - Call customer service
      - Call me please
      - Call support
      - Call technical support
      - Can a representative call me
      - Can I call
      - Can I get in touch with someone else
      - Can I get real representative support
      - Can I get transferred to a person to call
      - Can I have a call in number Or can I be called
      - Can I have a representative call me
      - Can I schedule a call
      - Can I speak to a representative
      - Can I talk to a human
      - Can I talk to a human assistant
      - Can someone call me
      - Chat with a human
      - Chat with a representative
      - Chat with representative
      - Chat with someone please
      - Connect me to a representative
      - Connect me to a person
      - Could some one contact me by phone
      - Customer agent
      - Customer representative
      - Customer service
      - I need a manager to contact me
      - I need customer service
      - I need help from a person
      - I need to speak with a live argent
      - I need to talk to a specialist please
      - I want to talk to customer service
      - I want to proceed with live support
      - I want to speak with a consultant
      - I want to speak with a live tech
      - I would like to speak with an associate
      - I would like to talk to a technician
      - Talk with tech support member

  actions:
    - kind: SetVariable
      id: setVariable_8fjc6y
      displayName: RestrictDTMF
      variable: System.Conversation.OnlyAllowDTMF
      value: true

    - kind: SetVariable
      id: setVariable_Pg4BaS
      variable: Global.Language
      value: =Text("")

    - kind: Question
      id: question_I3Dvfk
      displayName: Prompt Customer for Language
      interruptionPolicy:
        allowInterruption: true

      variable: Topic.languageChoice
      prompt:
        text:
          - 
        speak:
          - |-
            For English, press 1 or say English.
            Voor Nederlands, druk 2 of zeg Nederlands.
            Pour le français, appuyez sur 3 ou dites Français.

      entity:
        kind: EmbeddedEntity
        sensitivityLevel: None
        definition:
          kind: ClosedListEntity
          items:
            - id: English
              displayName: English
              dtmfKey: Num1

            - id: Nederlands
              displayName: Nederlands
              dtmfKey: Num2

            - id: Français
              displayName: Français
              dtmfKey: Num3

          dtmfMultipleChoiceOptions:
            generateMapping: true

    - kind: SetVariable
      id: setVariable_KG5DH1
      variable: Global.Language
      value: =Text(Topic.languageChoice)

    - kind: ConditionGroup
      id: conditionGroup_YDdiHf
      conditions:
        - id: conditionItem_kekBxw
          condition: =Topic.languageChoice = 'crfea_IVR.topic.Escalate.main.question_I3Dvfk'.English
          actions:
            - kind: SetVariable
              id: setVariable_OXOV96
              variable: System.User.Language
              value:
                kind: OptionDataValue
                type:
                  kind: SystemOptionSet
                  name: Locale

                value: English

        - id: conditionItem_4e365F
          condition: =Topic.languageChoice = 'crfea_IVR.topic.Escalate.main.question_I3Dvfk'.Nederlands
          actions:
            - kind: SetVariable
              id: setVariable_bvR65X
              variable: System.User.Language
              value:
                kind: OptionDataValue
                type:
                  kind: SystemOptionSet
                  name: Locale

                value: Dutch

        - id: conditionItem_esI45U
          condition: =Topic.languageChoice = 'crfea_IVR.topic.Escalate.main.question_I3Dvfk'.Français
          actions:
            - kind: SetVariable
              id: setVariable_z3VWeX
              variable: System.User.Language
              value:
                kind: OptionDataValue
                type:
                  kind: SystemOptionSet
                  name: Locale

                value: French

    - kind: SendActivity
      id: sendActivity_xvohOJ
      activity:
        speak:
          - I am transferring you to a representative. Please hold...

    - kind: TransferConversationV2
      id: RI7otO
      transferType:
        kind: TransferToAgent
        messageToAgent:
          text:
            - Customer transferred from agent to representative
          speak:
            - Customer transferred from agent to representative

        context:
          kind: AutomaticTransferContext

inputType: {}
outputType: {}