Rube MCP를 통한 ActiveCampaign 자동화
Composio의 ActiveCampaign 툴킷을 Rube MCP를 통해 사용하여 ActiveCampaign CRM 및 마케팅 자동화 작업을 자동화합니다.
필수 조건
- Rube MCP가 연결되어 있어야 합니다 (
RUBE_SEARCH_TOOLS사용 가능) - ActiveCampaign 연결이
active_campaign툴킷으로RUBE_MANAGE_CONNECTIONS를 통해 활성화되어 있어야 합니다 - 항상
RUBE_SEARCH_TOOLS를 먼저 호출하여 최신 도구 스키마를 확인하세요
설정
Rube MCP 가져오기: 클라이언트 설정에 MCP 서버로 https://rube.app/mcp를 추가하세요. API 키가 필요하지 않습니다. 엔드포인트만 추가하면 작동합니다.
RUBE_SEARCH_TOOLS가 응답하는지 확인하여 Rube MCP가 사용 가능한지 확인합니다RUBE_MANAGE_CONNECTIONS를active_campaign툴킷으로 호출합니다- 연결이 ACTIVE 상태가 아니면 반환된 인증 링크를 따라 ActiveCampaign 인증을 완료합니다
- 워크플로우를 실행하기 전에 연결 상태가 ACTIVE인지 확인합니다
핵심 워크플로우
1. 연락처 생성 및 찾기
사용 시기: 사용자가 새 연락처를 만들거나 기존 연락처를 조회하려는 경우
도구 순서:
ACTIVE_CAMPAIGN_FIND_CONTACT- 기존 연락처 검색 [선택 사항]ACTIVE_CAMPAIGN_CREATE_CONTACT- 새 연락처 생성 [필수]
찾기 주요 매개변수:
email: 이메일 주소로 검색id: ActiveCampaign 연락처 ID로 검색phone: 전화번호로 검색
생성 주요 매개변수:
email: 연락처 이메일 주소 (필수)first_name: 연락처 이름last_name: 연락처 성phone: 연락처 전화번호organization_name: 연락처 소속 기관job_title: 연락처 직함tags: 적용할 태그의 쉼표로 구분된 목록
주의 사항:
email은 연락처 생성 시 유일한 필수 필드입니다- 전화번호 검색은 내부적으로 일반 검색 매개변수를 사용하므로 부분 일치가 반환될 수 있습니다
- FIND_CONTACT에서
email과phone을 함께 사용하면 클라이언트 측에서 결과가 필터링됩니다 - 생성 중 제공된 태그는 즉시 적용됩니다
- 이미 존재하는 이메일로 연락처를 생성하면 기존 연락처가 업데이트될 수 있습니다
2. 연락처 태그 관리
사용 시기: 사용자가 연락처에 태그를 추가하거나 제거하려는 경우
도구 순서:
ACTIVE_CAMPAIGN_FIND_CONTACT- 이메일 또는 ID로 연락처 찾기 [선행 조건]ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG- 태그 추가 또는 제거 [필수]
주요 매개변수:
action: 'Add' 또는 'Remove' (필수)tags: 쉼표로 구분된 문자열 또는 문자열 배열의 태그 이름 (필수)contact_id: 연락처 ID (contact_email 또는 이 값 제공)contact_email: 연락처 이메일 주소 (contact_id의 대안)
주의 사항:
action값은 대문자로 시작합니다: 'Add' 또는 'Remove' (소문자 아님)- 태그는 쉼표로 구분된 문자열('tag1, tag2') 또는 배열(['tag1', 'tag2'])로 제공할 수 있습니다
contact_id또는contact_email중 하나는 반드시 제공해야 하며,contact_id가 우선합니다- 존재하지 않는 태그를 추가하면 자동으로 생성됩니다
- 존재하지 않는 태그를 제거하면 아무런 작업도 수행되지 않습니다 (오류 없음)
3. 목록 구독 관리
사용 시기: 사용자가 연락처를 목록에 구독하거나 구독 취소하려는 경우
도구 순서:
ACTIVE_CAMPAIGN_FIND_CONTACT- 연락처 찾기 [선행 조건]ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION- 구독 또는 구독 취소 [필수]
주요 매개변수:
action: 'subscribe' 또는 'unsubscribe' (필수)list_id: 숫자 목록 ID 문자열 (필수)email: 연락처 이메일 주소 (contact_id 또는 이 값 제공)contact_id: 숫자 연락처 ID 문자열 (email의 대안)
주의 사항:
action값은 소문자입니다: 'subscribe' 또는 'unsubscribe'list_id는 목록 이름이 아닌 숫자 문자열입니다 (예: '2')- 목록 ID는 GET /api/3/lists 엔드포인트를 통해 검색할 수 있습니다 (Composio 도구로는 사용 불가; ActiveCampaign UI 사용)
email과contact_id가 모두 제공되면contact_id가 우선합니다- 구독 취소는 상태를 '2'(구독 취소)로 변경하지만 관계 레코드는 유지됩니다
4. 연락처를 자동화에 추가
사용 시기: 사용자가 자동화 워크플로우에 연락처를 등록하려는 경우
도구 순서:
ACTIVE_CAMPAIGN_FIND_CONTACT- 연락처 존재 확인 [선행 조건]ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION- 연락처를 자동화에 등록 [필수]
주요 매개변수:
contact_email: 등록할 연락처의 이메일 (필수)automation_id: 대상 자동화의 ID (필수)
주의 사항:
- 연락처는 ActiveCampaign에 이미 존재해야 합니다
- 자동화는 API를 통해 생성할 수 없으며 ActiveCampaign UI를 통해서만 생성 가능합니다
automation_id는 존재하고 활성화된 자동화를 참조해야 합니다- 이 도구는 두 단계 프로세스를 수행합니다: 이메일로 연락처 조회 후 등록
- 자동화 ID는 ActiveCampaign UI에서 또는 GET /api/3/automations를 통해 찾을 수 있습니다
5. 연락처 작업 생성
사용 시기: 사용자가 연락처와 연결된 후속 작업을 생성하려는 경우
도구 순서:
ACTIVE_CAMPAIGN_FIND_CONTACT- 작업을 연결할 연락처 찾기 [선행 조건]ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK- 작업 생성 [필수]
주요 매개변수:
relid: 작업을 연결할 연락처 ID (필수)duedate: 시간대 포함 ISO 8601 형식의 마감일 (필수, 예: '2025-01-15T14:30:00-05:00')dealTasktype: 사용 가능한 유형에 따른 작업 유형 ID (필수)title: 작업 제목note: 작업 설명/내용assignee: 작업을 할당할 사용자 IDedate: ISO 8601 형식의 종료일 (duedate보다 늦어야 함)status: 0은 미완료, 1은 완료
주의 사항:
duedate는 시간대 오프셋이 포함된 유효한 ISO 8601 날짜/시간이어야 합니다. 자리 표시자 값을 사용하지 마세요edate는duedate보다 늦어야 합니다dealTasktype은 ActiveCampaign에 구성된 작업 유형을 참조하는 문자열 ID입니다relid는 이메일 주소가 아닌 숫자 연락처 ID입니다assignee는 사용자 ID입니다. ActiveCampaign UI를 통해 사용자 이름을 ID로 확인하세요
일반적인 패턴
연락처 조회 흐름
1. 이메일로 ACTIVE_CAMPAIGN_FIND_CONTACT 호출
2. 찾으면 후속 작업을 위해 연락처 ID 추출
3. 찾지 못하면 ACTIVE_CAMPAIGN_CREATE_CONTACT로 연락처 생성
4. 태그, 구독 또는 자동화에 연락처 ID 사용
대량 연락처 태깅
1. 각 연락처에 대해 ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG 호출
2. 별도의 조회 호출을 피하기 위해 contact_email 사용
3. 속도 제한을 존중하기 위해 적절한 지연으로 배치 처리
ID 확인
연락처 이메일 -> 연락처 ID:
1. 이메일로 ACTIVE_CAMPAIGN_FIND_CONTACT 호출
2. 응답에서 id 추출
알려진 주의 사항
액션 대문자 표기:
- 태그 액션: 'Add', 'Remove' (대문자로 시작)
- 구독 액션: 'subscribe', 'unsubscribe' (소문자)
- 대문자 표기를 혼동하면 오류가 발생합니다
ID 유형:
- 연락처 ID: 숫자 문자열 (예: '123')
- 목록 ID: 숫자 문자열
- 자동화 ID: 숫자 문자열
- 모든 ID는 정수가 아닌 문자열로 전달해야 합니다
자동화:
- 자동화는 API를 통해 생성할 수 없습니다. 등록만 가능합니다
- 자동화는 새 연락처를 수락하려면 활성 상태여야 합니다
- 이미 자동화에 있는 연락처를 등록해도 효과가 없을 수 있습니다
속도 제한:
- ActiveCampaign API에는 계정당 속도 제한이 있습니다
- 429 응답 시 백오프를 구현하세요
- 배치 작업은 적절히 간격을 두어야 합니다
응답 구문 분석:
- 응답 데이터는
data또는data.data아래에 중첩될 수 있습니다 - 대체 패턴으로 방어적으로 구문 분석하세요
- 연락처 검색은 여러 결과를 반환할 수 있습니다. 정확성을 위해 이메일로 일치시키세요