Quickstart: Create an integration workflow with multi-tenant Azure Logic Apps and the Azure portal
This quickstart shows how to create an example automated workflow that integrates two services, an RSS feed for a website and an email account, when you use multi-tenant Azure Logic Apps. While this example is cloud-based, Azure Logic Apps supports workflows that connect apps, data, services, and systems across cloud, on premises, and hybrid environments. For more information about multi-tenant versus single-tenant model, review Single-tenant versus multi-tenant and integration service environment.
In this example, you create a workflow that uses the RSS connector and the Office 365 Outlook connector. The RSS connector has a trigger that checks an RSS feed, based on a schedule. The Office 365 Outlook connector has an action that sends an email for each new item. The connectors in this example are only two among the hundreds of connectors that you can use in a workflow.
The following screenshot shows the high-level example workflow:
As you progress through this quickstart, you'll learn these basic steps:
- Create a logic app resource that runs in the multi-tenant Logic Apps service environment.
- Select the blank logic app template.
- Add a trigger that specifies when to run the workflow.
- Add an action that performs a task after the trigger fires.
- Run your workflow.
To create and manage a logic app using other tools, review these other Logic Apps quickstarts:
- Create and manage logic apps in Visual Studio Code
- Create and manage logic apps in Visual Studio
- Create and manage logic apps using the Azure Command-Line Interface (Azure CLI)
If you don't have an Azure subscription, sign up for a free Azure account before you begin.
An email account from a service that works with Azure Logic Apps, such as Office 365 Outlook or Outlook.com. For other supported email providers, review Connectors for Logic Apps.
If you want to use the Gmail connector, only G Suite accounts can use this connector without restriction in Azure Logic Apps. If you have a consumer Gmail account, you can only use this connector with specific Google-approved services, unless you create a Google client app to use for authentication with your Gmail connector. For more information, see Data security and privacy policies for Google connectors in Azure Logic Apps.
If you have a firewall that limits traffic to specific IP addresses, set up your firewall to allow access for both the inbound and outbound IP addresses used by the Logic Apps service in the Azure region where your logic app exists.
This example also uses the RSS and Office 365 Outlook connectors, which are managed by Microsoft. These connectors require that you set up your firewall to allow access for all the managed connector outbound IP addresses in the logic app's Azure region.
Create a logic app resource
Sign in to the Azure portal with your Azure account.
In the Azure search box, enter
logic apps, and select Logic Apps.
On the Logic Apps page, select Add > Consumption.
This step creates a logic app resource that runs in the multi-tenant Logic Apps service environment and uses a consumption pricing model.
On the Logic App pane, provide basic details and settings for your logic app. Create a new resource group for this example logic app.
Property Value Description Subscription <Azure-subscription-name> The name of your Azure subscription. Resource group <Azure-resource-group-name> The Azure resource group name, which must be unique across regions. This example uses "My-First-LA-RG". Logic app name <logic-app-name> Your logic app's name, which must be unique across regions. This example uses "My-First-Logic-App".
Important: This name can contain only letters, numbers, hyphens (
-), underscores (
_), parentheses (
)), and periods (
Region <Azure-region> The Azure datacenter region where to store your app's information. This example uses "West US". Associate with integration service environment Off Select this option only when you want to deploy this logic app to an integration service environment. For this example, leave this option unselected. Enable log analytics Off Select this option only when you want to enable diagnostic logging. For this example, leave this option unselected.
When you're ready, select Review + Create. On the validation page, confirm the details that you provided, and select Create.
Select the blank template
After Azure successfully deploys your app, select Go to resource. Or, find and select your logic app by typing the name in the Azure search box.
The Logic Apps Designer opens and shows a page with an introduction video and commonly used triggers.
Under Templates, select Blank Logic App.
After you select the template, the designer now shows an empty workflow surface.
Add the trigger
A workflow always starts with a single trigger, which specifies the condition to meet before running any actions in the workflow. Each time the trigger fires, the Logic Apps service creates and runs a workflow instance. If the trigger doesn't fire, no instance is created nor run. You can start a workflow by choosing from many different triggers.
This example uses an RSS trigger that checks an RSS feed, based on a schedule. If a new item exists in the feed, the trigger fires, and a new workflow instance starts to run. If multiple new items exist between checks, the trigger fires for each item, and a separate new workflow instance runs for each item.
In the Logic Apps Designer, under the search box, select All.
To find the RSS trigger, in the search box, enter
rss. From the Triggers list, select the RSS trigger, When a feed item is published.
In the trigger details, provide the following information:
Property Required Value Description The RSS feed URL Yes <RSS-feed-URL> The RSS feed URL to monitor.
This example uses the Wall Street Journal's RSS feed at
https://feeds.a.dj.com/rss/RSSMarketsMain.xml. However, you can use any RSS feed that doesn't require HTTP authorization. Choose an RSS feed that publishes frequently, so you can easily test your workflow.
Chosen property will be used to determine No PublishDate The property that determines which items are new. Interval Yes 1 The number of intervals to wait between feed checks.
This example uses
1as the interval.
Frequency Yes Minute The unit of frequency to use for every interval.
This example uses
Minuteas the frequency.
Collapse the trigger's details for now by clicking inside its title bar.
When you're done, save your logic app, which instantly goes live in the Azure portal. On the designer toolbar, select Save.
The trigger won't do anything other than check the RSS feed. So, you need to add an action that defines what happens when the trigger fires.
Add an action
Following a trigger, an action is a subsequent step that runs some operation in the workflow. Any action can use the outputs from the previous step, which can be the trigger or another action. You can choose from many different actions, add multiple actions up to the limit per workflow, and even create different action paths.
This example uses an Office 365 Outlook action that sends an email each time that the trigger fires for a new RSS feed item. If multiple new items exist between checks, you receive multiple emails.
Under the When a feed item is published trigger, select New step.
Under Choose an operation and the search box, select All.
In the search box, enter
send an emailso that you can find connectors that offer this action. To filter the Actions list to a specific app or service, select that app or service first.
For example, if you have a Microsoft work or school account and want to use Office 365 Outlook, select Office 365 Outlook. Or, if you have a personal Microsoft account, select Outlook.com. This example continues with Office 365 Outlook.
If you use a different supported email service in your workflow, the user interface might look slightly different. However, the basic concepts for connecting to another email service remain the same.
You can now more easily find and select the action that you want, for example, Send an email:
If your selected email service prompts you to sign in and authenticate your identity, complete that step now.
Many connectors require that you first create a connection and authenticate your identity before you can continue.
This example shows manual authentication for connecting to Office 365 Outlook. However, other services might support or use different authentication types. Based on your scenario, you can handle connection authentication in various ways.
For example, if you use use Azure Resource Manager templates for deployment, you can increase security on inputs that change often by parameterizing values such as connection details. For more information, review these topics:
In the Send an email action, specify the information to include in the email.
In the To box, enter the receiver's email address. For this example, use your email address.
The Add dynamic content list appears when you click inside the To box and other boxes for certain input types. This list shows any outputs from previous steps that are available for you to select as inputs for the current action. You can ignore this list for now. The next step uses the dynamic content list.
In the Subject box, enter the email subject. For this example, enter the following text with a trailing blank space:
New RSS item:
From the Add dynamic content list, under When a feed item is published, select Feed title.
The feed title is a trigger output that references the title for the RSS item. Your email uses this output to show the RSS item's title.
In the dynamic content list, if no outputs appear from the When a feed item is published trigger, next to the action's header, select See more.
When you're done, the email subject looks like this example:
If a For each loop appears on the designer, then you selected an output that references an array, such as the categories-Item property. For this output type, the designer automatically adds the For each loop around the action that references the output. That way, your workflow performs the same action on each array item.
To remove the loop, on the loop's title bar, select the ellipses (...) button, then select Delete.
In the Body box, enter email body content.
For this example, the body includes the following properties, preceded by descriptive text for each property. To add blank lines in an edit box, press Shift + Enter.
Descriptive text Property Description
Feed title The item's title
Feed published on The item's publishing date and time
Primary feed link The URL for the item
Save your logic app. On the designer toolbar, select Save.
Run your workflow
To check that the workflow runs correctly, you can wait for the trigger to check the RSS feed based on the set schedule. Or, you can manually run the workflow by selecting Run on the Logic Apps Designer toolbar, as shown in the following screenshot.
If the RSS feed has new items, your workflow sends an email for each new item. Otherwise, your workflow waits until the next interval to check the RSS feed again.
The following screenshot shows a sample email that's sent by the example workflow. The email includes the details from each trigger output that you selected plus the descriptive text that you included for each item.
If you don't receive emails from the workflow as expected:
- Check your email account's junk or spam folder, in case the message was incorrectly filtered.
- Make sure the RSS feed you're using has published items since the last scheduled or manual check.
Clean up resources
When you're done with this quickstart, clean up the sample logic app and any related resources by deleting the resource group that you created for this example.
In the Azure search box, enter
resource groups, and then select Resource groups.
Find and select your logic app's resource group. On the Overview pane, select Delete resource group.
When the confirmation pane appears, enter the resource group name, and select Delete.
In this quickstart, you created your first logic app workflow in the Azure portal to check an RSS feed, and send an email for each new item. To learn more about advanced scheduled workflows, see the following tutorial: