Préparer les réunions Outlook vers Teams

Intermédiaire

Ceci est unPersonal Productivityworkflow d'automatisation du domainecontenant 8 nœuds.Utilise principalement des nœuds comme Code, MicrosoftTeams, ScheduleTrigger, MicrosoftOutlook. Envoi automatique du résumé du calendrier Outlook vers Microsoft Teams

Prérequis
  • Aucun prérequis spécial, prêt à l'emploi après importation
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "L4F6EnHYmVEq7SSW",
  "meta": {
    "instanceId": "ccf4e500c5536799e0925f03390f0fd338e2b5a5bc862f6a57b5552acfdf3861",
    "templateCredsSetupCompleted": true
  },
  "name": "Prepare for meetings Outlook -> Teams",
  "tags": [],
  "nodes": [
    {
      "id": "1a3eb8b0-1507-4c7f-9644-8779ab20a157",
      "name": "Obtenir les événements du calendrier",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        820,
        660
      ],
      "webhookId": "b5035907-a365-4c4c-a109-011aaa75fd52",
      "parameters": {
        "filters": {
          "custom": "={{ $json.filter }}"
        },
        "resource": "event"
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "id": "",
          "name": ""
        }
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "9afa8efa-2154-4584-8476-52039358e03f",
      "name": "Créer un filtre pour la valeur \"AUJOURD'HUI\"",
      "type": "n8n-nodes-base.code",
      "position": [
        640,
        660
      ],
      "parameters": {
        "jsCode": "const now = new Date();\n\n// Get start of today (UTC)\nconst start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));\nconst end = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + 1));\n\nconst startISO = start.toISOString(); // e.g. 2025-05-27T00:00:00.000Z\nconst endISO = end.toISOString();\n\nconst filter = `start/dateTime ge '${startISO}' and start/dateTime lt '${endISO}'`;\n\nreturn [{\n  json: {\n    filter,\n    startISO,\n    endISO\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "1eb47e59-e8d0-4f26-b647-8351d76d877a",
      "name": "Planifier chaque minuit",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        420,
        660
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "17e80693-1187-4ccf-a4d6-1f08416421d4",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        460
      ],
      "parameters": {
        "color": 7,
        "width": 1380,
        "height": 480,
        "content": "## Automatically send your daily schedule to Teams\n1) \"Code\" node - setting TODAY value \n2) \"Microsoft Outlook\" node - set Resource as EVENT and operation as GET MANY \n3) \"Code\" node - HTML-formatted message for each item, summarizing the meeting time, subject, and body preview, using default values if fields are missing.\n4) Send the message via \"MS Teams node\" - use technical user & select relevant teams channel or chat \n"
      },
      "typeVersion": 1
    },
    {
      "id": "76ffe5c8-e99a-46c3-9576-2aaf6687e57e",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1660,
        420
      ],
      "parameters": {
        "width": 600,
        "height": 600,
        "content": "## Final Output\n### Received in teams chat \n📅 Meeting Time: 2025-07-08T13:00:00.0000000\n📝 Subject: Name of Example Meeting\n📄 Summary:\nAgenda:\n🟢 Quick check-in on project status\n📊 Review of key KPIs from last week\n🛠️ Discussion on blockers and resource needs\n📆 Planning milestones for the upcoming sprint\n❓ Q&A + feedback round\n________________________________________________________________________________ Microsoft Teams Need help? [Join the meeting now] Meeting ID: 123 456 789 000 Passcode: aB1c2DE3________________________________ For organizers:\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b2e1ec44-99c1-4476-82a8-53e27e270470",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        80
      ],
      "parameters": {
        "width": 700,
        "height": 1240,
        "content": "## Daily Summary of your Outlook calendar to MS Teams \n**No need to open your calendar – get a clear daily agenda delivered to your Teams channel. Use this workflow.**\n\n### About Workflow\nThis workflow sends an automatic daily summary of your Outlook calendar events into a Microsoft Teams channel. Perfect for team visibility or personal reminders.\n\n### Use Case \nTeams can stay prepared for morning syncs or personal planning by using the tool as a daily agenda or simple reminder. It provides visibility into shared calendars and helps organize workflows without the need to open a calendar, making it ideal for structured team coordination.\n\n\n### How it works\n- Scheduled trigger will ensure the automatic run \n=> every midnight\n- Code node generates the date value for \"today\"\n=> Calculates UTC start and end of the current day\n=> Builds a Microsoft Graph-compatible filter string\n-  Microsoft Outlook node retrieves all calendar events for the day\n=> Resource : Event | Operation : Get Many\n=> Uses {{ $json.filter }}  based on the \"today\" date to get only relevant entries\n- Code node transforms each event into a formatted HTML message\n=> Example Output:\n<b> Meeting Time:</b> 2025-07-08T10:00:00Z<br>\n<b> Subject:</b> Weekly Sync<br>\n<b>Summary:</b><br>\n- Send to MS Teams - by native MS Teams node\n=> Chat Message | Create | Selected Channel | HTML content\n=> Uses the htmlMessage field from the previous node as the message body\n\n### How to use\n- Adjust the schedule time to match your working hours or timezone\n- Customize the Teams channel or chat to match your team’s setup\n- Modify the HTML format to include more fields (e.g. location, organizer)\n- Use the workflow for multiple teams\n\n### Requirements \n- MS Outlook\n=> ideally technical user for API calls with specific permissions\n- MS Teams\n=> ideally technical user for API calls with specific permissions\n\n### Need Help? \n- Reach out through n8n community => https://community.n8n.io/u/easy8.ai\n- Contant our team directly => Easy8.ai\n- Visit our youtube channel => https://www.youtube.com/@easy8ai "
      },
      "typeVersion": 1
    },
    {
      "id": "5026f97a-712b-4c2a-87d4-ed0f84a7074a",
      "name": "Créer un message de chat",
      "type": "n8n-nodes-base.microsoftTeams",
      "position": [
        1200,
        660
      ],
      "webhookId": "30c7eb6a-4c9e-404a-b8b9-1acaf6694253",
      "parameters": {
        "chatId": {
          "__rl": true,
          "mode": "list",
          "value": "19:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@unq.gbl.spaces",
          "cachedResultUrl": "https://teams.microsoft.com/l/chat/19%3Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%40unq.gbl.spaces/0?tenantId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "cachedResultName": "FirstName LastName (exampleChat)"
        },
        "message": "={{ $json.htmlMessage }}",
        "options": {},
        "resource": "chatMessage"
      },
      "credentials": {
        "microsoftTeamsOAuth2Api": {
          "id": "",
          "name": ""
        }
      },
      "typeVersion": 2
    },
    {
      "id": "a589e740-17df-4bce-a8d8-79e97e17261d",
      "name": "Format HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        1000,
        660
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const start = item.json.start?.dateTime || \"N/A\";\n  const subject = item.json.subject || \"No subject\";\n  const preview = item.json.bodyPreview || \"\";\n\n  return {\n    json: {\n      htmlMessage: `\n        <b>📅 Meeting Time:</b> ${start}<br>\n        <b>📝 Subject:</b> ${subject}<br>\n        <b>📄 Summary:</b><br>\n        ${preview}\n      `\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c7fb9c1c-c830-4bb1-ac44-520b35accf0d",
  "connections": {
    "a589e740-17df-4bce-a8d8-79e97e17261d": {
      "main": [
        [
          {
            "node": "5026f97a-712b-4c2a-87d4-ed0f84a7074a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Microsoft Outlook": {
      "main": [
        [
          {
            "node": "a589e740-17df-4bce-a8d8-79e97e17261d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1eb47e59-e8d0-4f26-b647-8351d76d877a": {
      "main": [
        [
          {
            "node": "9afa8efa-2154-4584-8476-52039358e03f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9afa8efa-2154-4584-8476-52039358e03f": {
      "main": [
        [
          {
            "node": "Microsoft Outlook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Productivité personnelle

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds8
Catégorie1
Types de nœuds5
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Easy8.ai

Easy8.ai

@easy8ai

We guide B2B companies to use AI agents & automations with ease. Powered by Easy Software & n8n.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34