kind: AdaptiveDialog
beginDialog:
  kind: OnRecognizedIntent
  id: main
  intent:
    triggerQueries:
      - step up authentication
      - extra authentication required
      - verify my identity again
      - additional security check
      - second factor needed
      - multi-factor authentication prompt
      - need stronger authentication
      - request step up auth
      - increase security level
      - reset password

  actions:
    - kind: Question
      id: Question_qkwXor
      interruptionPolicy:
        allowInterruption: false

      variable: Topic.AccountNumber
      prompt:
        text:
          - Please enter or say your account number to authenticate.
          - What is your account number?
        speak:
          - Please say or enter your account number
        allowBargeIn: false

      entity:
        kind: NumberPrebuiltEntity
        dtmfOptions:
          kind: FixedLengthTermination
          length: 6

    - kind: Question
      id: question_6Zzmwu
      interruptionPolicy:
        allowInterruption: false

      variable: init:Topic.ConfirmationAccountNumber
      prompt:
        text:
          - 
        speak:
          - You entered {Topic.AccountNumber}. Is that correct?
        allowBargeIn: true

      entity:
        kind: EmbeddedEntity
        definition:
          kind: ClosedListEntity
          items:
            - id: Yes
              displayName: Yes
              dtmfKey: Num1

            - id: No
              displayName: No
              dtmfKey: Num2

          dtmfMultipleChoiceOptions:
            generateMapping: true

    - kind: ConditionGroup
      id: conditionGroup_iGCIZ8
      conditions:
        - id: conditionItem_q9MECW
          condition: =Topic.ConfirmationAccountNumber = 'crfea_IVR.topic.StepUpAuthentication.main.question_6Zzmwu'.Yes

        - id: conditionItem_lwAFqd
          condition: =Topic.ConfirmationAccountNumber = 'crfea_IVR.topic.StepUpAuthentication.main.question_6Zzmwu'.No
          actions:
            - kind: GotoAction
              id: 37bNLE
              actionId: Question_qkwXor

      elseActions:
        - kind: GotoAction
          id: xsX9c6
          actionId: Question_qkwXor

    - kind: SendActivity
      id: SendActivity_LsTaaJ
      activity:
        text:
          - "Thank you. We are authenticating your account number: {Topic.AccountNumber}."
        speak:
          - Please give me a moment to look up your details.

    - kind: InvokeFlowAction
      id: invokeFlowAction_LeTgmN
      input:
        binding:
          text: =Text(Topic.AccountNumber)

      output:
        binding:
          emailaddress: Global.emailaddress

      flowId: 1cff7950-86d1-1bfd-799e-5389709e6f96

    - kind: ConditionGroup
      id: conditionGroup_TumyXd
      conditions:
        - id: conditionItem_4rPkn4
          condition: =IsBlank(Global.emailaddress)
          actions:
            - kind: SendActivity
              id: sendActivity_eZo3IR
              activity:
                speak:
                  - Unfortunately we could not find your account. We will transfer you to an agent for further assistance.

            - kind: TransferConversationV2
              id: transferConversationV2_cKPwe7
              transferType:
                kind: TransferToAgent
                context:
                  kind: AutomaticTransferContext

            - kind: EndDialog
              id: gDvqBG

    - kind: SendActivity
      id: sendActivity_VCgzCi
      activity:
        speak:
          - We are sending you a MFA request. Please approve this on your phone.

    - kind: InvokeFlowAction
      id: invokeFlowAction_APRcuu
      input:
        binding:
          text: =Global.emailaddress

      output:
        binding:
          mfaresult: Global.MfaResult
          mfaresultvalue: Global.MFAResultValue

      flowId: 9faf6c7a-1bbb-f011-bbd2-7c1e5235ac07

    - kind: ConditionGroup
      id: conditionGroup_snsrup
      conditions:
        - id: conditionItem_mmTPKb
          condition: =Global.MfaResult <> Text(true) || Global.MFAResultValue <> "Success"
          actions:
            - kind: SendActivity
              id: sendActivity_VRakpc
              activity:
                speak:
                  - We did not receive a successful response to the MFA request. We will transfer you to an agent for further assistance.

            - kind: TransferConversationV2
              id: transferConversationV2_ebexyU
              transferType:
                kind: TransferToAgent
                context:
                  kind: AutomaticTransferContext

            - kind: EndDialog
              id: TMN70K

    - kind: SendActivity
      id: sendActivity_9NW2bQ
      activity:
        speak:
          - Thank you for confirming your identity. Please wait while I generate a Temporary Access Pass for you.

    - kind: InvokeFlowAction
      id: invokeFlowAction_igsBLj
      input:
        binding:
          text: =Global.emailaddress

      output:
        binding:
          tap: Global.TAP

      flowId: d8d569b4-73fa-a780-549c-bb7271107ab6

    - kind: InvokeAIBuilderModelAction
      id: invokeAIBuilderModelAction_8jBiHV
      input:
        binding:
          Text_20input: =Global.TAP

      output:
        binding:
          predictionOutput: Global.TapPhrase

      aIModelId: 9e5c57ce-39a2-44ae-9d24-3b01f4973260

    - kind: SendActivity
      id: sendActivity_ENpOkZ
      activity:
        speak:
          - Here is your Temporary Access Pass. You can use this to login to your account instead of using a password. This Pass is valid for 1 hour from now. After logging in you can reset your password to something of your own choosing.

    - kind: SendActivity
      id: sendActivity_swu00E
      activity:
        speak:
          - <prosody pitch="medium" rate="slow" volume="loud">{Global.TapPhrase.text}</prosody>

    - kind: SendActivity
      id: sendActivity_8XDcqi
      activity:
        speak:
          - "I will repeat it once more: <prosody pitch=\"medium\" rate=\"slow\" volume=\"loud\">{Global.TapPhrase.text}</prosody>"

    - kind: SendActivity
      id: sendActivity_W6GyT0
      activity:
        speak:
          - Thanks for using our self-service password reset tool.

    - kind: EndConversation
      id: 3rmVnY

inputType: {}
outputType: {}