{"id":570,"date":"2025-07-10T22:03:14","date_gmt":"2025-07-10T22:03:14","guid":{"rendered":"https:\/\/www.techpolaju.com\/blog\/?p=570"},"modified":"2025-07-10T22:11:02","modified_gmt":"2025-07-10T22:11:02","slug":"teams-quiz-bot-tutorial-2025","status":"publish","type":"post","link":"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/","title":{"rendered":"\ud83c\udf1f Daily Teams Quiz Bot Tutorial 2025: The Ultimate Guide to Automate Engagement"},"content":{"rendered":"\n<p>If you&#8217;re looking for a way to bring energy and daily interaction into Microsoft Teams, this guide is exactly what you need. With this Daily Teams Quiz Bot Tutorial 2025, you&#8217;ll build a fully automated quiz bot using Power Automate, Adaptive Cards, and the OpenTDB API.<\/p>\n\n\n\n<p>Whether you&#8217;re an HR manager, team lead, or just a trivia lover, this solution delivers fun and engagement \u2014 automatically, every morning at 8\u202fAM.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%E2%9D%93_Why_Build_a_Daily_Teams_Quiz_Bot\" >\u2753 Why Build a Daily Teams Quiz Bot?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%94%A7_What_You_Need_Before_You_Begin\" >\ud83d\udd27 What You Need Before You Begin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%E2%9C%85_Step-by-Step_Guide_Daily_Teams_Quiz_Bot_Tutorial_2025\" >\u2705 Step-by-Step Guide: Daily Teams Quiz Bot Tutorial 2025<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%94%81_Step_1_Create_a_Scheduled_Flow_8%E2%80%AFAM_Daily\" >\ud83d\udd01 Step 1: Create a Scheduled Flow (8\u202fAM Daily)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%8C%90_Step_2_Add_HTTP_Action_to_Fetch_Questions\" >\ud83c\udf10 Step 2: Add HTTP Action to Fetch Questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%93%A4_Step_3_Parse_JSON_Response\" >\ud83d\udce4 Step 3: Parse JSON Response<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%E2%9A%99%EF%B8%8F_Step_4_Initialize_Variables\" >\u2699\ufe0f Step 4: Initialize Variables<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%94%81_Step_5_Loop_Through_Each_Question\" >\ud83d\udd01 Step 5: Loop Through Each Question<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%A7%A9_Step_6_Add_Incorrect_and_Correct_Answers\" >\ud83e\udde9 Step 6: Add Incorrect and Correct Answers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%94%80_Step_7_Shuffle_the_Answers\" >\ud83d\udd00 Step 7: Shuffle the Answers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%92%AC_Step_8_Post_Adaptive_Card_to_Teams\" >\ud83d\udcac Step 8: Post Adaptive Card to Teams<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%E2%9D%93_Step_9_Check_the_Users_Answer\" >\u2753 Step 9: Check the User&#8217;s Answer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%8F%86_Step_10_Update_Adaptive_Card_Based_on_Result\" >\ud83c\udfc6 Step 10: Update Adaptive Card Based on Result<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%93%98_Key_Flow_Components_Explained\" >\ud83d\udcd8 Key Flow Components Explained<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%93%8A_Final_Thoughts_on_Your_Daily_Teams_Quiz_Bot_Tutorial_2025\" >\ud83d\udcca Final Thoughts on Your Daily Teams Quiz Bot Tutorial 2025<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%93%8A_Want_to_Use_Excel_for_Questions_and_Answers_%E2%80%94_Daily_Teams_Quiz_Bot_Tutorial_2025\" >\ud83d\udcca Want to Use Excel for Questions and Answers? \u2014 Daily Teams Quiz Bot Tutorial 2025<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/#%F0%9F%92%A1_Bonus_Resources\" >\ud83d\udca1 Bonus Resources<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9D%93_Why_Build_a_Daily_Teams_Quiz_Bot\"><\/span>\u2753 Why Build a Daily Teams Quiz Bot?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Let\u2019s face it \u2014 team chats can sometimes feel dull. But a fun, daily trivia game using Power Automate can totally change that. This Daily Teams Quiz Bot Tutorial 2025<strong> <\/strong>helps boost morale, create friendly competition, and promote knowledge sharing without writing a single line of code.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%94%A7_What_You_Need_Before_You_Begin\"><\/span>\ud83d\udd27 What You Need Before You Begin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To follow this Daily Teams Quiz Bot Tutorial 2025, make sure you have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Microsoft 365 account with access to Microsoft Teams<\/li>\n\n\n\n<li>A Power Automate account: <a class=\"\" href=\"https:\/\/make.powerautomate.com\" target=\"_blank\" rel=\"noopener\">https:\/\/make.powerautomate.com<\/a><\/li>\n\n\n\n<li>An active Teams channel to post the quiz<\/li>\n\n\n\n<li>Basic understanding of Power Automate and JSON<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9C%85_Step-by-Step_Guide_Daily_Teams_Quiz_Bot_Tutorial_2025\"><\/span>\u2705 Step-by-Step Guide: Daily Teams Quiz Bot Tutorial 2025<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%94%81_Step_1_Create_a_Scheduled_Flow_8%E2%80%AFAM_Daily\"><\/span>\ud83d\udd01 Step 1: Create a Scheduled Flow (8\u202fAM Daily)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <a class=\"\" href=\"https:\/\/make.powerautomate.com\" target=\"_blank\" rel=\"noopener\">make.powerautomate.com<\/a><\/li>\n\n\n\n<li>Select <strong>Create &gt; Scheduled Cloud Flow<\/strong><\/li>\n\n\n\n<li>Name the flow: <code>Daily Teams Quiz Bot<\/code><\/li>\n\n\n\n<li>Set the schedule to <strong>every day at 8:00\u202fAM<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-35-1024x584.png\" alt=\"power automate recurrence trigger\" class=\"wp-image-572\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-35-1024x584.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-35-300x171.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-35-768x438.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-35.png 1184w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udfe2 This trigger starts your daily quiz flow automatically each morning.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%8C%90_Step_2_Add_HTTP_Action_to_Fetch_Questions\"><\/span>\ud83c\udf10 Step 2: Add HTTP Action to Fetch Questions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Add an <strong>HTTP<\/strong> action to fetch quiz data from OpenTDB. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Method: <code>GET<\/code><\/li>\n\n\n\n<li>URI: <code><a href=\"https:\/\/opentdb.com\/api.php?amount=20&amp;category=9&amp;difficulty=medium&amp;type=multiple\" target=\"_blank\" rel=\"noopener\">https:\/\/opentdb.com\/api.php?amount=20&amp;category=9&amp;difficulty=medium&amp;type=multiple<\/a><\/code><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"552\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-36-1024x552.png\" alt=\"Daily Teams Quiz Bot Tutorial 2025 http action\" class=\"wp-image-573\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-36-1024x552.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-36-300x162.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-36-768x414.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-36.png 1352w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>This fetches 20 medium-difficulty general knowledge questions. <\/p>\n\n\n\n<p><strong>Note:<\/strong> You can customize the API by visiting <a class=\"\" href=\"https:\/\/opentdb.com\/api_config.php\" target=\"_blank\" rel=\"noopener\">https:\/\/opentdb.com\/api_config.php<\/a> to change the number of questions, category, and other settings as needed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%A4_Step_3_Parse_JSON_Response\"><\/span>\ud83d\udce4 Step 3: Parse JSON Response<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add a <strong>Parse JSON<\/strong> action to your flow.<\/li>\n\n\n\n<li>In the <strong>Content<\/strong> field:\n<ul class=\"wp-block-list\">\n<li>Click inside the field.<\/li>\n\n\n\n<li>Then click on the <strong>lightning bolt icon<\/strong> (\u26a1) to open the dynamic content list.<\/li>\n\n\n\n<li>Select the <strong>Body<\/strong> output from the <strong>HTTP<\/strong> action.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Next, click on <strong>\u201cUse sample payload to generate schema.\u201d<\/strong>\n<ul class=\"wp-block-list\">\n<li>A pop-up window will appear.<\/li>\n\n\n\n<li>Paste the JSON sample (provided below).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"results\": &#91;\n    {\n      \"question\": \"Where did the pineapple plant originate?\",\n      \"correct_answer\": \"South America\",\n      \"incorrect_answers\": &#91;\n        \"Hawaii\",\n        \"Europe\",\n        \"Asia\"\n      ]\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click <strong>Done<\/strong> to automatically generate the schema.<\/li>\n\n\n\n<li>The schema will now appear in the text area below the <strong>Content<\/strong> field.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"686\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-37-1024x686.png\" alt=\"power automate parse json\" class=\"wp-image-574\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-37-1024x686.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-37-300x201.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-37-768x514.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-37.png 1060w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9A%99%EF%B8%8F_Step_4_Initialize_Variables\"><\/span>\u2699\ufe0f Step 4: Initialize Variables<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Create two variables:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Answers<\/strong> \u2192 Array (to hold multiple choice options)<\/li>\n\n\n\n<li><strong>Random number<\/strong> \u2192 Integer (to randomize answer position)<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"646\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-39-1024x646.png\" alt=\"initialize variable action\" class=\"wp-image-577\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-39-1024x646.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-39-300x189.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-39-768x485.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-39.png 1241w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%94%81_Step_5_Loop_Through_Each_Question\"><\/span>\ud83d\udd01 Step 5: Loop Through Each Question<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Use a <strong>For each<\/strong> loop on the <code>results<\/code> array from the parsed JSON.<br>In the <strong>\u201cSelect an output from previous steps\u201d<\/strong> field, choose <strong>results<\/strong> from the dynamic content list.<\/p>\n\n\n\n<p>Inside this loop:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add <strong>Set Variable<\/strong> action to set <strong>Random number<\/strong> to a random index: <code>rand(0,3)<\/code><\/li>\n\n\n\n<li>Add another <strong>Set Variable<\/strong> action to Re-initialize the <strong>Answers<\/strong> array to empty<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"615\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-40-1024x615.png\" alt=\"set variable\" class=\"wp-image-578\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-40-1024x615.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-40-300x180.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-40-768x461.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-40.png 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%A7%A9_Step_6_Add_Incorrect_and_Correct_Answers\"><\/span>\ud83e\udde9 Step 6: Add Incorrect and Correct Answers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Inside the same loop:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Use another <strong>For each<\/strong> to iterate through <code>incorrect_answers<\/code>\n<ul class=\"wp-block-list\">\n<li>use expression \n<ul class=\"wp-block-list\">\n<li>Click on the <strong>fx<\/strong> icon, then type the following expression into the text area<br><code>items('For_each')?['incorrect_answers']<\/code><\/li>\n\n\n\n<li>Alternatively, you can copy and paste it directly using the <code>@<\/code> symbol and curly brackets:<br><code>@{items('For_each')?['incorrect_answers']}<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Inside the <strong>For each<\/strong> action \n<ul class=\"wp-block-list\">\n<li>Add an <strong>Append to array variable<\/strong> action.<\/li>\n\n\n\n<li>In the <strong>Name<\/strong> field, select the <code>Answers<\/code> variable.<\/li>\n\n\n\n<li>In the <strong>Value<\/strong> field, copy and paste the following JSON using an expression:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>{<br>\"title\": \"@{items('For_each_1')}\",<br>\"value\": \"@{items('For_each_1')}\"<br>}<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>After the <code>For each<\/code> loop completes:\n<ul class=\"wp-block-list\">\n<li>Add another <strong>Append to array variable<\/strong> action.<\/li>\n\n\n\n<li>In the <strong>Name<\/strong> field, select the same <code>Answers<\/code> variable.<\/li>\n\n\n\n<li>In the <strong>Value<\/strong> field, copy and paste this expression to add the correct answer:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>{<br>\"title\": \"@{items('For_each_1')}\",<br>\"value\": \"@{items('For_each_1')}\"<br>}<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"753\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-41-1024x753.png\" alt=\"for each and append to array variable actions\" class=\"wp-image-582\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-41-1024x753.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-41-300x220.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-41-768x564.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-41.png 1249w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><strong>Important Note:<\/strong> If your flow uses <strong>&#8220;Apply to each&#8221;<\/strong> instead of <strong>&#8220;For each&#8221;<\/strong>, make sure to replace <code>For_each<\/code> with <code>Apply_to_each<\/code> in your expressions. These names match the exact action names in your flow, but with spaces replaced by underscores.<br>If you don\u2019t update the name accordingly, the expression will not work correctly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%94%80_Step_7_Shuffle_the_Answers\"><\/span>\ud83d\udd00 Step 7: Shuffle the Answers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Use a <strong>Compose<\/strong> action to shuffle the <code>answers<\/code> array based on the random number:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>@{union(<br>    skip(variables('Answers'), variables('Random number')),<br>    take(variables('Answers'), variables('Random number'))<br>)}<br><\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"365\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-42-1024x365.png\" alt=\"compose action\" class=\"wp-image-588\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-42-1024x365.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-42-300x107.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-42-768x274.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-42.png 1060w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%92%AC_Step_8_Post_Adaptive_Card_to_Teams\"><\/span>\ud83d\udcac Step 8: Post Adaptive Card to Teams<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Use <strong>Post adaptive card and wait for a response<\/strong> to show the question.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In &#8216;<strong>Post as<\/strong>&#8216;, select the Flow bot.<\/li>\n\n\n\n<li>In &#8216;<strong>Post in<\/strong>&#8216;, select Channel.<\/li>\n\n\n\n<li>In &#8216;<strong>Message<\/strong>&#8216;, add the following <strong>Adaptive Card JSON<\/strong>.<\/li>\n\n\n\n<li>In &#8216;<strong>Team<\/strong>&#8216;, select the team&#8217;s name.<\/li>\n\n\n\n<li>In &#8216;<strong>Channel<\/strong>&#8216;, select the channel&#8217;s name.<\/li>\n\n\n\n<li>In &#8216;<strong>Update Message<\/strong>&#8216;, add the message that will appear in the channel after the user submits their response.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>{<br>  \"type\": \"AdaptiveCard\",<br>  \"body\": [<br>    {<br>      \"type\": \"TextBlock\",<br>      \"text\": \"Question: @{items('For_each')?['question']}\",<br>      \"wrap\": true<br>    },<br>    {<br>      \"type\": \"Input.ChoiceSet\",<br>      \"id\": \"answer\",<br>      \"style\": \"expanded\",<br>      \"choices\": @{outputs('Compose')}<br>    }<br>  ],<br>  \"actions\": [<br>    {<br>      \"type\": \"Action.Submit\",<br>      \"title\": \"Submit\"<br>    }<br>  ],<br>  \"$schema\": \"http:\/\/adaptivecards.io\/schemas\/adaptive-card.json\",<br>  \"version\": \"1.2\"<br>}<br><\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"717\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-43-1024x717.png\" alt=\"Post adaptive card and wait for a response\" class=\"wp-image-589\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-43-1024x717.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-43-300x210.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-43-768x538.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-43.png 1051w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9D%93_Step_9_Check_the_Users_Answer\"><\/span>\u2753 Step 9: Check the User&#8217;s Answer<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Add a <strong>Condition<\/strong> to compare the user\u2019s response:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the &#8216;Choose a Value&#8217; field, add the following:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>  body('Post_adaptive_card_and_wait_for_a_response')?['data\/answer']<br><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>select &#8220;is equal to&#8221;<\/li>\n\n\n\n<li>In the second &#8216;Choose a Value&#8217; field, add the following:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>  items('For_each')?['correct_answer']<br><\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"316\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-44-1024x316.png\" alt=\"condition action\" class=\"wp-image-590\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-44-1024x316.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-44-300x93.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-44-768x237.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-44.png 1323w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%8F%86_Step_10_Update_Adaptive_Card_Based_on_Result\"><\/span>\ud83c\udfc6 Step 10: Update Adaptive Card Based on Result<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>After checking the condition, add the &#8216;<strong>Update an adaptive card in a chat or channel<\/strong>&#8216; action to both the <strong>True <\/strong>and <strong>False branches<\/strong>. This will update the adaptive card in the team&#8217;s channel after the user submits their response.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If the answer is correct (<strong>True branch<\/strong>), the card will be updated with a message indicating the answer is correct.<\/li>\n\n\n\n<li>In the <strong>False branch<\/strong>, update the red highlighted text in the JSON (shown below) to indicate that the answer is incorrect. Make sure to replace the <mark style=\"background-color:rgba(0, 0, 0, 0);color:#d91717\" class=\"has-inline-color\">red text<\/mark> with a message that clearly informs the user their answer was incorrect.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>{<br>  \"type\": \"AdaptiveCard\",<br>  \"body\": [<br>    {<br>      \"type\": \"TextBlock\",<br>      \"text\": \"<mark style=\"background-color:rgba(0, 0, 0, 0);color:#14d931\" class=\"has-inline-color\">\ud83c\udf89 <\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#eb1708\" class=\"has-inline-color\">This question has been answered correctly by<\/mark> @{body('Post_adaptive_card_and_wait_for_a_response')?['responder\/displayName']}!\",<br>      \"wrap\": true<br>    },<br>    {<br>      \"type\": \"TextBlock\",<br>      \"text\": \"Question: @{items('For_each')?['question']}\",<br>      \"wrap\": true<br>    },<br>    {<br>      \"type\": \"TextBlock\",<br>      \"text\": \"Correct answer: @{body('Post_adaptive_card_and_wait_for_a_response')?['data\/answer']}\",<br>      \"wrap\": true<br>    }<br>  ],<br>  \"$schema\": \"http:\/\/adaptivecards.io\/schemas\/adaptive-card.json\",<br>  \"version\": \"1.2\"<br>}<br><\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"623\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-45-1024x623.png\" alt=\"Update an adaptive card in a chat or channel\" class=\"wp-image-591\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-45-1024x623.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-45-300x183.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-45-768x467.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/07\/image-45.png 1318w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%98_Key_Flow_Components_Explained\"><\/span>\ud83d\udcd8 Key Flow Components Explained<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Trigger:<\/strong> Starts the flow daily at 8:00 AM using the Recurrence trigger to deliver the quiz consistently every morning.<\/li>\n\n\n\n<li><strong>HTTP:<\/strong> Fetches fresh trivia questions from the Open Trivia Database (OpenTDB) API.<\/li>\n\n\n\n<li><strong>Parse JSON:<\/strong> Extracts question details and answers from the API response for use in the flow.<\/li>\n\n\n\n<li><strong>Apply to each:<\/strong> Processes each quiz question individually to generate adaptive cards and handle user responses.<\/li>\n\n\n\n<li><strong>Adaptive Card:<\/strong> Sends an interactive card to Teams displaying the question and answer choices.<\/li>\n\n\n\n<li><strong>Condition:<\/strong> Checks if the user\u2019s answer is correct and branches the flow accordingly.<\/li>\n\n\n\n<li><strong>Update Card:<\/strong> Updates the adaptive card in Teams to show whether the user\u2019s answer was right or wrong, providing immediate feedback.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%8A_Final_Thoughts_on_Your_Daily_Teams_Quiz_Bot_Tutorial_2025\"><\/span>\ud83d\udcca Final Thoughts on Your Daily Teams Quiz Bot Tutorial 2025<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Using this Daily Teams Quiz Bot Tutorial 2025, you&#8217;ve created an engaging, automated trivia system that runs itself every day. It&#8217;s a low-maintenance, high-reward tool for team culture, learning, and fun.<\/p>\n\n\n\n<p>You can enhance this bot further by:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Storing results in SharePoint<\/li>\n\n\n\n<li>Creating a leaderboard<\/li>\n\n\n\n<li>Adding categories and score tracking<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%8A_Want_to_Use_Excel_for_Questions_and_Answers_%E2%80%94_Daily_Teams_Quiz_Bot_Tutorial_2025\"><\/span>\ud83d\udcca Want to Use Excel for Questions and Answers? \u2014 Daily Teams Quiz Bot Tutorial 2025<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Would you prefer to manage your quiz questions and answers using an Excel file instead of the OpenTDB API? Using Excel makes it easy to update your quiz content without coding, and you can also save winners directly in the Excel sheet \ud83c\udfc6 to announce the overall winner at the end of the quiz.<\/p>\n\n\n\n<p>Plus, using Excel does not require a premium license in Power Automate \ud83d\udeab\ud83d\udcb3, unlike the HTTP action that fetches trivia from OpenTDB, which is a premium connector \u2699\ufe0f.<\/p>\n\n\n\n<p>If you\u2019re interested in a version like this, please let me know in the comments below! \ud83d\udcac I\u2019ll create a <strong>Tutorial Version 2<\/strong> using the same flow but with Excel integration if there\u2019s enough demand.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%92%A1_Bonus_Resources\"><\/span>\ud83d\udca1 Bonus Resources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/save-email-attachments-to-sharepoint-in-5-easy-steps\/\">\ud83c\udf1f Effortlessly Save Email Attachments to SharePoint in 5 Easy Steps<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/master-7-power-automate-data-operations-fast\/\">\ud83d\ude80 Master 7 Power Automate Data Operations Fast and Improve Workflows<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/master-6-power-automate-control-actions\/\">\ud83d\ude80 Master 6 Power Automate Control Actions Easily and Improve Workflow<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/sharepoint-to-teams-notification\/\">Boost Productivity Instantly with SharePoint to Teams Notification (Beginner\u2019s Guide 2025)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-flow-from-0\/\">Effortlessly Create Your First Power Automate Flow from 0<\/a><\/li>\n<\/ul>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;re looking for a way to bring energy and daily interaction into Microsoft Teams, this guide is exactly what you need. With this Daily Teams Quiz Bot Tutorial 2025, you&#8217;ll build a fully automated quiz bot using Power Automate, Adaptive Cards, and the OpenTDB API. Whether you&#8217;re an HR manager, team lead, or just &#8230; <a title=\"\ud83c\udf1f Daily Teams Quiz Bot Tutorial 2025: The Ultimate Guide to Automate Engagement\" class=\"read-more\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/teams-quiz-bot-tutorial-2025\/\" aria-label=\"Read more about \ud83c\udf1f Daily Teams Quiz Bot Tutorial 2025: The Ultimate Guide to Automate Engagement\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-570","post","type-post","status-publish","format-standard","hentry","category-power-automate"],"_links":{"self":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts\/570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/comments?post=570"}],"version-history":[{"count":22,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts\/570\/revisions"}],"predecessor-version":[{"id":636,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts\/570\/revisions\/636"}],"wp:attachment":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/media?parent=570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/categories?post=570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/tags?post=570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}