{"id":27178,"date":"2024-02-26T11:02:44","date_gmt":"2024-02-26T11:02:44","guid":{"rendered":"https:\/\/cloud-cod.com\/?p=27178"},"modified":"2024-02-28T12:05:18","modified_gmt":"2024-02-28T12:05:18","slug":"azure-app-registration-clien-secret-expiration-notification","status":"publish","type":"post","link":"https:\/\/cloud-cod.com\/index.php\/2024\/02\/26\/azure-app-registration-clien-secret-expiration-notification\/","title":{"rendered":"Azure App registration Client Secret expiration notification with MS Teams Adaptive Cards"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"27178\" class=\"elementor elementor-27178\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fd49f65 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fd49f65\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-80fb74b\" data-id=\"80fb74b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eff2ab1 elementor-widget elementor-widget-image\" data-id=\"eff2ab1\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.17.0 - 01-11-2023 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/intro_LogicApp-1024x384.png\" class=\"attachment-large size-large wp-image-27293\" alt=\"Logic App Microsoft Graph\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/intro_LogicApp-1024x384.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/intro_LogicApp-300x112.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/intro_LogicApp-768x288.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/intro_LogicApp-1536x575.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/intro_LogicApp-2048x767.png 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d7da880 elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"d7da880\" data-element_type=\"widget\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:[],&quot;marker_view&quot;:&quot;bullets&quot;,&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;icon&quot;:{&quot;value&quot;:&quot;fas fa-circle&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor-pro - v3.17.0 - 01-11-2023 *\/\n.elementor-widget-table-of-contents .elementor-toc__header-title{color:var(--header-color)}.elementor-widget-table-of-contents.elementor-toc--collapsed .elementor-toc__toggle-button--collapse,.elementor-widget-table-of-contents:not(.elementor-toc--collapsed) .elementor-toc__toggle-button--expand{display:none}.elementor-widget-table-of-contents .elementor-widget-container{min-height:var(--box-min-height);border:var(--box-border-width,1px) solid var(--box-border-color,#9da5ae);border-radius:var(--box-border-radius,3px);background-color:var(--box-background-color);transition:min-height .4s;overflow:hidden}.elementor-toc__header{display:flex;align-items:center;justify-content:space-between;padding:var(--box-padding,20px);background-color:var(--header-background-color);border-bottom:var(--separator-width,1px) solid var(--box-border-color,#9da5ae)}.elementor-toc__header-title{font-size:18px;margin:0;color:var(--header-color)}.elementor-toc__toggle-button{cursor:pointer;display:inline-flex}.elementor-toc__toggle-button i{color:var(--toggle-button-color)}.elementor-toc__toggle-button svg{height:1em;width:1em;fill:var(--toggle-button-color)}.elementor-toc__spinner-container{text-align:center}.elementor-toc__spinner{font-size:2em}.elementor-toc__spinner.e-font-icon-svg{height:1em;width:1em}.elementor-toc__body{padding:var(--box-padding,20px);max-height:var(--toc-body-max-height);overflow-y:auto}.elementor-toc__body::-webkit-scrollbar{width:7px}.elementor-toc__body::-webkit-scrollbar-thumb{background-color:#babfc5;border-radius:10px}.elementor-toc__list-wrapper{list-style:none;padding:0}.elementor-toc__list-item{margin-bottom:.5em}.elementor-toc__list-item.elementor-item-active{font-weight:700}.elementor-toc__list-item .elementor-toc__list-wrapper{margin-top:.5em;margin-left:var(--nested-list-indent,1em)}.elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}.elementor-toc__list-item-text-wrapper{display:flex;align-items:center}.elementor-toc__list-item-text-wrapper:before,.elementor-toc__list-item-text-wrapper i{margin-right:8px;color:var(--marker-color)}.elementor-toc__list-item-text-wrapper svg{margin-right:8px;fill:var(--marker-color);height:var(--marker-size,.5em);width:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper i{font-size:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper:before{font-size:var(--marker-size,1em)}.elementor-toc--content-ellipsis .elementor-toc__list-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.elementor-toc__list-items--collapsible>.elementor-toc__list-wrapper>.elementor-toc__list-item>.elementor-toc__list-wrapper{display:none}.elementor-toc__heading-anchor{position:absolute}.elementor-toc__body .elementor-toc__list-item-text{color:var(--item-text-color);-webkit-text-decoration:var(--item-text-decoration);text-decoration:var(--item-text-decoration)}.elementor-toc__body .elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__body .elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}ol.elementor-toc__list-wrapper{counter-reset:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item{counter-increment:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item-text-wrapper:before{content:counters(item,\".\") \". \"}<\/style>\t\t<div class=\"elementor-toc__header\">\n\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tSITEMAP\t\t\t<\/h4>\n\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__d7da880\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__d7da880\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/div>\n\t\t\t\t\t<\/div>\n\t\t<div id=\"elementor-toc__d7da880\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86cc326 elementor-widget elementor-widget-heading\" data-id=\"86cc326\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.17.0 - 01-11-2023 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-default\">Introduction<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-086aa2f elementor-widget elementor-widget-text-editor\" data-id=\"086aa2f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.17.0 - 01-11-2023 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p>Have you ever had a situation where your Azure App registration Client Secret was about to expire soon or has already expired? Or have you wondered what to do to be informed in advance that your password will expire? This post is an answer. It shows how to set up a simple Logic App in Azure that checks periodically for Secret expiration dates and notifies you in advance when they are going to expire soon.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea8a14e elementor-widget elementor-widget-heading\" data-id=\"ea8a14e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Azure App registration<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60abded elementor-widget elementor-widget-text-editor\" data-id=\"60abded\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>An App registration is required to set up notifications in a way I am showing in this blog article. You can either create a dedicated App registration for this task or use the existing one.\u00a0<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 0.875rem;\">There are a few Apps in my App registrations.<\/span><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 0.875rem;\">\u00a0<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f298b3a elementor-widget elementor-widget-image\" data-id=\"f298b3a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Azure_App_registrations\" data-elementor-lightbox-description=\"Azure_App_registrations\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxODEsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvQXp1cmVBcHBfMS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"354\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1-768x354.png\" class=\"attachment-medium_large size-medium_large wp-image-27181\" alt=\"Azure_App_registrations\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1-768x354.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1-300x138.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1-1024x472.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1-1536x708.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_1-2048x943.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5d5d6c elementor-widget elementor-widget-text-editor\" data-id=\"d5d5d6c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>There are two requirements:<\/p><ul><li>your App registration must have a valid Client Secret:<\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ada38d elementor-widget elementor-widget-image\" data-id=\"5ada38d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Azure App registration Secret\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxODUsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvQXp1cmVBcHBfMi5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"180\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2-768x180.png\" class=\"attachment-medium_large size-medium_large wp-image-27185\" alt=\"Azure App registration Secret\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2-768x180.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2-300x70.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2-1024x240.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2-1536x360.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/AzureApp_2-2048x480.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-971392a elementor-widget elementor-widget-text-editor\" data-id=\"971392a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul><li>your App needs the following Application-Type API permission for Microsoft Graph. Please notice that the permission can be granted by Tenant Admin only:<\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0dbcbb6 elementor-widget elementor-widget-image\" data-id=\"0dbcbb6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp17.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"SPN Permission Microsoft Graph\" data-elementor-lightbox-description=\"SPN Permission Microsoft Graph\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyOTgsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxNy5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"234\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp17-768x234.png\" class=\"attachment-medium_large size-medium_large wp-image-27298\" alt=\"SPN Permission Microsoft Graph\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp17-768x234.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp17-300x91.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp17-1024x311.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp17.png 1453w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-22cfc2d elementor-widget elementor-widget-heading\" data-id=\"22cfc2d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Logic App<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d277ea elementor-widget elementor-widget-heading\" data-id=\"8d277ea\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Recurrence<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e510368 elementor-widget elementor-widget-text-editor\" data-id=\"e510368\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The requirement is to check the expiration of Secrets every day. To accomplish this we need to start with the Recurrence block.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f0b29d elementor-widget elementor-widget-image\" data-id=\"7f0b29d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logc App Recurrence\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxOTYsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"247\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp1-768x247.png\" class=\"attachment-medium_large size-medium_large wp-image-27196\" alt=\"Logc App Recurrence\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp1-768x247.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp1-300x97.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp1-1024x330.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp1.png 1384w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48f3ad3 elementor-widget elementor-widget-heading\" data-id=\"48f3ad3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Initialization of Variables<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac93363 elementor-widget elementor-widget-text-editor\" data-id=\"ac93363\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>There are three variables that we are going to use. We must initialize them first:<\/p><ul><li>appID &#8211; it will store the Application ID. Type = String.<\/li><li>displayName &#8211; it will store the name of our App registration. Type = String.<\/li><li>passwordCredential &#8211; it will store our Secret details. Type = Array.<\/li><\/ul><p>Please be careful when selecting the types of each variable. Our Log App looks as follows now:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d06e9fe elementor-widget elementor-widget-image\" data-id=\"d06e9fe\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp2.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Variables\" data-elementor-lightbox-description=\"Logic App Variables\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxOTcsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAyLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"929\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp2-768x929.png\" class=\"attachment-medium_large size-medium_large wp-image-27197\" alt=\"Logic App Variables\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp2-768x929.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp2-248x300.png 248w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp2.png 835w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e41afc elementor-widget elementor-widget-heading\" data-id=\"6e41afc\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Microsoft Graph API Call<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63a9e3b elementor-widget elementor-widget-text-editor\" data-id=\"63a9e3b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The next step is to make an API call to Microsoft Graph to get all the information we need. The important parts are:<\/p><ul><li>Method = GET<\/li><li>URI = <strong>https:\/\/graph.microsoft.com\/v1.0\/applications?$filter=startswith(displayName,&#8217;Aviatrix&#8217;)&amp;$select=id,appId,displayName,passwordCredentials<\/strong><\/li><li>Authentication type = Active Directory OAuth<\/li><li>Tenant is your App registration Tenant ID (Directory ID)<\/li><li>Audience = <strong>https:\/\/graph.microsoft.com<\/strong><\/li><li>Client ID is your Application ID<\/li><li>Credential Type = Secret<\/li><li>Secret is a real Value of your Secret<\/li><\/ul><div>Please notice that I used an argument called &#8216;filter&#8217; when selecting the Applications. You can omit this argument and run the API call without it.<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aeab9aa elementor-widget elementor-widget-image\" data-id=\"aeab9aa\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp3.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App API Call\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyMDQsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAzLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1101\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp3-768x1101.png\" class=\"attachment-medium_large size-medium_large wp-image-27204\" alt=\"Logic App API Call\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp3-768x1101.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp3-209x300.png 209w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp3-715x1024.png 715w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp3.png 1007w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6c2270 elementor-widget elementor-widget-text-editor\" data-id=\"e6c2270\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Optionally, you could run a Logic App now. If everything is working you will get an output in JSON with the details about your Applications. This output could be used in the next step to generate the schema. If you do not Run the Logic App now, I will put a schema for you anyway.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5b31e0 elementor-widget elementor-widget-heading\" data-id=\"e5b31e0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Data Parsing<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cfa80c6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cfa80c6\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d330cbf\" data-id=\"d330cbf\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eb1ec2d elementor-widget elementor-widget-text-editor\" data-id=\"eb1ec2d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>There will be some data received after executing the API call. We must tell the Log App what the schema of data looks like. &#8220;Parse JSON&#8221; block will be used. There are two options to provide the Schema:<\/p><ul><li>you could copy the output that you got from the API Call and paste it into &#8220;Use sample payload to generate schema&#8221;<\/li><li>or you could just paste the Schema I put below in the &#8220;Schema&#8221; field.<\/li><\/ul><p>Both ways work just fine.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9f2f46 elementor-widget elementor-widget-image\" data-id=\"f9f2f46\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp4.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Parse JSON\" data-elementor-lightbox-description=\"Logic App Parse JSON\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyMDgsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHA0LnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"523\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp4-768x523.png\" class=\"attachment-medium_large size-medium_large wp-image-27208\" alt=\"Logic App Parse JSON\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp4-768x523.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp4-300x204.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp4-1024x697.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp4.png 1414w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53eb074 elementor-widget elementor-widget-code-highlight\" data-id=\"53eb074\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\r\n    \"properties\": {\r\n        \"@@odata.context\": {\r\n            \"type\": \"string\"\r\n        },\r\n        \"@@odata.nextLink\": {\r\n            \"type\": \"string\"\r\n        },\r\n        \"value\": {\r\n            \"items\": {\r\n                \"properties\": {\r\n                    \"appId\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"displayName\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"id\": {\r\n                        \"type\": \"string\"\r\n                    },\r\n                    \"passwordCredentials\": {\r\n                        \"items\": {\r\n                            \"properties\": {\r\n                                \"customKeyIdentifier\": {},\r\n                                \"displayName\": {\r\n                                    \"type\": \"string\"\r\n                                },\r\n                                \"endDateTime\": {\r\n                                    \"type\": \"string\"\r\n                                },\r\n                                \"hint\": {\r\n                                    \"type\": \"string\"\r\n                                },\r\n                                \"keyId\": {\r\n                                    \"type\": \"string\"\r\n                                },\r\n                                \"secretText\": {},\r\n                                \"startDateTime\": {\r\n                                    \"type\": \"string\"\r\n                                }\r\n                            },\r\n                            \"required\": [\r\n                                \"customKeyIdentifier\",\r\n                                \"displayName\",\r\n                                \"endDateTime\",\r\n                                \"hint\",\r\n                                \"keyId\",\r\n                                \"secretText\",\r\n                                \"startDateTime\"\r\n                            ],\r\n                            \"type\": \"object\"\r\n                        },\r\n                        \"type\": \"array\"\r\n                    }\r\n                },\r\n                \"required\": [\r\n                    \"id\",\r\n                    \"appId\",\r\n                    \"displayName\",\r\n                    \"passwordCredentials\"\r\n                ],\r\n                \"type\": \"object\"\r\n            },\r\n            \"type\": \"array\"\r\n        }\r\n    },\r\n    \"type\": \"object\"\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc945b3 elementor-widget elementor-widget-text-editor\" data-id=\"fc945b3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>As you can see the Schema contains the parts important for us: appId, displayName, and passwordCredentials array (with argument endDateTime).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd7dfe0 elementor-widget elementor-widget-heading\" data-id=\"cd7dfe0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Checking Expiration Date and Sending Notifications<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4fa42f elementor-widget elementor-widget-text-editor\" data-id=\"f4fa42f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The last part is to extract the required information from the received data and put them into variables that we created at the beginning. This has to be done for each Application (this is why we need for-each loop).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d8eaa64 elementor-widget elementor-widget-text-editor\" data-id=\"d8eaa64\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>For each value, we are going to get from the &#8220;Parse JSON&#8221; step we want to set the variables:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-efa6cdc elementor-widget elementor-widget-image\" data-id=\"efa6cdc\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App for each Application\" data-elementor-lightbox-description=\"Logic App for each Application\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyMjUsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHA3LTEucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"344\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1-768x344.png\" class=\"attachment-medium_large size-medium_large wp-image-27225\" alt=\"Logic App for each Application\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1-768x344.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1-300x134.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1-1024x459.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1-1536x688.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp7-1-2048x917.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29def6e elementor-widget elementor-widget-text-editor\" data-id=\"29def6e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Once the variables are set, there is another for-each loop (created &#8220;inside&#8221; the first loop). Please keep in mind that an App could have more than just one Secret. This time we need to iterate through all the Secrets that the App could have.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cb89d2 elementor-widget elementor-widget-image\" data-id=\"6cb89d2\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App for each Secret\" data-elementor-lightbox-description=\"Logic App for each Secret\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyMjEsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHA4LnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"212\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8-768x212.png\" class=\"attachment-medium_large size-medium_large wp-image-27221\" alt=\"Logic App for each Secret\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8-768x212.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8-300x83.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8-1024x283.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8-1536x424.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp8-2048x565.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44ad71f elementor-widget elementor-widget-text-editor\" data-id=\"44ad71f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The\u00a0<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 0.875rem;\">output from previous steps is a Dynamic Content from Parse JSON = <\/span><strong style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-size: 0.875rem;\">passwordCredentials<\/strong><\/p><p>The next step is to add Condition with the following arguments:<\/p><ul><li>value before the operator (Expression): <strong>items(&#8216;For_each_passwordCredential&#8217;)?[&#8216;endDateTime&#8217;]<\/strong><\/li><li>operator: <strong>is less than<\/strong><\/li><li>value after the operator (Expression): <strong>addToTime(utcNow(),30,&#8217;day&#8217;)<\/strong><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-06e33c8 elementor-widget elementor-widget-heading\" data-id=\"06e33c8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Notifications - Adaptive Cards<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6dec070 elementor-widget elementor-widget-text-editor\" data-id=\"6dec070\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The condition checks whether endDateTime is less than 30 days. If TRUE we want a notification (Adaptive Card) to be sent to the MS Teams Channel with all the details about the expiring Secret.<\/p><p>There are two things to keep in mind:<\/p><ul><li><span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 0.875rem;\">the Adaptive Card block we are going to use is a type of &#8220;wait for a response&#8221;. What does it mean? It means that if the reception is not confirmed your Run will stuck in the &#8220;Running&#8221; state. This is the reason why I included an Action in the Adaptive Card with a Submit button. After clicking the submit button (by a user\/receiver) your Run will be finished successfuly.\u00a0<\/span><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-335d605 elementor-widget elementor-widget-image\" data-id=\"335d605\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Adaptive Card\" data-elementor-lightbox-description=\"Logic App Adaptive Card\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNDEsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHA5LnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"600\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9-768x600.png\" class=\"attachment-medium_large size-medium_large wp-image-27241\" alt=\"Logic App Adaptive Card\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9-768x600.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9-300x234.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9-1024x800.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9-1536x1200.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp9.png 1826w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76813d4 elementor-widget elementor-widget-text-editor\" data-id=\"76813d4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The Message for Adaptive Card:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-428bcce elementor-widget elementor-widget-code-highlight\" data-id=\"428bcce\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>{\r\n    \"type\": \"AdaptiveCard\",\r\n    \"body\": [\r\n        {\r\n            \"type\": \"TextBlock\",\r\n            \"size\": \"Large\",\r\n            \"weight\": \"Bolder\",\r\n            \"text\": \"WARNING! Secret Key Expiration for @{items('For_each_Application')?['displayName']}\",\r\n        },\r\n        {\r\n            \"type\": \"TextBlock\",\r\n            \"size\": \"Medium\",\r\n            \"text\": \"The application @{items('For_each_Application')?['displayName']} has a Secret Key that either already expired or is about to expire.\",\r\n        },\r\n        {\r\n            \"type\": \"TextBlock\",\r\n            \"size\": \"Medium\",\r\n            \"text\": \"Secret expiration date: @{items('For_each_passwordCredential')?['endDateTime']}\",\r\n        },\r\n    ],\r\n    \"$schema\": \"http:\/\/adaptivecards.io\/schemas\/adaptive-card.json\",\r\n    \"version\": \"1.0\",\r\n    \"msTeams\": \r\n\t\t{ \r\n\t\t\t\"width\": \"full\" \r\n\t\t},\r\n   \"actions\": [\r\n        {\r\n            \"type\": \"Action.Submit\",\r\n            \"title\": \"OK\"\r\n        },\r\n    ],\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b28a45a elementor-widget elementor-widget-text-editor\" data-id=\"b28a45a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul><li>you must connect to your MS Teams to set this type of integration<\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76c687f elementor-widget elementor-widget-image\" data-id=\"76c687f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Adaptive Card connection\" data-elementor-lightbox-description=\"Logic App Adaptive Card connection\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNDIsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxMC5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"236\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10-768x236.png\" class=\"attachment-medium_large size-medium_large wp-image-27242\" alt=\"Logic App Adaptive Card connection\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10-768x236.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10-300x92.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10-1024x315.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10-1536x472.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp10.png 1539w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-417c98a elementor-widget elementor-widget-text-editor\" data-id=\"417c98a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The complete Logic App (from high-level perspective) looks like the following:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-544ab24 elementor-widget elementor-widget-image\" data-id=\"544ab24\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNjcsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxMS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"653\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11-768x653.png\" class=\"attachment-medium_large size-medium_large wp-image-27267\" alt=\"Logic App\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11-768x653.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11-300x255.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11-1024x871.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11-1536x1306.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp11.png 1957w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6ea2df7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6ea2df7\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b08c0de\" data-id=\"b08c0de\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ca174b1 elementor-widget elementor-widget-heading\" data-id=\"ca174b1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Testing Logic App<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-87da3a1 elementor-widget elementor-widget-text-editor\" data-id=\"87da3a1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>You can test that your Logic App is working properly by running it from an Azure Portal (use the &#8220;Run Trigger&#8221; option):<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54de0bf elementor-widget elementor-widget-image\" data-id=\"54de0bf\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp12.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Run Trigger\" data-elementor-lightbox-description=\"Logic App Run Trigger\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNjgsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxMi5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"89\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp12-300x89.png\" class=\"attachment-medium size-medium wp-image-27268\" alt=\"Logic App Run Trigger\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp12-300x89.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp12-1024x302.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp12-768x227.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp12.png 1480w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1e2ebd elementor-widget elementor-widget-text-editor\" data-id=\"e1e2ebd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>As mentioned earlier. The Logic App will wait for a response from the MS Teams. The clock will keep ticking unless you confirm the reception of the message by clicking the &#8220;OK&#8221; button in the MS Teams. Before confirming the reception, the Run will stuck in the &#8220;Running&#8221; state.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c95e538 elementor-widget elementor-widget-image\" data-id=\"c95e538\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp13.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Running\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNzIsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxMy5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"739\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp13-768x739.png\" class=\"attachment-medium_large size-medium_large wp-image-27272\" alt=\"Logic App Running\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp13-768x739.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp13-300x289.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp13-1024x985.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp13.png 1414w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a9963a elementor-widget elementor-widget-image\" data-id=\"4a9963a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Run History\" data-elementor-lightbox-description=\"Logic App Run History\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNzMsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxNC5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"290\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14-768x290.png\" class=\"attachment-medium_large size-medium_large wp-image-27273\" alt=\"Logic App Run History\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14-768x290.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14-300x113.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14-1024x387.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14-1536x580.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp14-2048x773.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f1b04a elementor-widget elementor-widget-heading\" data-id=\"7f1b04a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Verifying MS Teams Notifications<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a84287 elementor-widget elementor-widget-text-editor\" data-id=\"5a84287\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Let&#8217;s see how the notifications look like in the MS Teams Channel. There is one notification per application.<\/p><p>Please notice that there is an &#8220;OK&#8221; button. Once you click it, the Run will change its state from &#8220;Running&#8221; to &#8220;Successful&#8221;.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-080e5de elementor-widget elementor-widget-image\" data-id=\"080e5de\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Notifications\" data-elementor-lightbox-description=\"Logic App Notifications\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyODgsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxNS0xLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"837\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1-768x837.png\" class=\"attachment-medium_large size-medium_large wp-image-27288\" alt=\"Logic App Notifications\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1-768x837.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1-275x300.png 275w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1-940x1024.png 940w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1-1410x1536.png 1410w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp15-1.png 1430w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1ee623b elementor-widget elementor-widget-image\" data-id=\"1ee623b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Logic App Run History\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcyNzUsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMlwvTG9naWNBcHAxNi5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"326\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16-768x326.png\" class=\"attachment-medium_large size-medium_large wp-image-27275\" alt=\"Logic App Run History\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16-768x326.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16-300x127.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16-1024x435.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16-1536x652.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/LogicApp16-2048x870.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de860e5 elementor-widget elementor-widget-heading\" data-id=\"de860e5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ending Word<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4da68e5 elementor-widget elementor-widget-text-editor\" data-id=\"4da68e5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>As you can see, it is fairly easy to set up notifications for your Secrets expiration. There is one drawback though, you must grant Microsoft Graph permissions to your Logic App (it is not always possible or easy in huge organizations).\u00a0<\/p><p>Of course, instead of using the MS Teams channel, you could set up an e-mail to be sent to your mailbox. The implementation of such flow is almost the same as what I presented above. The only difference is the type of block you use for the &#8220;TRUE&#8221; action of a condition at the very end of the flow.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-191ae4f elementor-widget elementor-widget-heading\" data-id=\"191ae4f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Useful Links<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5017a2 elementor-widget elementor-widget-text-editor\" data-id=\"a5017a2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The following links will allow you to dig deeper into Azure Logic App and Adaptive Cards concepts:<\/p><ul><li><a href=\"https:\/\/www.youtube.com\/watch?v=8cFNtL538lc\">https:\/\/www.youtube.com\/watch?v=8cFNtL538lc<\/a><\/li><li><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/query-parameters?tabs=http\">https:\/\/learn.microsoft.com\/en-us\/graph\/query-parameters?tabs=http<\/a><\/li><li><a href=\"https:\/\/adaptivecards.io\/explorer\/TextBlock.html\">https:\/\/adaptivecards.io\/explorer\/TextBlock.html<\/a><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Have you ever had a situation where your Azure App registration Client Secret was about to expire soon or has already expired? Or have you wondered what to do to be informed in advance that your password will expire? This post is an answer. It shows how to set up a simple Logic App in Azure that checks periodically for Secret expiration dates and notifies you in advance when they are going to expire soon.<\/p>\n","protected":false},"author":2,"featured_media":27292,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[18,11,19],"tags":[],"class_list":["post-27178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-azure-active-directory","category-monitoring"],"uagb_featured_image_src":{"full":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14.png",2013,1428,false],"thumbnail":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-150x150.png",150,150,true],"medium":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-300x213.png",300,213,true],"medium_large":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-768x545.png",768,545,true],"large":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-1024x726.png",800,567,true],"1536x1536":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-1536x1090.png",1536,1090,true],"2048x2048":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14.png",2013,1428,false],"onepress-blog-small":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-300x150.png",300,150,true],"onepress-small":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-480x300.png",480,300,true],"onepress-medium":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/02\/blog_post14-640x400.png",640,400,true]},"uagb_author_info":{"display_name":"Jakub","author_link":"https:\/\/cloud-cod.com\/index.php\/author\/jakub\/"},"uagb_comment_info":25,"uagb_excerpt":"Have you ever had a situation where your Azure App registration Client Secret was about to expire soon or has already expired? Or have you wondered what to do to be informed in advance that your password will expire? This post is an answer. It shows how to set up a simple Logic App in&hellip;","_links":{"self":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts\/27178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/comments?post=27178"}],"version-history":[{"count":96,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts\/27178\/revisions"}],"predecessor-version":[{"id":27301,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts\/27178\/revisions\/27301"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/media\/27292"}],"wp:attachment":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/media?parent=27178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/categories?post=27178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/tags?post=27178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}