Bagikan melalui


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 logis yang secara dinamis mengarahkan pelanggan ke jalur percakapan yang berbeda. Misalnya, simpan nama pelanggan dalam variabel yang disebut "customerName", dan agen dapat memanggil pelanggan dengan nama saat percakapan berlanjut.

Variabel juga dapat diteruskan ke, dan dikembalikan dari, topik lain dan alur Power Automate.

Membuat variabel

Simpul apa pun yang mengembalikan output, seperti sebuah node Pertanyaan, secara otomatis membuat variabel keluaran dari jenis yang sesuai.

Cuplikan layar node Pertanyaan, dengan nama default dan jenis variabel disorot.

Tip

Ganti nama node agar lebih mudah diidentifikasi. Pilih bidang nama simpul untuk memperbarui nama secara langsung, atau pilih tiga titik (...) simpul dan pilih Ganti nama dari menu. Anda juga dapat mengganti nama node di editor kode.

Tidak mungkin mengganti nama node Pemicu dan node Menuju langkah.

Nama node dapat memiliki panjang hingga 500 karakter.

Pilih entitas untuk digunakan

Node pertanyaan dibuat dengan opsi pilihan ganda secara default. Untuk menggunakan entitas bawaan atau kustom yang berbeda, pilih kotak Identifikasi , lalu pilih jenis informasi yang diinginkan.

Tangkapan layar node Pertanyaan dengan panel

Ubah Nama Variabel

Variabel secara otomatis diberi nama saat Anda membuatnya. Praktik terbaik adalah memberi variabel Anda nama yang bermakna untuk memperjelas tujuan mereka kepada siapa pun yang harus mempertahankan agen Anda.

  1. Pilih variabel. Panel Properti variabel muncul.

  2. Di bawah Nama variabel, masukkan nama yang diinginkan untuk variabel Anda.

Atur Variabel

Biasanya Anda menggunakan node Pertanyaan untuk menyimpan input pengguna dalam variabel. Namun, mungkin ada situasi di mana Anda ingin mengatur nilai variabel sendiri. Dalam kasus tersebut, gunakan node Tetapkan nilai variabel.

  1. Pilih ikon Tambahkan simpul di bawah simpul setelah itu Anda ingin menambahkan node Atur nilai variabel .

  2. Pilih Manajemen variabel>Atur nilai variabel. Simpul nilai variabel yang ditetapkan muncul di kanvas.

  3. Pilih kotak di bawah Atur variabel, lalu pilih Buat variabel baru. Variabel baru dibuat. Jenisnya tidak diketahui sampai Anda menetapkan nilai padanya.

    Tangkapan layar node

  4. Untuk Pada nilai, tetapkan nilai menggunakan salah satu opsi berikut:

    • Ketikkan nilai harfiah.
    • Pilih variabel yang ada dengan jenis yang sama.
    • Gunakan rumus Power Fx. Rumus Power Fx berguna untuk jenis yang lebih kompleks di mana nilai harfiah tidak dapat digunakan, seperti jenis Tabel dan Rekaman.

Menggunakan variabel dalam simpul Tindakan

Saat Anda menggunakan variabel dalam simpul Tindakan , jika jenis dasarnya cocok dengan jenis parameter yang ditentukan untuk alur, atau untuk keterampilan Kerangka Kerja Bot, Anda dapat mengumpankannya ke parameter tersebut. Output dari simpul Action menghasilkan variabel baru.

Untuk konteks selengkapnya, lihat contoh skenario di Memanggil alur agen dari topik dan Menggunakan variabel input dan output untuk meneruskan informasi.

Gunakan nilai harfiah untuk input variabel

Di node tempat Anda dapat mengatur nilai untuk parameter input, Anda selalu dapat memasukkan nilai harfiah alih-alih memilih variabel lain sebagai nilai.

Cuplikan layar yang menunjukkan penggunaan nilai harfiah untuk parameter input variabel bernama productName.

Node mencoba menafsirkan nilai harfiah sebagai string, angka, atau Boolean. Misalnya, 123 ditafsirkan sebagai angka. Jika Anda ingin ia ditafsirkan sebagai nilai string, Anda dapat membungkus nilainya dalam tanda kutip ganda, seperti ini: "123".

Untuk beberapa skenario (misalnya, skenario yang menggunakan jenis kompleks), Anda mungkin perlu menggunakan rumus Power Fx untuk mengatur jenis tertentu.

Menggunakan variabel lingkungan untuk rahasia Azure Key Vault

Variabel lingkungan dapat mereferensikan rahasia di Key Vault. Variabel lingkungan rahasia adalah kasus khusus variabel lingkungan dengan pertimbangan unik.

Untuk membuat variabel lingkungan rahasia di Power Apps portal, Anda harus mengonfigurasi Key Vault-nya.

Untuk mengotorisasi Copilot Studio membaca Key Vault ini, Anda harus melakukan tindakan berikut:

  1. Tetapkan peran Pengguna Rahasia Key Vault ke aplikasi Microsoft Copilot Studio Service .

  2. Untuk mengotorisasi semua agen dari lingkungan untuk mengakses rahasia, buat tag AllowedEnvironments pada rahasia dan tambahkan ID lingkungan yang diizinkan yang dipisahkan oleh koma.

  3. Untuk mengotorisasi hanya agen tertentu dari lingkungan untuk menggunakan Key Vault ini, buat tag AllowedAgents dan masukkan pengidentifikasi agen dalam format {envId}/{schemaName}. Untuk beberapa nilai, pisahkan nilai dengan koma.

    Jika Anda mencapai jumlah maksimum karakter tetapi masih perlu menambahkan lebih banyak agen, tambahkan tag lain dengan nama deskriptif tetapi unik (misalnya: AllowedAgents2).

Nilai rahasia di-cache dalam runtime Dialog selama lima menit. Pembacaan yang tidak berhasil di-cache selama 30 detik.

Peringatan

Dengan menambahkan rahasia dalam agen, Anda mungkin mengekspos nilai rahasia ini. Siapa pun yang dapat mengedit agen di lingkungan dapat menambahkan simpul Pesan dan mengembalikan nilai variabel lingkungan rahasia dalam pesan.

Panel variabel

Panel Variabel adalah tempat Anda dapat melihat semua variabel yang tersedia untuk topik, terlepas dari node mana yang didefinisikan atau digunakan. Untuk setiap variabel, Anda dapat memilih apakah variabel 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 , pilih Variabel pada bilah menu topik.

Cuplikan layar panel Variabel, dengan tombol Variabel disorot.

Panel properti Variabel

Di panel Properti variabel, Anda dapat mengganti nama variabel, melihat di mana agen Anda menggunakannya, atau mengonversinya menjadi variabel global. Namun, Anda tidak dapat mengonversi variabel global kembali 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 variabel, pilih variabel yang diinginkan di panel Variabel. Anda juga dapat membuka panel Properti variabel dari simpul apa pun yang menggunakan variabel, dengan memilih variabel yang diinginkan.

Meneruskan 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. Meneruskan variabel antar topik sangat berguna ketika topik sebelumnya telah mengumpulkan informasi yang dibutuhkan topik selanjutnya. Pengguna Anda pasti menghargai tidak harus menjawab pertanyaan yang sama lebih dari sekali.

Terima nilai dari topik lain

Saat topik mendefinisikan variabel (misalnya, di node Pertanyaan), agen mengajukan pertanyaan kepada pengguna untuk mengisi nilai variabel. Jika agen sudah memperoleh nilai dalam topik sebelumnya, tidak ada alasan untuk mengajukan pertanyaan lagi. Dalam kasus seperti itu, Anda dapat mengatur variabel ke Terima nilai dari topik lain. Ketika topik lain mengalihkan ke topik ini, topik tersebut dapat meneruskan nilai variabel atau nilai harfiah ke variabel ini, dan melewati pertanyaan. Pengalaman bagi pengguna yang berbicara dengan agen berlangsung mulus.

Dalam contoh ini, kami menggunakan dua topik, Salam dan Bicara dengan Pelanggan. Kedua topik tersebut meminta nama pelanggan. Namun, jika topik Salam berjalan lebih dulu, topik Bicara dengan Pelanggan akan melewati pertanyaannya. Sebagai gantinya, ini menggunakan nilai variabel yang diteruskan dari topik Salam.

Berikut adalah alur topik Bicara dengan Pelanggan:

Tangkapan layar alur percakapan topik Bicara dengan Pelanggan.

Seperti yang ditunjukkan di panel pengujian, jika topik ini dipicu terlebih dahulu, topik ini menanyakan pada pengguna, "Boleh saya tahu nama Anda?" Ini 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 indah, customerName!"

Berikut adalah alur topik Salam:

Tangkapan layar alur percakapan topik Salam.

Seperti yang ditunjukkan di panel pengujian, jika topik ini dipicu terlebih dahulu, topik ini menanyakan pada pengguna, "Siapa nama Anda?" Ini menyimpan nilai dalam variabel string yang disebut customerName. Topik mengirimkan pesan, "Senang bertemu dengan Anda, customerName!" Kemudian dialihkan ke topik Bicara dengan Pelanggan , yang mengirimkan pesan, "Saya harap Anda mengalami hari yang menyenangkan, customerName!" Namun, perhatikan bahwa topik Bicara dengan Pelanggan melewati menanyakan nama pengguna lagi. Sebagai gantinya, ia menggunakan variabel customerName yang diteruskan dari topik Salam.

Terakhir, berikut ini adalah percakapan kedua lagi, kali ini dari perspektif topik Bicara dengan Pelanggan:

Tangkapan layar alur percakapan topik Bicara dengan Pelanggan saat topik Salam dipicu terlebih dahulu.

Mari kita bahas langkah-langkah untuk menyiapkan topik untuk menerima nilai dari topik lain. Contoh skenario kami menggunakan topik Salam yang telah ditentukan sebelumnya sebagai topik sumber, dan topik baru Bicara dengan Pelanggan sebagai topik tujuan, tetapi langkah yang sama berlaku untuk topik apa pun yang harus menggunakan nilai dari topik sebelumnya jika memungkinkan.

Menyiapkan topik tujuan

Topik tujuan adalah topik yang dialihkan, topik yang menerima nilai dari topik lain. Dalam contoh kami, ini adalah Bicara dengan Pelanggan.

  1. Buat topik baru dan sebut saja "Bicara dengan Pelanggan".

  2. Tambahkan frasa pemicu seperti "ayo bicara dengan saya", "bicaralah dengan saya", "mengobrollah dengan saya."

  3. Tambahkan node Pertanyaan dan masukkan "Boleh saya tahu nama Anda?" untuk pesan tersebut.

  4. Di bawah Identifikasi, pilih entitas bawaan Nama orang.

  5. Pilih nama variabel. Panel Properti variabel terbuka.

  6. Ganti nama default dengan "customerName", lalu pilih Terima nilai dari topik lain.

    Tangkapan layar panel 'Properti variabel' yang menunjukkan variabel customerName dan propertinya.

  7. Tambahkan node Pesan.

  8. Di kotak pesan, masukkan "Saya harap Anda mengalami hari yang indah, ".

  9. Pilih ikon Sisipkan variabel ({x}), lalu pilih customerName.

  10. Pilih spasi setelah variabel dan masukkan "!".

  11. Simpan topik.

Konfigurasi topik sumber

Topik sumber adalah topik yang melakukan pengalihan, topik yang memberikan nilai dan meneruskannya ke topik tujuan. Dalam contoh kami, ini adalah Salam.

  1. Buka topik Salam dan hapus node default, kecuali node Pemicu.

  2. Tambahkan node Pertanyaan dan masukkan "Siapa nama Anda?" untuk pesan tersebut.

  3. Di bawah Identifikasi, pilih entitas bawaan Nama orang.

  4. Ganti nama default dengan "customerNameFromGreeting".

  5. Tambahkan node Pesan.

  6. Di kotak pesan, masukkan "Senang bertemu dengan Anda".

  7. Pilih ikon Sisipkan variabel ({x}), lalu pilih customerNameFromGreeting.

  8. Pilih spasi setelah variabel dan masukkan "!".

  9. Tambahkan node Pengalihan , dan pilih topik tujuan Bicara dengan Pelanggan.

  10. Pilih Tambahkan input, lalu pilih variabel dari topik tujuan yang ingin Anda teruskan nilainya.

    Tangkapan layar topik Salam dengan variabel customerName ditambahkan sebagai input dalam node pengalihan.

  11. Pilih ikon >, lalu pilih variabel yang nilainya ingin Anda teruskan, customerNameFromGreeting, dalam contoh ini.

    Node Pengalihan akan terlihat seperti ini:

    Tangkapan layar node Pengalihan yang telah selesai dalam topik Salam.

  12. Simpan topik.

Kembalikan nilai ke topik awal

Dalam agen, topik ditujukan untuk mengumpulkan informasi tertentu. Beberapa topik lain dapat memanggilnya dan mengharapkannya untuk mengembalikan informasi sebagai variabel. Variabel menjadi bagian dari topik asal dan dapat digunakan seperti variabel lainnya. Informasi yang diperoleh agen dengan demikian tersedia di seluruh topik, mengurangi kebutuhan akan variabel global.

Mari kita lanjutkan dengan contoh dari bagian sebelumnya. Kami mengajukan pertanyaan baru di topik Bicara dengan Pelanggan, lalu mengembalikan jawaban ke topik Salam.

Menyiapkan topik sumber untuk variabel yang dihasilkan

Saat Anda mengembalikan variabel ke topik, topik sumber adalah topik yang memberikan nilai untuk diteruskan kembali ke topik asli. Dalam contoh ini, topik sumbernya adalah Bicara dengan Pelanggan.

  1. Buka topik sumber.

  2. Tambahkan node Pertanyaan dan masukkan "di Kota mana Anda tinggal?" untuk pesan tersebut.

  3. Di bawah Identifikasi, pilih entitas bawaan Kota.

  4. Pilih variabel untuk membuka panel Properti variabel. Beri nama "customerCity", lalu pilih Kembalikan nilai ke topik asli.

    Cuplikan layar topik Bicara dengan Pelanggan dengan variabel customerCity dan propertinya disorot.

  5. Tambahkan node Pesan.

  6. Pilih ikon Sisipkan variabel ({x}), lalu pilih customerCity.

  7. Setelah variabel di kotak pesan, masukkan " pasti indah sepanjang tahun ini!".

  8. Simpan topik.

Menyiapkan topik tujuan untuk variabel yang dihasilkan

Saat Anda mengembalikan variabel ke topik, topik tujuan adalah topik yang menerima nilai dari topik saat ini. Dalam contoh kita, topik tujuan adalah Salam.

  1. Buka topik tujuan.

  2. Variabel yang Anda pilih dalam topik sumber akan muncul di node Pengalihan sebagai variabel output.

    Tangkapan layar alur percakapan topik Salam dengan variabel yang dikembalikan di node Pengalihan.

  3. Simpan topik.

Mengurai nilai

Node Urai nilai memungkinkan Anda mengonversi nilai dari satu jenis, ke nilai dari jenis lain. Kasus penggunaan umum untuk simpul nilai Parse adalah mengonversi JSON mentah. Misalnya, agen memanggil alur, yang pada gilirannya memanggil API. API kemudian mengembalikan hasil. Sekarang Anda memerlukan cara untuk mengurai hasil ini dan mengembalikan satu atau beberapa variabel primitif. Dengan simpul nilai Uraikan , Anda dapat mengirim seluruh hasil API sebagai string, seperti berikut ini:

{
    "Name": "Parker",
    "Position": "Product manager",
    "Company": "Contoso",
    "FormerPositions": [{
            "Position": "Customer service representative"
        }
    ]
}

Simpul Parse value bisa mengonversi variabel string yang Anda miliki menjadi variabel tipe Record, di mana editor Power Fx menyediakan penyelesaian dan saran kode IntelliSense.

Selain mengurai string JSON, penggunaan utama dari node urai nilai adalah mengurai objek yang tidak bertipe saat runtime. Kasus penggunaan yang paling umum adalah ketika Anda menerima peristiwa dan Anda perlu mengurai nilai peristiwa. Anda mungkin ingin mengurai properti System.Activity.ChannelData, yang bervariasi menurut saluran selama runtime.

Jika Anda perlu mengurai informasi dari peristiwa yang berasal dari Teams, lihat dokumentasi pengembang Teams untuk menemukan contoh seperti apa peristiwa yang diharapkan. Anda kemudian dapat mengikuti instruksi di bagian ini, menggunakan contoh peristiwa sebagai data sampel.

Untuk menambahkan node Urai nilai ke topik:

  1. Pilih ikon Tambahkan simpul di bawah simpul setelah itu Anda ingin mengurai nilai, arahkan ke Manajemen variabel, dan pilih Uraikan nilai.

  2. Tambahkan node urai nilai, dan pilih variabel yang ingin Anda uraikan.

    Tangkapan layar yang menunjukkan pemilihan variabel yang akan diuraikan.

  3. Pilih jenis data. Dalam hal ini, pilih Dari Data Sampel.

    Tangkapan layar yang menunjukkan pemilihan tipe data untuk node Urai nilai.

  4. Pilih Dapatkan Skema dari Sampel JSON, masukkan contoh JSON yang diinginkan di editor yang terbuka, dan pilih Konfirmasi.

    Cuplikan layar memperlihatkan editor tempat Anda memasukkan data JSON sampel.

  5. Terakhir, pilih variabel untuk menahan nilai yang diurai. Biasanya Anda akan membuat variabel baru.

    Cuplikan layar memperlihatkan cara membuat variabel untuk menahan nilai yang diurai langsung dari simpul nilai Uraikan.

    Variabel output sekarang memiliki jenis yang diharapkan: rekaman.

    Cuplikan layar memperlihatkan bahwa variabel yang menyimpan data yang diurai memiliki jenis yang diharapkan: rekaman.