cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
deceparis
Advocate I
Advocate I

Using Adaptive Card date-picker to pass back input to PVA and showing adaptive card multiple times

Hey everyone, 

 

I am currently working on an implementation of a date-picker in PVA, I've managed to get to the point that I can get the adaptive card to show up in PVA just fine but I have run into multiple issues which I think are just due to my lack of understanding when it comes to adaptive cards. (https://adaptivecards.io/explorer/Input.Date.html

 

What I want to do is let customers put in holiday requests through PVA by:

- Showing a date-picker to let a user pick a holiday start date

- Passing this value back to PVA and confirming the date with the user

- Repeating the above two steps for an end-date. 

 

Then pass the start-, and end-date (ideally formated as DD-MM-YY) to a flow that checks the difference between these dates (using ticks) against a user's available holidays, and then tells a user whether or not they can actually make the request. I've gotten all these flows to work just fine, and can show the date-picker in PVA. 

 

I have two major issues: 

1. I don't know how to pass the value back to PVA, I've tried to use global variables but this has not worked, see: 

deceparis_0-1658125694572.png

Does anyone know what I am doing wrong here? I thought it may not loop correctly, or may not actually set the value right using turn.activity, I was mostly following the microsoft documentation (https://docs.microsoft.com/en-us/power-virtual-agents/advanced-bot-framework-composer-example1) and the other examples. Can someone tell me what I am doing wrong here, and maybe show an example of how to do it right? 

 

The second issue I have is that I cannot seem to call the same adaptive card twice, even if I have made a new dialog in Bot Framework Composer that is a copy of the one showing the adaptive card: 

deceparis_1-1658126284668.png

Please ignore the hard-coded dates. 🙂 Here DateCard and DateCardEnd are separate dialogs in Bot Framework Composer (and therefore topics in PVA) but the second one is skipped as you can see. 

 

I hope someone can help me understand this better, and everyone else that might want to do this (though I hope that PVABuild22 might make all of this easier). 

 

Sincerely, 

N

 

1 ACCEPTED SOLUTION

Accepted Solutions
deceparis
Advocate I
Advocate I

Right, so it took a little while (and a good amount of banging my head against the wall), but I did actually figure this out: 

deceparis_0-1660636137987.png

deceparis_1-1660636162595.png

deceparis_2-1660636202200.png

I hope that someone having similar issues might benefit from this. Shoot me a message if that is the case! 

View solution in original post

12 REPLIES 12
deceparis
Advocate I
Advocate I

Right, so it took a little while (and a good amount of banging my head against the wall), but I did actually figure this out: 

deceparis_0-1660636137987.png

deceparis_1-1660636162595.png

deceparis_2-1660636202200.png

I hope that someone having similar issues might benefit from this. Shoot me a message if that is the case! 

rubengzz7
Frequent Visitor

hello, i have not been able to make this date picker on the bot framework composer. having the next error.

 

Do anyone know what I am doing wrong?

rubengzz7_0-1661191880622.png

 

Hey @rubengzz7 , 

 

Have you added the adaptive card under 'Bot Responses'? My code there looks like: 

# adaptivecardjson_datecard()
- ```
{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.0",
  "body": [
    {
      "type": "TextBlock",
      "text": "Date Input"
    },
    {
      "type": "Input.Date",
      "id": "date",
      "placeholder": "Enter a date",
      "value": "2022-01-01"
    }
  ],
  "actions": [
    {
      "type": "Action.Submit",
      "title": "OK"
    }
  ]
}
```

# AdaptiveCardDateCard()
[Activity
    Attachments = ${json(adaptivecardjson_datecard())}
]

# DateTimeInput_Prompt_f5dxDn()
- ${AdaptiveCardDateCard()}

 I think that is what you're missing, if you look at what my Bot Dialog then references where you get the error: 

deceparis_0-1661236866935.png

It is that same DateTimeInput prompt that is all the way at the end of my code snippet. If I recall correctly this was created automatically for me the first time I actually called the date card. I basically followed the Microsoft guidelines: https://docs.microsoft.com/en-us/power-virtual-agents/advanced-bot-framework-composer-example1 (1-4). I don't think you can copy my entire code-snippet, but most of it (everything except the last block starting with #DateTimeInput" as that is created by the dialog calling the card itself. 

jdee111
Advocate II
Advocate II

This is great - how did you get to pass the value back to PVA?  I see you used virtualagent.TryDate... did you use a bot variable?

Thank you for the response. I copied the code except from the line you told me not but im having another error after selecting the date on PVA 😞

 

We ran into a problem executing your composer dialog. The variable 'TryDate' cannot be set because it was not defined and doesn't exist in this bot
Sent at August 23 at 3:24 PM
Bot true said: Sorry, the bot can't talk for a while. It's something the bot's owner needs to address. Error code: 2023. Conversation ID: 2u4icdGcnrD1AXceuQcXWI-us. Time (UTC): 8/23/2022 9:24:34 PM. The variable 'TryDate' cannot be set because it was not defined and doesn't exist in this bot
Bot true said:
Sorry, the bot can't talk for a while. It's something the bot's owner needs to address. Error code: 2023. Conversation ID: 2u4icdGcnrD1AXceuQcXWI-us. Time (UTC): 8/23/2022 9:24:34 PM. The variable 'TryDate' cannot be set because it was not defined and doesn't exist in this bot

 

I think the problem may be in one of this boxes

rubengzz7_6-1661290222101.pngrubengzz7_7-1661290234038.pngrubengzz7_8-1661290262779.png

 

deceparis
Advocate I
Advocate I

@rubengzz7 Ah, but there's progress! I have a flow running in the start that fetches user information based on their name etc.. You need some way of initializing the variable, you can do this by adding a 'ask a question' and just using the variable there, or get a flow running. Then you need to change the variable in there to be a global variable 

deceparis_0-1661327940712.png

So you could do something along these lines if you don't want to use a flow: 

deceparis_1-1661328088633.png

Note that I have turned this into a global variable by allowing external sources to set the values (just click on the variable and change the settings for it)

 

@jdee111 so that is what I used, a global variable initialized by a flow (Power Automate), but if you can't use power automate (or it gets too expensive) just make a question topic I think. Not even sure if you could make a topic like that, and keep it empty otherwise with triggerphrases no one will ever get to, just to have the variable initialized. 

Thanks!! I tried it this way round too 😄 

 

jdee111_0-1661339479010.png

 

Seemed to be happy enough!

thank you very much! with your help I finally made it :D.

 

Im experiencing another issue now because of the logic of my flow. I need to put a date range... for example from 01/01/2022 to 05/08/2022 and my plan was to send two times the adaptive card but the bot is skipping the second one and later on the log it says Traced in a previous run 😕 Maybe there is an adaptive card that ask you for the range to avoid this problem... or what else could I do?

rubengzz7
Frequent Visitor

Update I managed to avoid the bot from skipping the question.. 

 

I open the code on the Create tab and then changed the variable 

alwaysPrompt to true. It was in false.
 
rubengzz7_0-1661374453799.png

Hope it helps for someone!!

 

Thanks

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   😊Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!      

Welcome to the Copilot Studio Community!

You are now a part of a vibrant growing group of peers and industry experts who are here to network, share knowledge, and even have a little fun!   If you have not yet registered, please visit here to learn how to register!   Now that you are a member, you can enjoy the following resources:   The Microsoft Copilot Studio Community Forums If you are looking for support with any part of Microsoft Copilot Studio, our forums are the place to go. They are titled "Forums" and there you will find technical professionals with years of experience who are ready and eager to answer your questions. You now have the ability to post, reply and give "kudos" on the Copilot Studio Community forums! Make sure you conduct a quick search before creating a new post because your question may have already been asked and answered!   Microsoft Copilot Studio Ideas Do you have an idea to improve the Microsoft Copilot Studio experience, or a feature request for future product updates? Then the "Copilot Studio Ideas" section is where you can contribute your suggestions and vote for ideas posted by other Community members. We constantly look to the most voted Ideas when planning updates, so your suggestions and votes will always make a difference.   News & Announcements The Copilot Studio Community News & Announcements is your stop to get all the latest news around Community events and announcements. This is where we share with the Community what is going on and how to participate!   Copilot Studio Samples, Learning and Video Galleries We have galleries that can assist you with information on creating a bot in our Webinars and Video Gallery,  and the ability to share the bots you have created in our Bot Sharing Gallery.  Check out the awesome content being shared there today!   Again, we are excited to welcome you to the Microsoft Copilot Studio Community family! Whether you are brand new to the world of bot creation or you are a seasoned Copilot Studio veteran, our goal is to shape the Community to be your ‘go to’ for support, networking, education, inspiration and encouragement as we enjoy this adventure together!   Let us know in the Community Feedback if you have any questions or comments about your Community experience. To learn more about the Community and your account be sure to visit our Community Support Area boards to learn more!   We look forward to seeing you in the Copilot Studio Community!The Copilot Studio Community Team

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

The Copilot Studio community is thrilled to share some exciting news!

We are embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools that our community advocates for.  We're proud to announce that the Copilot Studio community will pioneer this migration starting in June 2024. The move will mark the beginning of a new chapter, and we're eager for you to be a part of it. Following our lead, the rest of the Power Platform product sites will join us over the summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind, to connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport. To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages  

Users online (3,175)