<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Dustin’s Substack]]></title><description><![CDATA[Your hub for Azure, Microsoft 365, and IT knowledge for MSPs... with a side of ramblings 😅]]></description><link>https://blog.dustinlepi.com</link><image><url>https://substackcdn.com/image/fetch/$s_!6m4t!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b50a285-9fdb-4e8b-8684-43f0f411a4f3_1024x1024.png</url><title>Dustin’s Substack</title><link>https://blog.dustinlepi.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 09 Jun 2026 23:42:41 GMT</lastBuildDate><atom:link href="https://blog.dustinlepi.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dustin Lepi]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dustinlepi@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dustinlepi@substack.com]]></itunes:email><itunes:name><![CDATA[Dustin Lepi]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dustin Lepi]]></itunes:author><googleplay:owner><![CDATA[dustinlepi@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dustinlepi@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dustin Lepi]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Art of Troubleshooting]]></title><description><![CDATA[Universal fundamentals from a farm hand turned plumber turned CTO]]></description><link>https://blog.dustinlepi.com/p/troubleshooting-fundamentals</link><guid isPermaLink="false">https://blog.dustinlepi.com/p/troubleshooting-fundamentals</guid><dc:creator><![CDATA[Dustin Lepi]]></dc:creator><pubDate>Tue, 03 Mar 2026 13:02:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/91fa617d-b639-4124-8e8e-c06c0f28fb30_4096x2284.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The Origin Story</h2><p>Troubleshooting is one of those skills that people often assume is just an IT thing. Like it&#8217;s something you only need if you&#8217;re staring at an error screen or trying to figure out why something won&#8217;t print.</p><p>Realistically, troubleshooting is one of the most universally useful skills you can develop. It applies to everything. Fixing a car, figuring out why a project at work fell apart, diagnosing why your sourdough didn&#8217;t rise. The thinking behind it is the same every single time. And once you internalize it, you&#8217;ll start spotting the patterns faster, cutting your troubleshooting time down, and building the kind of gut instincts that&#8217;ll make people think you&#8217;re just naturally good at fixing things.</p><p>I didn&#8217;t start in IT. I grew up working as a farm hand, worked a ton of odd jobs, dabbled in construction, moved into pipe lining then ultimately landed in plumbing. I spent years figuring out why equipment wouldn&#8217;t start, why a line was leaking, why something that worked yesterday didn&#8217;t work today.</p><p>When I eventually got into IT and started at a helpdesk, the problems were different but the thinking was identical. The same instincts I built up over years of hands-on work are what helped me move from helpdesk to CTO in under 5 years. I didn&#8217;t move up because I memorized every Microsoft KB article or Reddit post, but rather I already knew how to think through problems and filter for the most logical answer.</p><p>Nobody really teaches this skill either. You&#8217;re just kind of expected to figure it out, which can be frustrating. So I wanted to break down the real fundamentals that have helped me in my life, in hopes that it may help someone else along the way as well!</p><p>I think about these fundamentals in two buckets. There&#8217;s the stuff you actually do to find the problem, and then there&#8217;s the habits that make all of that more effective. This image shows how I think about the full troubleshooting toolkit:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1ulV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1ulV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 424w, https://substackcdn.com/image/fetch/$s_!1ulV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 848w, https://substackcdn.com/image/fetch/$s_!1ulV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 1272w, https://substackcdn.com/image/fetch/$s_!1ulV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1ulV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png" width="728" height="613.34" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1011,&quot;width&quot;:1200,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:1463128,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/189303306?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b7ce8c6-014e-426d-82d8-ecde8bcc0bee_1200x1011.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1ulV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 424w, https://substackcdn.com/image/fetch/$s_!1ulV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 848w, https://substackcdn.com/image/fetch/$s_!1ulV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 1272w, https://substackcdn.com/image/fetch/$s_!1ulV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff30fc5da-426d-43c8-985a-b8fc525fc9c3_1200x1011.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Troubleshooting Toolkit - all your tools at a glance</figcaption></figure></div><p>These aren&#8217;t steps you follow in order like a checklist. They&#8217;re more like tools in a bag that you reach for based on the situation in front of you. Most of the time you&#8217;re going to start with &#8220;what changed?&#8221; because it&#8217;s the fastest way to narrow things down. But sometimes you get dropped into a problem with zero context and you have to work backwards from what IS working. </p><p>The order matters less than the fact that you&#8217;re reaching for the right tool at the right time, and that&#8217;s part of what you develop over time with consistent practice. That said, there&#8217;s a general flow that works really well for most situations, and that&#8217;s how I&#8217;ve laid them out below.</p><div><hr></div><h2>Start With What Changed</h2><p>This is the single most important question you can ask when something breaks: <strong>what changed?</strong></p><p>Something was working before. Now it&#8217;s not. Something happened between those two states. That&#8217;s your starting point. Every time. Doesn&#8217;t matter if it&#8217;s a network issue or a recipe you&#8217;ve made a hundred times that suddenly flopped.</p><p>People love to skip this step and jump straight to Googling symptoms or throwing random fixes at the wall. But if you can identify what changed, you&#8217;ve already narrowed your problem down significantly.</p><p>In IT this is huge. A user says &#8220;my email stopped working.&#8221; Okay, <em>when?</em> This morning? What happened this morning? Oh, there was a password reset last night? There&#8217;s likely your answer. Check your equipment uptime too. Does a reboot or a config change coincide with when the issue began? In the MSP world, being able to pull up a log and say &#8220;a Conditional Access policy was modified at 2:14 PM yesterday&#8221; can be the difference between a 10-minute ticket and a 2-hour rabbit hole.</p><div><hr></div><h2>Isolate the Problem</h2><p>Most people want to go from &#8220;it&#8217;s broken&#8221; to &#8220;it&#8217;s fixed&#8221; instantly. That rarely works.</p><p>Problems are often just a bunch of smaller problems stacked on top of one another. The goal is to strip them away, get down to the core, get that working first, and then slowly layer complexity back on top.</p><p>Your car won&#8217;t start. It could be the battery, the starter, a fuse, the fuel pump, any number of things. If you replace the battery AND the starter AND the fuel filter all at once and the car starts, <em>what actually fixed it?</em> You just spent money and time on stuff that might not have been broken. Instead, check the battery voltage first. Good? Move on. Try jumping it. Turns over? Now you know your battery was dead. Doesn&#8217;t turn over? Now you&#8217;re looking at the starter or a fuse. Each test should rule something out and move you forward.</p><p>The same applies in IT when troubleshooting a VPN. Can you ping the gateway? Yes? Network is probably fine, move on. Can you authenticate? No? Now it's an auth problem, not a network problem. Each test narrows the scope.</p><p>The people who change five things at once and then can&#8217;t tell you which one fixed it? They&#8217;re starting from zero again next time. <strong>One thing at a time.</strong> It feels slower in the moment but it saves you so much pain in the long run.</p><div><hr></div><h2>Reproduce It</h2><p>If you can make the problem happen on demand, you basically own it. Reproducing an issue means you understand the conditions that cause it, and once you understand the conditions, you&#8217;re really close to understanding the fix.</p><p>Anyone who&#8217;s worked a helpdesk knows the pain of &#8220;it does it sometimes.&#8221; Okay, randomly when? Every day? Only in the morning? Only when you have 47 browser tabs open? Getting specific about reproduction is everything. &#8220;It&#8217;s broken&#8221; is a complaint. &#8220;It fails when I do X after Y&#8221; is a bug report. Big difference, and it makes a huge difference when you&#8217;re escalating to Microsoft support or a vendor.</p><div><hr></div><h2>Work Backwards From What You Know</h2><p>When you&#8217;re really stuck, flip the problem around. Instead of trying to figure out why something is broken, start from what <em>IS</em> working and work backwards toward the break.</p><p>If water isn&#8217;t coming out of a faucet, you don&#8217;t start by digging up the water main. You check the faucet, then the valve, then the pipe, then the supply line. You follow the chain link by link until you find the break.</p><p>Network troubleshooting is literally this. You&#8217;re basically just walking up and down the OSI model. User can&#8217;t reach a website. Can they reach other websites? Can they ping the gateway? Do they have an IP? You&#8217;re walking backwards through the stack until you find where it falls apart. It&#8217;s not glamorous. It&#8217;s just methodical. But it works every single time.</p><div><hr></div><h2>Read the Error Message. No, Actually Read It.</h2><p>When something gives you an error, a warning, a weird message, anything... actually read it. Slowly. Word by word.</p><p>I know that sounds obvious but most people see an error and immediately panic or dismiss it. Error messages are literally the system telling you what went wrong. They&#8217;re not always perfectly clear, but they&#8217;re almost always pointing you in the right direction.</p><p>Over the years, I&#8217;ve watched folks screenshot an error and immediately paste it into a chat asking for help <em>without even reading what it says.</em> Half the time the error literally tells you what to do. &#8220;Access denied. Contact your administrator.&#8221; It&#8217;s a permissions problem! &#8220;Certificate expired on 01/15/2026.&#8221; There&#8217;s your answer! Even the ugly ones, like the long PowerShell stack traces or cryptic Azure error codes, they still give you a thread to pull on.</p><div><hr></div><h2>Search Like You Mean It</h2><p>One of the most underrated troubleshooting skills is knowing how to search effectively. When I started in IT, troubleshooting meant Googling the error, finding a forum post from 2009, scrolling past four &#8220;me too&#8221; replies, and finding the one answer with a green checkmark. The sources have evolved but the skill of searching well is just as important as ever.</p><p>Be specific. Don&#8217;t search &#8220;email not working.&#8221; Search &#8220;Microsoft 365 autodiscover failing external DNS.&#8221; Include version numbers and product names. Filter your results to the last year or month because a solution from 2019 might not be relevant in a cloud environment that&#8217;s changed three times since then. And learn to filter out the noise. A Microsoft Learn doc from someone who clearly reproduced the issue is worth 50 forum threads full of speculation.</p><div><hr></div><h2>Use Your Tools Wisely</h2><p>The tools are really different now than they were even a few years ago, and the biggest shift is obviously AI. But the thing I think a lot of people are getting wrong is this: <strong>the tools don&#8217;t replace the process</strong>. If you don&#8217;t understand how to troubleshoot, AI will just help you be wrong faster.</p><p>AI is an incredible troubleshooting tool. I use it constantly! But use it as a collaborator, not as an authority. It's great at synthesizing information, explaining error messages in plain language, and brainstorming possible causes. It's not great at knowing the current state of your specific environment or always being accurate about product details that change frequently.</p><p>The biggest mistake I see is treating AI output as <em>the answer</em> instead of a starting point. If AI gives you five possible reasons your Intune policy isn&#8217;t applying, great, but you still need to go check each one. And please, don&#8217;t blindly paste AI-generated commands into production. Read them. Understand them. Test them somewhere safe. AI can and will hallucinate commands that look right but aren&#8217;t.</p><blockquote><p><strong>AI makes a good troubleshooter faster. It makes a bad troubleshooter more confident. And that&#8217;s a pretty dangerous combo.</strong></p></blockquote><div><hr></div><h2>Document What You Try</h2><p>When you&#8217;re in the middle of troubleshooting something complex, write down what you&#8217;ve tried and what the result was. Even just quick notes.</p><p>There&#8217;s nothing worse than being two hours into a problem and thinking &#8220;wait, did I already try that?&#8221; A simple log keeps you moving forward and prevents you from going in circles.</p><p>In the MSP world this matters even more because your teammates might need to pick up where you left off. A ticket that says &#8220;troubleshot the issue and resolved it&#8221; is useless. A ticket that says &#8220;checked DNS, confirmed autodiscover CNAME was missing, added the record, verified in Remote Connectivity Analyzer, working now&#8221; is something the next tech can learn from. It&#8217;s also something YOU can reference six months later when another client has the same problem.</p><div><hr></div><h2>Know When to Step Away</h2><p>Sometimes the best troubleshooting move is closing your laptop and going for a walk. Your brain does a lot of processing in the background, and when you&#8217;re hyper-focused for too long you develop tunnel vision. You get fixated on one theory and stop seeing other possibilities.</p><p>I can&#8217;t tell you how many times I&#8217;ve been completely stuck on something, walked away, and then the answer just hit me 20 minutes later while doing something totally unrelated. If it&#8217;s not a production-down emergency, sleep on it. You&#8217;ll almost always see it differently in the morning.</p><p><strong>Stubbornness is not the same thing as persistence.</strong> </p><div><hr></div><h2>Ask Better Questions</h2><p>Troubleshooting is really just asking questions in the right order. And the quality of your questions determines how fast you get to an answer.</p><blockquote><p>Bad question: <em>&#8220;Why is this broken?&#8221;</em> <br>Better question: <em>&#8220;What specifically isn&#8217;t working?&#8221;</em> <br>Even better: <em>&#8220;When did it stop working and what happened right before that?&#8221;</em></p></blockquote><p>This applies when you&#8217;re questioning a user, prompting AI, or just talking yourself through a problem. &#8220;My computer is slow&#8221; gives you nothing. &#8220;My computer started running slow after the last Windows update and it&#8217;s specifically slow when opening Office apps&#8221; gives you a clearer path.</p><p>And if you&#8217;re someone who asks for help in chats, Slack channels, or Discord communities, check out <a href="https://dontasktoask.com/">dontasktoask.com</a> - it&#8217;s worth the quick detour! The core idea is simple: don&#8217;t ask &#8220;is anyone here who knows about X?&#8221; Just ask your actual question with specific and relevant details. You&#8217;ll get better help faster, and you&#8217;ll practice the skill of formulating clear, specific questions in the process.</p><div><hr></div><h2>Further Reading</h2><p>If you&#8217;re in IT or the MSP space and want to go deeper on what it means to operate as a technician, I&#8217;d really recommend reading Mendy Green&#8217;s <a href="https://www.risingtidegroup.net/thoughts/laws-for-the-practical-technician">Laws for the Practical Technician</a> over at Rising Tide. It covers a lot of complementary ground around the technician mindset, reading the screen, being intentional, and questioning your assumptions. I&#8217;ve shared it with my teams many times over the years and it&#8217;s always worth revisiting.</p><div><hr></div><h2>The Takeaway</h2><p>Troubleshooting is a process. And the people who are &#8220;good at fixing things&#8221; have just internalized these fundamentals and apply the techniques consistently.</p><p>Start with what changed. Isolate variables. Reproduce the issue. Work backwards. Read the errors. Search well. Use your tools wisely. Document your steps. Step away when you need to. Ask better questions.</p><p>The tools will always keep evolving. AI is going to get better. New platforms and products will come and go. But these fundamentals are the same now as they were when I was diagnosing a root infested sewer line, and they&#8217;re the same as when I was sitting in a helpdesk trying to figure out why someone&#8217;s Outlook wouldn&#8217;t open. The problems may change, but the approach doesn&#8217;t.</p><p>That&#8217;s really it. The rest just comes with repetition!</p>]]></content:encoded></item><item><title><![CDATA[Azure Foundry: Build Your Own AI]]></title><description><![CDATA[Skip the ChatGPT Subscriptions and Create Your Own AI with Azure Foundry]]></description><link>https://blog.dustinlepi.com/p/azure-foundry-build-your-own-ai</link><guid isPermaLink="false">https://blog.dustinlepi.com/p/azure-foundry-build-your-own-ai</guid><dc:creator><![CDATA[Dustin Lepi]]></dc:creator><pubDate>Wed, 17 Sep 2025 11:08:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4a05b43-22b5-4400-a8ae-d7abd1c49abb_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-azure-ai-foundry">Azure Foundry</a> is Microsoft&#8217;s AI platform targeted towards developers for creating <em>everything</em> AI  - assistants, chat agents, content generation, and more. Platforms like OpenAI charge users monthly subscriptions for limited access, while Foundry allows you to choose from dozens of the most popular <a href="https://ai.azure.com/catalog/models">models</a> and pay for exactly what you use <em>(with no cooldown periods)</em>. Azure resources are consumption based and use <strong>pay-as-you-go</strong> billing based on current model <a href="https://azure.microsoft.com/en-us/pricing/details/cognitive-services/openai-service/">pricing</a>. Using one of the latest models, like <em>GPT 5 Nano</em>, it would cost us <strong> </strong>approximately<strong> $0.40 per 1 million tokens</strong>. That&#8217;s around 750,000 words generated, or <em>2,428 copies of Harry Potter and the Sorcerer&#8217;s Stone</em> to be precise<em>.</em></p><p>Don&#8217;t get me wrong - Azure Foundry can be intimidating and it&#8217;s not nearly as user friendly as Grok or ChatGPT, but they don&#8217;t give you this level of access to developing and building your custom solutions. In just a few clicks you can deploy your own models with instant access using the Playground or utilize the REST API endpoints and integrate them into your application. You can expand even further by creating your own RAG pipeline with Vector Database storage and build your own custom agents.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dustinlepi.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dustin&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Deploying Azure Foundry</h2><p>You can access the <strong>Foundry</strong> portal from <a href="https://ai.azure.com">ai.azure.com</a> and follow the <strong>Getting Started</strong> steps. In short, you&#8217;ll want to <strong>create a new project,</strong> ideally in <strong>East US 2 </strong>as your region - each region has limited access to models, but East US 2 has a good overall selection. Depending on the models you want to use, you may need to choose a different region but you can easily do that when the time comes. Review the pricing pages to filter on specific regions and see what&#8217;s available. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bcJK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bcJK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 424w, https://substackcdn.com/image/fetch/$s_!bcJK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 848w, https://substackcdn.com/image/fetch/$s_!bcJK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 1272w, https://substackcdn.com/image/fetch/$s_!bcJK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bcJK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png" width="1280" height="1341" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1341,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:214911,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bcJK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 424w, https://substackcdn.com/image/fetch/$s_!bcJK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 848w, https://substackcdn.com/image/fetch/$s_!bcJK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 1272w, https://substackcdn.com/image/fetch/$s_!bcJK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f9c39b-9a73-4f10-a1dc-dab1c794cb67_1280x1341.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Creating a new Azure Foundry Project from <a href="https://ai.azure.com">ai.azure.com</a></figcaption></figure></div><p>Once deployed, you should see a Project Overview page that probably looks pretty intimidating. Let&#8217;s break the navigation menu down into pieces:</p><ul><li><p><strong>Overview</strong> is showing you the information needed to integrate into an application. Here you can see the <strong>base endpoints</strong> and <strong>API key</strong> for your project. Azure has done a pretty good job of simplifying endpoints but there are a handful depending on your usages. </p></li><li><p><strong>Resource Selector</strong> is along the top ribbon menu. As you build further and expand to more projects you&#8217;ll be able to swap between them all here. </p></li><li><p><strong>Model Catalog</strong> is the list of models for deployment. Just <strong>click</strong> one and <strong>deploy</strong> to get started!</p></li><li><p><strong>Playgrounds</strong> is the quick and dirty workspace to <strong>test your deployed models</strong>, agents, assistants, etc. Use your models here with minimal setup.</p></li><li><p><strong>Agents</strong> are the <strong>evolution of chatbots</strong>, capable of performing tasks directly rather than just providing answers.</p></li><li><p><strong>Assistant vector stores</strong> are an easy way to upload files and folders in bulk to <strong>give your models</strong> or agents the <strong>additional custom context </strong>and knowledge it needs to level up.</p></li><li><p><strong>Models + endpoints</strong> is a one stop shop for <strong>all your current deployed models</strong> and resources.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_yd0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_yd0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 424w, https://substackcdn.com/image/fetch/$s_!_yd0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 848w, https://substackcdn.com/image/fetch/$s_!_yd0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!_yd0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_yd0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1065163,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_yd0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 424w, https://substackcdn.com/image/fetch/$s_!_yd0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 848w, https://substackcdn.com/image/fetch/$s_!_yd0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!_yd0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c73566-ec84-4bdf-957e-319eb4253196_3248x1936.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The expansive Overview page of your Azure Foundry Project</figcaption></figure></div><h2>Deploying Your First Model</h2><p>We&#8217;ve got the project, now it&#8217;s time to deply your first model - <strong>click model catalog</strong> and pick one that interests you. You can filter on different tasks and categories, but I&#8217;m choosing to go with <em>GPT 5 Nano</em> - it&#8217;s powerful as an overall model and cheap to use, though you may opt for a different model based on your goals. Click <strong>Use this model </strong>to begin the deployment process then click <strong>Connect and deploy</strong> to wrap up. Once done you should see the overview page for your new model, typically showing the <em>deployment name</em>, <em>endpoint URL</em>, and <em>API key</em> for further integration.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q6Hp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 424w, https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 848w, https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png" width="3248" height="1936" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1936,&quot;width&quot;:3248,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1250937,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab751035-7b32-4902-b64f-fc46f0cb2615_3248x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 424w, https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 848w, https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!Q6Hp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4e99cc2-19b3-4e82-aa0f-a0eaa830574e_3248x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Deploying the GPT 5 Nano model from OpenAI</figcaption></figure></div><p>Once you have your first model deployed you can view it and future models from the bottom left <strong>Models + endpoints</strong> menu item. Repeat the process to deploy more models, but be cautious of pricing. Nothing is exorbitant (aside from Sora!), but it can add up if you aren&#8217;t careful. Be sure to <strong>review the Azure <a href="https://azure.microsoft.com/en-us/pricing/details/cognitive-services/openai-service/">pricing sheets</a></strong> - sage advice for <em>anything</em> in Azure! Work towards learning which models are good at what and try to leverage the right tool for the job.</p><blockquote><p><strong>Tip!</strong> <em>Ask AI to help you pick and choose between models if you aren&#8217;t sure where to start.</em></p></blockquote><h2>Sandboxes and Playgrounds</h2><p>Use your newly deployed models by navigating to the <strong>Playgrounds</strong> section. Here you can start from different templates (assistants, chats, pictures, audio, etc.), then tweak some parameters to get up and going. <strong>Add instructions</strong> or examples for more context and customization. Play with different configurations to see if you can refine and iterate until you&#8217;ve got exactly what you need. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eU77!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eU77!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!eU77!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!eU77!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!eU77!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eU77!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png" width="2804" height="1936" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1936,&quot;width&quot;:2804,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1037729,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee36781d-bcb2-477c-bdd2-bde45b26e3c3_2804x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eU77!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!eU77!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!eU77!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!eU77!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d461b74-9e36-4dbc-a0a4-c1c373a25215_2804x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Using the Foundry Playgrounds to test and develop custom assistants</figcaption></figure></div><p></p><p>Review the <a href="https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/concept-playgrounds">Microsoft Learn documentation</a> to dig in further and learn the ins-and-outs of Azure Foundry and Playgrounds. Chats and assistants are powerful, but they really level up once you can provide some additional files and knowledge for it to reference and understand. </p><h2>Building AI Brains - Vector Storage Databases</h2><p>Vector databases are a type of <strong>storage system</strong> meant for <strong>easier retrieval of information</strong> by AI models. They <strong>transform raw data</strong> into <strong>embeddings</strong> which are <strong>indexed</strong> and stored as <strong>vectors</strong>. Similar data is stored near each other within the database, helping build out the relational infrastructure for faster retrieval. I&#8217;m going to stop pretending to understand; read this great <a href="https://medium.com/@EjiroOnose/vector-database-what-is-it-and-why-you-should-know-it-ae7e7dca82a4">breakdown</a> for further info on vector databases. Back in <strong>Azure</strong> we&#8217;re going to <strong>navigate</strong> to <strong>Assistant vector stores</strong> in the <em>bottom-left</em> of the navigation menu.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ao61!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ao61!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!Ao61!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!Ao61!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!Ao61!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ao61!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png" width="2804" height="1936" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1936,&quot;width&quot;:2804,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:927367,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1751419b-748d-4e1d-a242-44bd6f133499_2804x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ao61!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!Ao61!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!Ao61!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!Ao61!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1599c73-4149-45cd-a7d2-cf04d48b41c8_2804x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Create a new vector store to upload your files or data</figcaption></figure></div><p></p><p><strong>Add</strong> a <strong>new store</strong> and <strong>create </strong>it, then <strong>add files</strong> needed to improve the context for your assistant. Luckily all the Microsoft documentation is on GitHub making it easy to download or link for building out your knowledgebase. I&#8217;ve been toying with <em>Azure DevTest Labs</em> recently so I&#8217;m choosing to upload a few related documents about it to discuss more with my assistant.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6xJ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6xJ0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!6xJ0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!6xJ0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!6xJ0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6xJ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png" width="1456" height="1005" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8377263-268b-4487-adf0-e4565a340776_2804x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1005,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:927013,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6xJ0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!6xJ0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!6xJ0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!6xJ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8377263-268b-4487-adf0-e4565a340776_2804x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Connecting it All Together</h2><p>Back in the <strong>Playgrounds</strong> we can open an <strong>assistant</strong> session. Select your model, give it your instructions, tweak the parameters, and now add the <strong>File Search</strong> tool and attach our vector store database for <strong>knowledge</strong>. Similarly you can use the Agents playground and create a new deployment and file search focused on a specific scenario - feed it instructions, prompts, files, add actions and tools for it to use, etc. Experiment and see what you can create - <strong>want to dig in more?</strong> Use this <a href="https://learn.microsoft.com/en-us/training/modules/develop-ai-agent-azure/">Microsoft Learn</a> documentation to follow along and build an AI Agent with Foundry!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!85xF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!85xF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!85xF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!85xF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!85xF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!85xF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png" width="1456" height="1005" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1005,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1087710,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173627266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!85xF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!85xF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!85xF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!85xF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F153df1ae-3baf-498c-98c6-65099a1c572a_2804x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Building an AI Agent in Azure Foundry</figcaption></figure></div><p>Hopefully you can see that there&#8217;s a ton of possibilities with Azure Foundry. It&#8217;s not as polished but leaves lots of room for creativity and customization, and the most powerful part of it is its API structure. Build your own models or agents and integrate them directly into your Web App, Logic Apps, and more using the ample connectors available. Azure Foundry gives you so much sample code and documentation for jumping off and making your own creation. </p><p>Not sure how to get started? Read my previous article on <a href="https://blog.dustinlepi.com/p/lovable-azure-how-to-host-your-app">Vibe Coding with Lovable</a> to build your own custom website and host it with Azure!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dustinlepi.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dustin&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Lovable + Azure: How to Host Your App for Free]]></title><description><![CDATA[Learn how to host your app for FREE on Azure with GitHub CI/CD. Works with Lovable or any website you build.]]></description><link>https://blog.dustinlepi.com/p/lovable-azure-how-to-host-your-app</link><guid isPermaLink="false">https://blog.dustinlepi.com/p/lovable-azure-how-to-host-your-app</guid><dc:creator><![CDATA[Dustin Lepi]]></dc:creator><pubDate>Sun, 14 Sep 2025 11:30:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ab30b415-dd33-44ff-953f-1e1348576eb2_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Vibe coding</em> is one of the latest trends in AI, aiming to make modern web development approachable to the masses. Starting with a simple prompt, users can create fairly sophisticated websites and apps in a matter of minutes or hours - no coding experience required! One of the more popular vibe coding apps is <a href="https://lovable.dev">Lovable</a>. They tout themselves as your &#8220;personal AI software engineer&#8221;, and frankly, it&#8217;s quite good, especially if you yourself are NOT a software engineer!</p><p>Often these applications make hosting your newly AI-created website a paid feature or lock you into their domain. If you already use Microsoft Azure, then leveraging their <a href="https://learn.microsoft.com/en-us/azure/static-web-apps/overview">Static Web Apps</a> <em>(SWA)</em> will allow you to host a website for <strong>free</strong>, making use of Microsoft&#8217;s built-in features like <strong>global routing</strong>, <strong>custom domain names</strong>, <strong>SSL certificates</strong>, <strong>Docker</strong> deployments, and even incorporate API backends using <strong>Function Apps. </strong>We&#8217;ll be using Lovable to create our website, but these hosting steps work for <em>any</em> app, regardless of how it was developed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HiXk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HiXk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 424w, https://substackcdn.com/image/fetch/$s_!HiXk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 848w, https://substackcdn.com/image/fetch/$s_!HiXk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 1272w, https://substackcdn.com/image/fetch/$s_!HiXk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HiXk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png" width="1456" height="718" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2693946,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HiXk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 424w, https://substackcdn.com/image/fetch/$s_!HiXk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 848w, https://substackcdn.com/image/fetch/$s_!HiXk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 1272w, https://substackcdn.com/image/fetch/$s_!HiXk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee4f0622-350f-4edc-a1ca-b3b9436facf5_3022x1490.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Our demo application built with Lovable - <a href="https://recipe.dustinlepi.com/">Recipe Finder Tool</a> </figcaption></figure></div><p></p><p>This article will assume you already have the following accounts and access:</p><ul><li><p><a href="https://lovable.dev">Lovable</a> account (free tier is fine)</p></li><li><p><a href="https://portal.azure.com/">Azure</a> Subscription</p></li><li><p><a href="https://github.com/">GitHub</a> account</p></li><li><p>Domain Name / DNS Registrar</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dustinlepi.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul><h2>Using Lovable to Build an App</h2><p>First we need to determine what to build. Keep it simple and focused when beginning, describing the core functions and features of the application in its most basic state - or don&#8217;t! Go experiment and see what gives you the best results. Lovable has lots of <a href="https://docs.lovable.dev/tips-tricks/from-idea-to-app">documentation</a> on what they think works best for creating applications if you aren&#8217;t sure where to begin. I&#8217;m going to attempt to create a website that searches for recipes using the <a href="https://spoonacular.com/food-api">Spoonacular</a> API with secure server-side routing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SEXK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SEXK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!SEXK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!SEXK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!SEXK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SEXK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png" width="1456" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3956495,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SEXK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!SEXK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!SEXK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!SEXK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c5d73c-0bea-421a-a21e-17e18e81b552_2564x1486.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Do as I say, not as I do - my initial prompt may be asking a bit much. . .</figcaption></figure></div><p></p><p>Depending on the complexity of your request you will likely get a mix of results - probably a bit of <em>&#8220;wow, this is really cool&#8221;</em> mixed with <em>&#8220;but this button doesn&#8217;t do anything, this one 404s when you click on it, and whose data is this?&#8221;</em>. AI is extremely powerful but it&#8217;s not a miracle worker just yet - expect some rough patches and frustrations along the way. Be patient, tell it the errors you see on the screen, provide screenshots, explain what you want it to do or how you want it to look, etc.</p><p>Typically I&#8217;d continue working on the application further and refine it before bothering to host it, however, in the spirit of moving this blog along, let&#8217;s jump to the next step - GitHub!</p><blockquote><p><strong>&#128204; Tip! </strong> If you&#8217;re creating an app with multiple pages, or routes, then you may need to nudge Lovable a bit. Let it know you&#8217;re building an app with Azure and you need to list out your routes. </p></blockquote><p></p><h2>Syncing Your App to a GitHub Repo</h2><p>Once you&#8217;ve gotten your app to a working state you can begin the process of syncing it to your GitHub account. From Lovable you can find the GitHub integration in settings and configure it with these <a href="https://docs.lovable.dev/integrations/github">steps</a> - I&#8217;d <strong>highly suggest giving Lovable permissions to specific repositories instead of all repositories when asked. </strong>Follow the prompts, and your application will be seamlessly transferred. You can follow the links to jump to it and see the app&#8217;s codebase. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jJbi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jJbi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!jJbi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!jJbi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!jJbi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jJbi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png" width="1456" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2493254,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jJbi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!jJbi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!jJbi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!jJbi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd2c7cfc-2b21-4ec2-9c2b-1764a80672bd_2564x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Connect your GitHub account from the top-right menu item</figcaption></figure></div><p></p><p></p><h2>Deploy Azure Static Web App from GitHub</h2><p>With our app now in GitHub, we can create our Static Web App (SWA) to deploy from the repo's codebase ensuring it&#8217;s always up to date with the latest build.</p><ol><li><p>Navigate to <a href="https://portal.azure.com/">portal.azure.com</a> and <strong>search</strong> for and <strong>select</strong> <em>Static Web App</em> from the menu.</p></li><li><p>Fill out the required details - <strong>select</strong> or <strong>create a resource group</strong>, give your app a <strong>name</strong>, select your <strong>repo</strong> from your integrated GitHub account, and set the <strong>output location</strong> to <strong>dist</strong> for a smooth launch! I&#8217;ll also map the api folder since I&#8217;ll be using it, but you might not be!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-dsX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-dsX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!-dsX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!-dsX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!-dsX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-dsX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png" width="2564" height="1486" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1486,&quot;width&quot;:2564,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:500928,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cb116e-7c89-4806-b52d-3603f1ed8bc4_2564x1486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-dsX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!-dsX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!-dsX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!-dsX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F713d2ac6-8b37-46d0-bbfd-f9de2adb2e36_2564x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Configuring our Azure Static Web App Before Deployment</figcaption></figure></div><blockquote><p><strong>&#128204; Tip</strong>: <em>Lovable often uses React and Vite for its creations and it outputs into <strong>dist</strong> during the build process. </em></p></blockquote></li><li><p>For the <strong>Deployment Configuration</strong> page <strong>select </strong><em>Deployment token</em>.</p></li><li><p><strong>Create</strong> your application and click <strong>go to resource</strong> once it&#8217;s done. It should only take a minute, though it will continue setting up for another 5-10 minutes before it has fully deployed everything it needs.</p></li><li><p>You can <strong>monitor</strong> and <strong>troubleshoot</strong> the deployment from GitHub by going to the <strong>Actions tab</strong> of your repo. This is the CI/CD magic - it runs each time you update your repo and tells Azure to redeploy from your updated code. Review any errors and work through them with Lovable if needed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hjBD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hjBD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!hjBD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!hjBD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!hjBD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hjBD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png" width="1456" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:458218,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hjBD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!hjBD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!hjBD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!hjBD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f131e57-c9d1-4e78-80a5-be8c2c353110_2564x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Checking the current GitHub Action Deployment Status</figcaption></figure></div><p></p></li><li><p>From the Azure <strong>Overview tab</strong> you can see the major configuration settings and details about the app. You can access it from the <strong>URL</strong> listed in the top-right. We can add a custom domain next.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5gVp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5gVp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!5gVp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!5gVp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!5gVp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5gVp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png" width="2564" height="1486" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1486,&quot;width&quot;:2564,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:796525,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7da1a689-17b7-4f8f-aeaa-cb66892d65cd_2564x1486.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5gVp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 424w, https://substackcdn.com/image/fetch/$s_!5gVp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 848w, https://substackcdn.com/image/fetch/$s_!5gVp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!5gVp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3319c67d-410f-499e-9fa0-5dbccbd85b26_2564x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Overview of the Azure Static Web App Blade</figcaption></figure></div></li></ol><p>From now on as you make updates to your repository it will run the GitHub Action workflow to keep the Azure app updated. Check actions again in the future if you have issues updating the website.</p><h2>Adding Environmental Variables</h2><p>My app uses an <strong>Environmental Variable</strong> to securely store our API key for Spoonacular instead of hardcoding it. Variables allow you to write dynamic code and increase security as well as improving collaboration and sharing. If your app doesn&#8217;t have an API then you can skip this section!</p><ol><li><p>In Azure <strong>navigate</strong> to <strong>Environment Variables</strong> on the left side.</p></li><li><p><strong>Add</strong> a <strong>new</strong> variable named SPOONACULAR_API_KEY and enter the API key <strong>secret</strong> for the value then <strong>save</strong> it.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E7hb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E7hb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 424w, https://substackcdn.com/image/fetch/$s_!E7hb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 848w, https://substackcdn.com/image/fetch/$s_!E7hb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 1272w, https://substackcdn.com/image/fetch/$s_!E7hb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E7hb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png" width="1456" height="718" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:353003,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!E7hb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 424w, https://substackcdn.com/image/fetch/$s_!E7hb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 848w, https://substackcdn.com/image/fetch/$s_!E7hb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 1272w, https://substackcdn.com/image/fetch/$s_!E7hb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90f31eba-49c6-4ea1-b77f-e0de1b4df466_3022x1490.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Adding a Custom Domain </h2><p>You got your website up and running and could technically call it quits here, but you&#8217;ll probably want to route it to a custom domain if you have one. </p><ol><li><p>Click <strong>custom domains</strong> and then <strong>add</strong> a &#8216;<strong>Custom domain on other DNS&#8217;</strong> unless you already use Azure to manage your domain, in which case you would choose the first option.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wQkC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wQkC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 424w, https://substackcdn.com/image/fetch/$s_!wQkC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 848w, https://substackcdn.com/image/fetch/$s_!wQkC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 1272w, https://substackcdn.com/image/fetch/$s_!wQkC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wQkC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png" width="2564" height="1544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1544,&quot;width&quot;:2564,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:591438,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e0d6940-94d3-43bb-a22a-0fbf8dac5d17_2564x1544.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wQkC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 424w, https://substackcdn.com/image/fetch/$s_!wQkC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 848w, https://substackcdn.com/image/fetch/$s_!wQkC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 1272w, https://substackcdn.com/image/fetch/$s_!wQkC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8addc6b-392d-42fe-9497-7014a6b91b53_2564x1544.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adding a Custom Domain Name to our Web App</figcaption></figure></div><p> </p></li><li><p> Enter your preferred domain name for the website. I&#8217;m going to use <strong>recipe.dustinlepi.com</strong> for this app.</p></li><li><p>Azure will supply you with the DNS records to add, so you&#8217;ll need to navigate to wherever you manage your domain&#8217;s DNS. For me that&#8217;s going to be Cloudflare.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zXOu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zXOu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 424w, https://substackcdn.com/image/fetch/$s_!zXOu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 848w, https://substackcdn.com/image/fetch/$s_!zXOu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 1272w, https://substackcdn.com/image/fetch/$s_!zXOu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zXOu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png" width="2564" height="1544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1544,&quot;width&quot;:2564,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:665517,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75114f59-55b2-4e44-9a66-ec0eb6ce8b84_2564x1544.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zXOu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 424w, https://substackcdn.com/image/fetch/$s_!zXOu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 848w, https://substackcdn.com/image/fetch/$s_!zXOu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 1272w, https://substackcdn.com/image/fetch/$s_!zXOu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe242d6af-c0a7-460b-b1b3-89ca6dcb1c1f_2564x1544.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Azure Provides the Necessary DNS Records for the Custom Domain</figcaption></figure></div><p></p></li><li><p>Add your new DNS records and save. If you also use Cloudflare then you&#8217;ll want to toggle <strong>off</strong> their proxy protection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1nn9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1nn9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 424w, https://substackcdn.com/image/fetch/$s_!1nn9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 848w, https://substackcdn.com/image/fetch/$s_!1nn9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 1272w, https://substackcdn.com/image/fetch/$s_!1nn9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1nn9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png" width="2564" height="1544" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1544,&quot;width&quot;:2564,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:659704,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.dustinlepi.com/i/173153286?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3147783-0b68-4896-9912-1cd0ac6e805f_2564x1544.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1nn9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 424w, https://substackcdn.com/image/fetch/$s_!1nn9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 848w, https://substackcdn.com/image/fetch/$s_!1nn9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 1272w, https://substackcdn.com/image/fetch/$s_!1nn9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F353e5d12-00f0-442f-8222-57f78299ee93_2564x1544.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adding DNS Records to the Domain Registrar</figcaption></figure></div><p></p></li><li><p>Back in Azure click <strong>add</strong> to wrap up. DNS may take some time to propagate so don&#8217;t worry if you see an error at first. If everything is correct, it will eventually succeed.</p></li><li><p>Set your new domain to be your default domain unless you have reason not to.</p></li><li><p>All done! Hopefully you can now access your website by its custom domain.</p></li></ol><h2>Conclusion</h2><p>If you&#8217;re like me, you may need to go revisit Lovable and flesh out your app some more. As you continue working with Lovable it will push updates to GitHub, which in turn push changes to your website. You can also configure Lovable to push changes to a secondary <strong>dev</strong> branch in GitHub instead of &#8220;pushing to prod&#8221;. Once you are ready to update prod you can initiate a <strong>pull request</strong> from the <strong>dev &gt; main</strong> branch and <strong>commit</strong> your new changes.</p><p>All of this robust Enterprise cloud technology, and it&#8217;s free! We&#8217;ve barely scratched the surface of features in Static Web Apps, like environmental variables, incorporating databases, or adding function apps for API endpoints. <strong>Want to learn more?</strong> Here&#8217;s a similar <a href="https://learn.microsoft.com/en-us/training/modules/publish-app-service-static-web-app-api-dotnet/">Microsoft training</a> you can follow along with, or get the blog&#8217;s example <a href="https://recipe.dustinlepi.com">website</a> from the GitHub repository <a href="https://github.com/dlepi24/recipe-finder-app/">here</a>!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dustinlepi.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Leveraging Lokka to Overhaul Your Microsoft Branding]]></title><description><![CDATA[Give your Microsoft tenant a visual facelift in 15 minutes]]></description><link>https://blog.dustinlepi.com/p/leveraging-lokka-to-overhaul-your</link><guid isPermaLink="false">https://blog.dustinlepi.com/p/leveraging-lokka-to-overhaul-your</guid><dc:creator><![CDATA[Dustin Lepi]]></dc:creator><pubDate>Fri, 05 Sep 2025 02:47:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Sis_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6a082ae-3d3a-4740-a1a0-7becfb55693a_2804x1938.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Personalizing your company branding is one of the best ways to breathe fresh life into the bland Microsoft sign-in screen you see every day. Some settings are easy to update, but others need careful planning, like file sizes, aspect ratios, dimensions, and versions for light and dark modes.</p><p>If you have a vision and Photoshop skills, you could probably complete this all in a day. Lacking both creativity and patience, I opted to let Claude and Lokka handle it instead. Honestly, the results surpassed anything I would&#8217;ve created &#128517;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T1wA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T1wA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 424w, https://substackcdn.com/image/fetch/$s_!T1wA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 848w, https://substackcdn.com/image/fetch/$s_!T1wA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 1272w, https://substackcdn.com/image/fetch/$s_!T1wA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T1wA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png" width="724" height="414.2386895475819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1467,&quot;width&quot;:2564,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:854608,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ecaf476-f54f-4134-852a-eb4f5a2d92b0_2564x1467.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T1wA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 424w, https://substackcdn.com/image/fetch/$s_!T1wA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 848w, https://substackcdn.com/image/fetch/$s_!T1wA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 1272w, https://substackcdn.com/image/fetch/$s_!T1wA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc197a581-24a6-4568-9d6c-f9b10e840baf_2564x1467.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Updated login theme. Now to go make those links route. . .</figcaption></figure></div><h2>Getting Familiar </h2><p>Let&#8217;s first talk a bit about MCP servers. Think of them as bridges connecting tools like Claude to external systems, such as your Microsoft environment, allowing them to pull or push data securely. Plugins that supercharge Claude&#8217;s abilities, letting it interact with APIs in real time. In this post, we&#8217;ll use two MCP servers to customize your Microsoft Entra sign-in experience and branding.</p><ul><li><p><strong>Lokka</strong> is an MCP server created by <a href="https://merill.net/">Merill Fernando</a> that works with Claude to extend its capabilities and connect into your Microsoft environment via Graph API. This lets Claude retrieve (and potentially set or update) information directly in your Microsoft tenant, all through natural language.</p></li><li><p>Alongside Lokka we&#8217;ll also be using the <a href="https://learn.microsoft.com/en-us/training/support/mcp">Microsoft Docs MCP server</a> to pull in up-to-date Microsoft Learn documentation. That means Claude can check the official docs as it works - <em>how powerful is that?!</em></p></li></ul><p><strong>I can&#8217;t stress this next part enough:</strong> MCP servers are like handing Claude a sword &#9876;&#65039;. It&#8217;s up to you to make sure it&#8217;s wielded responsibly. I would <strong>not</strong> connect this to a production environment or feed it any sensitive data, especially until you fully understand how each piece of the puzzle works and what risks lie where. </p><p>You <em>can</em> take precautions, such as limiting the scope of the API permissions, reviewing every Graph API request before it&#8217;s sent, or restricting access with CA policies, but this is still the wild west - use common sense and always be curious, yet cautious. Having a solid understanding of <a href="https://learn.microsoft.com/en-us/entra/identity-platform/permissions-consent-overview">permissions</a> for Entra applications can be helpful. </p><p><em>Public service announcement over!</em></p><p></p><h2>Getting Setup and Connected</h2><p>To proceed you&#8217;ll need to have access to and configure the following.</p><ul><li><p><a href="https://claude.ai/download">Claude Desktop</a> - Application for interacting with Claude locally. The <strong>free tier</strong> totally works, but expect to bump into some usage limits.</p></li><li><p><a href="https://lokka.dev/docs/install-advanced/app-only-auth/">Lokka</a> - MCP server that connects Claude to your Microsoft tenant via Graph API and app registration. Review the various ways of getting Lokka setup and configured.</p></li><li><p><a href="https://github.com/microsoftdocs/mcp?tab=readme-ov-file#-installation--getting-started">Microsoft Docs</a> - Allows Claude to search Microsoft Learn docs in real time. No auth needed. <strong>View instructions</strong> for the <strong>Claude Desktop</strong> client within the <em>Getting Started</em> table. </p></li></ul><p>First install Claude Desktop and get signed in. Next you can set up Lokka, which will need permissions to your Microsoft tenant. Lastly, add the Microsoft Docs MCP server.</p><p>Claude uses a JSON configuration file to identify available MCP servers (or &#8220;tools&#8221;) and their connection details. To view your configuration file, navigate to <strong>Developer &gt; Open App Config File</strong> in the ribbon menu. </p><p>Here&#8217;s an example, though yours may look slightly different depending on your chosen Lokka authentication method:</p><pre><code><code>{
  "mcpServers": {
    "Lokka-Microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "@merill/lokka"
      ],
      "env": {
        "TENANT_ID": "YOUR TENANT ID",
        "CLIENT_ID": "YOUR APPLICATION OR CLIENT ID",
        "CLIENT_SECRET": "YOUR CLIENT SECRET"
      }
    },
    "microsoft.docs.mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://learn.microsoft.com/api/mcp"
      ]
    }
  }
}</code></code></pre><p>Once you&#8217;ve adjusted your configuration file, you will need to re-open Claude or reload the extensions before you begin (select <strong>Developer &gt; Reload MCP Configuration</strong>). Now let&#8217;s ask Claude to check our connections and verify connectivity: </p><blockquote><p>&#129302;<em> Can you check and verify access to Lokka and Microsoft Docs tools?</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8PcR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8PcR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!8PcR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!8PcR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!8PcR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8PcR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png" width="1456" height="1005" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1005,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:990332,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8PcR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!8PcR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!8PcR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!8PcR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffad26a63-1b46-43ba-a691-62fcdadb304f_2804x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Testing MCP server connections with Claude</figcaption></figure></div><p>Just like that, Claude tapped into our MCP tools, confirmed it can authenticate to our Microsoft tenant, and pulled fresh info straight from Microsoft Learn. Are your wheels turning yet? Just think of the possibilities this opens up! </p><blockquote><p><em>Lokka, can you check Sally&#8217;s recent sign-in and audit logs for anything suspicious or out of the ordinary from the last week? Can you review best practices for Conditional Access policies and compare them to my current environment? Can you help me plan this upcoming configuration change and see how it may impact us? </em>We&#8217;re truly in wild times!</p></blockquote><div class="poll-embed" data-attrs="{&quot;id&quot;:370048}" data-component-name="PollToDOM"></div><p></p><h2>Planning our Facelift</h2><p>Now we&#8217;ve got all the pieces connected, next we need to go find how to adjust the company branding settings. Let&#8217;s first start by digging into the documentation and seeing what requirements we need to abide by.</p><p>The more you tell Claude what you&#8217;re wanting, the better your outcomes will be. I started with the prompt below, but feel free to customize and experiment to see what you can come up with. </p><blockquote><p>&#129302; <em>Research the latest Microsoft documentation for Company Branding settings in Entra. Identify all available settings, including visual elements (logos, background images, favicons) and text elements (sign-in page text, hints).</em> <em>For each setting, detail how it can be updated (manual upload or Graph API), along with any constraints like file formats, size limits, or dimensions. Source the information from our microsoft.docs.mcp tool or official Microsoft Learn documentation only.</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EB3h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EB3h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!EB3h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!EB3h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!EB3h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EB3h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png" width="1456" height="1005" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1005,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1348511,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EB3h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 424w, https://substackcdn.com/image/fetch/$s_!EB3h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 848w, https://substackcdn.com/image/fetch/$s_!EB3h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 1272w, https://substackcdn.com/image/fetch/$s_!EB3h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41110f95-2f73-48f5-aa57-f098b51576ce_2804x1936.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Using Claude and MCP servers to research Company Branding settings</figcaption></figure></div><p>Once your request is submitted, Claude then begins querying the Microsoft Docs MCP connection for relevant settings. It will pause often to reason through new information it finds, looping through this process many times until it&#8217;s gathered enough detail.</p><p>Interface Overview:</p><ul><li><p>Left Panel &#8211; Chat: This is Claude&#8217;s conversation view, where you can see its reasoning process and the results it&#8217;s retrieving.</p></li><li><p>Right Panel &#8211; Artifact: A standalone content area where Claude can display documents, files, or code it creates. In this case, it&#8217;s showing a complete playbook for updating our Company Branding.</p></li></ul><blockquote><p><em><strong>&#128161; Tip:</strong> </em> If you&#8217;re not getting the results you want, keep working with Claude. Be specific, don&#8217;t assume it knows exactly what you mean. Define your request explicitly for best results.</p><p>If you aren&#8217;t sure how, ask Claude to interview you to uncover the details it needs.</p></blockquote><p><br>As Claude will likely mention, in order to allow Lokka to update Company Branding automatically you&#8217;ll need to add the following application permission to your Lokka App Registration:</p><pre><code><code>OrganizationalBranding.ReadWrite.All</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KP_R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KP_R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 424w, https://substackcdn.com/image/fetch/$s_!KP_R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 848w, https://substackcdn.com/image/fetch/$s_!KP_R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!KP_R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KP_R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png" width="3022" height="1666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1666,&quot;width&quot;:3022,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:505999,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e4cef32-4d1d-4328-906b-8da4bf1b9399_3022x1666.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KP_R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 424w, https://substackcdn.com/image/fetch/$s_!KP_R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 848w, https://substackcdn.com/image/fetch/$s_!KP_R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!KP_R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec1745d-c9eb-4dc9-bf67-f2e221903f28_3022x1666.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adding and consenting to API permissions in Entra for Lokka</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.dustinlepi.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.dustinlepi.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p><strong>Almost ready!</strong> We technically have everything we need to get started, but you&#8217;ll probably want to give Claude some more context about what you&#8217;re looking for. Think of it like hiring a branding agency: <em>the more you share about your style, tone, and vision, the closer the result will be to what you want.</em> I&#8217;m choosing to give it free reign to go wild. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ogna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ogna!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 424w, https://substackcdn.com/image/fetch/$s_!ogna!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 848w, https://substackcdn.com/image/fetch/$s_!ogna!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 1272w, https://substackcdn.com/image/fetch/$s_!ogna!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ogna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png" width="1456" height="869" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:869,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1308431,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ogna!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 424w, https://substackcdn.com/image/fetch/$s_!ogna!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 848w, https://substackcdn.com/image/fetch/$s_!ogna!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 1272w, https://substackcdn.com/image/fetch/$s_!ogna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2474fc6-96ad-4f44-ba58-9ea02286b3e7_3248x1938.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude leverages Lokka to connect and update our Company Branding settings</figcaption></figure></div><p></p><h2>Updating our Company Branding Configuration</h2><p>Claude and Lokka are off to the races, working towards a new sign-in experience, for better or worse! Our first draft had some issues, like clashing colors and unappealing designs. Clicking <strong>download</strong> also <strong>crashed the artifact</strong> view <em>(instead, download and open the HTML page directly)</em>.</p><p>Work with it, massage it, or yell at it until you get closer to what you&#8217;re looking for. Don&#8217;t be afraid to start a new chat if the current feels &#8220;too far gone&#8221; and you would rather a fresh start.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2Nyc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Nyc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 424w, https://substackcdn.com/image/fetch/$s_!2Nyc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 848w, https://substackcdn.com/image/fetch/$s_!2Nyc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 1272w, https://substackcdn.com/image/fetch/$s_!2Nyc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Nyc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png" width="1456" height="869" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:869,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1425871,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!2Nyc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 424w, https://substackcdn.com/image/fetch/$s_!2Nyc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 848w, https://substackcdn.com/image/fetch/$s_!2Nyc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 1272w, https://substackcdn.com/image/fetch/$s_!2Nyc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f486e9c-745d-4012-ad3c-3d000a101e84_3248x1938.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I don&#8217;t think AI is taking our jobs just yet! &#128517; It&#8217;s a useful tool for now though.</figcaption></figure></div><p>Hopefully you&#8217;ve updated most of your branding via Lokka&#8217;s Graph API connection. It may give you some grief with images or files - if you are persistent and <a href="https://learn.microsoft.com/en-us/graph/api/organizationalbranding-update?view=graph-rest-1.0&amp;tabs=http">technical</a>, you can likely talk Claude through updating the images by requesting it to PUT and stream the data directly through the API.</p><p>If that doesn&#8217;t work, you can finalize changes in the <a href="https://entra.microsoft.com">Entra</a> portal. Navigate to <strong>Entra ID &gt; Custom branding</strong>. From here you can <strong>edit</strong> and navigate through the various sub menus uploading the handful of logos, images, and files needed to wrap up. If they aren&#8217;t named intuitively then ask Claude to update the names for easier importing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!34vB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!34vB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 424w, https://substackcdn.com/image/fetch/$s_!34vB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 848w, https://substackcdn.com/image/fetch/$s_!34vB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 1272w, https://substackcdn.com/image/fetch/$s_!34vB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!34vB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png" width="3008" height="1652" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1652,&quot;width&quot;:3008,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:761277,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9896a4af-41b5-4c28-833b-5f0eab0c719a_3008x1652.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!34vB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 424w, https://substackcdn.com/image/fetch/$s_!34vB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 848w, https://substackcdn.com/image/fetch/$s_!34vB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 1272w, https://substackcdn.com/image/fetch/$s_!34vB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa44c6e5-bc48-413f-9c7d-b44963bfa0af_3008x1652.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Exploring the Company Settings configuration options in Entra portal</figcaption></figure></div><p>Keep testing the changes until you like what you see. Using InPrivate or Incognito views are helpful for this, though note it can occasionally take a few minutes for things to sync up after saving changes in the portal and API. Use your browser tools to help pinpoint issues if you feel comfortable enough. <strong>F12</strong> on most browsers, or somewhere in <em>settings</em> or <em>more tools,</em> will launch <strong>developer tools</strong>. </p><p>You can use the <strong>console</strong> view to help identify errors or issues, and the <strong>elements</strong> view will show you the overall styling - here you can make visual changes to test in real time if you have a good understanding of CSS. You can also <em>right-click</em> a section on the screen you want to review and click <strong>inspect</strong> to take you right to that element in dev tools.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c2Im!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c2Im!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 424w, https://substackcdn.com/image/fetch/$s_!c2Im!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 848w, https://substackcdn.com/image/fetch/$s_!c2Im!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!c2Im!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c2Im!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png" width="2580" height="1486" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1486,&quot;width&quot;:2580,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:680029,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!c2Im!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 424w, https://substackcdn.com/image/fetch/$s_!c2Im!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 848w, https://substackcdn.com/image/fetch/$s_!c2Im!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 1272w, https://substackcdn.com/image/fetch/$s_!c2Im!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ac2717b-e591-41a9-a523-961f00b08153_2580x1486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Helpful for pinpointing pesky styling issues from hallucinating chatbots. . .</figcaption></figure></div><p></p><h2>Wrapping Up</h2><p>Don&#8217;t stop at the first result Claude gives you. Keep branching off, keep experimenting. If you don&#8217;t like the style, ask for something more realistic or provide references. Claude tends to lean vector-heavy, but you can pair it with other tools like <a href="https://chatgpt.com/">ChatGPT</a> or <a href="https://grok.com/">Grok</a> for logos, resizing, or even creating entirely new images. Half the fun here is Frankensteining tools together until you land on something that feels right.</p><p>I won&#8217;t pretend the process is perfect. I probably spent 30 minutes arguing with a bot,  but the results weren&#8217;t half bad personally. Better than what I could do at least. More importantly, it felt like peeking into the future of IT administration. Watching Claude tear through Microsoft docs and brute-force Entra settings at lightning speed? Equal parts impressive and terrifying.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IRnI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IRnI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 424w, https://substackcdn.com/image/fetch/$s_!IRnI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 848w, https://substackcdn.com/image/fetch/$s_!IRnI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 1272w, https://substackcdn.com/image/fetch/$s_!IRnI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IRnI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png" width="1456" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:931857,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dustinlepi.substack.com/i/172359924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ad7cf81-e1aa-4c59-9bfd-384ca2074b06_2580x1712.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!IRnI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 424w, https://substackcdn.com/image/fetch/$s_!IRnI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 848w, https://substackcdn.com/image/fetch/$s_!IRnI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 1272w, https://substackcdn.com/image/fetch/$s_!IRnI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc285f6de-3569-4968-b91d-f782f34d2274_2580x1712.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Our updated Entra Company Branding theme</figcaption></figure></div><p>One last reminder: be cautious with permissions. Don&#8217;t let Lokka become a &#8220;God tool&#8221; with more access than it needs. Remove unused app permissions when you&#8217;re done experimenting, and always think through the risks. It&#8217;s fun to push the boundaries, but your tenant security should never be an afterthought.</p><p></p><div><hr></div><p>So&#8230; what else could you build with the power of Lokka and Microsoft Docs?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.dustinlepi.com/p/leveraging-lokka-to-overhaul-your/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.dustinlepi.com/p/leveraging-lokka-to-overhaul-your/comments"><span>Leave a comment</span></a></p>]]></content:encoded></item></channel></rss>