본문으로 건너뛰기

함수

MonoChat의 함수 관리 기능을 사용하면 다양한 플로우에 통합할 수 있는 커스텀 함수를 만들고 관리할 수 있습니다. 이러한 함수는 특정 비즈니스 로직을 수행하고, 외부 서비스와 상호작용하며, 커스텀 뷰나 컬렉션을 만들 수도 있습니다. 이 강력한 기능을 통해 기업은 고유한 요구 사항에 맞게 자동화 및 상호작용 워크플로를 맞춤 구성할 수 있습니다.

정보

함수 정의, 업데이트, 생성은 워크스페이스에서 특별한 권한이 있는 사용자만 수행할 수 있습니다.
필요한 권한이 없으면 이러한 작업을 보거나 수정할 수 없습니다.

함수 관리 기능에 접근해야 하는 경우 지원팀에 문의하여 권한을 요청하거나 업데이트하세요.


복합 이벤트 처리​

MonoChat의 플로우 기능은 고급 복합 이벤트 처리(CEP) 원리를 기반으로 구축되었습니다. CEP를 통해 시스템은 이벤트 패턴을 실시간으로 분석하고 대응할 수 있어, 복잡한 비즈니스 프로세스를 자동화할 수 있습니다. MonoChat에서는 CEP를 활용하여 다양한 이벤트에 반응하고, 동작을 실행하며, 외부 시스템과 원활하게 통합되는 정교한 플로우를 만들 수 있습니다.

함수 관리 인터페이스​

MonoChat의 함수 관리 인터페이스는 커스텀 함수를 만들고, 업데이트하고, 관리할 수 있는 사용자 친화적인 환경을 제공합니다. 주요 구성 요소와 기능은 다음과 같습니다.

설정 함수

함수 만들기​

  1. 이름: 함수의 이름을 입력합니다.
  2. 출력: 함수의 출력을 정의합니다.
  3. 함수 선택기: 기존 함수를 선택하거나 새로 만듭니다.
  4. 함수 유형: 크론 작업, API 엔드포인트, 커스텀 앱 설정, 커스텀 플로우 노드 등 사용 가능한 옵션에서 함수 유형을 선택합니다.

함수 유형​

  1. 커스텀 플로우 노드:
    커스텀 플로우 노드는 자동화 또는 워크플로 시스템 내에서 맞춤형 동작이나 단계를 만들 수 있는 구성 요소입니다. 미리 정의된 노드를 사용하는 대신 직접 노드를 만들어 특정 로직을 처리하거나, 다른 시스템과 통합하거나, 플로우 안에서 고유한 작업을 수행할 수 있습니다.

  2. 서버 사이드 메서드:
    서버 사이드 메서드는 사용자의 기기(클라이언트 측)가 아닌 서버에서 실행되는 함수 또는 루틴입니다. 데이터베이스 쿼리, 비즈니스 로직, 다른 서비스와의 통합 같은 백엔드 프로세스를 처리하여 안전하고 효율적인 작업을 보장합니다.

  3. 커스텀 뷰:
    커스텀 뷰는 특정 사용자의 요구에 맞는 방식으로 데이터나 정보를 보여 주도록 설계된 맞춤형 인터페이스 또는 화면입니다. 레이아웃, 필드, 구성 요소를 사용자 지정하여 기본 뷰와는 다른, 집중된 사용자 경험을 제공할 수 있습니다.

  4. AI 도구:
    AI 도구는 인공지능을 사용하여 데이터 분석, 자연어 처리, 이미지 인식, 자동화 등의 작업을 수행하는 소프트웨어 구성 요소 또는 기능입니다. 예측, 추천, 자동화 같은 스마트 기능을 더해 워크플로를 향상합니다.

  5. 크론 작업: 크론 작업은 서버에서 지정된 간격이나 시간에 자동으로 실행되는 예약된 작업입니다. 이메일 발송, 데이터베이스 정리, 보고서 생성, 데이터 동기화처럼 수동 개입 없이 반복되는 작업에 자주 사용됩니다.

  6. 커스텀 앱 설정:
    커스텀 앱 설정은 특정 비즈니스 요구 사항에 맞춘 개인화된 애플리케이션을 구성하고 배포하는 과정을 말합니다. 앱 구성 요소, 권한, 통합, 사용자 인터페이스를 설정하여 플랫폼 안에서 고유한 솔루션을 만드는 것을 포함합니다.

함수 수정​

함수 수정 화면에서는 기존 함수를 수정할 수 있습니다. 코드를 업데이트하고, 유형을 변경하고, 필요에 따라 다른 설정을 조정할 수 있습니다.

커스텀 뷰와 컬렉션​

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 문서 페이지를 참조하세요!