
An introduction to Logic App
Logic Apps are PaaS, which comes under Azure App Services, that provides the framework for developers to design simple or a complex business workflows without writing any code. The introduction of this service by Microsoft fills the void in Microsoft's enterprise cloud integration roadmap. As with the other App Services, it can dynamically scale up to meet your demand or scaled back when the demand eases off.
The main benefits of using this service is the simplicity of designing complex workflows using easy-to-understand design templates and implementing business process scenarios that would be difficult to develop using code and are time consuming. Connecting to disparate systems is more easily accomplished using the rich set of enterprise connectors and APIs. If you have constructed a generic Logic App connector, you also have the ability to monetize your Logic App in the Azure Marketplace.
Note
Here is the URL: https://github.com/logicappsio for the community repository for Logic Apps.
Logic Apps may be designed using the web-based visual designer available in the Azure portal, as shown here:

From Visual Studio 2015 by installing the Visual Studio tools for Logic Apps. The link to the tool kit is: https://visualstudiogallery.msdn.microsoft.com/e25ad307-46cf-412e-8ba5-5b555d53d2d9 .

Using the designer, you start orchestrating your process workflow by either adding templates from the Azure Marketplace or by creating your own APIs.
There is a support for many popular SaaS and on-premise apps available in the Azure Marketplace. These templates have input and output connectors to link them together. Think of the templates as building blocks, where you can link the templates to construct workflows. You also have the option to start or nest other Logic Apps from within your own Logic App.
There are three core concepts that you should be familiar with:
- Triggers: A trigger is an event that initiates a new instance of the workflow process. There are two types available:
- Polling: This is where the client (Logic App) polls a service for any new notifications. The service itself is stateless; however, the client may maintain state to compare the last notification message.
- Push: This is where a client (Logic App) is notified either by a callback mechanism from the service or the service directly calling the client. Normally for the callback mechanism, the service would have a list of registered subscribers that would be called when an event is to be published.
- There are six types of trigger mechanisms available. More information on these triggering types are discussed in the following Chapter 6 , Working with connectors in Logic Apps.
- Manual: This is a manually initiated event.
- Recurrence: This is based on a recurring schedule
- HTTP: This is by polling an HTTP endpoint
- API connection: This managed APIs created by Microsoft for standard (Facebook, Dropbox FTP, Office365, and so on) and Enterprise (AS2 encode/decode, XML, flat file, and so on) services
- HTTP WebHook: This is a callback endpoint; it allows the workflow to wait until a message is received on the WebHook
- API connectionWebHook: As above but for WebHooks created by Microsoft
- Actions: These are the result of a trigger being fired and requiring some operation to be performed; it can also depend on other actions that will determine the execution order.
- Connectors: These are special types of APIs that expose an interface that abstracts the underlying connectivity to a resource, and they can either act as triggers or actions.
Logic Apps include the following flow controls:
- Condition: This is equivalent to If and Else-If decision trees, where an expression must evaluate to true before an action is executed
- Scope: This is used to group a set of activities
- For Each: This iterates over an array and will execute an action for each item found
- Do Until: This will iterate over an array while a condition is true
- Switch: Executes different branches of code depending upon a value