MS Power Automate: Få modtagne mails ind i en kanal i MS Teams

Ron Brevstgaard
Ron Brevstgaard

Microsoft Teams kommer man ikke rigtig uden om hvis ens arbejdsplads el. f.eks. skole gør brug af Office-pakken. Desværre er ulempen ved Teams at man nu har endnu en applikation at skulle tjekke dagligt for ikke at sige mange gange i timen.

Har man f.eks. en delt indbakke hvor alle måske ikke har adgang men hvor det alligevel giver mening, at de kan se med.. Så er det smart at få disse "kørt ind" over Teams. Man kan gøre det på mange måder ligeledes kan man selv vælge, om det kun er de første 300 tegn af beskeden (eksempel på brødtekst), om de vedhæftede filer skal over i Teams mv. Man kan også gøre dette i et privat Team og lave diverse kanaler. På denne måde kan man spare tid, når man altså har opsat en masse i Power Automate.

Bemærk: Dette er i øvrigt det første blogindlæg der omhandler Power Automate så vi starter yderst simpelt op.

Det vi skal have gjort:

Som set herover skal vi som det første finde ud af, hvad vi egentlig vil foretage os. -> Vi vil gøre noget når vi modtager en mail i vores delte outlook indbakke. Derfor starter vi ud med et When a new email arrives.

Nu skal vi så have opsat en Condition hvor muligheder er Ja og Nej. Det vi gør her er at bestemme hvad der skal ske, når en email modtages. Her har jeg valgt en Teams Post message -handling under Hvis ja. Hvis nej kan bruges hvis du f.eks. vil have notifikation hvert kvarter om, at ingen nye mails er modtaget men hvorfor?

Hvis ja -handlingen er opsat således: *Kan du ikke vælge det ønskede team og kanal så sørg for at omtalte er tilknyttet/linked Power Automate.

*Under meddelelse kan du også vælge at medtage vedhæftede filer mv.

Det var faktisk det.

Nu vil det i teams se således ud: *Bemærk at har du gjort alt herover fra en delt indpakke (postkasse) får du selvfølgelig ikke billedet mv. af dig selv men i dette eksempel skulle jeg være sikker på at noget følsomt ikke kom med i diverse screenshots :-).


Vil du ikke starte fra bunden so kopier dette herunder ind i en tekstfil og gem den som en .json (brug f.eks. notepad) og importér bagefter ind i Power Automate.

{"$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#","contentVersion":"1.0.0.0","parameters":{"logicAppName":{"type":"String","metadata":{"description":"Name of the logic app."}},"logicAppLocation":{"defaultValue":"[resourceGroup().location]","allowedValues":["eastasia","southeastasia","centralus","eastus","eastus2","westus","northcentralus","southcentralus","northeurope","westeurope","japanwest","japaneast","brazilsouth","australiaeast","australiasoutheast","southindia","centralindia","westindia","canadacentral","canadaeast","uaecentral","westcentralus","westus2","[resourceGroup().location]"],"type":"String","metadata":{"description":"Location of the logic app."}},"teams_Connection_Name":{"defaultValue":"teams","type":"String","metadata":{"description":"Name of the connection."}},"office365_Connection_Name":{"defaultValue":"office365","type":"String","metadata":{"description":"Name of the connection."}}},"resources":[{"type":"Microsoft.Logic/workflows","apiVersion":"2016-06-01","name":"[parameters('logicAppName')]","location":"[parameters('logicAppLocation')]","dependsOn":["[resourceId('Microsoft.Web/connections', parameters('teams_Connection_Name'))]","[resourceId('Microsoft.Web/connections', parameters('office365_Connection_Name'))]"],"properties":{"state":"Disabled","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"When_a_new_email_arrives":{"splitOn":"@triggerBody()?['value']","metadata":{"flowSystemMetadata":{"swaggerOperationId":"OnNewEmailV2"}},"type":"ApiConnectionNotification","inputs":{"fetch":{"method":"get","pathTemplate":{"template":"/v3/Mail/OnNewEmail"},"queries":{"folderPath":"Inbox","importance":"Any","fetchOnlyWithAttachment":false,"includeAttachments":false,"subjectFilter":""}},"subscribe":{"method":"post","pathTemplate":{"template":"/GraphMailSubscriptionPoke/$subscriptions"},"body":{"NotificationUrl":"@{listCallbackUrl()}"},"queries":{"folderPath":"Inbox","importance":"Any","fetchOnlyWithAttachment":false}},"host":{"connection":{"name":"@parameters('$connections')['office365']['connectionId']"}},"authentication":"@parameters('$authentication')"}}},"actions":{"Condition":{"actions":{"Post_message":{"runAfter":{},"metadata":{"flowSystemMetadata":{"swaggerOperationId":"PostMessageToChannel"}},"type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters('$connections')['teams']['connectionId']"}},"method":"post","body":{"rootMessage":{"body":{"content":"Emne: @{triggerBody()?['subject']}\nBesked: @{triggerBody()?['bodyPreview']}\n","contentType":1}}},"path":"/beta/groups/@{encodeURIComponent('6925cb0e-a9f8-45ce-996d-82cef110f698')}/channels/@{encodeURIComponent('19:e54df16a4ca240ee8d6228d41c6b95e2@thread.tacv2')}/chatThreads","authentication":"@parameters('$authentication')"}}},"runAfter":{},"expression":"@contains(triggerBody()?['Body'], '')","type":"If"}},"outputs":{},"description":"When an email arrives in Office 365 Outlook, check the email body content with the specified condition. If condition matched then post a message to Microsoft Teams with email body content."},"parameters":{"$connections":{"value":{"teams":{"id":"[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', parameters('logicAppLocation'), '/managedApis/', 'teams')]","connectionId":"[resourceId('Microsoft.Web/connections', parameters('teams_Connection_Name'))]","connectionName":"[parameters('teams_Connection_Name')]"},"office365":{"id":"[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', parameters('logicAppLocation'), '/managedApis/', 'office365')]","connectionId":"[resourceId('Microsoft.Web/connections', parameters('office365_Connection_Name'))]","connectionName":"[parameters('office365_Connection_Name')]"}}}},"runtimeConfiguration":{"lifetime":{"unit":"Day","count":30},"collections":{"maximumItemCount":5000},"performanceProfile":{"throttles":{"mode":"Low"}},"retryPolicy":{"type":"Exponential","interval":"PT5M","count":2,"minimumInterval":"PT5M","maximumInterval":"PT1H"},"usageConfiguration":{"name":"USER-BCB5FC6F3DD44CB3BA9648C1FFCFD8C3"}},"integrationAccount":{"name":"F42444CEA73C4C1CB45F02113196711A-westeurope","id":"subscriptions/b745f25e-91b5-4140-9d73-93b10b1dfb1d/resourceGroups/F42444CEA73C4C1CB45F02113196711A-IA/providers/Microsoft.Logic/integrationAccounts/F42444CEA73C4C1CB45F02113196711A-westeurope","type":"Microsoft.Logic/integrationAccounts"}}},{"type":"Microsoft.Web/connections","apiVersion":"2016-06-01","name":"[parameters('teams_Connection_Name')]","location":"[parameters('logicAppLocation')]","properties":{"api":{"id":"[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', parameters('logicAppLocation'), '/managedApis/', 'teams')]"},"displayName":"[parameters('teams_Connection_Name')]"}},{"type":"Microsoft.Web/connections","apiVersion":"2016-06-01","name":"[parameters('office365_Connection_Name')]","location":"[parameters('logicAppLocation')]","properties":{"api":{"id":"[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', parameters('logicAppLocation'), '/managedApis/', 'office365')]"},"displayName":"[parameters('office365_Connection_Name')]"}}]}

... Inden længe vil du kunne lave noget som dette:

Her får jeg + flere en besked inde i Teams, når en elev har valgt at bruge f.eks. uTorrent til at hente ulovlige film. Ved at lave noget fiks-faks med "sugning" af WLAN Authentication data fra Aruba (netværksudstyr) kan man hurtigt få indblik i hvem uden at kigge diverse logs igennem mv.

Office 365

Ron Brevstgaard

IT-Supporter hos Herning HF & VUC. + Tidligere Linux Sysadmin/Systemadministrator (5 års erfaring). + 6 års erfaring med SEO og link building + 9 års erfaring med udvikling af hjemmesider og webshops.


  1. Minimal og anonym sporing af brugeradfærd.
  2. Eneste brug af cookies er _cfduid og _cflb - WAF og Load Balancing.
  3. Ingen deling af data med f.eks. Google.
  4. Databehandlingsaftale lavet med Cloudflare.
  5. Databehandlingsaftale lavet med DigitalOcean(DO).
  6. Kontaktformular er tilknyttet ProtonMail.
  7. Automatisk sletning af mails efter 30 dage.
  8. Filer modtaget opbevares med AES256 i CFB-mode.
  1. Ansible Advanced - Hands-On - DevOps.
  2. Google IT Support Professional Certificate.
  3. The Complete Node.js Developer Course (3rd Edition).
  4. Certified Microsoft Innovative Educator (MIE).
  5. Hootsuite Social Marketing Certification.
  6. Google Fundamentals of Digital Marketing 2019.
  7. Google Analytics for Power Users.
  8. Google Shopping ads Certification.
  9. Google Ads Search Certification.
  10. Google Analytics for Power Users.
  11. Aruba Certified Network Security Associate (ACNSA).
  12. *For datoer mv. - Se LinkedIn.