{"id":80916,"date":"2020-05-26T09:00:44","date_gmt":"2020-05-26T16:00:44","guid":{"rendered":""},"modified":"2025-06-24T11:41:28","modified_gmt":"2025-06-24T18:41:28","slug":"announcing-cloud-native-workflows-dapr-logic-apps","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/","title":{"rendered":"Announcing cloud-native workflows using Dapr and Logic Apps"},"content":{"rendered":"\n<p>The Distributed Application Runtime (Dapr) project is\u00a0<a href=\"https:\/\/cloudblogs.microsoft.com\/opensource\/2020\/04\/29\/distributed-application-runtime-dapr-growth-community-update\/\" target=\"_blank\" rel=\"noreferrer noopener\">growing rapidly<\/a>\u00a0are we\u2019re grateful for all the community support and customer feedback. While working with customers building business applications, we find that one of the most frequent needs is the ability to schedule, automate, and orchestrate business processes. This is often called a business workflow. Workflows also frequently integrate with other apps, data, systems, and services across organizations. To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce\u00a0<a href=\"https:\/\/github.com\/dapr\/workflows\/\" target=\"_blank\" rel=\"noreferrer noopener\">Dapr Workflows<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dapr-workflows-using-azure-logic-apps\">Dapr workflows using Azure Logic Apps<\/h2>\n\n\n\n<p>With Dapr, we have seen a growing list of customers using workflows in their applications. Some have used open source workflow engines, such as Workflow Core.&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/logic-apps\/logic-apps-overview\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Logic Apps<\/a>&nbsp;provides extensive workflow capabilities and recently the Logic Apps team decoupled their engine into a set of reusable libraries that can be hosted in many different environments. This provided the ideal opportunity to combine the capabilities of Dapr with Logic Apps to enable a whole new class of business processing applications that can now be built and run on any hosting platform, such as Kubernetes, IoT Edge, or VMs. Logic Apps has now become another application framework that is integrated with Dapr, taking advantage of Dapr\u2019s building blocks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"invoking-a-logic-apps-workflow\">Invoking a Logic Apps workflow<\/h2>\n\n\n\n<p>Logic App workflows are extremely flexible enabling you to build a variety of different workload applications and at their core consist of\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/logic-apps\/logic-apps-overview#key-terms\" target=\"_blank\" rel=\"noreferrer noopener\">triggers, actions, and connectors<\/a>. Triggers fire when events or new data meet specified conditions. For example, an event might be getting an email, detecting changes in your Azure Storage account or an incoming HTTP request. Each time the trigger fires, the Logic Apps engine creates a new logic app instance that runs the workflow.<\/p>\n\n\n\n<p>Actions are all the steps that happen after the trigger and enable you to compose data, set conditions, or send HTTP requests. Connectors are how your workflow can get access to data, services, and systems, where you can use pre-built connectors that take care of serializing\/deserializing data correctly.<\/p>\n\n\n\n<p>By integrating Logic Apps workflow with Dapr, you can now take advantage of the Dapr\u2019s service invocation and input bindings building blocks to trigger workflows. Let\u2019s look at an example of how this works.<\/p>\n\n\n\n<p>Below is a simple workflow that is triggered by an incoming HTTP request and the workflow action composes a response message that contains the text message:<\/p>\n\n\n\n<p>\u201cHello\u00a0from\u00a0Logic\u00a0App\u00a0workflow\u00a0running\u00a0with\u00a0Dapr!\u201d<\/p>\n\n\n\n<p>You can run this workflow easily on your local machine by using the Dapr CLI, like this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ndapr run --app-id myWorkflow --protocol grpc --port 3500 --app-port 50003 -- dotnet run --workflows-path ..\/workflows\n<\/pre><\/div>\n\n\n<p>This command launches a workflow host called\u00a0<em>myWorkflow<\/em>\u00a0(accessed over port 50003), with a Dapr sidecar and the\u00a0<em>workflows-path\u00a0<\/em>flag is the path to the workflow file called\u00a0<em>workflow1.json<\/em>\u00a0that is loaded on startup. This workflow example is shown below or you can view it\u00a0<a href=\"https:\/\/github.com\/dapr\/workflows\/blob\/master\/samples\/workflow1.json\">here<\/a>. You can have as many workflow files in the workflows-path directory as you wish. You can now invoke a specific workflow file like this using the Dapr invoke method capability with curl:<\/p>\n\n\n\n<p>curl http:\/\/localhost:3500\/v1.0\/invoke\/myWorkflow\/method\/workflow1 {&#8220;value&#8221;:&#8221;Hello from Logic App workflow running with Dapr!&#8221;}<\/p>\n\n\n\n<p>Or using the Dapr CLI:<\/p>\n\n\n\n<p>dapr invokePost &#8211;app-id myWorkflow &#8211;method workflow1 {&#8220;value&#8221;:&#8221;Hello from Logic App workflow running with Dapr!&#8221;}<\/p>\n\n\n\n<p>This ability to easily invoke workflows from Dapr opens up a world of possibilities, including rapid no-code or low-code development, where the Logic Apps workflow, along with its connectors, does all the processes orchestration and integration to external systems and services for you. And, creating the workflows is as simple as opening up the workflow designer, either in the Azure portal or with the\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.vscode-logicapps\">Visual Studio Code extension<\/a>.<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-1024x546.webp\" alt=\"graphical user interface, application, email\" class=\"wp-image-80919 webp-format\" srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-1024x546.png 1024w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-300x160.png 300w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-768x410.png 768w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-330x176.png 330w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-800x427.png 800w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-400x213.png 400w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-650x347.webp 650w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-450x240.png 450w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer.webp 1190w\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-1024x546.png\" data-orig-srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-1024x546.png 1024w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-300x160.png 300w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-768x410.png 768w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-330x176.png 330w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-800x427.png 800w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-400x213.png 400w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-650x347.png 650w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer-450x240.png 450w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-1_Dapr-Logic-Apps-Designer.png 1190w\"><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"workflow1-json-created-using-the-azure-portal-logic-apps-designer\">Workflow1.json created using the Azure portal Logic Apps designer<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-2_Workflow1.json-created-using-the-Azure-portal-Logic-Apps-designer.png\" alt=\"a screenshot of a map\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"triggering-a-workflow-using-dapr-input-bindings\">Triggering a workflow using Dapr input bindings<\/h2>\n\n\n\n<p>Workflows can also be triggered from Dapr input bindings and then within a workflow you can take advantage of the Dapr building blocks. To trigger a workflow from an input binding the name of the workflow must match the name of the input binding.<\/p>\n\n\n\n<p>The&nbsp;<em>workflowTopic.json<\/em>&nbsp;file below shows how a message arriving on say, a Kafka queue as a Dapr input binding called<em>&nbsp;workflowTopic,<\/em>&nbsp;triggers this workflow to run. In this workflow, the action that runs takes the body of the input request and saves this to a Dapr state store called&nbsp;<em>mystatestore<\/em>, thereby showing how you can also call back out to Dapr from the workflow itself to take advantage of Dapr\u2019s state management building block.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"workflowtopic-json-shows-how-a-workflow-is-triggered-by-an-input-binding-and-then-calls-dapr-state-management\">WorkflowTopic.json shows how a workflow is triggered by an input binding and then calls Dapr state management<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-3_WorkflowTopic.json-shows-how-a-workflow-is-triggered-by-an-input-binding-and-then-calls-Dapr-state-management.png\" alt=\"WorkflowTopic.json shows how a workflow is triggered by an input binding and then calls Dapr state management\" \/><\/figure>\n\n\n\n<p>Putting this all together you can create some very powerful workflows. For example,&nbsp;<em>workflow2.json<\/em>&nbsp;below shows how a workflow can first invoke an Azure Function, save the result to a Redis store using Dapr\u2019s state management, and then send a request to both Azure Service Bus with the body from the Function call, as well as return the body value to the caller.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"workflow2-json-combines-multiple-http-requests-to-external-services\">Workflow2.json combines multiple HTTP requests to external services<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-4_Workflow2.json-combines-multiple-HTTPhttp-requests-to-external-services-1024x690.webp\" alt=\"a screenshot of a map\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-does-it-work\">How does it work?<\/h2>\n\n\n\n<p>Let\u2019s take a deeper look at how this all works and at the same time check out the new repo in the Dapr org called&nbsp;<a href=\"https:\/\/github.com\/dapr\/workflows\/\" target=\"_blank\" rel=\"noreferrer noopener\">Workflows<\/a>&nbsp;with all the source code. In the repo there is a .NET Dapr-Logic App host, which loads the Logic Apps engine and runs a gRPC server hosting the Dapr client. When you launch this host process with Dapr as a sidecar, Logic Apps loads any workflow files it finds in the given directory (or via a volume mount if running in a container with Kubernetes) and then waits to receive an invocation or input binding call from Dapr to start any of the workflows. This is shown in the diagram below.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-5_Dapr-workflow-diagram.png\" alt=\"Dapr workflow diagram\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dapr-and-application-frameworks\">Dapr and application frameworks<\/h2>\n\n\n\n<p>As mentioned at the beginning of this post, Logic Apps is now another application framework integrated with Dapr. It is worth spending a moment to look at the developer layers that Dapr provides, as illustrated in the diagram below. At the lowest layer you can use any of the API building blocks over HTTP and gRPC, which means Dapr is accessible from virtually any language. On this is layered gRPC proto generated SDKs for several languages. On top of the gRPC proto layer are crafted SDKs for .NET, Java, and Python (as of today, with others coming), which provide an improved usability experience for developers. Finally, at the highest layer, Dapr integrates with specific application frameworks such as ASP.NET Core, Spring Boot, virtual actors, and now Logic Apps to provide workflows. As a developer you can choose to build against&nbsp;<em>any<\/em>&nbsp;of these layers, depending on your app requirements.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-6_Dapr-and-application-frameworks-1024x562.webp\" alt=\"Dapr and application frameworks diagram\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"future-roadmap\">Future roadmap<\/h2>\n\n\n\n<p>This preview release enables the power of workflows with Dapr. On the roadmap is to enable the ability to use the&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/connectors\/apis-list\">Azure managed connectors<\/a>&nbsp;(currently only the built-in connectors and actions are available). Managed connectors provide triggers and actions for accessing cloud services, on-premises systems, including Office 365, Azure Blob Storage, SQL Server, Dynamics 365, Salesforce, SharePoint, and more. Currently in this preview, the state of the workflow is saved to Azure Storage for failover recovery. We are exploring using Dapr\u2019s state management building block to save the state of the workflow, meaning that you can take advantage of any of the supported Dapr component state stores and make your code more portable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"give-it-a-try\">Give it a try!<\/h2>\n\n\n\n<p>We\u2019d love for you to try out Dapr workflows. You can go to the&nbsp;<a href=\"https:\/\/github.com\/dapr\/workflows#get-started\">Getting Started<\/a>&nbsp;overview in the&nbsp;<a href=\"https:\/\/github.com\/dapr\/workflows\">repo<\/a>, give feedback by raising issues, and become a member of the Dapr community on the Dapr community Gitter channel. You can also join&nbsp;<a href=\"https:\/\/github.com\/dapr\/dapr#community\">the community calls<\/a>&nbsp;held every two weeks. We would greatly enjoy hearing about the applications that you build and where you see Dapr workflows being useful.<\/p>\n\n\n\n<p>Dapr continues to evolve rapidly, integrating with developer frameworks such as ASP.NET, Spring Boot, and now Logic Apps. You will see more of these framework integrations that open up new capabilities and scenarios using the power of Dapr\u2019s building blocks to enable you, the developer, to easily write apps that are portable, event-driven, and resilient.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Distributed Application Runtime (Dapr) project is\u00a0growing rapidly\u00a0are we\u2019re grateful for all the community support and customer feedback. While working with customers building business applications, we find that one of the most frequent needs is the ability to schedule, automate, and orchestrate business processes. This is often called a business workflow.<\/p>\n","protected":false},"author":5562,"featured_media":95492,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[2272],"content-type":[346,361,340],"topic":[2240,2241,2242,2244],"programming-languages":[],"coauthors":[717,720],"class_list":["post-80916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-microsoft","content-type-news","content-type-project-updates","content-type-tutorials-and-demos","topic-application-development","topic-cloud","topic-containers","topic-devops","review-flag-1593580428-734","review-flag-integ-1593580288-449","review-flag-iot-1680213327-385","review-flag-new-1593580248-669","review-flag-sprin-1593580746-499"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Announcing cloud-native workflows using Dapr and Logic Apps | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce Dapr Workflows.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing cloud-native workflows using Dapr and Logic Apps | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce Dapr Workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-26T16:00:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T18:41:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-5_Dapr-workflow-diagram_TW.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mark Fussell, Yaron Schneider\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-5_Dapr-workflow-diagram_TW.png\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mark Fussell, Yaron Schneider\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/\"},\"author\":[{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/author\\\/mark-fussell\\\/\",\"@type\":\"Person\",\"@name\":\"Mark Fussell\"},{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/author\\\/yaron-schneider\\\/\",\"@type\":\"Person\",\"@name\":\"Yaron Schneider\"}],\"headline\":\"Announcing cloud-native workflows using Dapr and Logic Apps\",\"datePublished\":\"2020-05-26T16:00:44+00:00\",\"dateModified\":\"2025-06-24T18:41:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/\"},\"wordCount\":1394,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/WIN23_PRO_Acer_Concept_D_Office_003.webp\",\"keywords\":[\"Microsoft\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/\",\"name\":\"Announcing cloud-native workflows using Dapr and Logic Apps | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/WIN23_PRO_Acer_Concept_D_Office_003.webp\",\"datePublished\":\"2020-05-26T16:00:44+00:00\",\"dateModified\":\"2025-06-24T18:41:28+00:00\",\"description\":\"To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce Dapr Workflows.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#primaryimage\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/WIN23_PRO_Acer_Concept_D_Office_003.webp\",\"contentUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/WIN23_PRO_Acer_Concept_D_Office_003.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2020\\\/05\\\/26\\\/announcing-cloud-native-workflows-dapr-logic-apps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing cloud-native workflows using Dapr and Logic Apps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Microsoft-Logo.png\",\"contentUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Announcing cloud-native workflows using Dapr and Logic Apps | Microsoft Open Source Blog","description":"To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce Dapr Workflows.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/","og_locale":"en_US","og_type":"article","og_title":"Announcing cloud-native workflows using Dapr and Logic Apps | Microsoft Open Source Blog","og_description":"To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce Dapr Workflows.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2020-05-26T16:00:44+00:00","article_modified_time":"2025-06-24T18:41:28+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-5_Dapr-workflow-diagram_TW.png","type":"image\/png"}],"author":"Mark Fussell, Yaron Schneider","twitter_card":"summary_large_image","twitter_image":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/05\/Image-5_Dapr-workflow-diagram_TW.png","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Mark Fussell, Yaron Schneider","Est. reading time":"6 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/mark-fussell\/","@type":"Person","@name":"Mark Fussell"},{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/yaron-schneider\/","@type":"Person","@name":"Yaron Schneider"}],"headline":"Announcing cloud-native workflows using Dapr and Logic Apps","datePublished":"2020-05-26T16:00:44+00:00","dateModified":"2025-06-24T18:41:28+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/"},"wordCount":1394,"commentCount":1,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/WIN23_PRO_Acer_Concept_D_Office_003.webp","keywords":["Microsoft"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/","url":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/","name":"Announcing cloud-native workflows using Dapr and Logic Apps | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/WIN23_PRO_Acer_Concept_D_Office_003.webp","datePublished":"2020-05-26T16:00:44+00:00","dateModified":"2025-06-24T18:41:28+00:00","description":"To enable developers to easily build workflow applications that use Dapr\u2019s capabilities, including diagnostics and multi-language support, we are excited to announce Dapr Workflows.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/WIN23_PRO_Acer_Concept_D_Office_003.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/WIN23_PRO_Acer_Concept_D_Office_003.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/05\/26\/announcing-cloud-native-workflows-dapr-logic-apps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing cloud-native workflows using Dapr and Logic Apps"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/80916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=80916"}],"version-history":[{"count":3,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/80916\/revisions"}],"predecessor-version":[{"id":97671,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/80916\/revisions\/97671"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95492"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=80916"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=80916"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=80916"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=80916"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=80916"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=80916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}