Skip to content

Instantly share code, notes, and snippets.

@justinyoo
Created August 13, 2019 13:46

Revisions

  1. justinyoo created this gist Aug 13, 2019.
    12 changes: 12 additions & 0 deletions filter-recipients.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,12 @@
    "Filter_Recipients": {
    "type": "Query",
    "runAfter": {
    "Get_All_Recipients": [
    "Succeeded"
    ]
    },
    "inputs": {
    "from": "@variables('FolderLookupReferences')",
    "where": "@contains(outputs('Get_All_Recipients'), item()?.email)"
    }
    }
    9 changes: 9 additions & 0 deletions get-all-recipients.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    "Get_All_Recipients": {
    "type": "Compose",
    "runAfter": {
    "Initialise_Folder_Lookup_References": [
    "Succeeded"
    ]
    },
    "inputs": "@union(coalesce(split(triggerBody()?['Cc'], json('[]')), ';'), split(coalesce(triggerBody()?['To'], json('[]')), ';'))"
    },
    42 changes: 42 additions & 0 deletions lookup-references-updated.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    [
    {
    "email": "mvp-dotnet@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": ".NET"
    },
    {
    "email": "mvp-asp.net@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "ASP.NET-IIS"
    },
    {
    "email": "mvp-azure@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "Azure"
    },
    {
    "email": "mvp-devops@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "DevOps"
    },
    {
    "email": "mvp-integration@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "Integration"
    },
    {
    "email": "mvp-office365@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "Office365"
    },
    {
    "email": "mvp-windows@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "Windows"
    },
    {
    "email": "mvp-xamarin@mailing-list.net",
    "folderId": "AQMkADAwAT****************AAAA==",
    "displayName": "Xamarin"
    }
    ]
    34 changes: 34 additions & 0 deletions lookup-references.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    [
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": ".NET"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "ASP.NET-IIS"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "Azure"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "DevOps"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "Integration"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "Office365"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "Windows"
    },
    {
    "id": "AQMkADAwAT****************AAAA==",
    "displayName": "Xamarin"
    }
    ]
    20 changes: 20 additions & 0 deletions move-email-to-designated-folder.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    "Move_Email_to_Designated_Folder": {
    "type": "ApiConnection",
    "runAfter": {
    "Take_the_First_Recipient": [
    "Succeeded"
    ]
    },
    "inputs": {
    "method": "post",
    "host": {
    "connection": {
    "name": "@parameters('$connections')['outlook']['connectionId']"
    }
    },
    "path": "/Mail/Move/@{encodeURIComponent(triggerBody()?['Id'])}",
    "queries": {
    "folderPath": "Id::@{outputs('Take_the_First_Recipient')?['folderId']}"
    }
    }
    }
    27 changes: 27 additions & 0 deletions stop-processing-if-filter-returns-empty.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    "Stop_Processing_If_Filter_Returns_Empty": {
    "type": "If",
    "runAfter": {
    "Filter_Recipients": [
    "Succeeded"
    ]
    },
    "expression": {
    "and": [
    {
    "equals": [
    "@length(coalesce(body('Filter_Recipients'), json('[]')))",
    0
    ]
    }
    ]
    },
    "actions": {
    "Cancel_Processing_Due_to_No_Recipient_Found": {
    "type": "Terminate",
    "runAfter": {},
    "inputs": {
    "runStatus": "Cancelled"
    }
    }
    }
    }
    9 changes: 9 additions & 0 deletions take-the-first-recipient.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    "Take_the_First_Recipient": {
    "type": "Compose",
    "runAfter": {
    "Stop_Processing_If_Filter_Returns_Empty": [
    "Succeeded"
    ]
    },
    "inputs": "@first(body('Filter_Recipients'))"
    }