I Help Build AI-Powered Azure Integration and Agentic AI Solutions That Transform Enterprises
For over 25 years, I’ve helped organizations solve complex enterprise integration challenges using Microsoft technologies. As a Microsoft Azure MVP for more than 22 years, I design and deliver mission-critical Azure solutions built on Azure Logic Apps, Azure Service Bus, Azure API Management (APIM), and Azure AI.
Whether you’re planning a BizTalk Server to Azure Integration Services migration, implementing AI-driven automation, or need a hands-on Azure architect to lead and mentor your team, I deliver secure, scalable, production-ready solutions that create measurable business value.
Stephen W. Thomas
If you’re starting a new project with Azure AI Technologies or Azure Integration Services—or already have one underway—I’m available for both short- and long-term consulting engagements.
I work with organizations globally, supporting teams on-site or remotely, and can engage in whatever capacity fits your needs — from a few hours a week to full-time project leadership. Whether you need hands-on delivery, architectural guidance, or experienced oversight, I adapt to where your project is and what will move it forward.
Core focus areas include:
-
Azure Integration Services architecture and development
-
Azure AI and agentic solution design and implementation
-
On-site Azure Integration Services training and mentoring
-
BizTalk Server to Azure Integration Services migrations
My goal is simple: reduce risk, bring clarity, and help your project succeed — whether that’s modernizing integration platforms, introducing AI-driven workflows, or enabling teams to confidently ship production-ready solutions.
If you’re looking for experienced, hands-on Azure Integration and AI support, let’s talk.
Recent Blog Posts
How to Allow Unrecognized Messages on Send Ports Using Message Context
Have you seen an error that looks like the one below on your Send Pipelines? There was a failure executing the send pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLTransmit" Source: "XML assembler" Send Port: "some location" Reason: This Assembler cannot retrieve...
Using Delivery Notification with Send Port Groups
I found out tonight that Delivery Notification set to Transmitted works differently for Send Groups. In the case of Send Groups, no NACK is returned if any of the Send Ports in the group fails.
Property Promotion and Demotion in BizTalk
I think most BizTalk users have some idea about what Property Promotion is. I would say Property Promotion is the process of taking message or system data and putting it into the message context. The tricky part is when and how properties get promoted. The items that...
Role Links in BizTalk Server 2004
Make sure you check out Todd Uhl’s Blog. He has a sample working with Role Links in BizTalk 2004. This is something I had not looked into yet but his sample makes it look easy and useful. Todd is working on the Tech Arch team on my current project. Watch for...
Parallel Sequential Convoy in BizTalk Server 2004
Here is another sample of a Sequential Convoy in BizTalk 2004. This is a little different then most, it contains a Parallel Action shape that allows for concurrent parallel processing of inbound messages. What does this accomplish? It is all about control. This...
Mapping in Send Ports with Delivery Notification
I have talked in the past about NACKs. These are great little messages that allow you to receive the status of your sent messages inside your Orchestration. For more information on NACKs, please see my earlier post and sample. The problem I want to point out here...
How to get the Instance ID of your Running Orchestration
Have you ever wanted to know the Instance ID of an Orchestration in BizTalk 2004 at run time? Just add this line of code inside on Expression Shape to return the Instance ID of your running Orchestration. OrchestrationInstanceID is defined as a String variable....
Working with Untyped Messages In An Orchestration – Part 2
This is follow up on a post back in August on Untyped Messages. This also combines information from another post of mine on Promoted Properties. Ok, so what is the big deal then? Well, I took my untyped message sample and updated it to use MessageContextProprertyBase...
Recent Posts on LinkedIn
About Stephen W Thomas
I help organizations design, modernize, and deliver enterprise-grade Azure integration and AI solutions that are secure, scalable, and production-ready.
Based in Austin, Texas, I bring over 25 years of Microsoft integration experience, including more than 20 years working hands-on with BizTalk Server. I specialize in Azure Integration Services consulting, helping enterprises modernize legacy platforms using Azure Logic Apps, Azure Service Bus, and Azure API Management (APIM).
Today, my focus extends to Azure AI and agentic AI solutions, where I help organizations move beyond experimentation into governed, production-ready AI architectures on Azure. My work blends cloud integration architecture, AI orchestration, and hands-on delivery, ensuring solutions create measurable business value.
I’m an Azure MVP for over 22 years and remain deeply hands-on, working directly with teams across architecture, implementation, training, and enablement.
Stephen W. Thomas
Azure Integration Architect