Copilot Studio – как сохранить/конвертировать переменную выбора в строку?

Вопрос или проблема

Что я делаю:

В данный момент я пытаюсь создать чат-бота в Copilot Studio для внутренних заказов. Пользователь может выбрать, какой продукт он хочет купить.

Что я хочу:

Копилот должен предоставить список вариантов в вопросе “Какой из них..?”. Выбранный (пользователем) вариант должен быть отправлен в поток PowerAutomate.

В чем моя проблема:

Выбор пользователя сохраняется как “выбор”, а не как “строка”. А мой поток PowerAutomate требует строку, поэтому я получаю “BindingIncorrectTypeError”. К сожалению, нет опции “Сохранить выбор как строку” или “Преобразовать в строку”.
BindingIncorrectTypeError

Единственное решение, которое сработало до сих пор:

Для каждого варианта создать условие if. Там установить строковую переменную “KeyboardChoiceUser” со значением. Но тогда поток содержит жестко закодированные части, и я не могу просто изменить OptionsEmbeddedList.
Мое решение

Мой вопрос:

Есть ли вариант, который я не увидел?
Если нет, есть ли лучший способ, чем мой?

Ответ или решение

Чтобы решить вашу проблему с сохранением/конвертацией переменной типа "выбор" в строку в Copilot Studio, следуйте приведённым ниже шагам:

1. Понимание структуры переменной

Переменные типа "выбор" (choice) представляют собой объекты, которые могут содержать дополнительные метаданные (например, идентификатор выбора, отображаемое имя и т.д.). Чтобы отправить значение в Power Automate в виде строки, вам нужно получить непосредственно текстовое значение.

2. Конвертация переменной "выбор" в строку

Хотя в интерфейсе Copilot Studio может не быть прямого способа конвертации переменной "выбор" в строку, вы можете использовать следующий подход:

  • Используйте действие или функцию, которая позволит вам извлечь выбранное значение из переменной выбора. Обычно это можно сделать через доступ к свойству переменной.

Пример

Предположим, что у вас есть переменная UserChoice, которая содержит выбранный элемент. Чтобы извлечь строковое значение из этой переменной, используйте следующий метод:

let selectedOptionText = UserChoice.value; // где `value` - это свойство, содержащее строковое значение

Здесь selectedOptionText теперь будет строковым значением, которое вы можете передать в Power Automate.

3. Отправка в Power Automate

После того как вы получили строку из переменной выбора, следующим шагом будет отправка этой строки в ваш поток Power Automate.

sendToPowerAutomate(selectedOptionText);

4. Использование модели данных

Если вам нужно динамически обновлять список доступных вариантов, рассмотрите возможность использования внешнего источника данных, например, базы данных или API, из которого ваш чат-бот будет получать данные о продуктах. Это позволит вам легко добавлять и удалять продукты без изменения кода в самой модели чата.

5. Общие рекомендации

  • Проверяйте документацию Copilot Studio на наличие обновлений, которые могут включать новые функции, упрощающие преобразование типов переменных.
  • Рассмотрите возможность использования дополнительных библиотек или утилит для работы с данными, если стандартные функции Copilot Studio не удовлетворяют ваши потребности.

Заключение

Вместо создания множества условий, которые могут усложнить код, используйте метод получения текстового значения из переменной выбора, что позволит вам сократить количество кода и сделать его более понятным. Если потребуются дальнейшие пояснения или помощь, не стесняйтесь задавать дополнительные вопросы.

Оцените материал
Добавить комментарий

Капча загружается...