메인 콘텐츠로 건너뛰기
CrewAI AMP 트리거는 팀이 이미 사용하고 있는 도구의 실시간 이벤트와 자동화를 연결합니다. 폴링이나 수동 실행 대신, 트리거는 새로운 이메일, 캘린더 업데이트, CRM 상태 변화 등을 감지하여 지정한 크루 또는 플로우를 즉시 실행합니다.

통합 플레이북

아래 가이드는 각 통합을 활성화하고 테스트하는 방법을 자세히 설명합니다.

트리거 기능

  • 실시간 대응 – 조건이 충족되면 자동으로 워크플로우 실행
  • 외부 시스템 연동 – Gmail, Outlook, OneDrive, JIRA, Slack, Stripe 등과 연결
  • 자동화 확장성 – 수동 개입 없이 대량 이벤트 처리
  • 컨텍스트 유지 – 트리거 데이터를 크루와 플로우에서 바로 활용

트리거 관리

사용 가능한 트리거 보기

  1. CrewAI 대시보드에서 자동화를 선택합니다.
  2. Triggers 탭을 클릭하여 사용 가능한 통합을 확인합니다.
사용 가능한 트리거 목록

트리거 활성화/비활성화

트리거 토글
  • 파랑 (활성) – 이벤트 발생 시 자동 실행
  • 회색 (비활성) – 이벤트 무시
토글 버튼을 클릭하면 즉시 적용됩니다.

트리거 실행 모니터링

트리거 실행 내역과 상태를 대시보드에서 확인하세요.
트리거 실행 내역

트리거 기반 자동화 구성

설정 체크리스트

  • Tools & Integrations에서 해당 서비스를 연결하고 OAuth 또는 API 설정을 완료했나요?
  • 자동화에서 트리거 토글을 활성화했나요?
  • 필요한 환경 변수(토큰, 테넌트 ID, 시크릿 등)를 설정했나요?
  • 첫 번째 작업에서 트리거 payload를 파싱하도록 구성했나요?
  • allow_crewai_trigger_context 옵션으로 컨텍스트 자동 주입 여부를 결정했나요?
  • 웹훅 로그, CrewAI 실행 기록, 외부 알림 등 모니터링을 준비했나요?

Payload & Crew 예제 저장소

통합동작 시점Payload 예제Crew 예제
Gmail신규 메일, 스레드 업데이트Gmail payloadnew-email-crew.py, gmail-alert-crew.py
Google Calendar이벤트 생성/수정/시작/종료/취소Calendar payloadcalendar-event-crew.py, calendar-meeting-crew.py, calendar-working-location-crew.py
Google Drive파일 생성/수정/삭제Drive payloaddrive-file-crew.py, drive-file-deletion-crew.py
Outlook새 이메일, 이벤트 제거Outlook payloadoutlook-message-crew.py, outlook-event-removal-crew.py
OneDrive파일 작업(생성, 수정, 공유, 삭제)OneDrive payloadonedrive-file-crew.py
HubSpot레코드 생성/업데이트(연락처, 회사, 딜)HubSpot payloadhubspot-company-crew.py, hubspot-contact-crew.py, hubspot-record-crew.py
Microsoft Teams채팅 생성Teams payloadteams-chat-created-crew.py
예제 payload를 참고해 파싱 로직을 검증하고, 제공되는 crew를 복사해 실제 데이터로 교체하세요.

트리거와 Crew 연동

@CrewBase
class MyAutomatedCrew:
    @agent
    def researcher(self) -> Agent:
        return Agent(
            config=self.agents_config['researcher'],
        )

    @task
    def parse_trigger_payload(self) -> Task:
        return Task(
            config=self.tasks_config['parse_trigger_payload'],
            agent=self.researcher(),
        )

    @task
    def analyze_trigger_content(self) -> Task:
        return Task(
            config=self.tasks_config['analyze_trigger_data'],
            agent=self.researcher(),
        )

플로우와의 통합

Payload 접근

from crewai.flow import Flow, start, listen

class MyAutomatedFlow(Flow):
    @start()
    def handle_trigger(self, crewai_trigger_payload: dict = None):
        if crewai_trigger_payload:
            trigger_id = crewai_trigger_payload.get('id')
            event_data = crewai_trigger_payload.get('payload', {})
            self.state.trigger_id = trigger_id
            self.state.trigger_type = event_data
            return event_data
        return None

    @listen(handle_trigger)
    def process_data(self, trigger_data):
        # ... 트리거 처리

플로우에서 Crew 실행

@start()
def delegate_to_crew(self, crewai_trigger_payload: dict = None):
    crew = MySpecializedCrew()
    result = crew.crew().kickoff(
        inputs={
            'custom_parameter': "custom_value",
            'crewai_trigger_payload': crewai_trigger_payload
        },
    )
    return result

문제 해결

트리거가 실행되지 않나요?
  • 트리거가 활성 상태인지 확인하세요.
  • 통합 연결 상태를 확인하세요.
실행 중 오류가 발생하나요?
  • 실행 로그에서 오류 메시지를 확인하세요.
  • 개발 중이라면 crewai_trigger_payload가 올바른 데이터로 전달되고 있는지 확인하세요.
트리거를 활용하면 CrewAI 자동화를 이벤트 기반 시스템으로 전환하여 기존 비즈니스 프로세스와 도구에 자연스럽게 녹여낼 수 있습니다.
I