{"id":40635,"date":"2025-03-17T17:32:48","date_gmt":"2025-03-17T12:02:48","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=40635"},"modified":"2025-04-17T12:33:48","modified_gmt":"2025-04-17T07:03:48","slug":"auto-populating-power-automate-callback-urls-for-http-flows-in-dataverse","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2025\/03\/auto-populating-power-automate-callback-urls-for-http-flows-in-dataverse\/","title":{"rendered":"Auto-Populating Power Automate Callback URLs for HTTP Flows in Dataverse"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone wp-image-40644\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/HTTP-Flows-in-Dataverse.jpg\" alt=\"HTTP Flows in Dataverse\" width=\"1285\" height=\"734\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/HTTP-Flows-in-Dataverse.jpg 800w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/HTTP-Flows-in-Dataverse-300x171.jpg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/HTTP-Flows-in-Dataverse-768x439.jpg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/HTTP-Flows-in-Dataverse-660x377.jpg 660w\" sizes=\"(max-width: 1285px) 100vw, 1285px\" \/><\/p>\n<p>In our <a href=\"https:\/\/www.inogic.com\/blog\/2025\/03\/regenerating-a-sas-key-for-an-http-triggered-flow-in-power-automate\/\" target=\"_blank\" rel=\"noopener\">previous blog<\/a>, we covered regenerating the SAS key to secure <a href=\"https:\/\/www.inogic.com\/services\/microsoft-power-platform\/microsoft-power-automate\/?utm_source=inogic-t-blog&amp;utm_medium=power-automate&amp;utm_campaign=itblog&amp;utm_id=power-automate\" target=\"_blank\" rel=\"noopener\">Power Automate flows<\/a>. While security is important, another challenge is managing callback URLs, which are crucial for external applications to trigger automation, especially in large-scale implementations. Manually accessing the Power Automate portal, finding the flow, and copying the callback URL each time is time-consuming and prone to errors.<\/p>\n<p>To solve this, we developed a method to programmatically fetch and store the callback URL using the Power Automate Management connector within a Power Automate flow.<\/p>\n<p>In this blog, we will demonstrate how to automatically populate the Callback URL field with the URL of a specific HTTP-Triggered flow whenever a new Setting record is created in Dataverse. Additionally, this approach can be customized by adding conditions to retrieve different HTTP-Triggered flow callback URLs based on your requirements.<\/p>\n<p>Step-by-Step Approach to Retrieving and Storing the Callback URL<\/p>\n<p>1. Sign in to the <a href=\"https:\/\/make.powerautomate.com\/\" target=\"_blank\" rel=\"noopener\">Power Automate Portal<\/a> and navigate to your flows.<\/p>\n<p>2. Locate the flow that contains the HTTP-triggered action and note down the exact name of this flow.<\/p>\n<p>3. Create a new flow and choose the trigger based on your requirement. In this case, we want to trigger the Power Automate flow when a new Setting entity record is created in Dataverse.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-40636\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/1HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1113\" height=\"710\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/1HTTP-Triggered-Flows-in-Dataverse.png 893w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/1HTTP-Triggered-Flows-in-Dataverse-300x191.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/1HTTP-Triggered-Flows-in-Dataverse-768x489.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/1HTTP-Triggered-Flows-in-Dataverse-660x421.png 660w\" sizes=\"(max-width: 1113px) 100vw, 1113px\" \/><\/p>\n<p>4. &#8220;When a row is added&#8221; needs to be set as the trigger. Choose the table name as &#8220;Setting&#8221; (Custom Entity) and set the Scope to Organization.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-40637\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/2HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1115\" height=\"357\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/2HTTP-Triggered-Flows-in-Dataverse.png 1115w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/2HTTP-Triggered-Flows-in-Dataverse-300x96.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/2HTTP-Triggered-Flows-in-Dataverse-1024x328.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/2HTTP-Triggered-Flows-in-Dataverse-768x246.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/2HTTP-Triggered-Flows-in-Dataverse-660x211.png 660w\" sizes=\"(max-width: 1115px) 100vw, 1115px\" \/><\/p>\n<p>5. Add a new action, search for Power Automate Management, and select it.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-40638\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/3HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1150\" height=\"549\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/3HTTP-Triggered-Flows-in-Dataverse.png 599w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/3HTTP-Triggered-Flows-in-Dataverse-300x143.png 300w\" sizes=\"(max-width: 1150px) 100vw, 1150px\" \/><\/p>\n<p>6. Under actions, choose &#8220;List Flows as Admin (V2)&#8221;.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-40639\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/4HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1113\" height=\"968\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/4HTTP-Triggered-Flows-in-Dataverse.png 613w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/4HTTP-Triggered-Flows-in-Dataverse-300x261.png 300w\" sizes=\"(max-width: 1113px) 100vw, 1113px\" \/><\/p>\n<p>7. Under Environment, select a specific environment or use the current environment by setting the custom value:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Environment:<em> workflow()[&#8216;tags&#8217;][&#8216;environmentName&#8217;]<\/em>.<\/li>\n<li>Set &#8220;Include Soft-Deleted Flows&#8221; to No.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><img decoding=\"async\" class=\"alignnone wp-image-40640\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/5HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1226\" height=\"544\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/5HTTP-Triggered-Flows-in-Dataverse.png 627w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/5HTTP-Triggered-Flows-in-Dataverse-300x133.png 300w\" sizes=\"(max-width: 1226px) 100vw, 1226px\" \/><\/p>\n<p>8. Add an action and search for &#8220;Filter Array&#8221;. Filter the flow by its display name:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>From: value (from the &#8220;List Flows as Admin&#8221; action).<\/li>\n<li>Condition: Flow Display Name is equal to \u201cYOUR_FLOW_NAME\u201d i.<em>e equals(item()?[&#8216;properties\/displayName&#8217;], &#8216;YOUR_FLOW_NAME&#8217;) <\/em><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><em> <img decoding=\"async\" class=\"alignnone size-full wp-image-40641\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/6HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1063\" height=\"425\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/6HTTP-Triggered-Flows-in-Dataverse.png 1063w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/6HTTP-Triggered-Flows-in-Dataverse-300x120.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/6HTTP-Triggered-Flows-in-Dataverse-1024x409.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/6HTTP-Triggered-Flows-in-Dataverse-768x307.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/6HTTP-Triggered-Flows-in-Dataverse-660x264.png 660w\" sizes=\"(max-width: 1063px) 100vw, 1063px\" \/><\/em><\/p>\n<p>&nbsp;<\/p>\n<p>9. Add a new action, search for &#8220;List Callback URL&#8221; under the Power Automate Management connector. Enter the following details:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Environment: Use your preferred environment or the current environment: <em>workflow()[&#8216;tags&#8217;][&#8216;environmentName&#8217;]<\/em><\/li>\n<li>Flow: <em>first(body(&#8216;Filter_array&#8217;))?[&#8216;name&#8217;]<\/em><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><em> <img decoding=\"async\" class=\"alignnone wp-image-40642\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/7HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1240\" height=\"361\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/7HTTP-Triggered-Flows-in-Dataverse.png 613w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/7HTTP-Triggered-Flows-in-Dataverse-300x87.png 300w\" sizes=\"(max-width: 1240px) 100vw, 1240px\" \/><\/em><\/p>\n<p>10. Check whether the callback URL from the &#8220;List Callback URL&#8221; action is null or not. If not null, update the respective entity field in Dataverse.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-40643\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/8HTTP-Triggered-Flows-in-Dataverse.png\" alt=\"HTTP-Triggered Flows in Dataverse\" width=\"1165\" height=\"664\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/8HTTP-Triggered-Flows-in-Dataverse.png 947w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/8HTTP-Triggered-Flows-in-Dataverse-300x171.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/8HTTP-Triggered-Flows-in-Dataverse-768x437.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/03\/8HTTP-Triggered-Flows-in-Dataverse-660x376.png 660w\" sizes=\"(max-width: 1165px) 100vw, 1165px\" \/><\/p>\n<h2>Conclusion<\/h2>\n<p>By implementing this approach, you can automate the retrieval of call-back URLs, saving time and improving efficiency. With the Power Automate Management connector, the URL can be stored in Dataverse for easier and more scalable integrations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our previous blog, we covered regenerating the SAS key to secure Power Automate flows. While security is important, another challenge is managing callback URLs, which are crucial for external applications to trigger automation, especially in large-scale implementations. Manually accessing the Power Automate portal, finding the flow, and copying the callback URL each time is\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2025\/03\/auto-populating-power-automate-callback-urls-for-http-flows-in-dataverse\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"closed","ping_status":"closed","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":[1985,2361],"tags":[3129,1975],"class_list":["post-40635","post","type-post","status-publish","format-standard","hentry","category-power-automate","category-technical","tag-http-flows-in-dataverse","tag-power-automate"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/40635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=40635"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/40635\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=40635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=40635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=40635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}