関数
MonoChat の関数管理機能を使うと、さまざまなフローに組み込めるカスタム関数を作成・管理できます。これらの関数は、特定のビジネスロジックの実行、外部サービスとの連携、さらにはカスタムビューやコレクションの作成も行えます。この強力な機能により、企業は自動化ワークフローやお客様とのやり取りのワークフローを、独自の要件に合わせて調整できます。
関数の定義、更新、作成は、ワークスペース内で特別な権限を持つユーザーのみが行えます。
必要な権限がない場合、これらの操作を表示したり変更したりすることはできません。関数管理機能へのアクセスが必要な場合は、サポートまでご連絡のうえ、権限の付与または更新をご依頼ください。
複合イベント処理
MonoChat のフロー機能は、高度な複合イベント処理(CEP)の原則に基づいて構築されています。CEP により、システムはイベントのパターンをリアルタイムで分析し、それに反応できるため、複雑なビジネスプロセスの自動化が可能になります。MonoChat を使えば、企業は CEP を活用して、さまざまなイベントに応答し、アクションをトリガーし、外部システムとシームレスに連携する高度なフローを作成できます。
関数管理インターフェース
MonoChat の関数管理インターフェースは、カスタム関数の作成、更新、管理を行える、使いやすい環境を提供します。主なコンポーネントとその機能は次のとおりです。

関数を作成
- 名前: 関数の名前を入力します。
- 出力: 関数の出力を定義します。
- 関数セレクター: 既存の関数を選択するか、新しい関数を作成します。
- 関数タイプ: 利用可能なオプション(Cron ジョブ、API エンドポイント、カスタムアプリのセットアップ、カスタムフローノードなど)から、関数のタイプを選択します。
関数タイプ
-
カスタムフローノード:
カスタムフローノードは、自動化やワークフローのシステム内にある構成要素で、パーソナライズされたアクションやステップを作成できます。定義済みのノードを使う代わりに、独自のノードを作成して、特定のロジックの処理、他のシステムとの連携、フロー内での独自の処理を行えます。 -
サーバーサイドメソッド:
サーバーサイドメソッドは、ユーザーのデバイス(クライアント側)ではなくサーバー上で実行される関数またはルーチンです。データベースクエリ、ビジネスロジック、他のサービスとの連携などのバックエンド処理を担当し、安全で効率的な運用を実現します。 -
カスタムビュー:
カスタムビューは、特定のユーザーのニーズに合った方法でデータや情報を表示するようにデザインされた、専用のインターフェースまたは表示画面です。レイアウト、フィールド、コンポーネントをカスタマイズでき、デフォルトのビューとは異なる、焦点を絞ったユーザー体験を提供できます。 -
AIツール:
AIツールは、人工知能を使って、データ分析、自然言語処理、画像認識、自動化などのタスクを実行するソフトウェアコンポーネントまたは機能です。予測、レコメンデーション、自動化といったスマートな機能を追加することで、ワークフローを強化します。 -
Cron ジョブ: Cron ジョブは、サーバー上で指定した間隔または時刻に自動的に実行される、スケジュール済みのタスクです。メールの送信、データベースのクリーンアップ、レポートの生成、データの同期といった繰り返しの作業を、手作業なしで行うためによく使われます。
-
カスタムアプリのセットアップ:
カスタムアプリのセットアップとは、特定のビジネス要件に合わせてパーソナライズされたアプリケーションを構成し、デプロイするプロセスを指します。アプリのコンポーネント、権限、連携、ユーザーインターフェースを設定して、プラットフォーム内に独自のソリューションを作り上げます。
関数を更新
関数の更新画面では、既存の関数を変更できます。コードの更新、タイプの変更、その他の設定の調整が、必要に応じて行えます。
カスタムビューとコレクション
MonoChat はカスタムビューとカスタムコレクションに対応しており、企業は独自のインターフェースを作成し、独自のデータベースを管理できます。
- カスタムビュー: このタイプの関数を使うと、MonoChat 内に専用の画面を作成できます。これらの画面では、外部サービスやカスタムコレクションのデータを表示でき、特定のビジネスニーズに合わせた独自のインターフェースを提供できます。
- カスタムコレクション: 企業は、独自のデータ構造を定義し、MonoChat 内にカスタムデータを保存できます。この機能は、MonoChat のデフォルトの機能ではカバーされない専門的な情報を管理する必要がある企業にとって、特に便利です。
カスタムフローノード関数の設定と出力
カスタムフローノード関数では、それを使う各ノードが受け取る設定と、続行できる出力を記述できます。フローの作成者は、コードを編集する代わりに、ノード上のフォームに入力します。1 つの関数を、異なる設定で多くのノードに再利用できます。
関数のタイプがカスタムフローノードの場合、作成ドロワーと更新ドロワーに、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 連携: API エンドポイントを作成して、外部アプリケーションが MonoChat のデータにアクセスして取得できるようにします。これにより、CRM システム、決済ゲートウェイ、データ分析プラットフォームなどのサードパーティサービスとシームレスに連携でき、スムーズなデータの流れと相互運用性を確保できます。
- データ同期: MonoChat と他のシステム間のデータ同期を自動化して、一貫性と正確性を確保し、すべてのプラットフォームが最新の状態で整合していることを保証します。
カスタムインターフェース
- カスタムインターフェース: 企業固有のニーズに合わせた、カスタムダッシュボードやデータ入力フォームを開発します。担当者や従業員にパーソナライズされたインターフェースを提供し、使いやすさと効率を高めます。
データ管理
- データ管理: カスタムコレクションを定義して、独自のビジネスデータを保存・管理します。重要な情報を整理して維持でき、簡単なアクセスとレポート作成が可能になります。
スケジュールされた自動化
- スケジュールされた自動化: Cron ジョブを使って、レポートの生成や定期的なシステム更新といった定型業務を自動化します。重要なタスクが手作業なしで期限どおりに完了するため、運用効率が向上します。
AIツール
- AIツール: 自然言語処理、予測分析、自動化といった人工知能の機能を活用して、意思決定を強化し、ワークフローを効率化します。AIツールは、企業が複雑なタスクを自動化し、データからインサイトを得て、よりスマートなユーザー体験を提供するのに役立ちます。
MonoChat の関数管理機能は、企業が自動化ワークフローを幅広くカスタマイズできる、多用途なツールです。カスタム関数、ビュー、コレクションを活用することで、企業は MonoChat 環境を、自社の業務要件に完全に合わせることができます。
カスタムイベントの作成方法について詳しくは、SDK ドキュメントのページをご覧ください。