Microsoft Teams package 사용 예제

이 예제에서는 특정 Microsoft Teams 채널로 P1 인시던트 알림을 보내고, 온콜(상시) 지원 엔지니어에게 채팅을 통해 직접 알리며, 인시던트 기록을 위해 채널 대화를 인시던트 기록으로 로깅하는 자동화를 구축합니다.

절차

  1. 자동화를 만듭니다.
    1. 왼쪽 창에서 자동화를 클릭합니다.

      이용 가능한 bots 목록 및 양식이 표시됩니다.

    2. Bot 생성을 클릭합니다.
    3. bot 이름을 입력합니다. MSTeams_demo.
    4. 생성 및 편집을 클릭합니다.
  2. Microsoft Teams에 연결하여 세션을 설정하고 인증 및 모든 이후 Teams 작업을 실행합니다.
    1. Microsoft Teams > 연결 action을 더블 클릭하거나 드래그합니다.
    2. OAuth2 연결 필드에 MSTeam을 입력합니다.
    3. 사용자 이름 필드에 office365_dev@automationanywhere.store를 입력합니다.
    4. 기본값 로컬 세션을 선택합니다.
  3. 특정 팀의 팀 ID를 가져옵니다.
    1. Microsoft Teams > 이름으로 팀 가져오기 action를 더블 클릭하거나 드래그합니다.
    2. 세션 이름 필드에는 Microsoft Teams에 연결할 때 사용한 것과 동일한 세션(기본값)을 입력합니다.
    3. 팀 이름 필드에 Support Ops를 입력합니다.
      주: Support Ops 팀은 Microsoft Teams 앱에 존재해야 합니다.
    4. 팀 ID를 변수에 할당 필드에 $TeamID$를 입력합니다.
  4. Support Ops 팀 내 특정 채널의 고유 채널 ID를 가져옵니다.
    1. Microsoft Teams > 이름으로 채널 가져오기 action을 더블 클릭하거나 드래그합니다.
    2. 세션 이름 필드에는 Microsoft Teams에 연결할 때 사용한 것과 동일한 세션(기본값)을 입력합니다.
    3. 팀 ID 필드에 $TeamID$을 입력합니다.
    4. 채널 이름 필드에 Incident Management를 입력합니다.
      주: 이 채널은 Microsoft Teams 앱에 반드시 존재해야 합니다.
    5. 채널 ID를 변수에 할당 필드에서 $ChannelID$라는 새 변수를 생성합니다.
  5. 경고를 인시던트 관리 채널에 게시합니다.
    주: 여기서는 외부 앱이 이 자동화를 트리거하여 Incident Management 채널로 경고 메시지를 보낸다고 가정합니다.
    1. Microsoft Teams > 채널 메시지 보내기 action을 더블 클릭하거나 드래그합니다.
    2. 팀 ID 필드에 $TeamID$를 입력합니다.
    3. 채널 ID 필드에 $ChannelID$를 입력합니다.
    4. 메시지 필드에 다음 메시지를 입력합니다.

      인시던트 ID: INC-2025-08-13-045

      심각성: P1 – 비즈니스 크리티컬

      감지 시각: 2025년 8월 13일 오후 02:48(IST)

      설명: 주문 처리 API가 500 오류를 반환하고 있습니다. 모든 신규 주문이 처리에 실패하고 있습니다.

      영향: 전자상거래 고객이 거래를 완료할 수 없습니다.

      다음 단계: 온콜 엔지니어가 즉시 API 로그와 DB 상태를 조사합니다.

    5. 메시지 ID를 변수에 할당 필드에서 경고 메시지의 ID를 저장할 새 변수 $MessageId$를 생성합니다.
  6. 지원 엔지니어 사용자 세부 정보를 가져옵니다.
    1. Microsoft Teams > 사용자 세부 정보 가져오기 action를 더블 클릭하거나 드래그합니다.
    2. 세션 이름 필드에서 Microsoft Teams에 연결할 때 사용한 것과 동일한 세션(기본값)을 선택합니다.
    3. 사용자 이름 필드에서 사용자의 세부 정보를 가져오기 위해 이메일 주소를 저장할 새 변수를 만듭니다. 변수 생성됨: $email$(예: tony.dean@office.store)
    4. 사용자 세부 정보를 변수에 지정 필드에서 사전 옵션을 선택합니다. $user_dict$를 입력하여 사용자 정보를 저장합니다.
  7. 엔지니어에게 직접 채팅을 통해 알립니다.
    1. Microsoft Teams > 채팅 메시지 보내기 action을 더블 클릭하거나 드래그합니다.
    2. 세션 이름 필드에서 Microsoft Teams에 연결할 때 사용한 것과 동일한 세션(기본값)을 선택합니다.
    3. 메시지 전송 대상 > 이메일 필드에서, $user_dict{email}$을 지정합니다.
    4. 메시지 필드에 다음 메시지를 입력합니다.

      $user_dict{displayName}$님, 안녕하세요.

      P1 중대한 인시던트가 감지되었습니다. 주문 처리 API 오류. 인시던트 ID: INC-2025-08-13-045 감지됨: 2025년 8월 13일 오후 2:48(IST) 영향: 모든 신규 주문이 실패하고 있습니다.

      즉시 Incident Bridge에 참여해 주십시오. Teams 회의 링크 티켓: ServiceNow 링크

      A360 MS Teams Bot에서 자동 알림이 도착했습니다.

    5. 메시지 ID를 변수에 할당 필드에서, 이름이 $user_msgid$인 새 변수를 만듭니다.
  8. 메시지가 엔지니어에게 전송되었는지 확인합니다.
    1. Microsoft Teams > 메시지 상자 action을 더블 클릭하거나 드래그합니다.
    2. 표시할 메시지 입력 필드에 Message sent to Support Engineer를 입력합니다.
  9. 채널 채팅 기록을 검색하고 기록합니다.
    1. 루프 action을 더블 클릭하거나 드래그합니다.
    2. 루프 반복자 드롭다운 필드에서 Microsoft Teams > 채널의 각 메시지에 대해 반복자를 선택합니다.
    3. 세션 이름 필드에는 Microsoft Teams에 연결할 때 사용한 것과 동일한 세션(기본값)을 입력합니다.
    4. 팀 ID 필드에 $TeamID$를 입력합니다.
    5. 채널 ID 필드에 $ChannelID$를 입력합니다.
    6. 시작 날짜 필드에서 $start_dt$라는 새 변수를 만들고 값으로 8/13/2025 03:00 PM IST (UTC+5.30) Calcutta Asia를 입력합니다.
    7. 종료 날짜 필드에서 $end_dt$라는 새 변수를 만들고 값으로 8/14/2025 12:00 AM IST (UTC+5.30) Calcutta Asia를 입력합니다.
    8. 메시지 세부 정보를 변수에 할당 필드에서 채널 메시지를 저장할 $ChannelMessageDetails$라는 변수를 생성합니다.
  10. 루프 작업 내에서 메시지 세부 정보를 추출합니다.
    주: 개별 스레드 메시지는 제외되며 그룹 메시지만 가져옵니다.

    사전 > 가져오기 action을 더블 클릭하거나 드래그하여 $ChannelMessageDetails$로부터 각 키에 대한 값을 가져옵니다.
    변수
    $ChannelMessageDetails (msg_id)$ $msg_id$
    $ChannelMessageDetails (msg)$ $msg$
    $ChannelMessageDetails (sentByUserID)$ $sentByUserID$
    $ChannelMessageDetails (sentByUsername)$ $sentByUsername$
    $ChannelMessageDetails (createdDateTime)$ $createdDateTime$
    $ChannelMessageDetails (modifiedDateTime)$ $modifiedDateTime$
  11. 채널 메시지 세부 정보를 루프 작업 내의 인시던트 로그 파일에 기록합니다.
    • 로깅 > 파일에 변수 기록 action을 더블 클릭하거나 드래그합니다.
    • 출력 파일 경로 필드에 C:\output\Incident Log File.txt를 입력합니다.
    • 기록 시 옵션에서 기존 로그파일에 추가를 선택합니다.
    • 사용자 정의 선택 옵션을 선택하여 로깅할 변수를 확인합니다. 다음 변수를 선택합니다.
      • $createdDateTime$
      • $modifiedDateTime$
      • $msg$
      • $msg_id$
      • $sentByUserID$
      • $sentByUserName$
  12. Microsoft Teams의 연결을 해제합니다.
    1. Microsoft Teams > 연결 해제 action을 더블 클릭하거나 드래그합니다.
    2. 세션 이름 필드에서 Microsoft Teams에 연결할 때 사용한 것과 동일한 세션(기본값)을 선택합니다.
  13. 파일 > 열기 action을 사용하여 인시던트 로그 파일을 엽니다. 아래 정보는 .txt 파일에 표시됩니다.
    msg_id 예: 1692210012345
    msg

    중대한 인시던트 경고 – 조치 필요

    인시던트 ID: INC-2025-08-13-045

    심각성: P1 – 비즈니스 크리티컬

    감지 시각: 2025년 8월 13일 오후 02:48(IST)

    설명: 주문 처리 API가 500 오류를 반환하고 있습니다. 모든 신규 주문이

    처리되지 않고 있습니다.

    영향: 전자상거래 고객이 거래를 완료할 수 없습니다.

    다음 단계: 온콜 엔지니어가 즉시 API 로그와 DB 상태를

    조사합니다.

    sentbyuserid 예: a-user-guid
    createddatetime 2025-08-13T14:50:12Z
    modifieddatetime 2025-08-13T14:50:12Z
    sentbyusername 예: tony.dean@office.store