2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Outlook受信メールをトリガーにAmazon Connectで電話通知する方法

Posted at

内容

以下の手順で、メール受信時にAmazon Connectを通じて電話通知を行う仕組みを構築します。

  • Outlook でメールを受信する。
  • Outlook VBA マクロで受信トレイを常駐監視し、件名に「障害通知」が含まれるメールを検出。
  • 該当メールを検知すると、ローカルのバッチファイルを起動。
  • バッチファイルから AWS CLI を使って Amazon Connect の API を呼び出す。
  • Amazon Connect のフローが起動し、指定の電話番号へ発信。

ac01.png

前提条件

  • Amazon Connect のインスタンスおよび通話フローが作成済みであること。
  • ローカル端末に AWS CLI がインストールされていること。
  • IAM ユーザーに AmazonConnect_FullAccess ポリシーが付与されていること。
  • aws configure により認証情報(アクセスキー等)が設定済みであること。

手順

バッチファイルの作成

以下のようなバッチファイルを作成します。instance-idcontact-flow-id、通知元・通知先の電話番号を環境にあわせて置き換えてください。

@echo off
aws connect start-outbound-voice-contact ^
  --region ap-northeast-1 ^
  --instance-id "***********" ^
  --contact-flow-id "***********" ^
  --destination-phone-number "+81***********" ^
  --source-phone-number "+81***********" ^
  --attributes "{\"Reason\":\"障害通知\"}"

Outlook VBA マクロの設定

Outlook を起動し、Alt + F11 で VBA エディタを開き、ThisOutlookSession に以下のコードを貼り付けます。ns.Folders("*****@***.co.jp").Folders("受信トレイ") の部分は、Outlook 上のアカウント表示名およびフォルダ名に合わせて修正してください。また、Shell で指定するバッチファイルのパスも環境に応じて変更します。

Private WithEvents inboxItems As Outlook.Items

Private Sub Application_Startup()
    Dim ns As Outlook.NameSpace
    Dim myFolder As Outlook.Folder

    Set ns = Application.GetNamespace("MAPI")
    
    Set myFolder = ns.Folders("*****@***.co.jp").Folders("受信トレイ")    
    Set inboxItems = myFolder.Items

    MsgBox "Startup OK - フォルダ監視開始"
End Sub

Private Sub inboxItems_ItemAdd(ByVal Item As Object)
    On Error Resume Next

    If TypeOf Item Is Outlook.MailItem Then
        Dim mail As Outlook.MailItem
        Set mail = Item

        If InStr(mail.Subject, "障害通知") > 0 Then
            Call Shell("C:\****\****.bat", vbHide)
        End If
    End If
End Sub

マクロの有効化

Outlook 上で以下の手順に従ってマクロを有効にします

  • [ファイル] → [オプション] → [トラストセンター] → [トラストセンターの設定] をクリック
  • [マクロの設定] → 「すべてのマクロを有効にする」を選択
  • Outlook を再起動

専用端末や専用アカウントでの運用等セキュリティリスクに注意します。

起動確認

Outlook 起動後、以下のメッセージが表示されると、受信トレイの監視が正常に開始されています。

ac02.png

テスト

件名に「障害通知」を含むメールを送信して、指定された電話番号に Amazon Connect 経由で発信されることを確認します。

ac03.png

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?