함수
MonoChat의 함수 관리 기능을 사용하면 다양한 플로우에 통합할 수 있는 커스텀 함수를 만들고 관리할 수 있습니다. 이러한 함수는 특정 비즈니스 로직을 수행하고, 외부 서비스와 상호작용하며, 커스텀 뷰나 컬렉션을 만들 수도 있습니다. 이 강력한 기능을 통해 기업은 고유한 요구 사항에 맞게 자동화 및 상호작용 워크플로를 맞춤 구성할 수 있습니다.
함수 정의, 업데이트, 생성은 워크스페이스에서 특별한 권한이 있는 사용자만 수행할 수 있습니다.
필요한 권한이 없으면 이러한 작업을 보거나 수정할 수 없습니다.함수 관리 기능에 접근해야 하는 경우 지원팀에 문의하여 권한을 요청하거나 업데이트하세요.
복합 이벤트 처리
MonoChat의 플로우 기능은 고급 복합 이벤트 처리(CEP) 원리를 기반으로 구축되었습니다. CEP를 통해 시스템은 이벤트 패턴을 실시간으로 분석하고 대응할 수 있어, 복잡한 비즈니스 프로세스를 자동화할 수 있습니다. MonoChat에서는 CEP를 활용하여 다양한 이벤트에 반응하고, 동작을 실행하며, 외부 시스템과 원활하게 통합되는 정교한 플로우를 만들 수 있습니다.
함수 관리 인터페이스
MonoChat의 함수 관리 인터페이스는 커스텀 함수를 만들고, 업데이트하고, 관리할 수 있는 사용자 친화적인 환경을 제공합니다. 주요 구성 요소와 기능은 다음과 같습니다.

함수 만들기
- 이름: 함수의 이름을 입력합니다.
- 출력: 함수의 출력을 정의합니다.
- 함수 선택기: 기존 함수를 선택하거나 새로 만듭니다.
- 함수 유형: 크론 작업, API 엔드포인트, 커스텀 앱 설정, 커스텀 플로우 노드 등 사용 가능한 옵션에서 함수 유형을 선택합니다.
함수 유형
-
커스텀 플로우 노드:
커스텀 플로우 노드는 자동화 또는 워크플로 시스템 내에서 맞춤형 동작이나 단계를 만들 수 있는 구성 요소입니다. 미리 정의된 노드를 사용하는 대신 직접 노드를 만들어 특정 로직을 처리하거나, 다른 시스템과 통합하거나, 플로우 안에서 고유한 작업을 수행할 수 있습니다. -
서버 사이드 메서드:
서버 사이드 메서드는 사용자의 기기(클라이언트 측)가 아닌 서버에서 실행되는 함수 또는 루틴입니다. 데이터베이스 쿼리, 비즈니스 로직, 다른 서비스와의 통합 같은 백엔드 프로세스를 처리하여 안전하고 효율적인 작업을 보장합니다. -
커스텀 뷰:
커스텀 뷰는 특정 사용자의 요구에 맞는 방식으로 데이터나 정보를 보여 주도록 설계된 맞춤형 인터페이스 또는 화면입니다. 레이아웃, 필드, 구성 요소를 사용자 지정하여 기본 뷰와는 다른, 집중된 사용자 경험을 제공할 수 있습니다. -
AI 도구:
AI 도구는 인공지능을 사용하여 데이터 분석, 자연어 처리, 이미지 인식, 자동화 등의 작업을 수행하는 소프트웨어 구성 요소 또는 기능입니다. 예측, 추천, 자동화 같은 스마트 기능을 더해 워크플로를 향상합니다. -
크론 작업: 크론 작업은 서버에서 지정된 간격이나 시간에 자동으로 실행되는 예약된 작업입니다. 이메일 발송, 데이터베이스 정리, 보고서 생성, 데이터 동기화처럼 수동 개입 없이 반복되는 작업에 자주 사용됩니다.
-
커스텀 앱 설정:
커스텀 앱 설정은 특정 비즈니스 요구 사항에 맞춘 개인화된 애플리케이션을 구성하고 배포하는 과정을 말합니다. 앱 구성 요소, 권한, 통합, 사용자 인터페이스를 설정하여 플랫폼 안에서 고유한 솔루션을 만드는 것을 포함합니다.
함수 수정
함수 수정 화면에서는 기존 함수를 수정할 수 있습니다. 코드를 업데이트하고, 유형을 변경하고, 필요에 따라 다른 설정을 조정할 수 있습니다.
커스텀 뷰와 컬렉션
MonoChat은 커스텀 뷰와 커스텀 컬렉션을 지원하여 기업이 맞춤형 인터페이스를 만들고 자체 데이터베이스를 관리할 수 있게 합니다.
- 커스텀 뷰: 이 유형의 함수로 MonoChat 안에 특별한 화면을 만들 수 있습니다. 이러한 화면은 외부 서비스나 커스텀 컬렉션의 데이터를 표시하여 특정 비즈니스 요구에 맞는 고유한 인터페이스를 제공합니다.
- 커스텀 컬렉션: 기업이 자체 데이터 구조를 정의하고 MonoChat 안에 커스텀 데이터를 저장할 수 있게 합니다. MonoChat의 기본 기능에서 다루지 않는 전문 정보를 관리해야 하는 기업에 특히 유용합니다.
커스텀 플로우 노드 함수의 설정과 출력
커스텀 플로우 노드 함수는 이를 사용하는 각 노드가 받는 설정과 계속 진행할 수 있는 출력을 기술할 수 있습니다. 그러면 플로우 작성자는 코드를 편집하는 대신 노드의 양식을 채우면 되며, 하나의 함수를 서로 다른 설정으로 여러 노드에서 재사용할 수 있습니다.
함수 유형이 커스텀 플로우 노드이면 만들기 및 수정 패널에 JSON 편집기인 **노드 설정 및 출력 (JSON)**이 표시됩니다.
{
"description": "Routes the conversation to a team based on the selected department.",
"descriptions": { "tr-TR": "Seçilen departmana göre konuşmayı bir ekibe yönlendirir." },
"parameters": [
{ "name": "department", "type": "select", "label": "Department", "labels": { "tr-TR": "Departman" }, "required": true,
"options": [ { "value": "sales", "label": "Sales" }, { "value": "support", "label": "Support" } ] },
{ "name": "maxWaitMinutes", "type": "number", "label": "Max wait (minutes)", "default": 10 },
{ "name": "notifyManager", "type": "boolean", "label": "Notify the manager" }
],
"outputs": [
{ "key": "assigned", "label": "Assigned", "labels": { "tr-TR": "Atandı" } },
{ "key": "noAgent", "label": "No agent available" }
]
}
| 키 | 설명 |
|---|---|
description / descriptions | 노드 패널 상단에 표시되는 텍스트입니다. descriptions에는 로캘별 번역이 들어가며(예: en-US, tr-TR), description은 대체값입니다. |
parameters | 노드의 설정입니다. 각 항목에는 name(코드가 읽는 키), type(text, textarea, url, number, boolean 또는 select), label / labels, 선택 사항인 description / descriptions(필드의 플레이스홀더로 표시됨), required, default가 있으며, select의 경우 options(value와 label / labels)가 있습니다. |
outputs | 함수가 반환할 수 있는 출력 키이며, 각각 label / labels가 있습니다. |
플로우 디자이너에서 (함수 노드 아래의) 커스텀 플로우 노드 노드를 추가하고 함수에서 이 함수를 선택하면, 패널에 설명과 각 파라미터 필드(기본값이 채워짐)가 표시되고 출력이 선언된 키와 레이블로 채워집니다. 값은 노드에 저장됩니다.
함수에서는 값이 payload.nodeParameters로, 노드의 출력이 payload.nodeOutputs(각각의 key와 label)로 전달됩니다. 출력 키로 resolve하면 해당 출력으로 계속 진행합니다.
CustomFunction(async function ({ sdk, payload }, reject, resolve) {
const { department, maxWaitMinutes, notifyManager } = payload.nodeParameters
// ... your logic ...
resolve('assigned')
})
함수가 노드에 출력이 없는 키로 resolve하면 플로우는 기타 출력 시로 계속 진행하고, 예외가 발생하면 실패 시로 진행합니다.
스토어에서 설치한 앱은 업데이트되어도 함수 ID가 유지되므로, 앱의 함수를 기반으로 만든 함수 노드와 AI 도구는 업데이트 후에도 계속 작동합니다.
중첩 폴더 구조
MonoChat의 함수 관리는 직관적인 중첩 폴더 구조를 지원합니다. 사용자는 여러 폴더와 하위 폴더를 이동하며 함수를 체계적으로 정리할 수 있습니다. 이 구조 덕분에 원하는 폴더 안의 특정 함수를 더 쉽게 관리하고 접근할 수 있습니다.
사용 사례
비즈니스 로직
- 커스텀 로직: 할인 계산, 주문 처리, 유효성 검사, 사용자 지정 계산 등 고유한 비즈니스 프로세스를 위한 특정 비즈니스 규칙과 전문 로직을 구현합니다. 이를 통해 기업은 워크플로와 자동화를 필요에 맞게 조정할 수 있습니다.
외부 서비스 통합
- API 통합: 외부 애플리케이션이 MonoChat의 데이터에 접근하고 가져올 수 있도록 API 엔드포인트를 만듭니다. CRM 시스템, 결제 게이트웨이, 데이터 분석 플랫폼 같은 서드파티 서비스와 원활하게 통합되어 데이터 흐름과 상호 운용성을 보장합니다.
- 데이터 동기화: MonoChat과 다른 시스템 간의 데이터 동기화를 자동화하여 일관성과 정확성을 유지하고, 모든 플랫폼이 최신 상태로 일치하도록 합니다.
커스텀 인터페이스
- 커스텀 인터페이스: 비즈니스의 특정 요구에 맞는 커스텀 대시보드나 데이터 입력 양식을 개발합니다. 상담원과 직원에게 개인화된 인터페이스를 제공하여 사용성과 효율을 높입니다.
데이터 관리
- 데이터 관리: 고유한 비즈니스 데이터를 저장하고 관리하는 커스텀 컬렉션을 정의합니다. 중요한 정보를 정리하고 유지하는 데 도움이 되며, 쉬운 접근과 보고를 가능하게 합니다.
예약 자동화
- 예약 자동화: 크론 작업을 사용하여 보고서 생성이나 정기적인 시스템 업데이트 같은 반복 작업을 자동화합니다. 수동 개입 없이 필수 작업을 제때 완료하여 운영 효율을 높입니다.
AI 도구
- AI 도구: 자연어 처리, 예측 분석, 자동화 같은 인공지능 기능을 활용하여 의사 결정을 개선하고 워크플로를 간소화합니다. AI 도구는 기업이 복잡한 작업을 자동화하고, 데이터에서 인사이트를 얻고, 더 스마트한 사용자 경험을 제공하도록 돕습니다.
MonoChat의 함수 관리 기능은 기업이 자동화 워크플로를 폭넓게 맞춤 구성할 수 있게 하는 다재다능한 도구입니다. 커스텀 함수, 뷰, 컬렉션을 활용하면 MonoChat 환경이 운영 요구 사항에 정확히 맞도록 보장할 수 있습니다.
커스텀 이벤트 생성 방법에 대한 자세한 내용은 SDK 문서 페이지를 참조하세요!