and PowerFX are two powerful tools that can create complex logic for bots to manipulate data. With these tools, you can create bots with more complex logic without the need for extensive development. PowerFx is a low-code language that allows users to set the value of a variable, parse strings, and use expressions in conditions. Power Virtual Agents In this article, we take a sneak peek at the capabilities and applications of and PowerFX, including how to use variables and literal values in formulas and how to use PowerFX to set a variable as a condition. Power Virtual Agents Please refer to the and . comprehensive overview formula reference Note: This article contains Power Virtual Agents preview functionality and is subject to change. Power Fx formulas in Power Virtual Agents use US-style numbering. That is, the decimal separator is a period or dot, as in . This means Power Fx parameters must be separated by commas (,). 12,567.892 Using variables in a formula To use a variable in a Power Fx formula, you must add a prefix to its name to indicate the variable's scope: For system variables, use System. For global variables, use Global. For topic variables, use Topic. For example, to use the system variable in a formula, you'd need to refer to it as . Conversation.Id System.Conversation.Id Using literal values in a formula In addition to using variables in a PowerFx formula, you can enter literal values. To use a literal value in a formula, enter it in the format corresponding to its . The following table lists the data types and the format of their corresponding literal values. type Type Format examples String , , "hi" "hello world!" "chatbot" Boolean Only or true false Number , , , 1 532 5.258 -9201 Table , , [1] [45, 8, 2] ["cats", "dogs"] Record , , { id: 1 } { message: "hello" } { name: "John", info: { age: 25, weight: 175 } } DateTime , , Time(5,0,23) Date(2022,5,24) DateTimeValue("May 10, 2022 5:00:00 PM") Choice Not supported Blank Only Blank() Using Power Fx to set a variable we'll use a Power Fx expression to store the customer's name and output it in capital letters. Create a topic and add a node. Question For , enter. . Enter a message What is your name? Under , select the entity . Identify Person name Select the box under , and then select the variable and name it . Save response as Var1 customerName Under the node, select and then select . Question + Set a variable value Please select the box under , and then select and name it . Set variable Create new capsName In the box, select the arrow, and then select the tab. To value > Formula In the box, enter , and then choose . fx Upper(Text(Topic.customerName)) Insert Under the node, select and then select . Question + Send a message Enter , select , and then select . Hello {x} capsName Using a Power Fx formula as a condition Condition nodes can be set up to analyze more complex expressions incorporating Power Fx formulas. This will enable the bot to assess more detailed requirements before action. In this example, the bot determines if a booking date qualifies for a discount. To do that, it checks whether the booking date provided by the customer is 14 days or more from the current date. Create a topic and add a node. Question For , enter . Enter a message When do you want to book? Under , select the entity . Identify Date and time Select the box under , and then select the variable and name it . Save response as Var1 bookingDate Select the icon and then select . + Add a condition In the node, select the ( ) and choose . Condition Node menu ⋮ Change to formula In the box, select the arrow, and then select the tab. Function > Formula Replace the contents of the box with the formula , and then choose . fx Topic.bookingDate > (DateAdd (Now(), 14)) Insert Under the node, add a node and enter the message . Condition Send a message You qualify for a discount Under the node, add a node and enter the message, . All Other Conditions Send a message Sorry, you don't qualify for a discount Conclusion In conclusion, Power Virtual Agents and PowerFX are powerful tools for creating bots with more complex logic without extensive development. UsingThese tools offer a low-code solution for those who want to create bots with complex logic without the need for extensive coding knowledge. With variables and literal values in formulas and the ability to set variables and use PowerFX as a condition, you can easily manipulate data and create more advanced bots. Also published here. Lead Photo by on Unsplash Lopez Robin