アクションフロー
アクションフローとは、複数のアクションを連続して実行する機能のことです。
アクションの戻り値を別のアクションに渡すアクションチェイン機能も備えています。
使用場面
アクションフローは、以下の機能から呼び出されます。
- トリガー発動時
- アクション即時実行時
- シナリオ実行時
アクション
以下の種類のアクションが用意されています。フィルターフックを利用して独自のアクションを追加することも可能です。
- 情報を取得して返すアクション
- 情報を検索して返すアクション
- メッセージ送信などの動作を行うアクション
アクションはAI応答のFunction Calling機能で使用するFunctionと共用です。
アクションの戻り値
戻り値をLINEメッセージで送信
チェックをいれると、アクションの戻り値が、Webhookイベントの送信元に応答メッセージとして送信されます。
戻り値の型によって、送信されるメッセージが異なります。
- 文字列: LINEテキストメッセージとして送信
- LINE\LINEBot\MessageBuilderのインスタンス: LINEメッセージオブジェクトとして送信
- その他: ダンプしたものをLINEテキストメッセージとして送信
応答メッセージとして送信されるのは、トリガータイプがWebhookイベントの場合のみです。
トリガータイプがスケジュールの場合はチェックを入れても戻り値はLINEメッセージとしては送信されません。
その場合、アクションチェイン機能を用いて「LINEメッセージ送信」アクションの引数にユーザーIDとチャネルをセットすることで、希望のユーザーへLINEメッセージを送信できます。
変数の埋め込み
アクションの引数が文字列の場合、各変数を埋め込んで使用することができます。
アクションの戻り値
順次実行されていくアクションの戻り値を、それ以降のアクションの引数内のプレースホルダーで使用することができます。
{{$.return.アクション番号}}
アクション番号は、1から始まるアクションの順番です。
対象アクションの戻り値が配列の場合、アクション番号に続けて「.キー」を追加することで、特定の値だけを取り出せます。
例) アクション-1(アクション番号1)に「現在日時取得」アクションを設定します。
ア クション-2(アクション番号2)に「LINEテキストメッセージ取得」を設定します。
アクション-2のparametersのbodyに「現在時刻は{{$.return.1.datetime}}
です。」と入力します。
これにより、現在時刻がメッセージ内に埋め込まれて送信されます。
Webhookイベントデータ
受信したWebhookイベントに含まれるデータを使用できます。
{{$.webhook.イベントオブジェクトのプロパティ}}
例)公式アカウントに送信されたテキストメッセージを使用する場合
{{$.webhook.message.text}}
例)ポストバックデータを使用する場合
dataをそのまま使用する場合{{$.webhook.postback.data}}
で使用できます。
dataがクエリストリングの場合、パースしたものがparamsに入ります。
例)ポストバックでメッセージIDを指定して返信する
dataがaction=message&slc_message_id=1354
の場合,slc_message_idの値である「1354」を取得するために{{$.webhook.postback.params.slc_message_id}}
が使用できます。
これを活用することで、action=messagee
で発動する共通のトリガーを一つ作成し、アクションに「LINE Connectメッセージ取得」を設定し、アクションチェインで送信したいメッセージIDを注入すれば、一つ一つトリ ガーを作成する必要がなくなります。
設定例
例)ポストバックでプロフィール項目を設定する
dataがaction=profile&key=value
のポストバックを作成し、トリガーでaction=profile
で発動するように設定します。
アクションで「LINEユーザープロフィール更新」を選択し、keyに{{$.webhook.postback.params.key}}
,valueに{{$.webhook.postback.params.value}}
を入力します。
設定例
ユーザーデータ
Webhookイベント送信元ユーザーのデータを使用できます。
{{$.user.WPUserオブジェクトのプロパティ}}
例)ユーザーの表示名を使用する場合
WordPressユーザーと連携済みの場合は、WordPressユーザーの表示名が、未連携の場合はLINEユーザーの表示名が取得できます。
{{$.user.data.display_name}}
LINEユーザーのプロフィール(プロフィール画像URLなど)は{{$.user.profile.プロフィールプロパティ}}
で使用できます。
プロフィールプロパティとして使える値はdisplayName
、pictureUrl
、language
、statusMessage
が標準で用意されています。
加えて、プロフィール更新アクションで設定した独自の項目名も使用可能です。
アクションチェイン
アクションの引数がオブジェクトやあらかじめ決められた定数から選択する形式の場合は変数の埋め込みが行えません。
その場合、チェインルールを追加することで、任意のアクションの戻り値をそれ以降のアクションの引数に注入することができます。
注入先引数
注入先引数の指定方法: アクション番号.引数名
- アクション番号: 1から始まるアクションの順番
- 引数名: それぞれのアクションで必要とする引数に対応する名前
例)アクション-2のmessageを注入先引数として指定する場合:
2.message
({{ }}
で囲む必要がないことに注意してください)
データ
注入するデータには文字列を使用したり、変数の埋め込みが可能です。