Menggunakan variabel
Anda dapat menggunakan variabel untuk menyimpan respons pelanggan dan menggunakan kembali konten mereka nanti dalam percakapan.
Anda juga dapat menggunakan variabel untuk membuat ekspresi logika yang secara dinamis mengarahkan pelanggan ke jalur percakapan yang berbeda. Misalnya, simpan nama pelanggan dalam variabel bernama "customerName", dan agen dapat menyapa pelanggan tersebut dengan namanya saat percakapan berlanjut.
Variabel juga dapat diteruskan ke, dan dikembalikan dari, topik dan Power Automate alur lain.
Membuat variabel
Setiap node yang meminta Anda memilih suatu variabel sebagai output, seperti node Pertanyaan , secara otomatis membuat variabel output dengan tipe yang sesuai.
Tip
Ubah nama node agar lebih mudah diidentifikasi. Pilih bidang nama node untuk memperbarui nama secara langsung, atau pilih ikon Lainnya (…) pada node dan pilih Ganti Nama dari menu. Anda juga dapat mengganti nama node di editor kode.
Tidak dimungkinkan untuk mengganti nama node Pemicu dan node Pergi ke langkah .
Nama node dapat berjumlah hingga 500 karakter.
Pilih entitas untuk digunakan
Node pertanyaan dibuat dengan opsi pilihan ganda secara default. Untuk menggunakan entitas siap pakai atau kustom yang berbeda, pilih kotak Identifikasi dan pilih jenis informasi yang harus didengarkan oleh agen.
Ubah Nama Variabel
Variabel secara otomatis diberi nama saat Anda membuatnya. Praktik terbaiknya adalah memberi variabel Anda nama yang bermakna agar tujuannya jelas bagi siapa pun yang harus mengelola agen Anda.
Pilih variabel untuk membukanya di panel Properti variabel .
Di bawah Nama variabel, masukkan nama baru untuk variabel Anda.
Tetapkan variabel
Biasanya Anda menggunakan node Pertanyaan untuk menyimpan masukan pengguna dalam suatu variabel. Namun, mungkin ada situasi di mana Anda ingin menetapkan nilai variabel sendiri. Dalam kasus tersebut, gunakan node Tetapkan Nilai Variabel .
Pilih Tambahkan simpul (+) untuk menambahkan simpul, lalu pilih Manajemen variabel>Tetapkan nilai variabel.
Pilih kotak di bawah Tetapkan variabel, lalu pilih Buat variabel baru.
Variabel baru dibuat. Jenisnya tidak diketahui hingga Anda menetapkan nilai padanya.
Untuk Nilai, tetapkan nilai menggunakan salah satu opsi berikut:
- Ketik nilai literal.
- Pilih variabel yang ada dengan tipe yang sama. Tindakan ini menetapkan variabel Anda ke nilai yang sama dengan variabel yang Anda pilih.
- Gunakan Power Fx rumus. Power Fx rumus berguna untuk tipe yang lebih kompleks di mana nilai literal tidak dapat digunakan, seperti tipe Tabel dan Rekaman.
Catatan
Saat menetapkan variabel tipe string, jika Anda menemukan ketidakcocokan antara Tetapkan variabel dan Ke nilai, pesan kesalahan dan tombol Perbaiki ketidakcocokan tipe akan muncul. Pilih tombol untuk membuat Copilot Studio rumus Power Fx secara otomatis yang mengatasi ketidakcocokan.
Menggunakan variabel dalam node tindakan
Saat Anda menggunakan variabel di node tindakan, jika tipe dasarnya cocok dengan tipe parameter yang ditetapkan untuk alur, atau untuk Bot Framework keterampilan, Anda dapat memasukkannya ke parameter tersebut. Output dari simpul tindakan menghasilkan variabel baru.
Gunakan nilai literal untuk input variabel
Pada node tempat Anda dapat menetapkan nilai untuk parameter input, Anda selalu dapat memasukkan nilai literal alih-alih memilih variabel lain sebagai nilai.
Node tersebut mencoba menafsirkan nilai literal sebagai string, angka, atau Boolean. Misalnya, 123 diartikan sebagai angka. Jika Anda ingin nilainya ditafsirkan sebagai nilai string, Anda dapat membungkus nilai tersebut dalam tanda kutip ganda, seperti ini: "123".
Untuk beberapa skenario (misalnya, skenario yang menggunakan tipe kompleks), Anda mungkin perlu menggunakan Power Fx rumus untuk menetapkan tipe tertentu.
Gunakan variabel lingkungan untuk rahasia Azure Key Vault
Variabel lingkungan dapat merujuk ke rahasia di Key Vault. Variabel lingkungan rahasia adalah kasus khusus dari variabel lingkungan dengan pertimbangan yang unik.
Untuk membuat variabel lingkungan rahasia di Power Apps portal, Anda harus mengonfigurasi Key Vault-nya.
Untuk memberi otorisasi Copilot Studio untuk membaca Key Vault ini, Anda harus melakukan tindakan berikut:
Tetapkan
Key Vault Secrets User
peran keMicrosoft Virtual Agents Service
aplikasi.Untuk mengizinkan semua agen dari lingkungan untuk mengakses rahasia, buat tag
AllowedEnvironments
pada rahasia dan tambahkan ID lingkungan yang diizinkan dipisahkan dengan koma.Untuk mengizinkan hanya agen tertentu dari lingkungan untuk menggunakan Key Vault ini, buat tag
AllowedAgents
dan masukkan pengenal agen dalam format{envId}/{schemaName}
. Untuk beberapa nilai, pisahkan nilai dengan koma.
Jika Anda mencapai jumlah karakter maksimum tetapi masih perlu menambahkan lebih banyak agen, tambahkan tag lain dengan nama yang deskriptif tetapi unik (misalnya: AllowedAgents2
).
Nilai rahasia di-cache dalam runtime Dialog selama lima menit. Pembacaan yang gagal akan di-cache selama 30 detik.
Peringatan
Dengan menambahkan rahasia dalam agen, Anda dapat memaparkan nilai rahasia ini kepada semua pengguna yang dapat mengedit agen dalam lingkungan tersebut, karena pengguna tersebut dapat mengedit agen untuk mengembalikan nilai dalam SendMessage
node.
Panel variabel
Panel Variabel adalah tempat Anda dapat melihat semua variabel yang tersedia untuk suatu topik, apa pun simpul tempat variabel tersebut didefinisikan atau digunakan. Untuk setiap variabel, Anda dapat memilih apakah variabel tersebut dapat menerima nilainya dari topik lain, mengembalikan nilainya ke topik lain, atau keduanya. Anda juga dapat memilih variabel untuk mengedit propertinya di panel Properti variabel .
Untuk membuka panel Variabel , di bilah menu topik, pilih Variabel.
Panel properti variabel
Di panel Properti variabel , Anda dapat mengganti nama variabel, melihat di mana variabel tersebut digunakan, atau mengubahnya menjadi variabel global. Namun, Anda tidak dapat mengubah kembali variabel global ke variabel topik. Anda juga dapat memilih apakah variabel topik dapat menerima nilai dari atau meneruskan nilainya ke topik lain.
Untuk membuka panel Properti variabel untuk suatu variabel, pilih variabel yang diinginkan di panel Variabel . Anda juga dapat membuka panel Properti variabel dengan memilih variabel di node mana pun.
Melewati variabel antar topik
Saat Anda mengalihkan satu topik ke topik lain, Anda dapat meneruskan nilai variabel dari topik asal ke topik tujuan dan juga mengembalikan nilai dari topik tujuan ke topik asal. Melewati variabel antar topik terutama berguna ketika topik sebelumnya telah mengumpulkan informasi yang dibutuhkan topik berikutnya. Pengguna Anda akan senang karena tidak perlu menjawab pertanyaan yang sama lagi.
Terima nilai dari topik lain
Ketika suatu topik mendefinisikan suatu variabel (misalnya, dalam sebuah node Pertanyaan ), agen menanyakan pertanyaan kepada pengguna untuk mengisi nilai variabel. Jika agen telah memperoleh nilai di topik sebelumnya, tidak ada alasan untuk menanyakan pertanyaan itu lagi. Dalam kasus ini, Anda dapat mengatur variabel untuk Menerima nilai dari topik lain. Bila topik lain mengalihkan ke topik ini, ia dapat meneruskan nilai variabel atau nilai literal ke variabel ini, dan melewatkan pertanyaan. Pengalaman pengguna saat berbicara dengan agen berjalan lancar.
Dalam contoh ini, kami menggunakan dua topik, Salam dan Bicara dengan Pelanggan. Kedua topik menanyakan nama pelanggan. Namun, jika topik Salam dijalankan terlebih dahulu, topik Bicara dengan Pelanggan akan melewati pertanyaannya. Sebaliknya, ia menggunakan nilai variabel yang dilewatkan dari topik Salam .
Berikut alur topik Bicara dengan Pelanggan :
Seperti yang ditunjukkan pada panel pengujian, jika topik ini dipicu terlebih dahulu, panel akan menanyakan kepada pengguna, "Saya harus memanggil Anda apa?" Panel akan menyimpan nilai dalam variabel string yang disebut customerName. Variabel customerName juga diatur untuk mendapatkan nilainya dari topik lain. Topik diakhiri dengan pesan, "Saya harap Anda mengalami hari yang menyenangkan, customerName!"
Berikut alur topik Salam :
Seperti yang ditunjukkan pada panel pengujian, jika topik ini dipicu terlebih dahulu, panel akan menanyakan kepada pengguna, "Siapa nama Anda?" Panel akan menyimpan nilai dalam variabel string yang disebut customerName. Topik mengirimkan pesan, "Senang bertemu dengan Anda, customerName!" Kemudian dialihkan ke topik Talk to Customer , yang mengirimkan pesan, "Semoga Anda mengalami hari yang menyenangkan, customerName!" Namun, perlu dicatat bahwa topik Talk to Customer tidak menanyakan nama pengguna lagi. Sebaliknya, ia menggunakan nilai variabel customerName yang diteruskan dari topik Greeting .
Akhirnya, inilah percakapan kedua lagi, kali ini dari sudut pandang topik Berbicara dengan Pelanggan :
Mari kita telusuri langkah-langkah untuk menyiapkan topik guna menerima nilai dari topik lain. Skenario contoh kami menggunakan topik yang telah ditetapkan sebelumnya Greeting sebagai topik sumber, dan topik baru Talk to Customer sebagai topik tujuan, tetapi langkah yang sama berlaku untuk topik apa pun yang harus menggunakan nilai dari topik sebelumnya jika memungkinkan.
Siapkan topik tujuan
Topik tujuan adalah topik yang dituju, topik yang akan menerima nilai dari topik lain. Dalam contoh kita, namanya Bicara dengan Pelanggan.
Buat topik baru dan beri nama "Bicara dengan Pelanggan."
Tambahkan frasa pemicu seperti "bicara padaku", "bicara denganku", "ngobrol denganku".
Tambahkan simpul Pertanyaan dan masukkan "Saya harus memanggil Anda apa?" untuk pesan tersebut.
Di bawah Identifikasi, pilih entitas yang telah dibuat sebelumnya Nama orang.
Pilih nama variabel. Panel Properti variabel terbuka.
Ganti nama default dengan "customerName", lalu pilih Terima nilai dari topik lain.
Tambahkan node Pesan .
Pada kotak pesan, masukkan "Saya harap Anda memiliki hari yang indah".
Pilih ikon Sisipkan variabel ({x}), lalu pilih namaPelanggan.
Pilih spasi setelah variabel dan masukkan "!".
Simpan topik.
Siapkan topik sumber
Topik sumber adalah topik yang melakukan pengalihan, topik yang menyediakan nilai dan meneruskannya ke topik tujuan. Dalam contoh kita, namanya adalah Salam.
Buka topik Greeting dan hapus simpul default, kecuali simpul Trigger .
Tambahkan simpul Pertanyaan dan masukkan "Siapa nama Anda?" untuk pesan tersebut.
Di bawah Identifikasi, pilih entitas yang telah dibuat sebelumnya Nama orang.
Ganti nama default dengan "customerNameFromGreeting".
Tambahkan node Pesan .
Pada kotak pesan, masukkan "Senang bertemu Anda, ".
Pilih ikon Sisipkan variabel ({x}), lalu pilih customerNameFromGreeting.
Pilih spasi setelah variabel dan masukkan "!".
Tambahkan node Redirect , dan pilih topik tujuan Talk to Customer.
Pilih Tambahkan input, lalu pilih variabel dari topik tujuan yang ingin Anda berikan nilai.
Pilih ikon > , lalu pilih variabel yang nilainya ingin Anda teruskan, customerNameFromGreeting, dalam contoh ini.
Node Redirect harus terlihat seperti ini:
Simpan topik.
Kembalikan nilai ke topik awal
Ketika suatu topik dialihkan dan memperoleh suatu variabel dengan mengajukan pertanyaan atau dengan cara lain, variabel tersebut dapat dikembalikan ke topik asal. Variabel tersebut menjadi bagian dari topik asli dan dapat digunakan seperti variabel lainnya. Informasi yang diperoleh agen dengan demikian tersedia di berbagai topik, sehingga mengurangi kebutuhan akan variabel global.
Mari kita lanjutkan dengan contoh dari bagian sebelumnya. Kami mengajukan pertanyaan baru dalam topik Bicara dengan Pelanggan , lalu mengembalikan jawaban ke topik Salam .
Siapkan topik sumber untuk variabel yang dikembalikan
Saat Anda mengembalikan suatu variabel ke suatu topik, topik sumber adalah topik yang menyediakan nilai untuk diteruskan kembali ke topik asli. Dalam contoh ini, topik sumbernya adalah Bicara dengan Pelanggan.
Buka topik sumber.
Tambahkan simpul Pertanyaan dan masukkan "Di kota mana Anda tinggal?" untuk pesan tersebut.
Di bawah Identifikasi, pilih entitas yang telah dibuat sebelumnya Kota.
Pilih variabel untuk membuka panel Properti variabel . Beri nama "customerCity," lalu pilih Kembalikan nilai ke topik asli.
Tambahkan node Pesan .
Pilih ikon Sisipkan variabel ({x}), lalu pilih customerCity.
Setelah variabel di kotak pesan, masukkan "pasti indah saat ini!".
Simpan topik.
Siapkan topik tujuan untuk variabel yang dikembalikan
Saat Anda mengembalikan suatu variabel ke suatu topik, topik tujuan adalah topik yang menerima nilai dari topik saat ini. Dalam contoh kita, topik tujuannya adalah Greeting.
Buka topik tujuan.
Variabel yang Anda pilih dalam topik sumber akan muncul pada node Redirect sebagai variabel keluaran.
Simpan topik.
Nilai simpul parsing
Node Parse value memungkinkan Anda mengonversi nilai dari satu tipe ke nilai tipe lain. Saat menambahkan node ke topik, pilih ikon Tambahkan node, arahkan ke Manajemen variabel, dan pilih Parse nilai.
Skenario utama yang menggunakan node Parse value berfokus pada pengubahan JSON mentah atau variabel tak bertipe (yang nilai atau strukturnya tidak diketahui hingga waktu proses; misalnya ChannelData) menjadi tipe konkret.
Prosesnya dimulai saat suatu aliran dipanggil, yang kemudian memanggil API. API kemudian mengembalikan hasil. Biasanya, Anda perlu mengurai respons ini dan mengembalikan satu atau lebih variabel primitif. Dengan node Parse value , Anda dapat mengirim seluruh hasil API sebagai string. Contoh:
{
"Name": "Parker",
"Position": "Product manager",
"Company": "Contoso",
"FormerPositions": [{
"Position": "Customer service representative"
}
]
}
Variabel string yang Anda miliki sekarang dapat dikonversi ke variabel Record, dengan dukungan intellisense penuh di Power Fx, menggunakan node baru ini. Contoh penggunaan data sampel akan membantu mengilustrasikan proses ini.
Contoh penggunaan simpul nilai Parse
Tambahkan node Parse value , dan pilih variabel yang ingin Anda parsing.
Pilih tipe data. Dalam kasus ini pilih Dari Data Sampel.
Pilih Dapatkan Skema dari Contoh JSON dan masukkan contoh JSON yang diinginkan di editor yang terbuka.
Terakhir, tentukan variabel mana yang ingin Anda tempatkan nilai yang diurai. Biasanya Anda akan membuat variabel baru untuk ini.
Perhatikan bahwa variabel keluaran sekarang bertipe benar: Rekam.
Selain mengurai string JSON, penggunaan utama dari node Parse value adalah mengurai UntypedObjects pada waktu proses. Kasus penggunaan yang paling umum adalah ketika Anda menerima suatu kejadian dan Anda perlu mengurai nilai kejadian tersebut. Atau Anda mungkin ingin mengurai properti System.Activity.ChannelData, yang bervariasi saat runtime berdasarkan saluran.
Jika Anda hendak mengurai informasi dari suatu acara yang berasal dari Teams, Anda perlu menggunakan dokumentasi pengembang Teams untuk menemukan contoh tentang seperti apa acara yang diharapkan, lalu menggunakan contoh ini sebagai data sampel sebagaimana diuraikan sebelumnya di bagian ini.