<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ntit.ai</title><description>Technical articles on Dataverse, Power Platform, and AI — by Ameed Sheikh at NordTek IT</description><link>https://ntit.ai/</link><item><title>Who Has Access to What? Searching Shared Records by User Across All Entities</title><link>https://ntit.ai/blog/search-by-principal-poa-shares/</link><guid isPermaLink="true">https://ntit.ai/blog/search-by-principal-poa-shares/</guid><description>A major update to the Search POA Landscape XrmToolBox plugin — search by principal across all shared entity types, with tabbed results, owner filtering, and decoded access rights.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The Smartest Agent in the Room Can&apos;t Fix a Broken Spreadsheet</title><link>https://ntit.ai/blog/agents-need-controlled-apis/</link><guid isPermaLink="true">https://ntit.ai/blog/agents-need-controlled-apis/</guid><description>AI agents are only as good as the system underneath. Why a controlled API with transactional guarantees is the foundation that makes AI-driven operations work — not just a better prompt.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate></item><item><title>I Asked 3 Models &apos;What is MCP?&apos; — Then I Fixed the Data</title><link>https://ntit.ai/blog/llms-hallucinate-data-is-the-differentiator/</link><guid isPermaLink="true">https://ntit.ai/blog/llms-hallucinate-data-is-the-differentiator/</guid><description>Same question. Same models. Same documents. I swapped the retrieval engine and every model stopped hallucinating. This isn&apos;t a story about model size — it&apos;s about chunk quality.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate></item><item><title>RAG Security Trimming — Making AI Respect Permissions</title><link>https://ntit.ai/blog/rag-security-trimming-making-ai-respect-permissions/</link><guid isPermaLink="true">https://ntit.ai/blog/rag-security-trimming-making-ai-respect-permissions/</guid><description>Same AI, same knowledge base, same question — different answers depending on who&apos;s asking. A hands-on walkthrough of building identity-aware RAG with Azure AI Search, Copilot Studio, and Power Automate.</description><pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate></item><item><title>AI Agents Taking Over — EA as the Guardrail</title><link>https://ntit.ai/blog/ai-agents-taking-over-ea-as-the-guardrail/</link><guid isPermaLink="true">https://ntit.ai/blog/ai-agents-taking-over-ea-as-the-guardrail/</guid><description>AI agents are taking over software development. The challenge isn&apos;t making software anymore — it&apos;s deciding why it should exist and what is truly worth building.</description><pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Battle-Tested Patterns from a CRM Plugin Framework</title><link>https://ntit.ai/blog/battle-tested-patterns-crm-plugin-framework/</link><guid isPermaLink="true">https://ntit.ai/blog/battle-tested-patterns-crm-plugin-framework/</guid><description>Reviving an 11-year-old Dynamics CRM plugin framework — built from pure SDK study — and blending it with everything I&apos;ve learned since. What survives a decade of platform evolution?</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate></item><item><title>When AI Doesn&apos;t Simplify — It Amplifies</title><link>https://ntit.ai/blog/ai-doesnt-simplify-it-amplifies/</link><guid isPermaLink="true">https://ntit.ai/blog/ai-doesnt-simplify-it-amplifies/</guid><description>AI doesn&apos;t reduce work — it intensifies it. The &apos;Human I&apos; keeps connecting dots while AI holds the context. That&apos;s both the gift and the challenge.</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Enforcing Action Naming Conventions in Power Automate</title><link>https://ntit.ai/blog/enforcing-flow-action-naming-power-automate/</link><guid isPermaLink="true">https://ntit.ai/blog/enforcing-flow-action-naming-power-automate/</guid><description>Default action names like Compose_2 and Get_items create silent technical debt. Here&apos;s how I built a custom governance layer using Dataverse plugins, a Custom API, and configurable detection rules.</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline Governance Gate: Catching Default Names Before Solutions Leave Dev</title><link>https://ntit.ai/blog/pipeline-governance-gate-power-platform/</link><guid isPermaLink="true">https://ntit.ai/blog/pipeline-governance-gate-power-platform/</guid><description>How to wire a pre-export governance gate into Power Platform Pipelines — so solutions with non-compliant flow actions never reach higher environments.</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Late-Night Engineering: A Custom Governance Layer for Power Platform</title><link>https://ntit.ai/blog/late-night-engineering-governance-power-platform/</link><guid isPermaLink="true">https://ntit.ai/blog/late-night-engineering-governance-power-platform/</guid><description>Late-night weekend session building a custom governance layer for the Power Platform ecosystem. POC tonight, production tomorrow.</description><pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate></item><item><title>The Dataverse Solution Layer Trap: Why Your Managed Form Changes Disappear</title><link>https://ntit.ai/blog/dataverse-solution-layer-trap/</link><guid isPermaLink="true">https://ntit.ai/blog/dataverse-solution-layer-trap/</guid><description>When you remove a field from a managed solution but it keeps coming back, you&apos;ve hit the solution layer merge trap. Here&apos;s what&apos;s happening and how to fix it.</description><pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate></item><item><title>MCP + Agents: What They Are, When to Combine Them</title><link>https://ntit.ai/blog/mcp-agents-when-to-combine/</link><guid isPermaLink="true">https://ntit.ai/blog/mcp-agents-when-to-combine/</guid><description>MCP is how tools expose capabilities. Agents are how AI decides what to do. They&apos;re complementary, not competing — the value is in knowing which combination fits which problem.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Schema as Source of Truth: Accelerating Dataverse Ramp-Up</title><link>https://ntit.ai/blog/schema-source-of-truth-dataverse/</link><guid isPermaLink="true">https://ntit.ai/blog/schema-source-of-truth-dataverse/</guid><description>How an AI-augmented MCP tool turns Dataverse schema exploration from days of clicking into seconds of conversation.</description><pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate></item><item><title>The Managed Solution Trap: Fixing Column Prefix Mistakes in Dataverse</title><link>https://ntit.ai/blog/dataverse-column-prefix-fix/</link><guid isPermaLink="true">https://ntit.ai/blog/dataverse-column-prefix-fix/</guid><description>When columns are deployed with the wrong publisher prefix in a managed solution, you can&apos;t just rename them. Here&apos;s the five-step recovery process.</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate></item><item><title>From Stateless Tool to Cognitive Partner</title><link>https://ntit.ai/blog/stateless-tool-to-cognitive-partner/</link><guid isPermaLink="true">https://ntit.ai/blog/stateless-tool-to-cognitive-partner/</guid><description>How I built an AI-augmented workspace — and why &apos;design for continuity&apos; changes everything when working with AI.</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate></item><item><title>From Backend Engineering to Power Platform: Building the Right Mental Model</title><link>https://ntit.ai/blog/backend-engineering-to-power-platform/</link><guid isPermaLink="true">https://ntit.ai/blog/backend-engineering-to-power-platform/</guid><description>How professionals transitioning from .NET and Azure backgrounds can develop the right mental model for Power Platform, Dataverse, and Dynamics 365 CE.</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate></item><item><title>A Low-Code Pattern for Managing HTTP-Triggered Power Automate URLs in CI/CD</title><link>https://ntit.ai/blog/http-triggered-power-automate-cicd/</link><guid isPermaLink="true">https://ntit.ai/blog/http-triggered-power-automate-cicd/</guid><description>HTTP trigger URLs are generated at runtime, not deploy time. Here&apos;s a pattern to resolve them automatically in your release pipeline.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Architects Don&apos;t Just Build Software — Their Greater Impact Lies in How Software Gets Built</title><link>https://ntit.ai/blog/architects-greater-impact/</link><guid isPermaLink="true">https://ntit.ai/blog/architects-greater-impact/</guid><description>Software architects don&apos;t build the car — they design the factory that builds the car. That distinction is where the real strategic value lies.</description><pubDate>Tue, 24 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Extending a Booking &amp; Scheduling SaaS into Microsoft Power Platform</title><link>https://ntit.ai/blog/booking-saas-d365-integration/</link><guid isPermaLink="true">https://ntit.ai/blog/booking-saas-d365-integration/</guid><description>A low-code solution story — how Azure Data Factory, Power Automate, and Dataverse were used to build an asynchronous integration that reflects booking and contact data into CRM timelines.</description><pubDate>Fri, 13 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Canvas App Custom Page POC: Dynamic Calendar with API-Driven Blocked Dates</title><link>https://ntit.ai/blog/dynamic-calendar-canvas-app/</link><guid isPermaLink="true">https://ntit.ai/blog/dynamic-calendar-canvas-app/</guid><description>A proof-of-concept for a dynamic calendar built in Canvas Apps Custom Pages, connecting to an external Node.js API via custom connector.</description><pubDate>Wed, 04 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Allow Graph API Permissions for Azure Managed Identity</title><link>https://ntit.ai/blog/graph-api-azure-managed-identity/</link><guid isPermaLink="true">https://ntit.ai/blog/graph-api-azure-managed-identity/</guid><description>How to grant Microsoft Graph API permissions (like User.Read.All) to an Azure Managed Identity when the portal doesn&apos;t offer the option.</description><pubDate>Tue, 06 May 2025 00:00:00 GMT</pubDate></item><item><title>D365 Customer Service Unified Routing — In a Nutshell</title><link>https://ntit.ai/blog/d365-unified-routing-nutshell/</link><guid isPermaLink="true">https://ntit.ai/blog/d365-unified-routing-nutshell/</guid><description>A practical breakdown of Unified Routing in D365 Customer Service Workspace — workstreams, intake rules, classification, queue routing, and diagnostics.</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Power Platform Pipelines with GitHub Integration</title><link>https://ntit.ai/blog/power-platform-pipelines-github/</link><guid isPermaLink="true">https://ntit.ai/blog/power-platform-pipelines-github/</guid><description>A two-pipeline approach integrating Power Platform&apos;s ALM pipelines with GitHub for solution versioning, automated builds, and controlled deployments across environments.</description><pubDate>Wed, 17 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Custom ALM for Power Platform with GitHub</title><link>https://ntit.ai/blog/custom-alm-power-platform-github/</link><guid isPermaLink="true">https://ntit.ai/blog/custom-alm-power-platform-github/</guid><description>Building a custom Application Lifecycle Management solution for Power Platform integrated with GitHub Actions, PAC CLI, and Power Automate.</description><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Connect to D365 TDS (SQL) Endpoint from .NET Core 3.1</title><link>https://ntit.ai/blog/d365-tds-sql-endpoint-dotnet-core/</link><guid isPermaLink="true">https://ntit.ai/blog/d365-tds-sql-endpoint-dotnet-core/</guid><description>How to query Dataverse tables using SQL via the TDS endpoint from an Azure Function, using OAuth 2.0 with Service Principals.</description><pubDate>Tue, 28 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Search Shared Data Across CRM Entities</title><link>https://ntit.ai/blog/search-shared-data-crm-entities/</link><guid isPermaLink="true">https://ntit.ai/blog/search-shared-data-crm-entities/</guid><description>An XrmToolBox plugin for querying the PrincipalObjectAccess (POA) entity — the central table where CRM maintains sharing and access permissions.</description><pubDate>Wed, 19 Apr 2017 00:00:00 GMT</pubDate></item><item><title>Tracing Plugins &amp; Custom Workflow Activities in D365</title><link>https://ntit.ai/blog/tracing-plugins-d365/</link><guid isPermaLink="true">https://ntit.ai/blog/tracing-plugins-d365/</guid><description>A comprehensive framework for detailed logging of plugin and custom workflow activity execution in Dynamics CRM/D365, solving the &apos;Ping-Pong&apos; problem in complex implementations.</description><pubDate>Mon, 23 Feb 2015 00:00:00 GMT</pubDate></item></channel></rss>