Quickstart: Create automated tasks, processes, and workflows with Azure Logic Apps - Visual Studio
With Azure Logic Apps and Visual Studio, you can create workflows for automating tasks and processes that integrate apps, data, systems, and services across enterprises and organizations. This quickstart shows how you can design and build these workflows by creating logic apps in Visual Studio and deploying those apps to Azure. Although you can perform these tasks in the Azure portal, Visual Studio lets you add your logic apps to source control, publish different versions, and create Azure Resource Manager templates for different deployment environments.
If you're new to Azure Logic Apps and just want the basic concepts, try the quickstart for creating a logic app in the Azure portal. The Logic App Designer works similarly in both the Azure portal and Visual Studio.
In this quickstart, you create the same logic app with Visual Studio as the Azure portal quickstart. This logic app monitors a website's RSS feed and sends email for each new item in that feed. Your finished logic app looks like this high-level workflow:
An Azure subscription. If you don't have an Azure subscription, sign up for a free Azure account.
Download and install these tools, if you don't have them already:
Visual Studio 2019, 2017, or 2015 - Community edition or greater. This quickstart uses Visual Studio Community 2017.
When you install Visual Studio 2019 or 2017, make sure that you select the Azure development workload.
Azure Logic Apps Tools for the Visual Studio version you want:
You can either download and install Azure Logic Apps Tools directly from the Visual Studio Marketplace, or learn how to install this extension from inside Visual Studio. Make sure that you restart Visual Studio after you finish installing.
Access to the web while using the embedded Logic App Designer
The designer needs an internet connection to create resources in Azure and to read properties and data from connectors in your logic app. For example, for Dynamics CRM Online connections, the designer checks your CRM instance for default and custom properties.
An email account that's supported by Logic Apps, such as Office 365 Outlook, Outlook.com, or Gmail. For other providers, review the connectors list here. This example uses Office 365 Outlook. If you use a different provider, the overall steps are the same, but your UI might slightly differ.
Create Azure resource group project
Start Visual Studio. Sign in with your Azure account.
On the File menu, select New > Project. (Keyboard: Ctrl+Shift+N)
Under Installed, select Visual C# or Visual Basic. Select Cloud > Azure Resource Group. Name your project, for example:
If Cloud or Azure Resource Group doesn't appear, make sure you install the Azure SDK for Visual Studio.
If you're using Visual Studio 2019, follow these steps:
In the Create a new project box, select the Azure Resource Group project for Visual C# or Visual Basic. Choose Next.
Provide a name for the Azure resource group you want to use and other project information. Choose Create.
From the template list, select the Logic App template. Choose OK.
After Visual Studio creates your project, Solution Explorer opens and shows your solution. In your solution, the LogicApp.json file not only stores your logic app definition but is also an Azure Resource Manager template that you can use for deployment.
Create blank logic app
When you have your Azure Resource Group project, create your logic app with the Blank Logic App template.
In Solution Explorer, open the LogicApp.json file's shortcut menu. Select Open With Logic App Designer. (Keyboard: Ctrl+L)
If you don't have this command in Visual Studio 2019, check that you have the latest updates for Visual Studio.
Visual Studio prompts you for your Azure subscription and an Azure resource group for creating and deploying resources for your logic app and connections.
For Subscription, select your Azure subscription. For Resource group, select Create New to create a new Azure resource group.
Setting Example value Description User profile list Contoso
By default, the account that you used to sign in Subscription Pay-As-You-Go
The name for your Azure subscription and associated account Resource Group MyLogicApp-RG
The Azure resource group and location for storing and deploying your logic app's resources Location MyLogicApp-RG2
A different location if you don't want to use the resource group location
The Logic Apps Designer opens a page that shows an introduction video and commonly used triggers. Scroll down past the video and triggers to Templates, and select Blank Logic App.
Build logic app workflow
Next, add an RSS trigger that fires when a new feed item appears. Every logic app starts with a trigger, which fires when specific criteria is met. Each time the trigger fires, the Logic Apps engine creates a logic app instance that runs your workflow.
In Logic App Designer, under the search box, choose All. In the search box, enter "rss". From the triggers list, select this trigger: When a feed item is published - RSS
After the trigger appears in the designer, finish building the logic app by following the workflow steps in the Azure portal quickstart, then return to this article. When you're done, your logic app looks like this example:
Save your Visual Studio solution. (Keyboard: Ctrl + S)
Deploy logic app to Azure
Before you can run and test your logic app, deploy the app to Azure from Visual Studio.
In Solution Explorer, on your project's shortcut menu, select Deploy > New. If prompted, sign in with your Azure account.
For this deployment, keep the default Azure subscription, resource group, and other settings. Choose Deploy.
If the Edit Parameters box appears, provide a resource name for your logic app. Save your settings.
When deployment starts, your app's deployment status appears in the Visual Studio Output window. If the status doesn't appear, open the Show output from list, and select your Azure resource group.
If your selected connectors need input from you, a PowerShell window opens in the background and prompts for any necessary passwords or secret keys. After you enter this information, deployment continues.
After deployment finishes, your logic app is live in the Azure portal and runs on your specified schedule (every minute). If the trigger finds new feed items, the trigger fires, which creates a workflow instance that runs your logic app's actions. Your logic app sends email for each new item. Otherwise, if the trigger doesn't find new items, the trigger doesn't fire and "skips" instantiating the workflow. Your logic app waits until the next interval before checking.
Here are sample emails that this logic app sends. If you don't get any emails, check your junk email folder.
Congratulations, you've successfully built and deployed your logic app with Visual Studio. To manage your logic app and review its run history, see Manage logic apps with Visual Studio.
Add new logic app
When you have an existing Azure Resource Group project, you can add a new blank logic app to that project by using the JSON Outline window.
In Solution Explorer, open the
From the View menu, select Other Windows > JSON Outline.
To add a resource to the template file, choose Add Resource at the top of the JSON Outline window. Or in the JSON Outline window, right-click resources, and select Add New Resource.
In the Add Resource dialog box, find and select Logic App. Name your logic app, and choose Add.
Clean up resources
When you're done with your logic app, delete the resource group that contains your logic app and related resources.
Sign in to the Azure portal with the same account used to create your logic app.
On the main Azure menu, select Resource groups. Select your logic app's resource group, and select Overview.
On the Overview page, choose Delete resource group. Enter the resource group name as confirmation, and choose Delete.
Delete the Visual Studio solution from your local computer.
In this article, you built, deployed, and ran your logic app with Visual Studio. To learn about managing and performing advanced deployment for logic apps with Visual Studio, see these articles: