채널 관리자가 직접 정의해 여러 태스크에서 재사용할 수 있는 함수입니다. 외부 API 호출이나 JavaScript 코드 실행을 함수 단위로 만들어두면, 태스크의 함수 단계에서 입력/출력 스키마 기반으로 호출할 수 있는 기능입니다.
[채널 설정] - [연동] - [커스텀 함수] 메뉴에서 함수 만들기/수정 설정이 가능합니다.
커스텀 함수는 두 가지 타입으로 나뉩니다. 코드 타입은 JavaScript 코드를 직접 실행하며, API 타입은 외부 HTTP API를 호출합니다.
함수는 두 가지 상태를 가집니다. 초안 상태는 임시저장 상태로 편집은 가능하지만 ALF에서 호출할 수 없고, 작동중 상태는 발행 완료 상태로 ALF 태스크 함수 단계에서 호출 가능합니다.
❶ API 설정
[함수 구분자→입력 변수→API 설정→다음] 순서로 작성합니다.
URL, 헤더, 바디에 {{변수명}} 문법으로 입력값을 주입합니다. 중첩 객체는 {{user.id}}처럼 dot notation으로 접근합니다.
❷ 테스트 실행
[테스트 실행→결과 확인→다음] 순서로 작성합니다.
❸ 아웃풋 스키마
[아웃풋 스키마 설정 → 테스트 환경에서 응답 설정 → 퍼블리시] 순서로 진행합니다.
아웃품 스키마: 테스트 결과를 기반으로 아웃풋 스키마를 정의해주세요. 태스크에서 이 함수의 출력값을 매핑할 때 사용됩니다.
테스트 환경 설정: 이 함수가 어떤 응답을 돌려줄지 미리 설정할 수 있습니다. 응답값을 설정하는 방식은 두 가지입니다.
직접 입력 방식
테스트 실행 단계에서 실제 API를 호출한 응답값이 기본값으로 자동 채워집니다.
각 필드를 자유롭게 수정해 원하는 케이스(예: 환불 상태, 품절 상태)를 만들어 테스트할 수 있습니다.
테스트 실행 단계를 건너뛴 경우 테이블이 빈 상태로 표시됩니다. 값을 수동으로 입력해주세요.
AI 자동 생성 방식
이 함수가 어떤 정보를 돌려주는지 AI가 파악한 뒤, 테스트용 응답값을 자동으로 만들어 줍니다.
미리보기 환경 설정에서 시나리오 설명을 입력하면 해당 맥락에 맞는 값이 생성됩니다.
예시1) "환불 케이스" 입력 →
isRefund: true/status: refund_requested자동 생성예시2) 시나리오 미입력 → 중립적인 기본값(
isRefund: false/status: delivered등) 자동 생성
❶ 코드 설정
[함수 구분자→입력 변수→코드 설정→다음] 순서로 작성합니다.
자동 삽입되는 코드에 필요 변수를 기재해야합니다.
예시)
코드 안에서 사용할 수 있는 변수와 모듈은 네 가지입니다. params.input.*으로 Input Schema에 정의한 입력값에 접근하고, axios로 외부 HTTP 요청(HTTPS 전용)을 보낼 수 있습니다.
❷ 테스트 실행
[테스트 실행→결과 확인→다음] 순서로 작성합니다.
❸ 아웃풋 스키마
[아웃풋 스키마 설정 → 테스트 환경에서 응답 설정 → 퍼블리시] 순서로 진행합니다.
아웃품 스키마: 테스트 결과를 기반으로 아웃풋 스키마를 정의해주세요. 태스크에서 이 함수의 출력값을 매핑할 때 사용됩니다.
테스트 환경 설정: 이 함수가 어떤 응답을 돌려줄지 미리 설정할 수 있습니다. 응답값을 설정하는 방식은 두 가지입니다.
직접 입력 방식
테스트 실행 단계에서 실제 API를 호출한 응답값이 기본값으로 자동 채워집니다.
각 필드를 자유롭게 수정해 원하는 케이스(예: 환불 상태, 품절 상태)를 만들어 테스트할 수 있습니다.
테스트 실행 단계를 건너뛴 경우 테이블이 빈 상태로 표시됩니다. 값을 수동으로 입력해주세요.
AI 자동 생성 방식
이 함수가 어떤 정보를 돌려주는지 AI가 파악한 뒤, 테스트용 응답값을 자동으로 만들어 줍니다.
미리보기 환경 설정에서 시나리오 설명을 입력하면 해당 맥락에 맞는 값이 생성됩니다.
예시1) "환불 케이스" 입력 →
isRefund: true/status: refund_requested자동 생성예시2) 시나리오 미입력 → 중립적인 기본값(
isRefund: false/status: delivered등) 자동 생성
[AI → 설정 → 태스크] 단계에서 '함수'를 클릭해주세요.
함수 단계에서 보여지는 목록 중 원하는 함수를 선택해주세요.
목록 내의 변수를 채워주세요.
커스텀 함수의 제한 사항은 코드 노드 페이지에서 확인이 가능합니다.