変数の使用
Microsoft Copilot Studio では、変数を使用して、顧客が入力する重要な情報を後で使用するために格納できます。 たとえば、UserName と呼ばれる変数に顧客の名前を保存できます。会話が継続している間、エージェントが顧客に名前で呼び掛けられるように顧客の名前をメッセージ ノードに挿入するなど、この変数を会話ノードに挿入して、顧客のエクスペリエンスをより個人的なものにできます。
変数を使用すると、顧客を異なる会話パスで動的にルーティングできます。 また、これらを入力パラメーターとして、Power Automate フローまたは Bot Framework スキルにフィードできます。 たとえば、顧客が住んでいる市町村を変数に格納することができます。 Power Automate フローが実行されると、変数を入力パラメーターとして渡すことによって、気象サービスが正しい予測を取得していることを確認できます。
多くの変数の型は、標準エンティティおよびエージェントに定義されたカスタムエンティティに関連付けられています。 完全なエンティティと変数タイプの一覧を参照できます。
変数の作成
変数は、トピックに質問ノードを追加すると自動的に作成されます。 既定では、質問ノードが挿入されると、複数の選択オプションを使用して作成されます。 ただし、事前構築済みまたはカスタム エンティティを使用するには、識別で選択します。
変数名の変更
変数が自動的に作成される場合は、既定の名前または var が付けられます。 これはわかりやすい名前ではありません。 必要に応じて、変数を選択して新しい名前を入力することで、変数の名前を変更できます。 これにより、必要に応じて以降の識別が容易になります。
トピック間の変数の受け渡し
Microsoft Copilot Studio エージェントでの共通のアクションの 1 つは、あいさつの後に「Store Hours」トピックを誰かに送信するなど、1 つのトピックから別のトピックにリダイレクトを行うことです。 別のトピックにリダイレクトする場合は、コピー先のトピックの変数に値を渡すことができます。 また、元のトピックの変数に値を戻すこともできます。 トピック間で変数で渡すことは、そのトピックで必要な情報をすでに得ている場合に特に便利です。 ユーザーは、質問に再度答える必要がないことを好ましく思うでしょう。 たとえば、Greeting トピックで既にユーザーの名前をキャプチャしている場合は、リダイレクト先の Store Hours トピックで使用されるユーザー名がわかっています。 このトピックにリダイレクトする際に、「Store Hours」トピックへユーザー名を容易に渡すことができます。
他のトピックから値を受け取る
トピックで変数を定義する場合 (質問ノードの挿入など)、質問に対するユーザーの回答は、その質問に関連付けられている変数に入力されます。 既に値がわかっているため、再度質問をする理由がありません。 この場合は、他のトピックから値を受け取りますとして変数を定義できます。
つまり、別のトピックがこのトピックに値をリダイレクトする場合、別のトピックが変数をこの変数に渡し、質問をスキップすることができます。 ユーザーからエージェントへの会話のエクスペリエンスはシームレスです。
リダイレクト ノードを構成する場合、コピー先のトピックに入力する変数を定義する必要があります。 コピー先のトピックで設定する変数を指定した後に、現在のトピックで使用する値を指定します。 たとえば、下記の画像では、「Restaurant list」というトピックにリダイレクトされます。 「Restaurant list」トピックの Area 変数は、リダイレクト中のトピックから Var と呼ばれるテキスト変数に設定されています。
他のトピックからの値の受け取りについての詳細およびステップ バイ ステップの手順については、他のトピックから値を受け取るを参照してください。
値を元のトピックに返す
トピックが質問を行う場合や、何らかの方法でアクションから変数を取得する場合、その変数はリダイレクトされた元のトピックに返されます。
この場合、変数は元のトピックにも含まれるため、他の変数と同様に使用できます。 これはトピックの構築に役立ち、エージェントが取得する情報をトピックに渡って使用できるため、グローバル変数の必要性を低減します。 グローバル変数については次のユニットで説明します。
詳細とステップ バイ ステップの手順については、「値を元のトピックに返す」を参照してください。
変数の操作についての詳細な説明は、変数を使用するを参照してください。