✨Dynamic Chaining in #CopilotStudio | 🎟️ Win EPPC tickets 🎉 – YouTube

✨Dynamic Chaining in #CopilotStudio | 🎟️ Win EPPC tickets 🎉

In this video, I explore the differences between two powerful features: Plugin Actions and Dynamic Chaining Topics. I explain why you may use one over the other. 🚀 Also, learn how to leverage Adaptive Cards within Copilot Studio. I demonstrate how to choose records and execute plugin actions on selected items. I also delve into three strategies for handling translations for multi-language copilots.

#powerapps #powerplatform #copilotstudio #tutorial #ai #multilingual

📺Watch part 1: https://youtu.be/OQsvSmXI2As?si=mqS0DFdCDENBcjn4

🎫Win a 2-Day Ticket to the European Power Platform Conference! 🎉
I have the privilege to give away a 2-day ticket to the European Power Platform Conference in Brussels. Details on how to participate are in the video – don’t miss out! https://bit.ly/win-eppc-ticket-with-scott

🌐 European Power Platform Conference 2024: Join us in Brussels from June 11-13, 2024, at the Square. Connect with fellow enthusiasts, learn from global experts, and immerse yourself in the Power Platform community. 🚀


00:00 Introduction
02:05 Plugin Action Recap
02:50 Validating Inputs using Topics
05:13 Adaptive card to show results and to perform an action
07:19 Multi-language copilots with validation of inputs
08:58 Translating list and dynamic text
11:31 Translating adaptive cards and static text
13:12 News and competition time!


Code snips:
Translations:

{
OrderStatus:[
{
key: “Pending”,
Name: “Pending”,
Language:”English”
},
// …
// Norwegian Translations
{
key: “Pending”,
Name: “Avventer”,
Language:”Norwegian”
},
// …
],
Date:[
{
Name:”Date”,
Language:”English”
},
{
Name:”Daddel”,
Language:”Norwegian”
}
] // …
}

Adaptive card:

{
‘$schema’: “http://adaptivecards.io/schemas/adaptive-card.json”,
type: “AdaptiveCard”,
version: “1.5”,
body: [
{
type: “Container”,
items: [
{
type: “TextBlock”,
text: “Order List”,
weight: “Bolder”,
size: “Large”
}
] },
{
type: “Container”,
items: ForAll(Topic.OrderListByStatus,
{
type: “Container”,
items: [
{
type: “FactSet”,
facts: [
{
title: “ID”,
value: Text(ThisRecord.id)
},
{
title: LookUp(Global.Translations.Date,Language=Text(System.User.Language)).Name,
value: Text(ThisRecord.orderDate,”dd MMM yyyy”)
},
{
title: LookUp(Global.Translations.Amount,Language=Text(System.User.Language)).Name,
value: Text(ThisRecord.orderTotal,”$#,####”)
},
{
title: LookUp(Global.Translations.Status,Language=Text(System.User.Language)).Name,
value: LookUp(Global.Translations.OrderStatus,Language=Text(System.User.Language) && key = status).Name
}
] },
{
type: “ActionSet”,
actions: [
{
type: “Action.Submit”,
title: $”{LookUp(Global.Translations.MarkAs,Language=Text(System.User.Language)).Name} {LookUp(Global.Translations.OrderStatus,Language=Text(System.User.Language) && key = “Shipped”).Name}”,
data: {
orderId: Text(ThisRecord.id),
action: “Shipped”
}
},
{
type: “Action.Submit”,
title: $”{LookUp(Global.Translations.MarkAs,Language=Text(System.User.Language)).Name} {LookUp(Global.Translations.OrderStatus,Language=Text(System.User.Language) && key = “Delivered”).Name}”,
data: {
orderId: Text(ThisRecord.id),
action: “Delivered”
}
}
] }
] }
)
}
] }

In this video, I explore the differences between two powerful features: Plugin Actions and Dynamic Chaining Topics. I explain why you may use one over the other. 🚀 Also, learn how to leverage Adaptive Cards within Copilot Studio. I demonstrate how to choose records and execute plugin actions on selected items. I also delve into three strategies for handling translations for multi-language copilots.

#powerapps #powerplatform #copilotstudio #tutorial #ai #multilingual

📺Watch part 1: https://youtu.be/OQsvSmXI2As?si=mqS0DFdCDENBcjn4

🎫Win a 2-Day Ticket to the European Power Platform Conference! 🎉
I have the privilege to give away a 2-day ticket to the European Power Platform Conference in Brussels. Details on how to participate are in the video – don’t miss out! https://bit.ly/win-eppc-ticket-with-scott

🌐 European Power Platform Conference 2024: Join us in Brussels from June 11-13, 2024, at the Square. Connect with fellow enthusiasts, learn from global experts, and immerse yourself in the Power Platform community. 🚀


00:00 Introduction
02:05 Plugin Action Recap
02:50 Validating Inputs using Topics
05:13 Adaptive card to show results and to perform an action
07:19 Multi-language copilots with validation of inputs
08:58 Translating list and dynamic text
11:31 Translating adaptive cards and static text
13:12 News and competition time!


Code snips:
Translations:

{
OrderStatus:[
{
key: “Pending”,
Name: “Pending”,
Language:”English”
},
// …
// Norwegian Translations
{
key: “Pending”,
Name: “Avventer”,
Language:”Norwegian”
},
// …
],
Date:[
{
Name:”Date”,
Language:”English”
},
{
Name:”Daddel”,
Language:”Norwegian”
}
] // …
}

Adaptive card:

{
‘$schema’: “http://adaptivecards.io/schemas/adaptive-card.json”,
type: “AdaptiveCard”,
version: “1.5”,
body: [
{
type: “Container”,
items: [
{
type: “TextBlock”,
text: “Order List”,
weight: “Bolder”,
size: “Large”
}
] },
{
type: “Container”,
items: ForAll(Topic.OrderListByStatus,
{
type: “Container”,
items: [
{
type: “FactSet”,
facts: [
{
title: “ID”,
value: Text(ThisRecord.id)
},
{
title: LookUp(Global.Translations.Date,Language=Text(System.User.Language)).Name,
value: Text(ThisRecord.orderDate,”dd MMM yyyy”)
},
{
title: LookUp(Global.Translations.Amount,Language=Text(System.User.Language)).Name,
value: Text(ThisRecord.orderTotal,”$#,####”)
},
{
title: LookUp(Global.Translations.Status,Language=Text(System.User.Language)).Name,
value: LookUp(Global.Translations.OrderStatus,Language=Text(System.User.Language) && key = status).Name
}
] },
{
type: “ActionSet”,
actions: [
{
type: “Action.Submit”,
title: $”{LookUp(Global.Translations.MarkAs,Language=Text(System.User.Language)).Name} {LookUp(Global.Translations.OrderStatus,Language=Text(System.User.Language) && key = “Shipped”).Name}”,
data: {
orderId: Text(ThisRecord.id),
action: “Shipped”
}
},
{
type: “Action.Submit”,
title: $”{LookUp(Global.Translations.MarkAs,Language=Text(System.User.Language)).Name} {LookUp(Global.Translations.OrderStatus,Language=Text(System.User.Language) && key = “Delivered”).Name}”,
data: {
orderId: Text(ThisRecord.id),
action: “Delivered”
}
}
] }
] }
)
}
] }

source

More About This Author

Scott Durow

Author: Scott Durow

Share This Post On