Documenting a Logic Apps solution

Documenting a Logic Apps solution

One of the biggest challenges in integration projects over the years is how to manage the relationship between the implementation of your solution and the documentation describing the intention of the solution and how it works and how to look after it.

We have been through paradigm shifts where projects were writing extensive documentation before a single line of code was written through to the more agile approaches with leaner documentation done in a just in time fashion. Regardless of these approaches the couple of common themes that still exist is:

  • How do we relate the documentation to the implementation?
  • How do we keep the documentation up to date?
  • How do we make it transparent and accessible?

Ever since the guys at Mexia in Brisbane introduced me to Confluence, I have been a huge supporter of using this for integration. I have found the shift from people working over email and in word documents to truly collaborating in real time in Confluence to be one of the biggest factors for success in projects I have worked on. The challenge still remained how to create the relationship between the documentation and the implementation.

Fortunately with Azure we have the ability to put custom tags on most resources. This gives us a very easy way to start adding links to documentation to resources in Azure.

In the below article Ill show how we use this with a Logic Apps solution.

The Resource Group + Solution Level Documentation

In this particular case most of our solution is encapsulated within the resource group. This works great as we can have a document describing the solution. Below shows the confluence page we have outlining the solution blueprint and how it works.

This solution documentation can then be added to the tags of the resource group as shown in the picture below.

The Logic App + Interface Specific Documentation

Next up we have the interface specification from our interface catalogue. Below is an example page from confluence to show a small sample of what one of these pages may look like. The specification will typically include things like analysis, mappings and data formats, component diagrams, process diagrams, etc.

In the logic app we are able to use the tags against the logic app to create a relationship between our documentation and the implementation. In the below example I have added a link to the solution blueprint the locig app implements and also some specific documentation for that interface.

API Connector and Application specific connection documentation

Next up we have application connector and API documentation. In the resource group we have a set of API connectors we have created. In this case we have the SQL one for connecting to our SQL Azure database as shown below.

In its tags we can now add a link to a page in confluence where we will document specifics related to this connection.

In this particular case one of the interesting things is how we will be using the MERGE command in SQL to upsert a record to the database, we have documented how this works in Confluence and we can easily link to it from the SQL connector. Below is an example of this documentation.


In summary you can see that tags enables us to close the gap between implementation and documentation/guidance.  This is a feature we should be able to use a lot!

Announcing BizTalk Server 2013 CU6

We are happy to announce the 6th Cumulative updates BizTalk Server 2013.

This cumulative update package for Microsoft BizTalk Server 2013 contains hotfixes for the BizTalk Server 2013 issues that were resolved after the release of BizTalk Server 2013.

We recommend that you test hotfixes before you deploy them in a production environment. Because the builds are cumulative, each new update release contains all the hotfixes and all the security updates that were included in the previous BizTalk Server 2013 update release.

We recommend that you consider applying the most recent BizTalk Server 2013 update release.

Cumulative update package 6 for Microsoft BizTalk Server 2013:

  • BizTalk Server Adapter
    • 4011935: FIX: MQSeries receive location fails to recover after MQ server restarts
    • 3121493: FIX: WCF-HTTP send doesn’t retry or suspend when it receives an error 500 in BizTalk Server
  • BizTalk Server EDIAS2
    • 3202751: FIX: “Unable to create the entry in the AS2 EDIINT MIC table” error when message tracking is enabled in BizTalk Server
  • BizTalk Server Message Runtime, Pipelines, and Tracking
    • 4014078: FIX: ‘XmlDasmException’ error occurs when PromoteDocSpecName is set to False in BizTalk Server

Download CU 6 for BizTalk Server 2013 here

Keeping Up with the Cloud Services Using Logic Apps

Keeping Up with the Cloud Services Using Logic Apps

We’re living in exciting times, where releases of new functionality of all of our favorite software (e.g., Logic Apps, Visual Studio Team Services, and BizTalk Server) isn’t happening every 2 years, it’s happening every 2 weeks. With all of the benefits that such a release cadence brings, it also introduces the dilemma of how to both be productive with the technology, and keep up to date with all of the new features.

For example, while I was at the Integrate conference this year in London, many asked how it’s possible to keep our live 5-day Logic Apps class up-to-date. “Certainly it must be out-of-date if it’s not small recorded videos, right?” Actually, we update the class before each run to incorporate the latest product updates.

In this post, I want to share a strategy that we at QuickLearn have found works to stay on top of the latest technology changes, and give you the tools to implement it yourself.

Enabling Continuous Education

The first step in working towards staying up-to-date with the latest and greatest a technology offers will be locating the ever-evolving list of what’s new. Microsoft maintains a feed of new features for Logic Apps, and even a feed of new features for Visual Studio Team Services (another technology that we teach here). The feed for Logic Apps will be updated less frequently than the listing of features in the Azure Portal, however.

Let’s use one of those feeds, and build a Logic App that notifies us when there is a change by using the RSS trigger to queue up an instance of that Logic App whenever a new item is published to the RSS feed.

RSS Trigger Configuration

Creating a Learning Backlog

At QuickLearn, we add research items for continuous education as Product Backlog Items in VSTS. They sit alongside the core work of building products (in our case, courseware), but serve to carve out some capacity to build up the team itself. Each item carries with it the responsibility to quickly research and/or build a proof of concept using the new feature, or features, whilst also taking extensive notes to share with the team. I made all of my notes public for the release of BizTalk Server 2013 and BizTalk Server 2013 R2, and I wrote them directly in Live Writer to facilitate this. These days, I use OneNote for the same purpose.

Your organization might not want to allocate company time for such efforts. If so, you can always setup a personal VSTS account and do such research and experimentation on your own time.

Thankfully, Logic Apps has a connector for VSTS, which makes the task of building up a learning backlog an easy task to accomplish. The work items themselves will serve as our notifications of new product features:

VSTS Create Work Item Action

Working from the Continuous Learning Backlog

Once the Logic App runs (just the single trigger and single action), it produces backlog items to learn about new features in Logic Apps. In the way that I’ve configured it, it runs every 7 days and will automatically populate your backlog with any new features it finds. Your team can decide to investigate and/or not investigate these features further depending on what they are, and/or if they will help in future efforts on your projects.

Continuous Education Backlog Item

If any features in the release sound helpful and warrant further investigation, you can break out as many tasks as are required to investigate applicable features to see what value you can derive from them. I like taking the approach of building a 30-60 minute proof of concept for each feature, rather than just reading about it. Each team member can take a relevant feature for a test drive, and present it during sprint review.

Decomposing Learning Item Into Tasks

For QuickLearn, backlog items like this are a common occurrence. We update our Logic Apps class before each delivery to incorporate all of the latest and greatest features that we can fit. I always love the week of class, being able to share all of the fun and fresh goodies that the product team has cooked up.

I Need to Get Up to Speed Now

If you want a leg up, and a way to get up-to-speed quickly, there are some good opportunities coming up to do just that:

I’ll be speaking at each of those, and hope to see you there! Good luck on your continuously expanding cloud integration journey!

What are the restrictions of BizTalk Server Standard edition?

What are the restrictions of BizTalk Server Standard edition?

We often get this question asked what’s are the restrictions of BizTalk Server Standard edition. I thought of highlighting the key restrictions that are applicable to BizTalk Server Standard Edition here.

highlighting the key restrictions that are applicable to BizTalk Server Standard Edition

BizTalk Applications Limit:

You cannot deploy more than 5 BizTalk Applications in a single environment (this excludes the default BizTalk.System application). This is not a great restriction since BizTalk applications are just logical containers to group artifacts together (receive locations, send ports, schemas, orchestrations, policies etc). There is nothing stopping a customer from deploying all the artifacts inside one or two applications. In fact, this restriction results in some of the bad practices in BizTalk Application deployment. In our opinion, a better restriction will be restricting the number of artifacts like “x” number of orchestrations, send ports, receive locations.

BizTalk Servers Limits:

You cannot have more than one server in a BizTalk Environment. This is the one that forces most of the customers to move to BizTalk Server Enterprise edition. This restriction basically results in not having high availability for your BizTalk environment, if the server goes down, your environment is down.

Single Message Box:

You cannot have more than one MessageBox in your environment. Scaling MessageBox is required when you have a high throughput scenario. It’s not really big impact in BizTalk Standard Edition case since you are restricted to only one BizTalk server and hence you can only handle so much load anyway.

Number of CPU cores:

You cannot have more than 8 cores on the server. Again this restricts the scalability of your BizTalk Environment to limited processing power.

In a nutshell, the BizTalk Standard edition is designed for customers who want to take advantage of the integration platform but not concerned with scalability and high throughput.

Author: Saravana Kumar

Saravana Kumar is the Founder and CTO of BizTalk360, an enterprise software that acts as an all-in-one solution for better administration, operation, support and monitoring of Microsoft BizTalk Server environments. View all posts by Saravana Kumar

Microsoft Integration Weekly Update: July 31

Microsoft Integration Weekly Update: July 31

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

If you want to receive these updates weekly, then don’t forget to Subscribe!

On-Premise Integration:

Cloud and Hybrid Integration:


Hope this would be helpful. Please feel free to let me know your feedback on this Integration weekly series.


Stef’s Monthly Update – July 2017

Stef’s Monthly Update – July 2017

July the holiday month, or at least that’s when the summer holiday season starts in the Netherlands. And this year I went for a holiday with the family to Portugal (Porto) and France (Montréal, Midi-Pyrénées).

Month July

For me this is a special month as the MVP renew cycle starts, which is now yearly. And I have always have been a July MVP, hence nothing really changed for me. Anyways, I got renewed, a great start of the month!

I shared the picture above on LinkedIn with the text: “Awarded for the eight time! Thanks Microsoft. Coolest Technology!!!”. And this posted got to my surprise more than 8000 views in a week. Awesome!

In the beginning of July I consolidated my talk at Integate2017 London into a blog post: Building sentiment analysis solution with Logic Apps. This years integrate was a success as many of you might have read in various blog post that recap the event. And there will be an US Integrate later this year in October, where I will be one of speakers too.

What else did I do this month. Well I worked together with Kent for one of his Middleware Friday shows: INTEGRATE 2017 Highlight Show. We recorded our interview session in Dublin. And I wrote a blog post about Azure Functions, go serverless!

Another thing I like to mention is that for a customer I worked hard with a team on a POC with CosmosDB, Graph model and Azure Search. And we have achieved some important milestones. Some of the learning I will share in upcoming months.


As mentioned already it’s summer holiday season in the Netherlands and I went with my family to Porto in Portugal to visit Sandro and his family.

No suprises here, we went to have lunch, visit Porto and have an ice cream of course (Santini).


Since I was on holiday I was able to read a few books. With a long road trip to Porto I saw a few movies related to AI, digitalization and IOT:

And what I found interesting about seeing this movies is how they relate to these books I read:

The world is changing around us with sensors, devices and huge amounts of data. Moreover, this makes us more aware of everything around is and smart, at least we get more insights.


During Integrate 2017, my buddy Kent talked a lot about Blockchain and Cryptocurrencies. And I got intrigued, yet I did not fully understand both. Therefore, I bought and read these two books to get a better understanding:

Both are recently pusblished books, relevant and up to date.

Relaxing books

Besides some technical books I read two thrillers to relax and chill:

The first is defenitely an amazing well written thriller and if you like the movies Se7en than this is for you!


My favorite albums that were released in July were:

  • Decapitated – Anticult
  • Prong – Zero Days
  • Wintersun – The Forest Seasons

Hence, another month gone by. Next month I will continue to work on the POC and prepare for sessions in September and October.



Author: Steef-Jan Wiggers

Steef-Jan Wiggers is all in on Microsoft Azure, Integration, and Data Science. He has over 15 years’ experience in a wide variety of scenarios such as custom .NET solution development, overseeing large enterprise integrations, building web services, managing projects, designing web services, experimenting with data, SQL Server database administration, and consulting. Steef-Jan loves challenges in the Microsoft playing field combining it with his domain knowledge in energy, utility, banking, insurance, health care, agriculture, (local) government, bio-sciences, retail, travel and logistics. He is very active in the community as a blogger, TechNet Wiki author, book author, and global public speaker. For these efforts, Microsoft has recognized him a Microsoft MVP for the past 7 years. View all posts by Steef-Jan Wiggers

BizTalk Assessment: How to check if Windows Defender is running on BizTalk Server with PowerShell

BizTalk Assessment: How to check if Windows Defender is running on BizTalk Server with PowerShell

Why checking if Windows Defender is running on BizTalk Server, or another anti-virus, is important? I have been creating several BizTalk Server 2016 Developer environments on Azure using Azure Virtual Machines, normally I tend to be careful in choosing the VM Disk type – SSD can be expensive – and the size of the virtual machine – I would love to use a 4-core machine with 28GB but still using a HHD disk it will cost me near 430€ per month – so, because of the pricing I’m usually choose a modest machine from 1-core and 3.5 GB RAM or up to 4-core and 8GB RAM.

They tend to be a little slow, so tuning it well is important for archive a better performance and by default Windows Defender is configured on that machines. Not only as a negative impact in the general performance of the machine but also can have a huge impact on BizTalk Server performance.

Windows Defender is running on BizTalk Server

Indeed, anti-virus can have a huge impact on BizTalk Server performance and normally the best approach for BizTalk Server environment and anti-virus software is using a perimeter based approach, where you normally don’t run the anti-virus software on the machine itself but protect the boundaries.

I like to use this approach but if not possible, at least you should configure antivirus software to avoid real-time scanning of BizTalk Server executables and file drops. Antivirus software real-time scanning of BizTalk Server executable files and any folders or file shares monitored by BizTalk Server receive locations can negatively impact BizTalk Server performance. If antivirus software is installed on the BizTalk Server computer(s), disable real-time scanning of non-executable file types referenced by any BizTalk Server receive locations (usually .XML, but can also be .csv, .txt, etc.) and configure antivirus software to exclude scanning of BizTalk Server executable Files.

In this post, I will not address how you can disable Windows Defender, I will live it to another post and I will not address also all the possible existing Anti-virus in the market, instead, here I will focus only in Windows Defender for a simple reason: that this is the anti-virus installed by default in the BizTalk Server 2016 Developer Virtual Machines template on Azure. Neither to configure Anti-virus exclusions that you should do for BizTalk, for that a good blog post from MSFT: BizTalk Server Anti-Virus Exclusions

However, one of the first steps while doing one BizTalk environment performance, or even a basic, assessment is to find out if there is any Anti-virus running on your BizTalk Server.

So, I create this simple PowerShell script to use in all my environments just to check is Windows Defender that is installed and enabled by default in Windows Server 2016 is running on the Server:

    $defenderOptions = Get-MpComputerStatus

        Write-host "Windows Defender was not found running on the Server:" $env:computername -foregroundcolor "Green"
        Write-host "Windows Defender was found on the Server:" $env:computername -foregroundcolor "Cyan"
        Write-host "   Is Windows Defender Enabled?" $defenderOptions.AntivirusEnabled
        Write-host "   Is Windows Defender Service Enabled?" $defenderOptions.AMServiceEnabled
        Write-host "   Is Windows Defender Antispyware Enabled?" $defenderOptions.AntispywareEnabled
        Write-host "   Is Windows Defender OnAccessProtection Enabled?"$defenderOptions.OnAccessProtectionEnabled
        Write-host "   Is Windows Defender RealTimeProtection Enabled?"$defenderOptions.RealTimeProtectionEnabled

            $windowsShell = new-object -comobject
            $questionResult = $windowsShell.popup("Do you want to disable Real Time Protection?", 0,"Not at this moment.",4)
            If ($questionResult -eq 6) {
                    Set-MpPreference -DisableRealtimeMonitoring $true
                Write-host "Windows Defender Real Time Protection was successfully disabled" -foregroundcolor "Green"
                Write-host "Nevertheless Windows Defender is still running"
    Write-host "Windows Defender was not found running on the Server:" $env:computername -foregroundcolor "Green"

Output type:

Result: Windows Defender is running on BizTalk Server

Result: Windows Defender is running on BizTalk Server (stopped)

The script, not only allows you to check if Windows Defender is running on BizTalk Server but, if the Windows Defender is running and you have Real Time Protection enabled it will allow you to disable this feature if you want –  nevertheless, by disabling it the Windows Defender will still be running, the only thing is not doing is a real-time protection to scan everything you download or run on Server.


The script to check if Windows Defender is running on BizTalk Server can be found and download on Microsoft TechNet Gallery:

PowerShell to check if Windows Defender is running on BizTalk ServerPowerShell to Check if Windows Defender is running on the Server (2 KB)
Microsoft | TechNet Gallery

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira

PowerShell to Configure BizTalk Server Host, Host Instances and Adapter handlers according to some of the Best Practices

PowerShell to Configure BizTalk Server Host, Host Instances and Adapter handlers according to some of the Best Practices

In the past, I wrote a blog post about Configuring BizTalk Server Host and Host Instances according to some of the Best Practices and I already have available online two PowerShell scripts for you to download: PowerShell to Configure BizTalk Server Host and Host Instances and PowerShell to Configure BizTalk Server 2013/2013 R2 Host and Host Instances.

The problem of these two scripts is that they only do 90% of the work and they are intended to be used on “day zero” of your environment, i.e., after you finish installing your environment. Don’t get me wrong, you can still use it if you have your environment up and running for a long time but in this case, you will get several error messages while the script tries to delete the handlers associated with the adapters and the reason is that you probably have already several receive and send port that is configured to use the existing “default” handler: “BizTalkServerApplication“.

For this reason, I decided to update my previous script, of course, optimize it to BizTalk Server 2016 (but it can be executed in BizTalk Server previous versions), and add to it more functionalities:

  • Configure the Default Send Handler as the Send Handler for each existing static and Dynamic Send Ports
  • Configure Receive Handlers from all the existing Receive locations

With these missing functionalities added the script is now working 100% and you can use it on “day zero” of your environment or when in an existing environment with existing BizTalk Applications configured and running.

The only catch is, if you already have BizTalk Application running in your environment, in order for the script to do all the steps you may need to stop all your BizTalk Applications, special the ones that have orchestrations deployed. And one of the reasons why is that for example if you cannot change the Receive or Send handler of ports that are bind to an orchestration, if, the orchestration is running.

What is Host and a Host Instances?

The BizTalk Host is a logical process and security boundary within BizTalk Server that represents a logical set of zero or more run-time processes in which you can deploy BizTalk Server services and artifacts (such as adapter handlers, receive locations, and orchestrations). Each host has a security group assigned to it and may contain multiple host instances, each on an individual machine, that perform the work of the host.

In another hand, a host instance is the physical instance of a host on a computer running BizTalk Server. Each host instance belongs to exactly one host, and the service account of the host instance belongs to the security group of the host. The security group may be used to grant permissions to physical resources such as databases for use by any host instances in the host.

What is an Adapter Handler?

An adapter handler is an instance of a BizTalk host in which the adapter code runs. When you specify a send or receive handler for an adapter you are specifying which host instance the adapter code will run in the context of. An adapter handler is responsible for executing the adapter and contains properties for a specific instance of an adapter.

The default BizTalk Server configuration will only create one in-process host, “BizTalkServerApplication”, that will be associated as a receive and send adapter handler for all of the installed adapters, with the exception of HTTP, SOAP, WCF-BasicHttp, WCF-WSHttp and WCF-CustomIsolated adapter receive handlers that can only be running in an isolated host.

How can I automate this task?

Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating tasks.

This is a simple script that will configure the following components in your environment:

  • Create Host and Host Instance according to some of the best practices: two Receive host and host instances (one 32-bits and one 64-bits); two Send host and host instances (one 32-bits and one 64-bits); One Host and Host Instance to process Orchestrations and one Host and Host Instance for tracking;
  • Create Receive and Send Handlers for each adapter;
  • And finally, associate the correct Receive and Send Handlers to each existing receive and send ports present in your environment


The script can be found and download on Microsoft TechNet Gallery:

Host, Host Instances and Adapter HandlersPowerShell to Configure BizTalk Server 2016 Host, Host Instances and Handlers (30 KB)
Microsoft | TechNet Gallery

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira

Azure Logic Apps Monthly Update – July 2017

Azure Logic Apps Monthly Update – July 2017

After the previous Logic Apps live webcast back in May 2017, the team were back just in time for their webcast on July 26, 2017 – a day before Logic Apps went Generally Available (GA) one year ago! Yes, Azure Logic Apps officially turns 1!! A huge round of applause and shout out to the team at Microsoft for giving a great product offering. This episode of Logic Apps live webcast had Jeff Hollan, Kevin Lam and Jon Fancey giving the recent updates that have rolled into the product.

Happy Birthday Logic Apps! You’ve turned 1 and have a long way to go!

New York Hackathon – September 5, 2017

The Logic Apps team is conducting a very unique, first of its kind Hackathon event on September 5, 2017 at Microsoft Times Square office in Downtown, Washington. This hackathon will focus on Azure Functions, Azure Logic Apps, Azure App Services, API Management and more. If you are interested to attend this hackathon, send the Logic Apps team a Tweet (DM), email.

What’s New in Azure Logic Apps?

  1. Export Logic App in Visual Studio – When you open a Logic App from Cloud Explorer in Visual Studio, you can export the Logic App to your Visual Studio project. This will create a file on your file system of the Logic App as an ARM template. You can import this template into the Visual Studio and start using your Logic App within Visual Studio.
  2. Webhooks in Foreach loop – Previously, it was possible to have Webhooks across the Logic App and now the functionality has been extended to the Foreach loop. You can have as many Webhooks in your foreach loop.
  3. Service Principal Authentication (Azure Data Lake and ARM) – If you are using any resource templates, one of the biggest challenges with some OAuth connectors is that you have to give your consent by signing up and giving Logic Apps the permission to access your connection details. This is a challenge when there are numerous deployments. Instead, now when you try to connect to Azure Resource Manager or Azure Data Lake, you can now connect using the Azure Application Service Principal. All you have to do is provide a secret key that has access to the application. Soon, this functionality will roll out to Office365 connectors, Dynamics connectors and SharePoint connectors.

  4. Array handling in designer – Let’s say you have a situation where you have an output from one of the Logic App steps and you want to input the actual array object instead of the actual elements, this operation is now possible in the Logic Apps designer. This is best implemented now in the “Send Email” step where you can add multiple attachments as an array.
  5. Batch Processing – Jon Fancey demonstrated this functionality at INTEGRATE 2017 where users can group things together (arbitrarily).
  6. Variable decrement – In addition to initialize and increment (discussed in the earlier Logic Apps Live webcast), and the Set functionality explained here, the Logic Apps team have added the “decrement” capability to variables. The team will be adding support for more variable types in the coming weeks/months.
  7. Run history compressed view – When you click the Run History section, you will see a compressed view of the actual run history that lists the failed runs for you to easily act upon.
  8. Run API time-range filter – You can now filter the runs based on the time-range (say, between two date range times)
  9. Action Configuration settings (splitOn, retry policy, timeout, sequential flag, disable async polling) – All these operations (that are configurable) can now be performed right from the Logic Apps Designer in the Trigger Configuration settings.
  10. Pan and zoom within the Designer
  11. Server side paging (eg., SQL) – For instance, SQL has a page size limit of 256 rows in a request. Say, when you query more than 256 rows, only the first 256 rows would be fetched from the database. Now you can enable Server Side Paging from the Designer where there is a configurable value and you can retrieve the number of rows depending on the value that is configured.
  12. Expression Authoring – You can build your expression functions from the designer, and all other expressions are listed right in the Designer. It becomes easy for you to find the expressions.
  13. Smart tips – There are hints now available in the Logic Apps Designer that will remind you to perform a very important action.
  14. XSLT Byte Order Mark config – When you use the Transform action, you will normally get back the XML and along with it, you will receive the byte order mark. The Logic Apps team has now in fact cleaned the code in such a way that you can now opt out from receiving those byte order mark in addition to the XML.
  15. Open Sourced Templates – You can submit New / update the existing Templates at The Logic Apps team will review the templates and publish them accordingly.

New Connectors

  • Azure File Storage – You can now access your blob attached storage from/to your VM
  • ARM Invoke and Service Principal – The ARM Invoke is super powerful. For any Azure Resource that you have access to, you can easily Start/Stop the VM, etc.
  • Azure Application Insights – This connector allows you to queue up reports and run queries to get the App Insights report
  • Video Indexer
  • Microsoft Planner
  • Microsoft Teams
  • Microsoft Forms
  • Bing Maps
  • Bing Search
  • Adobe Creative Cloud
  • Parserr
  • Calendly
  • Teamwork
  • JotForm
  • Freshservice
  • Pitney Bowes
  • AWeber
  • Cognito Forms
  • Team Work
  • PostreSQL

What’s in Progress?

  1. Large Files – Ability to move large files up to 1 GB (between) for specific connectors (blob, FTP)
  2. SOAP – One of the most requested features on UserVoice. Once available, you will be able to consume SOAP services (both cloud and on-premise)
  3. Expression Intellisense – Logic Apps workflow definitions will incorporate the same code used by Microsoft Visual Studio
  4. Expression tracing – With this capability, you can actually get to see the intermediate values for complex expressions
  5. Foreach nesting in the designer – This was a backend capability that was recently released but this capability will soon be incorporated into the designer.
  6. Foreach failure navigation – Say, you have about 1000 iterations in the foreach loop and 5 of them actually failed, you have to look for which one actually failed. Instead, you can navigate to the next failed action inside a for each loop easily to see what happened.
  7. Functions + Swagger
  8. Logic Apps OMS Package – You can monitor all the Logic Apps using a B2B solution within the Operations Management Suite (OMS). The preview of this OMS dashboard will be available within the next month (before next Logic Apps live webcast). You can bulk resubmit at the same time.

  9. Variables append (capability)
  10. Publish Logic Apps to PowerApps and Flow in a easy way
  11. Export Flow to Logic App ARM template
  12. Code view peek in the Action
  13. Time based batching
  14. Upcoming Connectors
    1. Azure Tables
    2. Azure SQL Data Warehouse
    3. Service Now
    4. Workday
    5. Feedly
    6. MySQL (RW)
    7. Amazon Redshift

You can watch the recording of this session here
[embedded content]

Community Events Logic Apps team are a part of

  1. Integration Bootcamp on September 21-22, 2017 at Charlotte, North Carolina. This event will focus on BizTalk, Azure Logic Apps, Azure API Management and lots more.
  2. INTEGRATE 2017 USA – October 25 – 27, 2017 at Redmond. Register for the event today.

Why attend INTEGRATE 2017 USA event?

Jim Harrer (Pro Integration Team Program Manager, Microsoft) and Saravana Kumar (Founder/CTO – BizTalk360) give you a heads up as to why you have to attend INTEGRATE 2017 USA event.


If you are working on Logic Apps and have something interesting, feel free to share them with the Azure Logic Apps team via email or you can tweet to them at @logicappsio. You can also vote for features that you feel are important and that you’d like to see in logic apps here.

The Logic Apps team are currently running a survey to know how the product/features are useful for you as a user. The team would like to understand your experiences with the product. You can take the survey here.

If you ever wanted to get in touch with the Azure Logic Apps team, here’s how you do it!
Reach Out Azure Logic Apps Team

Previous Updates

In case you missed the earlier updates from the Logic Apps team, take a look at our recap blogs here –

Author: Sriram Hariharan

Sriram Hariharan is the Senior Technical and Content Writer at BizTalk360. He has over 9 years of experience working as documentation specialist for different products and domains. Writing is his passion and he believes in the following quote – “As wings are for an aircraft, a technical document is for a product — be it a product document, user guide, or release notes”. View all posts by Sriram Hariharan

BizTalk360 Custom Email Templates

BizTalk360 Custom Email Templates

With this release of BizTalk360(v8.5), the user can customize email template. The earlier version of BizTalk360 only has a capability to change the color of the email body, font, logo, background, footer background etc. Most of our customer had requested to customize the email alert with more comprehensive improvements, so we have revamped the email template module with more additional functionalities to simplify and customize the email notification. This allows to create and manage custom templates for notifications.

The user can able to create a template with an in-built XSLT validator with preview options. Email template can be used in different alarms with light or dark theme, which helps to

• grab the support team’s attention to take on the relevant actions.
• choose different theme templates to indicate different business cases.
• easily identify which template belongs to which environment.

So, let’s us look how to create a template in the newer version of BizTalk360.

Creating Template

In BizTalk360, Manage Email Template can be found in the monitoring and notification section of setting side. While installing the newer version, the default template “BizTalk360 Email Template” will be used for all the existing or newly created alarm.

BizTalk360 Email Template Grid

For creating a new template, click on “NEW” icons as shown in above picture, a blade opens for providing the basic details like template name, description of the template, toggle button for making it as default template as shown in the picture below.

Custom Template Creation

In the following section, the user can edit and provide their own data like display name, email address, logo text, footer text etc.same as previous versions for a better manageability.

Email settings


Initially, BizTalk360 provides a default template “BizTalk360 Email Template” with a light elegant theme. Themes are also available in two variants light and dark. A user can able to choose light or dark theme while creating a template.

However, the earlier version of BizTalk360 email colors are chosen by selecting colors from color picker and here we came up with the idea of providing “themes” instead of simply selecting the color code for the email template.

We categorized themes into two
• Light Theme
• Dark Theme

Light Theme

Light Theme

Dark Theme

Dark Theme

We are not restricting the user to simply selecting light or dark theme, we have also provisioned to edit the themes.

Theme Settings

Under the edit theme color settings, a user can choose 6 Body BG color which represents different themes for light and dark. Once the theme is selected, “PREVIEW TEMPLATE” option is being provided to cross check the desired changes on a new blade.

Once the template is created, it will be displayed in the main grid of Manage Email Templates page.

Email Template Grid


BizTalk360 uses XSLT (eXtensible Stylesheet Language Transformations) as a styling language for customizing the email template. The XSLT file editing option is being provided to a user for changing font family and font size. “Please do not change any logic in XSLT file, as this might corrupt the mailing functionality”. This facility is available in the edit section of each template by clicking the edit gear icon.


Once the changes are made in the XSLT file, the inbuilt XSLT validator verifies the XSLT file and allows the user to save the file after successful verification.

The “Preview Template” option is provided in edit section to make sure the desired changes have been made in XSLT file.

Alarm Configuration

In the alarm configuration section, we have customized for a user-friendliness to choose the template that has been created at the manage email module. Also, we made the notification channel to be available in the Alarm configuration page itself. We have made the email configuration optional if the notification channel is being enabled so that either one of the choices can serve the purpose.



BizTalk360 already had a feature to format email template, with its latest release v8.5 it fills the gap by adding the ability to customize, create and manage template for different alarms based on user preference. Keep your mailing color codes intact with your thoughts using our customized email template feature. If you have any feedback or suggestion, please feel free to write to us at