Preparar una reunión de Outlook para Teams

Intermedio

Este es unPersonal Productivityflujo de automatización del dominio deautomatización que contiene 8 nodos.Utiliza principalmente nodos como Code, MicrosoftTeams, ScheduleTrigger, MicrosoftOutlook. Envío automático de resumen del calendario de Outlook a Microsoft Teams

Requisitos previos
  • No hay requisitos previos especiales, puede importar y usarlo directamente
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "L4F6EnHYmVEq7SSW",
  "meta": {
    "instanceId": "ccf4e500c5536799e0925f03390f0fd338e2b5a5bc862f6a57b5552acfdf3861",
    "templateCredsSetupCompleted": true
  },
  "name": "Prepare for meetings Outlook -> Teams",
  "tags": [],
  "nodes": [
    {
      "id": "1a3eb8b0-1507-4c7f-9644-8779ab20a157",
      "name": "Obtener eventos del calendario",
      "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": "Crear filtro para valor \"HOY\"",
      "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": "Programar cada medianoche",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        420,
        660
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "17e80693-1187-4ccf-a4d6-1f08416421d4",
      "name": "Nota adhesiva 2",
      "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": "Nota adhesiva 3",
      "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": "Nota adhesiva 4",
      "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": "Crear mensaje 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": "Formato 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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Productividad personal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos8
Categoría1
Tipos de nodos5
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Easy8.ai

Easy8.ai

@easy8ai

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

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34