Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
ユーザーターゲティング機能を使用することで、Alliプロジェクトで管理している複数のスキルの中で、特定のユーザーグループに対して特定のスキルを表示させることができます。 この機能では変数が重要な役割を果たします。したがって、Alliで定義している変数を初めて利用する場合は、このユーザーガイドを参照してください。
開始するには、対象のスキルをクリックして、[スキル]メニューでどのようなユーザーを対象にスキルを表示させるかを設定します。 右側の[ユーザー]タブをクリックし、[追加]ボタンをクリックし、最初のターゲティング条件を追加します。
Alliにおけるユーザーターゲティングは変数を利用します。 変数の横にある+アイコンをクリックして、変数を選択し、値を設定します。 SDK変数とカスタム変数から選択できます。変数のタイプの詳細については、このユーザーガイドを参照してください。
変数を追加したら、スキルを表示させる条件を設定できます。 下記の2つのこと注意してください。
条件を満たさないユーザーには、ステータスがオンになっているスキルが表示されます。 複数のスキルがオンになっている場合はスキルの並び順に対し、一番上のものが表示されます。)ユーザーが条件を満たすスキルがない場合、そのユーザーにはスキルは表示されません。
スキルに設定されたユーザーターゲティングの設定がない場合、すべてのユーザーにスキルが表示されます。
以下は、ユーザーターゲィングとその条件を設定する方法です。
条件をチェックする変数。
変数をチェックする条件。 ドロップダウンをクリックして演算子を選択し、条件の値を入力します。 上記の例では、CHANNEL_NAME変数の値として「SLACK」を持つユーザーに対してスキルが表示されます。
条件セットとして複数の条件を追加する場合は、このボタンをクリックします。 1つの条件セット内の複数の条件はANDロジックとして処理されます。
条件セットを削除するには、ここをクリックしてください(セット内の個々の条件ではありません)。
条件を削除するには、ここをクリックしてください(条件セットではありません)。
条件セットに1つ以上の条件がある場合、その下に空の条件セットが表示されます。 ここをクリックして、空の条件セットに条件を追加できます。 条件セットはORロジックと組み合わされます。
使用可能な演算子は変数の種類によって異なることに注意してください。以下は、各変数タイプの演算子です。 ほとんどの演算子は自明であり、Date型の「within」および「notwithin」の場合、今日からの日数がカウントされます。 たとえば、条件が「@DATEは5以内」の場合、@ DATE変数に保存されたその日付値が今日から5日以内であるかどうかを確認します。
複数の条件セットと条件が含まれている場合は、複雑な条件を作成してスキルを特定ユーザのみに表示できます。 たとえば、ユーザーターゲティングを実際に利用することを想定すると、以下のように設定されている場合、メールアドレスがallganize.aiで終わるSlackチャネルの顧客、およびメールアドレスがtest.comで終わるすべてのユーザーに対してトリガーされます。
変数は、スキルの特定のノードで入力したり、Alli SDKをロードするときに事前入力したり、システム変数の場合は自動的に入力することができます。 変数の設定方法について理解するのに役立つユーザーガイドとして下記もご参考ください。
Alli SDKをWebサイトまたはアプリに実装することは、Alliの全機能を利用するための優れた方法ですが、Alliを使用する唯一の方法ではありません。 各スキルのスキルポップアップURLを使用して、ユーザーまたは従業員にスキルへのリンクを簡単に展開ができます。
この機能は、さまざまな方法で活用が可能です。 (例)
新規入社者にオンボーディングガイドスキルリンクをメールで送信する。
Eメールまたはウェブサイトを介してユーザーがサービス担当者と直接チャット を行うことができるリンクを提供する。
既存顧客への新規製品の紹介、購入オプションを紹介するスキルリンクが含ま れている定期マーケティングメールを送信する。 (これはAlli自動化機能でも実装可能です。)
スキルポップアップURLはスキルメニューの右側に表示されています。
スキルポップアップURLがまだ表示されていない場合は、[生成]アイコンをクリックしURLを生成します。 新しいURLを生成する場合は、もう一度クリックします。この場合、現在のURLは非アクティブになります。
ウィンドウサイズの選択は、全画面表示またはカスタムサイズを選択できます。スキルがオンの場合、サイズ設定を変更することはできません。カスタムサイズのウィンドウサイズを調整するには、ウィンドウの横にある歯車のアイコンをクリックして、チャットのデザイン設定に移動します。チャットのデザイン設定を変更すると、編集中の該当スキル全体のデザインが変更されます。
スキルポップアップURL使用時の留意点
Alliダッシュボードでスキルがオフの場合、スキルが読み込まれません。スキルがONになっていること必ず確認してください。なお、対象スキルをロードしないようにするには、ダッシュボードでスキルをOFFにします。
[生成]アイコンをクリックするたびに、URLが再生成されます。 新しいURLを生成すると、以前のURLはすべて非アクティブ化されることに注意してください。
ユーザーはAlliと会話の際、さまざまな理由でダイアログを閉じる場合がありますが、ウェブサイトの場合は、ユーザの認証、アプリの場合は、アプリ終了などがその例です。 このときに、ダイアログトークンを利用すれば、いつでも、既存の対話を再開することができます。
現在進行中の会話の会話トークンを変数の値を設定ノードを利用して取得することができます 。 以下のように”generate_token()関数”を使用して、必要な変数に値を保存します。 変数の値を設定ノードで関数を使用する方法は、こちらのユーザガイドを参照してください 。
次に、データ連携ノードを使用してトークン値を目的のURLに送信します 。 トークン情報を持つ変数をノードで送信する変数として設定するだけです。 データ連携ノードの設定は、環境によって異なります。 詳しくは、 データ連携ノードのユーザーガイドを確認 してください。
Alli SDKで会話を再開するには、 既存のwindow.Alli.event()の代わりに、以下のように、生成されたトークン値を用います。
CONVERSATION_TOKENは実際の会話トークンに置き換え、RESUME_MESSAGEは会話が再開されたときに送信するメッセージに置き換える必要があります。 メッセージはユーザーによって送信されたものとみなされ、会話はチャットウィンドウ全体に読み込まれますので、注意してください。尚、Alliスキルの見直しや、Alliを正しく読み込むようにウィンドウサイズなどの適切な設定が必要になります。ユーザーガイドを確認してください。
ご不明点がありましたら、担当までご連絡ください。
Alliのチャットフローエディターは直感的なGUIにより、誰でも簡単にチャットフローを設計できます。
キャンペーン(スキル)タイトル キャンペーンのタイトルが表示されます。キャンペーンのタイトルは、チャット編集画面およびダッシュボードのメイン画面で変更できます。
自動保存メッセージ チャットフローの編集は自動的に保存されます。 変更を加えると、「保存中」というステータスが表示され、完了すると「変更内容を保存しました。」に変わります。
プレビュー 編集したチャットフローをテストするには、ここをクリックしてください。実際にユーザーが利用するチャットボット環境の確認ができます。
ON/OFF管理 チャット編集で作成したスキルについて、ユーザーへの提供設定を行うボタンです。「OFF」が初期値に設定されており、「ON」に設定を変更することでエンドユーザーに対するチャットボットの提供を開始します。 また、本ボタンが「ON」に設定されている場合、チャット編集は実施できません。修正が必要な場合、「OFF」へと設定変更をした上で実施してください。
Startノード チャットフローの開始。 削除することはできません。 ユーザーに表示される最初のノードに開始ノードを接続します。
ノード チャットフローとは、フローに従って次のノードを実行することを指します。 上記の例では、会話開始のメッセージとして、Alliは「AIアンサーボット”Alli”です!」「質問をどうぞ!」を表示します。 Alliで利用可能なさまざまなタイプのノードの詳細については、下部記載の「ノードメニュー」セクションを参照してください。
ノードエディタ 編集アイコンをクリックすると、ノードエディタが開きます。 ここでノードのコンテンツを編集できます。 詳細については、下部記載の「ノードバー」セクションの各ノードガイドへのリンクを参照してください。
フロー フローを作成するには、前のノードの紫色の点から次のノードの任意の場所にドラッグをします。 上記の例では、フローはStartノードから質問ノードにドラッグすることによってフローを作成しています。
チュートリアル チャットフローを設計するための基本的なウォークスルーチュートリアルが再生されます。
ズーム ズームインまたはズームアウトして、ページの視認性を調整します。
変数リスト 当チャットフローで利用している変数またはすべての変数のリストを表示します。
ノードメニュー
チャットフローを構築するには、ノードを作成/編集し、フロー(矢印)で接続する必要があります。各ノードに関する詳細は以下を参照してください。
顧客情報や認証コードなどを更新する場合があるとき、あるいは他の理由で変数の値を更新する場合がある場合、変数の値を設定ノードを使用すると効率的です。
ここに、値の割り当てノードを説明するのに役立つ簡略化されたチャットフローがあります:
変数の値を設定ノードは、ノードバー内のアイコン(キャンペーンタイトル下部にあります。)をクリックしてノードを作成します。(以下参照してください)
ノードを使用するには、ノードエディタで「変数を追加」をクリックし、使用する変数を選択して指定される値の形式を選択します。数値フィールドに変数の値を入力します。
値の形式として、値(定数値)、変数、数式の中から選択します。 変数の型と計算式の詳細については、次のガイドを参照してください。
最後に[更新]ボタンをクリックして変更を保存します。
注:既存の変数の値が指定されている場合とない場合がありますが、これに関係なく、ノードが実行されると、ノードの指定された変数の値が更新されます。
新規キャンペーン(スキル)作成 [+]をクリックして新しいキャンペーンを作成します。
キャンペーン(スキル)名 クリックしてキャンペーン(スキル)名を編集できます。
プレビュー チャット編集のあと、[プレビュー]をクリックして、チャットボットの動作テストが行えます。
ステータスのON/OFF キャンペーン(スキル)は、ONになっている場合にのみオンラインでアクティブになります。 キャンペーン(スキル)を編集する場合、キャンペーン(スキル)をOFFにする必要があります。 キャンペーン(スキル)をOFFにすると、ユーザーはキャンペーン(スキル)にアクセスできなくなります。
コピー、削除 キャンペーン(スキル)のコピーおよび削除ができます。
プレイスメント [追加]をクリックし、キャンペーン(スキル)を起動するプレイスメントを指定します。プレイスメントは、サイトやアプリ上のチャットウインドウを起動する場所を指します。プレイスメントが特に指定されていない場合、キャンペーン(スキル)はSDKを実装したすべてのサイトやアプリ上で起動します。 たとえばランディングページを「LANDING」とし指定することができます。※プレイスメントに設定する名称は任意の名称で問題ございません。 プレイスメントを指定しない場合、キャンペーンは、すべてのページで実行されます。
ターゲティング プロフィールやアクション内容など、「変数」に保持された情報をもとに、Alliを表示するユーザーをターゲティングすることが可能です。特に指定のない場合は、すべてのユーザーにチャットウインドウを表示します。こちらはオプション設定のため、必ずしも設定をする必要はありません。
チャット編集 [チャット編集]をクリックし、任意のキャンペーン(スキル)のチャットフローを作成します。
スケジュール キャンペーン(スキル)の開始日と終了日を設定します。初期値では、開始日には「キャンペーン作成日」、終了日には「指定しない」が設定されています。
会話の初期化 デフォルトではチェックは外され、無効となっています。無効としている場合、チャットでの最後の会話地点から再度会話が開始されます。本機能を有効にすることで、ユーザーがチャットにアクセスした際に、必ずチャット会話のスタート地点から会話を開始することが可能となります。加えて、有効化した場合は、最後のメッセージが発生した時刻に基づいて初期化するタイミングを追加設定することができます。 (常に再起動、最後のメッセージ後30分/1時間/24時間経過時に再起動)
スキルポップアップURL このURLを使用して、SDKを実装せずにスキルをロードできます。 詳細については、 を参照してください。
メモ キャンペーン(スキル)に関する任意のメモ、他の管理者への参考情報などを記載します。
メール送信ノードはエージェントに電子メールや内部メッセージを送信することを実現するノードで、チャットフローの任意の場からエージェントに特定のメッセージを送信できます。たとえば、顧客が商品の詳細を確認したときに、顧客担当マネージャーに通知メッセージを送信するといったアクションを実行することができます。
メール送信ノードは、ノードのアイコンバーの一番右に位置しています。
ノードとエディタについて
送信するメール本文または内部メッセージ 変数の利用、 テキストの書式を変更することができます。
チェックされている場合、電子メールと内部メッセージを送信します。 チェックされていない場合は、内部メッセージのみを送信します。 この内部メッセージはAlliダッシュボードの「会話履歴」で確認ができます。
メールの件名
メール送信先エージェントを選択します。 選択されていない場合は、すべてのエージェントに送信されます。
本ノードを利用の際には以下の使用例を参照してください。 こちらのチャットフローでは、顧客が質問に対して「Alli SaaS」を選択した場合、「demo Alli」エージェントに電子メールまたは内部メッセージを送信するようにチャットフローを作成しています。
顧客が「Alli SaaS」を選択すると、以下のような画面が表示されます。 内部メッセージは、顧客に公開されていないことを確認することができます。
エージェントは、Alliダッシュボードで、内部メッセージを含む会話の内容を確認することができます。
[メールを送信]チェックボックスがオンになっているため、エージェントはメールによる通知も同時に受けることができます。
チャット編集に「連携(ベーシック)」という新しいノードを追加しました。この新しいデータ連携ノードにより、ユーザーはサードパーティのサービスをAlliに簡単に接続し、特定のアクションを実行できます。たとえば、従業員がAlliを使用して有給休暇のリクエストが送信されたことをSlackの人事部のチャネルで確認することが可能です。
連携ノードは下記のようにベーシックとアドバンスドがあり、本ユーザーガイドでは連携ノード(ベーシック)について説明していることにご注意ください。
チャット編集画面でノードがどのように表示されるかを下記にて示します。
連携する外部サービスを選択します。
外部サービスとの連携においてどのアカウントと連携するかを選択します。プロジェクト設定でアカウントを追加する必要があります。詳しくは次の段落にて記載しておりますので、ご確認ください。
実行するアクションを選択します。使用可能なアクションは、接続されている外部サービスごとに異なります。
選択したアクションの詳細を決定します。たとえば、接続するサービスとしてSlackを選択し、アクションとして「メッセージの送信」を選択した場合、ここでメッセージを送信するチャネル、メッセージの送信者、および送信するメッセージを設定できます。
外部サービスと連携するには、各サービスで使用するアカウントをAlliにて登録する必要があります。Alli管理画面>[プロジェクト設定]> [外部サービス連携]> [連携ノード]に移動して、連携可能な外部サービスで利用しているアカウントをAlliに登録することができます。外部サービスのアカウントを追加し、[接続]ボタンをクリックしてください。
利用可能な外部サービスでのアクションについて 連携した外部サービスでの利用可能なアクションは2021年11月5日時点では、単純なアクションのみをサポートしていますが、今後も連携可能な外部サービスとアクションを追加していく予定です。下記にて、「連携可能な外部サービス-アクション」という記載でまとめます。
選択したSlackチャンネルまたはメンバーにメッセージを送信できます。チャンネルまたはメンバーの名前、送信者(Alli アプリまたは連携済みのユーザーアカウント)を選択し、送信するメッセージを入力できます。下記の設定画面もあわせてご確認ください。
選択したチームチャネルまたはメンバーにメッセージを送信できます。チャンネルまたはメンバーの名前を選択し、送信するメッセージを入力します。メッセージは常にTeamsのAlliアプリから送信されます。また、TeamsをIntegrateノードに接続するために使用するアカウントは、365管理者アカウントである必要があります。下記の設定画面もあわせてご確認ください。
条件応答ノードを使用すると、簡単にユーザーエクスペリエンスをパーソナライズ化することができます。スキルフローが条件応答ノードに到達すると、指定された変数の値が条件を満たしているかどうかを判断し、スキルを適切に分岐させます。
条件応答ノードを活用するには、以下をクリックして始めます。
そのノードで使用されている変数です。
条件に応じてスキルを分岐させる「オプション」が表示されます。
Editorに追加されているオプションです。
[=]アイコンをドラッグして、オプションの順序を変えることができます。 条件応答ノードは、オプションを上からチェックしてパスを分割するため、この順序は重要なポイントになります。
クリックすると、そのオプションを削除、複製することができます。
クリックすると、新しいオプションを追加することができます。
[+オプションの追加]をクリックすると、新しいオプションを追加できます。
保存せずにエディタのメイン画面に戻ります。
条件を確認する変数を選択します。
条件の種類を選択します。 選択可能な条件タイプは、変数の型に応じて決定されます。
[TT]アイコンをクリックし、定数/変数を切り替えることができます。
この条件を削除します。
「AND」ロジックで検査する新しい条件を追加します。
保存してエディタのメイン画面に戻ります。
※条件「Similar to」について 信頼値を調整して、類似性を判断することができます。
参考までに、条件応答ノードを使用したフローの例を以下に記載します。
条件応答ノードは最初にオプション1の「@CONTRACT_STATUS」変数の値が「Contracted」であるかどうかを確認します。条件に合致している場合、①のメッセージが表示されます。条件が合致しない場合、オプション2を確認します。
オプション2に合致している場合、②のメッセージが表示されます。条件が合致しない場合、「その他」のパスをたどり、③Q&Aから回答ノードに進みます。
自動応答で対応しきれない問い合わせなどのシナリオに活用することで、ユーザーと臨機応変なコミュニケーションを可能にします。
Alliチャットフローでは、エージェントノードを使ってチャットまたは電子メールを介してユーザーとの会話を実現します。 キャンペーン>チャット編集画面で、エージェント応答ノードを選択します。
エージェント応答ノード編集画面で応答オプションを選択してください。
エージェントとチャットで会話 担当エージェントがAlliダッシュボードに接続している場合、リアルタイムで担当エージェントと接続し、ライブチャットが可能です。
内部メッセージを送信してからエージェントと会話を開始する 内部メッセージ(ユーザーに表示されないメッセージ)を担当エージェントに送信後、担当エージェントとライブチャットをできるようにします。
エージェント宛にメールを送信 エージェント宛にメールを送信します。ユーザーにテキスト入力を求める際に表示するコメントは以下で編集ができます。 「設定」>「メッセージ設定」>エージェント応答
チャットで会話可能なエージェントがいない場合、メールを送信 ダッシュボードで5分以上エージェントのアクティビティがない場合、ユーザーは連絡先のエージェントに電子メールを送信できます。 アクティブなエージェントがいる場合は、エージェントとのライブチャットを利用できます。
データ連携ノードを使用すると、チャットフローが当該ノードに到達したときに、サードパーティとの間でデータを送受信することができます。 このノードの活用につきましては、ソフトウェア開発の知識が必要になる場合があります。
データ連携ノードには、さまざまなフィールドと機能があります。
URL:送信または受信するURLを入力し、ドロップダウンからアクションを選択します。GET、POST、PUT、DELETEから選択します。 Header:必要に応じて「+ Add header」をクリックし、ヘッダー情報を入力します。右上の「 – 」アイコンは、削除ボタンです。 URLとヘッダ、両方で変数を利用することができます。URLフィールドのアイコンをクリックすると、定数/パラメータの入力を切り替えることができます。
タブをクリックし、Simpleモード・Advancedモードを選択することができます。
Simpleモードでは、「+データ追加」をクリックし、送信するデータを追加することができます。右上の「 – 」アイコンは、削除ボタンです。
上下それぞれのフィールドに”Key”と”値”を入力します。値フィールドのアイコンをクリックすると、定数/パラメータの入力を切り替えることができます。
GETメソッドを使用している場合、データはURLパラメーターとして送信されます。POSTメソッドの場合、bodyとしてJSON形式で送信されます。
Advancedモードでは、変数名を含むJSON形式を直接入力します。
タブをクリックし、Simpleモード・Advancedモードを選択することができます。
Simpleモードでは、「+変数を追加」ボタンをクリックし変数を追加することができます。右上の「 – 」アイコンをクリックすると、削除することができます。
ドロップダウンから受信した値を格納する変数を選択します。JSON形式をサポートします。
URLから特定のデータが見つからない場合に「成功」を返すには、「オプション」をクリックします。
Advancedモードでも「+変数を追加」ボタンをクリックして変数を追加することができます。右上の「 – 」アイコンをクリックすると、削除することができます。
Advancedモードでは、フィールドに入力されたJSONパスで値を読み込んで、指定した変数に格納します。パスは変数と同じ名前である必要はありません。
URLから特定のデータが見つからない場合に「成功」を返すには、「オプション」をクリックします。
Alliのチャットフローは特定の変数やユーザー選択の変化を鑑みて、後続のチャット・フローを設計しますが、本ノードを利用することで、チャットフローのあらゆるポイントから、顧客が要求している特定の応答チャットフローを開始できるようにデザインすることができます。
オブザーバーノードアイコンは、ノードバーの右側にあります。
例えば、@TEST_COUNTRYという変数が変化すると「海外にいますか?」というメッセージを、@TEST_CITYという変数が変化すると、「あなたは別の都市にいます」というメッセージを出力するようにチャット・フローを設計したいとしましょう。このとき、オブザーバーノードは、次のように設定する必要があります。
オブザーバーノードで監視する変数のリスト
修正/削除 (キャンペーンは、1つのオブザーバーノードのみ存在することができますので、複製ボタンはありません)
どのような状態を監視するかを定義したオプション
オプションの追加
[適用]クリック後は以下の表示となります。各項目の説明は以下の通りです。
ドラッグしオプションの順序を変更 オプションの順序の変更は非常に重要です。 最も上に位置するオプションが優先権を持ちます。 例えば、上記のようにオプションが設定されている場合、オブザーバーノードは、まず@TEST_COUNTRY変数が変更されたか確認し、変更された場合は、指定された後続のチャット・フローを実行します。なお、@ TEST_CITY変数の変更をオブザーバーノードが確認するとすれば@TEST_COUNTRY変数が変更されていない場合だけとなります。
オプションのコピー/削除
監視する変数とステータス(複数登録可能)
「+オブザーバーを追加」ボタンをクリックまたは、すでに設定されたオプションのいずれかをクリックすると、オプションの編集メニューにとなります。
オプションで、監視する変数を選択。 既存の変数の中から選択するか、新規変数を作成することができます。
監視するステータス。 「変更済み」と「未変更」を選択できます。
条件削除。
新しいオブザーバー(条件)を追加。
条件を保存して、ノード[編集]メニューに戻ります。
このガイドの冒頭で説明したチャットフローの一例は次のようになります。 監視対象のステータスが変更されるたびにノードがトリガーされるため、オブザーバーノードの前のノードを接続する必要はありません。 これはオブザーバーノードが、指定された変数の状態の変化が検出されるたびに自動的に動作するノードであるからです。
オブザーバーノードが動作した後、指定された後続のチャットフローが実行され、以降はオブザーバーノードを動作させたノードのすぐ次のノードにチャットフローが続きます。 上記の例では、1→2→3→(4-1もしくは4-2)→5の順でチャットフローが遷移します。
オブザーバーキャンペーン(スキル)を設定すると、含まれているオブザーバーが他のすべてのキャンペーンを一度に監視できるようにすることができます。Alliのダッシュボードのメインで「オブザーバー」をクリックして、オブザーバーキャンペーン(スキル)のリストを見ることができます。
オブザーバーキャンペーン(スキル)のリストを表示 (非オブザーバーキャンペーン(スキル)を表示するには、「一般」をクリック)
新しいオブザーバーキャンペーン(スキル)を追加
キャンペーン(スキル)タイトルの確認/変更
キャンペーン(スキル)のオン/オフ、複製、削除
チャットフロー編集
オブザーバーキャンペーンを編集する方法は、一般的なキャンペーンを編集する方法と同じであるため、すべてを新たに習得する必要はありません。 唯一の相違点は、オブザーバーキャンペーンはオブザーバーノードに指定されたオプションにのみ実行されるので、「Start」ノードが存在しないということです。
オブザーバーノードとオブザーバーキャンペーンに関しての留意点は以下の通りです。
論理的な混乱を避けるため、1つのキャンペーンでは1つのオブザーバーノードのみが許可されます。
同じ理由で、一度にアクティブにできるオブザーバーキャンペーンは1つだけです。
オブザーバーノードを含む一般的なキャンペーンとオブザーバーキャンペーンが同時にアクティブ化された場合には、一般的なキャンペーンに含まれているオブザーバーノードが常に優先順位を持って最初に処理されます。
ご不明な点がございましたら、お気軽にカスタマーチームまでお問い合わせください。
ユーザーへのメッセージを表示したり、質問することができる最も基本的なノードです。ノードのタイトルは、会話メッセージだけを表示した場合、「会話応答」、応答を追加して質問を行なった場合、「質問応答」と表示されます。顧客の応答内容は、「変数」を利用して保存することができます。
ユーザーに対して、より詳細な対話が必要な場合、本ノードを活用してエージェントに連絡をとることが可能です(アラートメールがエージェントに配信されます)。メールを受信したエージェントは、「会話履歴」メニューの該当の会話から直接チャットによる会話を開始することができます。
ユーザーが入力した情報を「変数」に格納し、その「変数」に対する条件を設定し、条件毎に分岐処理を行うことができるノードです。変数への入力値に対して 変数バリューを設定し、分岐処理を指定できます。
他のキャンペーンにユーザーを移動させたい場合、本ノードを活用してください。選択項目から移動先のキャンペーンを選択し「適用」ボタンを押すことで設定を確定することができます。移動先のキャンペーンについては、事前にキャンペーンを ON にしておく必要があります。
顧客が入力した質問文章やキーワードに対して、Q&Aメニューの登録内容に基づいて自動応答をします。顧客が入力した内容を、変数に保存することもできます。
機械読解:MRC(Machine Reading Comprehension)AIは、Alliにアップロードされたドキュメントからユーザーの質問に対する回答を抽出して表示します。
ユーザーはサードパーティのサービスをAlliに簡単に接続し、特定のアクションを実行できます。たとえば、従業員がAlliを使用して有給休暇のリクエストが送信されたことをSlackの人事部のチャネルで確認することが可能です。
Alliが外部サーバとリアルタイムで通信し、指定の情報を外部から取得したり、指定の情報を外部に送信できるノードです。送受信する情報は、事前に変数に指定することで利用が可能となります。
カスタムUI送信は、チャットフローのカスタムユーザーインターフェイスにデータをプッシュすることができます。(チャットフローの会話に基づいて、適切なデータを動的に取り込みます。)例えば、Alliチャットフローで使用されるカルーセルを実装することができます。
チャットフローのユーザー変数またはその他の詳細の値を更新する必要がある場合、更新する変数をノードに追加し、新しい値を入力します。会話がノードに到達すると、値が動的に更新されます。
任意のフォームを設定し、ユーザーから情報を取得したあとにメールでエージェントに送信することができます。
チャットフローを監視し、割り当てられた値の変更を検出すると、チャットフローの途中でアクションをトリガーします。たとえば、特定のキーワードが入力した場合に指定したキャンペーンに移動させるといった利用です。当ノードは条件応答ノードと組み合わせて利用することがあります。
キャンペーンにジャンプポイントノードを追加して、[キャンペーンにジャンプ]ノードの宛先ポイントに移動することができます。
エージェントに電子メールや内部メッセージを送信することができ、チャットフローの任意の場からエージェントに特定のメッセージを送信することができます。
その他、条件応答ノードでは、を含む任意の変数を作成して使用し、条件とオプションを設定し、カスタマーエクスペリエンスをパーソナライズできます。 を参照してください。
Q&Aから回答ノード機能を利用するためには、事前にQ&AリストにQ&A情報をアップロードする必要があります。
詳細については、こちらのユーザーガイドを参照してください。 Q&A チャットセッティング
Q&Aから回答ノードのアイコンはこちらです。
1. 質問の取得方法を決定します。
「ユーザー入力」を選択すると、ユーザーに表示するメッセージを入力できます。 ユーザーはメッセージを見たあと、Q&Aチャットに質問をすることができます。
「変数」を選択すると、変数を割り当て、その値を質問として使用できます。 この場合には、質問があらかじめ与えられていることになるため、チャットフローがQ&Aから回答ノードに到達すると、すぐに回答検索が開始されます。
2. 1つ前のノードの入力をQ&A検索の質問として使用するかの設定ができます。前のノードからのテキスト入力がない場合、質問としては入力されません。例えば、 会話・質問応答ノードにて「テキスト入力を許可する」設定を許可し、Q&Aノードに接続させることが可能です。
3. Q&Aに正常に回答すると、AlliはQ&Aから回答ノードプロセスを繰り返して別の質問に繰り返し回答を行います。(例外については、以下に記載の「No.7」を参照してください)。なお、チェックがオフの場合、1で入力したメッセージは繰り返されません。 また、「No.1」の質問ソースとして「変数」を選択した場合は、このオプションは表示されません。
4. ユーザーの質問に対して提示することができるQ&A候補がない場合、Alliは[ドキュメント]タブにアップロードされたドキュメントから回答文を自動的に検索します。 詳細については、ドキュメントから直接回答を取得するを参照してください。
5. 「4」で説明のドキュメント機能から直接回答を取得できた場合、別のフローを設定できます。
6. 対象範囲として、ハッシュタグを選択した場合、このQ&Aから回答ノードは、指定したハッシュタグが付いたQ&Aのみを対象に検索します。また、変数を選択することもでき、変数の値が存在するハッシュタグの値のいずれかと同じ場合に動作します。
7. ユーザーの質問に基づいて、指定されたチャットフローに移動ができます。
8. このオプションをオンにすると、Q&A質問の繰り返しはなく、「その他」 オプションからチャットフローを別のノードにルーティングします。 “Other” オプションの追加がオフの場合、Q&Aが繰り返されます。
上記のチャットフローは、Q&Aから回答ノードのAからEまでの各アクションが異なるノードにルーティングしている例です。
A:Q&A対象範囲を「#company」ハッシュタグに設定しています。 B:回答を選択した場合に指定したノードに移動します。 C:ドキュメントから直接回答を得られた場合に指定したノードに移動します。 D:ユーザーの質問に対して、Alliはいくつかの類似質問を提示しましたが、 ユーザーは「該当する質問がありません。」を選択。選択された場合、 指定したノードに移動します。 E:Q&Aに類似質問がなく、ドキュメントにも該当の回答文章がない場合に指定したノードに移動します。
9. ユーザーの応答を指定した変数に保存します。
キャンペーンに移動ノードと移動ポイントノードを使用すると、スキルをすっきりと整理された状態にすることができます。その使用方法は、下記の通り簡単です。
スキルフローがキャンペーンへジャンプノードに到達すると、当該のスキルで指定された移動ポイントに移動します。
キャンペーンを選択し、ドロップダウンメニューで移動先の移動ポイントを選択します。対象のキャンペーンに移動ポイントがない場合は、開始ノードのみが選択可能な唯一の移動ポイントになります。
任意のキャンペーンに移動ポイントノードを追加すると、キャンペーンに移動ノードの移動先地点を指定することができます。ノードを作成し、名前を入力してノードを対象ノードに接続すれば完了です。
Alliに「変数をダウンロード」ノードが追加されました。 このノードを使用すると、変数に保存されたデータを随時収集し、まとめてダウンロードができます。
つまり、分析メニューで提供する項目以外にも、柔軟なデータを得ることができます。下記にて利用例をご紹介します。
「質問応答」ノードでボタンを回答として設置した際の、ユーザーが選択した値を変数に保存します。 ここでは、”SELECTED_1ST”という変数を作成して値を保存します。
「変数をダウンロードノード」を追加し、ダウンロードしたい変数(SELECTED_1ST)を入力すると、そのノードにたどり着いた際のの変数の値が記録されます。
スキル全体のフローは下記となります。
このようなフローとすることで、ユーザーが最初の質問応答ノードで選択した値を出力できるようになります。 同様に、変数をダウンロードノードにて他の変数も追加すると、複数のデータをまとめて取得することができます。
変数をダウンロードノードを用いて収集されたデータは、分析画面からダウンロードできます。 ダウンロードの際は、”「変数をダウンロード」ノードのデータを含める”を選択してください。
ダウンロードされたデータは、既存の分析データとは異なり、別のファイルでエクスポートされ、スキルごとにシートが区切られます。 各シートは、変数が保存された時刻、スキル名、ノードID、顧客ID、変数値で構成されています。
※キャンペーン名に、エクセルファイルのシート名に使用できない記号、< > ? [ ] : | *が含まれるとファイルダウンロードができないため、ご注意ください。
※EdgeやChromeなど、ご利用のブラウザによって、エクスポートデータのダウンロード時に複数ファイルのダウンロード許可を求めるポップアップが表示される場合がございます。 その場合は許可設定を行っていただき、ファイルが2つダウンロードされることをご確認ください。
ノード挿入位置にご注意ください。 Sartノードに直接接続するなど、スキルフロー上、ユーザーの入力が発生する前に変数をダウンロードノードを配置するとと、無効なデータが出力されます。
このノードを活用することで、1ユーザーの質問〜利用終了までの行動を分析することが可能です。
1.以下に該当するノードは、”応答の保存先”に変数を設定
・ユーザーが質問を入力することが想定されるノード
・ユーザーが質問応答ノードに設置したボタンから選択することを想定しているノード
2. チャットフローの最後に変数をダウンロードノードを置き、以下をダウンロードする変数として追加
・ユーザーが入力した質問を保存した変数(例の場合:QUESTION)
・ユーザーが設置されたボタンから選択した内容を保存した変数(例の場合:SATISFICATION)
以下はAlliに元々搭載している変数です。
・FAQ_SELECTED_QUETION:ユーザーがFAQ検索で選択したQAの質問文が保存
・FAQ_SELECTED_ANSWER:ユーザーがFAQ検索で選択したQAの回答文が保存
・ FAQ_SELECTED_HASHTAG:ユーザーがFAQ検索で選択したQAのハッシュタグが保存
以下は手順1~2を設定したチャットフローの一例です。
このチャットフローで、エクセルにデータをダウンロードすると、以下のように1ユーザーの行動を確認することが可能です。
※エクセルデータ内の列名について 1.Time stamp:変数がダウンロードされた時間です。 2.Skill:変数がダウンロードが設置されたスキル(キャンペーン)名です。 3.Node ID:ダウンロードデータの対象となった "変数をダウンロードノード"のノードIDです。ノードIDは、チャット編集画面にて各ノードの左下に記載しています。一つのスキルに複数の変数をダウンロードノードに設置している場合に、こちらのIDを元にどの変数をダウンロードノードのデータを示しているのかを確認いただけます。 4.Customer ID:ユーザーのIDです。 5.Variables:変数をダウンロードノードで設定した変数および変数に保存された値が並びます。設定した変数が複数ある場合は、上記の画像の例のようにデータが横に追加されていきます。
このデータを活用して、どのようなQ&Aを表示した場合にユーザー満足度が高い/低いのか?を知り、Q&Aのブラッシュアップに繋げることができます。
例えば、ユーザーの質問と、クリックされたQはマッチしている一方で、「解決しましたか?」に対して「いいえ」と回答している場合、回答内容に満足していない可能性があります。こうした情報から、回答内容を見直し、ユーザーにとって必要な情報が十分に記載されているかを確認するきっかけを得ることができます。
チャット編集画面では、Shiftキーを押しながらドラッグすると、複数のノードを選択することができます。 選択したノードをドラッグして、一緒に位置を移動させたり、複製や削除を行うこともできます。
複数のノードを複製するとノード間の接続も複製されます。
Statusが”ON”のキャンペーンを編集する場合はStatusを”OFF”にしなければなりませんが、以下の二つの方法で回避することができます。
実行中のキャンペーンをコピーし、コピーしたキャンペーンを編集する。 コピーしたキャンペーンの編集が完了した後、まず新しいキャンペーンをオンにしてから、既存のキャンペーンをオフにします。この順序で進行すると、常にキャンペーンは、稼働している状態を維持することができます。
「キャンペーンに移動」ノードを使う。 「キャンペーンに移動」ノードを利用して、複数のキャンペーンを接続している場合は、メインのキャンペーンのStatusがONであれば、他のキャンペーンは、オフの状態でもかまいませんので、OFFのStatusキャンペーンは制限なしに編集が可能です。 ただし、この方法は、修正中のキャンペーン(移動先のキャンペーン)がお客様に公開されるおそれが有りますので注意ください。なお、小規模のチャットフロー修正を頻繁に実施する場合には、この方法が便利です。
チャット編集画面では画面のズームイン/ズームアウトを利用できます。複雑なチャットフローを設計する際に利用下さい。
ズームイン/ズームアウトの設定は、個人別/キャンペーンごとにローカルに保存されます。 .
ノードのコピー機能は、同一のノードを作成する以外に, 複雑なチャットフローを設計している場合など、ノード作成効率を高めることができます。
たとえば、以下のように、テキスト入力を受ける「質問する」ノードが多数必要な場合、新しいノードを作成すると、1〜5の手順が毎回必要となります。 しかし、コピー機能を使用すると、ステップ2、3、および場合によって5をスキップすることができます。
Alliのチャットフロー構築は非常に簡単です。 ノードのドラッグアンドドロップ、会話及び質問の入力、そしてノード同士の接続を行うだけです。 会話・質問応答ノードは、会話の送信、質問応答、回答の保存を可能にする基本的なノードとなります。
会話・質問応答アイコンは、ノードアイコンバーの左端にあります。
メッセージノードを送信すると、リッチメディアメッセージまたは画像付きのテキストをユーザーに送信(表示)できます。
[テキスト]・[イメージ]: [テキスト]を選択 フォーマットされたテキスト、画像(PNG、JPG、GIF)、および動画を含めて送信(表示)することができます。 [イメージ]を選択 画像(PNG、JPG、GIF)のみをノードに含めることができます。
メッセージのカスタマイズボタン
[B]太字:対象文章・単語を範囲を選択した後、アイコンをクリックすると、太字のテキストになります。
[I]斜体:対象文章・単語を範囲を選択した後、アイコンをクリックすると、斜体のテキストが表示されます。
リンクの挿入:リンクさせるテキスト範囲を選択し、アイコンをクリックすると、小さなポップアップが表示されますので、URLを入力して[送信]をクリックしてください。
イメージの挿入:アイコンをクリックして画像を挿入します。 任意のJPG、PNG、またはGIFファイルをアップロードするか、それらの形式で画像のリンクを挿入できます。
ビデオの挿入:YouTubeやVimeoなどのビデオURLを追加することで、メッセージノード内にビデオをネイティブに埋め込みます。
テキストサイズ:選択したテキストのサイズを変更します。
テキスト色:選択したテキストの色を変更します。
書式のクリア:編集するテキストを強調表示し、[書式の削除]ボタンをクリックすることで、テキストをデフォルト設定にリセットします。
メッセージ入力:表示するメッセージ内容を入力します。
応答追加:こちらをオンにすることでノードを”質問ノード”に変換することができます。 ユーザーの回答・ボタン選択の結果などの情報を取得し保持することができます。 詳細は以下を参照してください。
応答追加を[オン]にすると、チェックボックスの下に追加フィールドが表示されます。
応答タイプ : [ボタン]・[テキスト]・[ファイル]から応答タイプを選択します。
カルーセルUIを使用してボタンを表示 :このオプションをオンにするとボタンがカルーセルUIとして表示されます。
テキスト入力時に回答として使用 : このオプションをオンにすると、ユーザーはボタンオプションを選択する代わりにテキストの入力ができ、テキスト入力時に別のルートを設定できます。 このオプションがオンの場合、複数の回答をオンにすることはできません。
複数の応答選択を許可 : ユーザーに複数の回答を選択いただくことができます。
応答内容を以下の変数に保存する : ユーザーの応答を変数に保存することができます。 直下のドロップダウンメニューから選択、または新規作成が可能です。なお、 [プロジェクト設定]ページの[変数]ページでも変数を新規作成ができます。
「カルーセルUIを使用してボタンを表示」をオンに場合、以下のように表示されます。 左/右アイコンをスクロールまたはクリックすることで、別の選択肢を表示できます。 モバイルでは、スワイプ動作にて同じことを行えます。
ボタンオプションの横にある[その他のオプション]アイコンをクリックすると、オプションの形式(書体等)を変更、削除が可能です。
オプションの形式を変更したあと、ノードエディタでプレビューを確認できます。 この機能を使用して、特定のオプションを強調表示することができます。
また、回答オプションに画像を追加したい場合は、オプションタイプを選択して、画像を選択するか、画像フィールドにドラッグ&ドロップします。
追加した画像は、スキルエディタで確認ができます。 画像はチャットウインドでラベルテキストとともに表示され、クリックすると拡大表示されます。
ボタンオプションでは、URLフィールドにターゲットURLを追加することで、クリックしたときにHTMLリンクを開くことができます。 すべてのボタンオプションタイプ(一般、動的オプション、Q&A)にてこの機能を利用することができます。
応答タイプ : テキストを選択した場合、チャットフローはユーザーがテキスト入力することを想定しているため、追加の設定は必要ありません。
応答内容を以下の変数に保存 : ユーザーの応答を変数に保存することができます。 直下のドロップダウンメニューから選択、または新規作成が可能です。尚、 [プロジェクト設定]ページの[変数]ページでも変数を新規作成が可能です。
応答タイプ : ファイルを選択した場合、チャットフローはユーザーが続行する回答としてファイルをアップロードすることを想定しているため、特に追加の設定は必要ありません。
応答内容を以下の変数に保存 : ユーザーの応答を変数に保存することができます。 直下のドロップダウンメニューから選択、または新規作成が可能です。なお、 [プロジェクト設定]ページの[変数]ページでも変数を新規作成が可能です。
7/16/2021 – オプションからカルーセルUIを使用できるようになりました。 ボタンオプションの代わりにテキストを入力する場合に対する分岐オプションが追加されました。 詳細については[応答追加 – ボタン]項目をご参照ください。
6/23/2021 – ボタンオプションからHTMLリンクを開くことができるようになりました。 詳細については[応答追加 – ボタン]項目をご参照ください。
2/18/2021 – ボタンオプションにイメージを追加できるようになりました。 詳細については[応答追加 – ボタン]項目をご参照ください。
6/16/2020 – 新たな回答オプション[Q&A]が追加されました。また、回答オプション追加のUIが変更されました。 詳細については[応答追加 – ボタン]項目をご参照ください。
を活用してAlliからSlackチャネルにメッセージ(通知)を送信することができます。 たとえば、顧客がAlliのDEMOリクエストを行った場合、該当のSlackチャネルに通知が送信され、エージェントは顧客とすぐに会話を始めることが可能となります。
初めにAlli – Slack連携AlliアカウントとSlackの統合設定を行います。 Alliダッシュボードから[設定]>[外部サービス連携]>[連携ノード]>Slackに移動して設定を行います。 設定の詳細については、を参照してください。
Incoming Webhooks設定ページではメッセージの送信者アイコンなど、さまざまな設定を変更することができます。 ここでは、まずwebhooks URLをコピーします。
Alliダッシュボードでチャットフローを設計します。 キャンペーンを作成したあと、Slackにメッセージを送りたいポイントに外部データ連動ノードを追加します。下のチャットフロー例を参照してください。
上記のチャットフロー例では、顧客が「Alli DEMOの依頼」を選択すると、顧客とエージェントを有人チャットで連結するよう設定しています。 顧客からのリクエストが発生したときにSlackチャネルのエージェントにメッセージ通知を行う必要があるため、外部データ連携ノードを活用します。
(注:Slack Webhooksは何の値も返さないので、外部データ連携ノードの「失敗」は必ず次のノードと接続する必要があります)
データ連携ノードを設定する方法は以下の通りです。
メソッドとして、「POST」を選択します。
Slackから取得したWebhook URLをここに貼り付けます。
「ADVANCED」タブを選択します。
「送信する変数」フィールドに次のJSON形式を利用してメッセージを入力します。{“text”:”送信メッセージ“}
送信するメッセージとして、以下の様に単純なテキストメッセージ、変数の値、リンクが含まれているテキストメッセージが可能です。
設定は以上で完了です。最後にチャット・フローをテストし、Slackにて正常にメッセージを受信できる事を確認ください。
「入力フォーム」ノードを使用すると、保存してエージェントにメール送信するための一連の情報を入力するよう顧客に依頼することができます。この新機能は、顧客からの取得を要する情報がある場合に便利です。
開始するには、ノードアイコンで入力フォームノードを選択します。
このノードは3つの部分により構成されています。1つ目は、顧客に情報を求めるためにここに表示させるメッセージの配置です。
2つ目は、顧客に依頼する情報を指定することです。新たな入力項目を追加するには、「+ 項目を追加」ボタンをクリックします。
下のようにエディタが表示されます。スキルに表示される項目の名前を入力し、顧客が入力する情報を保存するための変数を選択します。オプションの項目を作成する場合は「オプション」にチェックを入れます。
また、ボタンのオプションに画像を追加したい場合は、オプションタイプを選択して、画像を選択するか、画像フィールドにドラッグ&ドロップします。
追加した画像は、スキルエディタで確認ができます。画像はチャットウィンドウでラベルテキストとともに表示され、クリックすると拡大表示されます。
フィールドのデザインが済んだら、「適用」ボタンをクリックして保存します。さらに項目を追加したい場合は、「+ 項目を追加」から手順を繰り返します。
最後に、メールで情報を送信したい場合は、「エージェントにメールで送信」をチェックします。特定のエージェントを選択するか、未選択のままにしてメールを可能なすべてのエージェントに送信することができます。これが選択されていない場合、情報はメール送信されず、各変数に保存されるだけです。
「顧客のメールアドレスに返信」にチェックを入れることで、入力フォームが送信されたことを通知する「no-reply@allganize.ai」からのメールに、顧客情報の変数「@EMAIL」を使用して、顧客へ直接メールを返信することが可能です。この機能を使用する場合は入力フォームなどで必ず顧客のメールアドレスを@EMAILで取得する必要があります。
「適用」をクリックしてノードを保存すると、それはチャットのフローエディタに表示されます。
実際のチャットフローの様子はこのようになっています。
もう一つ、フォームで顧客にファイルをアップロードしてもらうよう依頼することもできます。これは、項目に設定する変数をファイルタイプの変数を選択するだけで済みます。
2021/2/18 – フォームの構築ノードでボタンのオプションに画像を追加できるようになりました。下の「ボタンオプションの追加」トグル部分を参照してください。
apierはカレンダー管理や社内メッセージの送信など、さまざまな繰り返し作業を自動化するためのタスク自動化ツールです。 () ノードを使用してAlliをZapierに接続すると、Alliは多くの反復作業を処理できるようになります。
以下に簡単な連携方法をご紹介します。
1. Zapierダッシュボードから新しいZapを生成し、Appでは、「Webhooks by Zapier」を、Trigger Eventでは「Catch Hook」を選択します。
2. Continueボタンをクリックすると、Custom Webhook URLを確認することが できますので、右の<Copy>
4. 連携ノードの「送信データ」の項目の下でZapierにエクスポートデータを保存 する変数を選択して、キーの値を入力します。そのキーは、以降Zapierで伝達 されたデータを識別するために使用され、単語の最初の文字が自動的に大文字 になり、「_」はスペースに置き換えられます。(例:first_name – > First Name)
ノードとスキルが完成したら、スキルをもう一度実行(プレビューで実行してもよい)して、キー情報を生成しているZapに送信します。
5. Zapierに戻り、[Test trigger]ボタンををクリックします。データが正しく送信されたか確認します。
6. 送信されたKeyを利用して「Do this」の部分を作成してZapを作成します。
以下は休暇を申請する、Googleカレンダーを登録してスラックメッセージを送信するようにZapとAlliスキルを設定した簡単な例です。
AlliとZapier連動を通じた、より多くの自動化の事例について、ブログで紹介する予定です。ご期待ください。
ZapierとAlliを連動すると簡単に様々な業務を自動化することがでます。 ここでは、Alliのを介してアンケート調査を行った結果の概要を、Googleシートにリアルタイムで更新する方法を紹介します。
AlliとZapierを連動するための基本的なガイドは、を参照してください。
Catch Hookトリガー設定を完了した後のZapierダッシュボード設定例について、以下に記載します。なお、 繰り返しになりますが、トリガーの設定方法については、を参照してください。
すべての設定を完了し、Zapをオンにすると、アンケート調査結果が「従業員調査結果ワークシート」の「Sheet1」タブに新しく自動的に記録されます。 そのデータを利用してアンケート調査の結果がリアルタイムに反映されるチャート作成など、必要に応じ活用することができます。
で変数の値に計算式を指定することができます。 簡単な数式だけでなく、様々な関数も利用することができます。
この機能を使用するには、まず、を作成します。「変数を追加」をクリックし、対象の変数を指定して「数式」の形式を選択します。「割り当てられる数式」フィールドに計算式を入力します。 –
上記の例の様に、数式に変数を含めることもできます。 使用できる演算と関数は以下の通りです。
+, -, *, /, ( )
% (係数) 例: 100%2 = 0, 100%8 = 4.
** (乗数) 例: 100**2 = 10,000.
すべての関数は、関数名()の形式で使用します。 例えばabs(-5)などです。
to_number: 値を数値形式に変換します。 例: to_number(‘4’) = 4
to_string: 値を文字列形式に変換します 例: to_string(7) = ‘7’
to_boolean: 値をブール形式に変換します。 例: to_boolean(1) = True
length: 値の長さを返します。 例: length(‘abcde’) = 5
abs: 値の絶対値を返します。 例: abs(-5) = 5
sin, cos, tan: sin、cos、tanの値を返します。 例: tan(90) = 1
ceil, floor, round: 切り上げ、切り下げ、または切り上げ値を返します。 例: floor(2.1) = 2
random, random_int: raandom()は、0から1までの乱数値を返します。 random_int(min、max)は、最小値と最大値の間のランダムな整数値を返します。 例: random_int(-1, 2) = -1, 0, 1, or 2
unix_timestamp: unix時間を返します。 例: unix_timestamp() = 1601672447
以下の関数は、JSONまたは文字列リスト型の変数を編集するために使用されます。 関数に入る値はすべて同じ形式の変数に置き換えられます。 関数で文字列値を使用する場合は、引用符を使用することを忘れないでください。(例:’Allganize’)
形式: dict(key1, value1, key2, value2, …)
キーと値のペアを使用して、JSON型変数の構造を作成します。 キーが存在する場合、関数は値を上書きします。
変数のタイプ : JSON
例: @NAMEが ‘Allganize’ という値を持ち、JSON型の変数を作成したい場合、下記となります。 dict(‘Name’,@NAME,’Email’,’test@allganize.ai’) = {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’}
形式: dict_set(@JSON_variable, key1, value1, key2, value2…)
キーと値をJSON変数に追加します。 キーが存在する場合、関数は値を上書きします。
変数のタイプ : JSON
例: @JSON_VAR が {‘Name’:’Allganize’} を値として持ち、@JSON_VARに’Email’をキー、’test@allganize.ai’を値として追加したい場合、下記となります。 dict_set(@JSON_VAR,’Email’,’test@allganize.ai’) = {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’}
形式: dict_del(@JSON_variable, key)
JSON変数からキーを削除します。
変数のタイプ : JSON
例: @JSON_VAR が{‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’} を値として持ち、Emailのキーを削除する場合、下記となります。 dict_del(@JSON_VAR,’Email’) = {‘Name’:’Allganize’}
形式: dict_update(JSON_variable_1, JSON_variable_2)
2つのJSON変数をマージします。 2つのJSON変数に同じキーがある場合、後者の値が優先されます。
変数のタイプ : JSON
例: @JSON_VAR が {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’}を値として持ち、@JSON_VAR2 が {‘Name’:’Alli’, ‘Type’:’AnswerBot’}を値として持ち、この2つのJSON変数をマージする場合、下記となります。 dict_update(@JSON_VAR, @JSON_VAR2) = {‘Name’:’Alli’, ‘Email’:’test@allganize.ai’, ‘Type’:’AnswerBot’}
形式: json_loads(‘JSON_form’)
JSON形式をJSON変数として保存します。
変数のタイプ : JSON
例: json_loads(‘{“Name”:”Alli”, “Email”:”test@allganize.ai”}’)
形式: json_dumps(@JSON_variable)
JSON変数の値を文字列に変換します。
変数のタイプ: 文字列
例: json_dumps(@JSON_VAR)
形式: list(string1, string2, …)
文字列を使用して文字列リスト型の変数を作成します。
変数のタイプ:文字列リスト
例: list(‘Allganize’, ‘Test’) = [‘Allganize’, ‘Test’]
形式: list_append(@string_list_variable, string1, string2, …)
文字列リストに任意の文字列に追加します。
変数のタイプ:文字列リスト
例: @STR_LIST が 値として[‘Allganize’, ‘Test’]を持ち、’Alli’という文字列を追加する場合、下記となります。list_append(@STR_LIST,”Alli”) = [‘Allganize’, ‘Test’, ‘Alli’]
形式: list_reverse(@string_list_variable)
リストの要素の並び順を逆にします。
変数のタイプ:文字列リスト
例: When @STR_LIST has [‘Allganize’, ‘Test’] as the variable value, list_reverse(@STR_LIST) = [‘Test’, ‘Allganize’]
形式: get_by_json_path(@JSON_variable, JSON_path)
JSON変数からJSONパスを指定することで指定した値を返します。
変数のタイプ: 文字列
例: @JSON_VAR が 値として {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’} を持ち、Emailの値を返す場合は下記となります。 get_by_json_path(@JSON_VAR, ‘$.Email’) = ‘test@allganize.ai’
形式: storage_set(‘key’, @variable) / storage_get(‘key’)
storage_setは、変数値をプロジェクトレベルのキーに保存します。 キーは任意のテキストにすることができます。 保存された値は、storge_getを使用して取得できます。 値を割り当てる変数は、保存された変数と同じタイプである限り、任意のタイプにすることができます。
変数のタイプ:保存された変数と同じタイプ
例: 文字列の変数の値がstorage_set( ‘string’,@string_variable)を使用して保存されている場合、storage_get( ‘string’)を使用してプロジェクト内のスキルまたは顧客の値を取得し、それを文字列変数に割り当てることができます。
形式: contains(@string_list_variable, string)
文字列リストにある文字列が含まれているがどうかを確認し、含まれているかをTrue/Falseで返します。
変数のタイプ: True/False, string
例: @STR_LIST が [‘Allganize’, ‘Test’] を値として持ち、Allganizeという文字列がリストに含まれているかを確認する場合、下記となります。contains(@STR_LIST, ‘Allganize’) = ‘True’
形式: append(@string_list_variable, string)
文字列リストに文字列の要素を追加します。
変数のタイプ:文字列リスト
例: @STR_LIST が [‘Allganize’, ‘Test’]を要素として持ち、リストにVariableという値を追加したい場合、下記となります。contains(@STR_LIST, ‘Variable’) = [‘Allganize’, ‘Test’, ‘Variable’]
形式: unique(@string_list_variable)
文字列リストから重複する値を削除します。
変数のタイプ:文字列リスト
例: @STR_LIST が [‘Allganize’, ‘Test’, ‘Test’] を要素として持ち、重複する値を削除したい場合、下記となります。 unique(@STR_LIST) = [‘Allganize’, ‘Test’]
形式: urlencode(@JSON_variable)
JSONの変数をURLにエンコードされた形式に変換します。
変数のタイプ: 文字列
例: @JSON_VARの中身が {‘key’:’hello world!’}であり、URLにエンコードしたい場合、下記となります。 urlencode(@JSON_VAR) = ‘key=hello+world%21’
形式: urldecode(string)
urlにエンコードされたstring型の変数をJSON形式に変換します。
変数のタイプ: 文字列とJSON
例: @STRの中身が ‘key=hello+world%21’ であり、JSON形式にエンコードしたい場合、下記となります。urldecode(@STR) = {‘key’:’hello world!’}
形式: regex_sub(regex_pattern, string1, string2) or regex_isub(regex_pattern, string1, string2)
ある文字列にある正規表現パターンを別の文字列に置き換えます。 regex_subでは大文字と小文字が区別されますが、regex_isubでは区別されません。
変数のタイプ: 文字列
例: @STRの文字列の値が ‘ooAoO’であり、’o’を大文字・小文字関係なく、Aに置き換えたい場合、下記となります。regex_isub(r’o{2}’, ‘A’, @STR) = ‘AAA’
形式: date_format(regex_date_format, date)
日付を正規表現の日付形式に変換します。
変数のタイプ: 文字列
例: Data型かString型の@DATE が’2020-01-11’を値として持ち、正規表現を用いて特定の日付形式(年-月)に変換したい場合、下記となります。 date_format(r’%Y-%m’, @DATE) = ‘2020-01’
形式: to_date(date_format, YMD_form(optional))
日付を日付形式に変換します。 変換元の日付のフォーマットは下記となります。 YYYYMMDD, YYYY/MM/DD, YYYY-MM-DD, YYYY MM DD, YYYY M D YYYY-M-D, YYYY/M/D, YYMMDD, YY/M/D, YY-M-DD, YY M DD
オプションのYMDフォームにMDYを入力して、入力した日付形式で年/月/日の順序を変更できます。 たとえば、MMDDYY、MM / DD / YYYYなどを使用できます。 下記の例2を参照してください。
0から始まる日付形式は入力できません。
変数のタイプ:文字列または日付形式
例1 : String型か数値である@DATEが’20210602’を値として持っており、日付のフォーマットを揃えたい場合、下記となります。 to_date(@DATE) = ‘2021-06-02’.
例2 :String型か数値である@DATEが’060221’を値として持っており、日付のフォーマットを揃えたい場合、下記となります。 to_date(@DATE, “MDY”) = ‘2021-06-02’.
形式: date_add(date, number)
日付に日数を追加します。
変数のタイプ: 日付
例: Data型かString型の@DATE が’2020-01-11’を値として持ち、2日分日付を進めたい場合、下記となります。 date_add(@DATE, 2) = ‘2020-01-13’
形式: today()
本日の日付を返します。
変数のタイプ: 日付、または、文字列
例:本日の日付が2021年4月15日の場合、下記となります。 today() = ‘2021-04-15’
形式: first_day_of_month()
今月の最初の日付を返します。
変数のタイプ: 日付、または、文字列
例: 本日の日付が2021年4月15日の場合、下記となります first_day_of_month() = ‘2021-04-01’
形式: last_day_of_month()
今月の最後の日付を返します。
変数のタイプ: 日付、または、文字列
例: 本日の日付が2021年4月15日の場合、下記となります。 last_day_of_month() = ‘2021-04-30’
形式: find_all(regex_pattern, string) or find_iall(regex_pattern, string)
文字列から正規表現パターンと一致する最初の結果を見つけて結果を返します。 find_allでは大文字と小文字が区別されますが、find_iallでは区別されません。
変数のタイプ: 文字列
例: @STR が ‘Type of the OS: Windows’ を値として持ち、OS名のみを抽出したい場合、下記となります。 find_iall(r'(windows|mac|linux)’, @STR) = ‘Windows’
形式: substr(string, number)
文字列の最初の[number][数値]文字を返します。
変数のタイプ: 文字列
例: @STR が ‘3months’ を値として持ち、2文字抽出したい場合、下記となります。 substr(@STR, 2) = ‘3m’
オプションを追加 : ユーザーが回答を選択するためのボタンオプションを追加します。 [通常オプション]、[動的オプション]、[Q&A]から選択します。 [一般] : チャットフロー編集時、直接回答を入力することができる固定されたテキスト形式のオプションです。 [動的オプション] : String List、JSON、JSON Listなどの動的変数を利用する回答オプションです。 詳細については、関連するユーザガイドの部分を参照してください。 [Q&A] : ナレッジベース>Q&Aに登録されたQ&Aの質問を回答オプションで選択することができます。 顧客がこのオプションを選択すると、まずQ&Aの回答部分が見られたあと、次のノードに進みます。
入力をそのまま利用する : 有効にした場合、変数の検証設定によって入力値を検証します。 この機能の詳細については、以下のユーザーガイドを参照してください。 – –
入力を回答として検証する 有効にした場合、変数の検証設定によって入力値を検証します。 この機能の詳細については、を参照してください。
ファイルタイプ変数の詳細については、ユーザーガイド-を参照してください。
次にメッセージを送信したいSlackチャンネルのwebhooks URLを取得します。URLを取得する方法は、Slackガイドを参照してください
「オプション」のチェックボックスの下で「ボタンのオプションの追加」トグルをオンにすると、フィールドは上に示すように多項選択式の項目になります。「+ 追加」オプションをクリックして顧客が選択できるボタンのオプションを追加し、オプションのタイプとして「通常」または「ダイナミック」を選択します。ダイナミックのオプションの詳細についてはを参照してください。また、「複数回答」を選択し、顧客がボタンのオプションから複数の回答を選択できるようにすることもできます。
3. Alliダッシュボードに移動しさせたいスキル内の適切な位置に連携 ノード(アドバンスド)を作成します。 URLメソッドではPOSTを選択し、その下のURLフィール ドに、先ほどコピーしたWebhook URLを貼り付けます。
以下のスキルの例は、からVacationType情報を取得し、から残りの情報を取得するように設計しています。
調査結果をZapに送信するには、入力フォームノードとを以下のように設定します。