次の方法で共有


アダプティブ カードで質問する

アダプティブ カード: 他のクラウド アプリやサービスともオープンにやり取りできるスニペット コンテンツを Copilot Studio のコパイロットに追加することができます。 コパイロットに高度な会話機能を提供するために、テキスト、グラフィック、ボタンを JSON 表現として含めることができます。 アダプティブ カードはプラットフォームに依存しないため、ニーズに合わせて簡単にカスタマイズできます。

アダプティブ カード デザイナー を使用してアダプティブ カードをデザインするか、JSON コードを使用して直接作成します。 アダプティブ カード ノードを使用すると、1 つ以上の送信ボタンと、オプションで 1 つ以上のフォーム入力フィールドを含むアダプティブ カードを送信できます。 次に、Copilot Studio はユーザーの応答を変数に保存し、後で会話で使用できるようにします。

ノードでは、ユーザーに送信するカードの JSON を提供したり、カードを表す Power Fx 式を提供することで、動的な情報をカードに含めることができます。 ノード上の他のプロパティ を使用すると、ユーザーが無効な応答を入力した場合の対処方法や、ノードを中断できるかどうかなどの動作を制御できます。

アダプティブ カード ノードは、ユーザーが応答を送信することが想定される対話型カードに使用されます。 メッセージ および 質問 ノードは、ユーザーに情報を表示するための非対話型カードをユーザーに提示するために使用することができます。

チップ

名前を変更し、ノードを識別しやすくします。 ノードの名前フィールドを選択して名前を直接更新するか、ノードのその他 () アイコンを選択してメニューから名前の変更を選択します。 コード エディターでノードの名前を変更することもできます

トリガー ノードと 手順 に移動 ノードの名前を変更することはできません。

ノード名の長さは 500 文字までです。

前提条件

アダプティブ カード ノードを追加する

  1. ノードを追加 (+) を選択し、アダプティブ カードで質問する を選択します。

  2. 質問 ノードのその他アイコン () を選択し、プロパティ を選択します。

    ノードのプロパティ ペインが表示されます。

  3. JSON の編集 セクションでカードの JSON を入力します。

    JSON エディターの大きなビューを開くには、拡大アイコンを選択します。

    展開アイコンが強調表示された、アダプティブ カード ノードの JSON エディターのスクリーンショット。

    チップ

    ユーザーがコパイロットに情報を送信できるインタラクティブなカードである必要があるため、カードには少なくとも 1 つの送信ボタンが含まれている必要があります。 あるいは、コパイロットユーザーに情報を表示するためだけのものであれば、Message ノードに添付ファイルとしてカードを追加してください。

  4. カードの JSON コードをエディターに追加したら、エディターの外側を選択します。 ノードはカードのプレビューで更新されます。 Copilot Studio は、カード内で検出された入力に基づいて出力変数を自動的に作成します。

    カードのプレビューを含むアダプティブ カード ノードのスクリーンショット。

    チップ

    カード用に生成された出力変数が正しくない場合、プロパティペインの JSON エディタの下にある スキーマの編集ボタンを選択することで、変数のリストとそのタイプを手動で更新することができます。 この例では、4 つの文字列 (テキスト) 変数を定義します。

    アダプティブ カード ノードのスキーマ エディターのスクリーンショット。

  5. 対話型アダプティブ カードの準備が整いました。 コパイロットのユーザーがカード上の送信ボタンを使用すると、出力変数にその応答が入力されます。

その他のプロパティ

その他のプロパティを使用すると、アダプティブ カード ノードの動作を制御できます。たとえば、次のようになります:

  • コパイロットが無効な応答に応答する方法
  • 中断できる場合

コパイロットが現在アダプティブ カードからの送信を待っており、ユーザーが代わりにテキストメッセージを送信した場合、メッセージが中断のトリガーとならない限り、これは無効な応答と見なされます。 この場合、次のプロパティが動作を決定します。

  • 再プロンプトの回数: コパイロットがカードから有効な送信を取得しようと試行する回数。 最大 2 回繰り返すが既定となります。 1 回繰り返すまたは繰り返さないを選択することもできます。 再試行のたびに、カードがユーザーに再送信されます。

  • プロンプトの再試行: このプロパティを使用して、カードの繰り返しとともに、再試行が発生したときに送信されるメッセージを定義します。 再試行メッセージを定義するには、カスタマイズ を選択し、新しいプロンプトを入力します。

  • 別のトピックへの切り替えを許可する: ェックされている場合 (既定)、コパイロットがカードの提出を待っているときにユーザーからメッセージが着信すると、割り込みが発生し、別のトピックに切り替わります。 トピック スイッチが発生した場合、中断した トピック が完了すると、カードはユーザーに再度送信されます。

Power Fx を使用してカードを動的にする

Power Fx を使用して、カード内の トピック またはコパイロットから 1 つ以上の変数を参照することにより、カードに動的な情報を含めることができます。

  1. 質問 ノードのその他アイコン () を選択し、プロパティ を選択します。

    ノードのプロパティ ペインが表示されます。

  2. JSON の編集 ボタンを選択してから 数式 を選択します。 数式 を選択すると、カード内の JSON が Power Fx 表現に自動的に変換されます。

    アダプティブ カード ノードの JSON エディターで JSON ではなく数式に切り替えるオプションのスクリーンショット。

JSON 例

以下は、カードとその結果 Power Fx の JSON の例です。ここでは、ハードコードされたテキストの代わりに、2つの変数 Topic.TitleTopic.Subtitle が使用されています。

  {
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.5",
    "body": [
        {
            "type": "ColumnSet",
            "columns": [
                {
                    "type": "Column",
                    "width": 2,
                    "items": [
                        {
                            "type": "TextBlock",
                            "text": "Tell us about yourself",
                            "weight": "Bolder",
                            "size": "Medium",
                            "wrap": true,
                            "style": "heading"
                        },
                        {
                            "type": "TextBlock",
                            "text": "We just need a few more details to get you booked for the trip of a lifetime!",
                            "isSubtle": true,
                            "wrap": true
                        },
                        {
                            "type": "Input.Text",
                            "id": "myName",
                            "label": "Your name (Last, First)",
                            "isRequired": true,
                            "regex": "^[A-Z][a-z]+, [A-Z][a-z]+$",
                            "errorMessage": "Please enter your name in the specified format"
                        }
                    ]
                }
            ]
        }
    ],
    "actions": [
        {
            "type": "Action.Submit",
            "title": "Submit"
        }
    ]
  }  

Power Fx

  {
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.5",
  "body": [
    {
      "type": "ColumnSet",
      "columns": [
        {
          "type": "Column",
          "width": "2",
          "items": [
            {
              "type": "TextBlock",
              "text": "Topic.Title",
              "weight": "Bolder",
              "size": "Medium",
              "wrap": true,
              "style": "heading"
            },
            {
              "type": "TextBlock",
              "text": "Topic.Subtitle",
              "isSubtle": true,
              "wrap": true
            },
            {
              "type": "Input.Text",
              "id": "myName",
              "label": "Your name (Last, First)",
              "isRequired": true,
              "regex": "^[A-Z][a-z]+, [A-Z][a-z]+$",
              "errorMessage": "Please enter your name in the specified format"
            }
          ]
        }
      ]
    }
  ],
  "actions": [
    {
      "type": "Action.Submit",
      "title": "Submit"
    }
  ]
}