AI Briefing

에이전트를 Teams로 가져오기

·2026.04.23 07:25

핵심 내용

Teams SDK의 HTTP server adapter로 기존 에이전트를 Teams에 붙이는 방법

자세히 보기

Teams TypeScript SDK의 HTTP server adapter를 쓰면, 이미 돌아가는 HTTP 서버에 POST /api/messages 엔드포인트만 얹어서 Teams 메시지를 받을 수 있다.

핵심 패턴은 세 단계다.

  • 서버 래핑: ExpressAdapter로 기존 Express 서버를 감싼다.
  • 앱 생성: new TeamsApp({ httpServerAdapter })로 Teams 앱을 만든다.
  • 메시지 처리: teamsApp.on('message', ...)에서 응답을 보낸다.

이 구조는 기존 인프라를 바꾸지 않고도 Slack 봇, LangChain 체인, Azure AI Foundry 에이전트를 Teams에 연결할 수 있게 한다. SDK가 들어오는 요청이 Teams에서 온 것인지 검증하고, 이벤트를 적절한 핸들러로 라우팅한다.

예시로는 세 가지 시나리오가 나온다.

  • Slack 봇: @slack/bolt의 ExpressReceiver와 Teams SDK를 같은 Express 프로세스에 공존시킨다.
  • LangChain: Teams 메시지를 체인에 넣고, 응답 전에 typing indicator를 보낸다.
  • Azure AI Foundry: Teams 메시지를 Foundry agent thread로 전달하고, 완료된 답변을 다시 Teams에 반환한다.

운영 절차도 함께 정리한다.

  1. 로컬 서버를 Dev tunnels 또는 ngrok으로 HTTPS 공개 URL에 노출한다.
  2. teams login 후 teams app create --endpoint .../api/messages로 AAD 앱 등록, client secret 생성, manifest 생성, bot 설정을 한 번에 처리한다.
  3. Teams 클라이언트에 sideload 해서 테스트한다.

Python SDK도 같은 개념으로 제공되며, FastAPI 같은 ASGI 프레임워크에서도 동일한 방식으로 적용된다. 결론은 기존 봇이나 에이전트를 Teams 전용으로 다시 짜지 말고, adapter 하나로 Teams 채널만 덧붙이라는 것이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.