Workflow n8n

Automatisation Google Calendar avec n8n : mise à jour du statut Slack

Ce workflow n8n permet d'automatiser la mise à jour du statut Slack en fonction des événements de Google Calendar, tout en contrôlant l'éclairage Philips Hue. Dans un contexte professionnel où la gestion du temps et la communication sont essentielles, ce processus aide les équipes à rester synchronisées et à éviter les interruptions. Par exemple, lorsque vous êtes en réunion, votre statut Slack peut automatiquement passer à 'Occupé', et les lumières peuvent changer de couleur pour indiquer que vous ne souhaitez pas être dérangé.

  • Étape 1 : Le workflow commence par un déclencheur manuel ou par l'événement 'Event Started' de Google Calendar, qui détecte le début d'un événement.
  • Étape 2 : En fonction de l'événement, le workflow utilise le nœud 'Switch' pour déterminer si l'utilisateur est occupé ou disponible.
  • Étape 3 : Si l'utilisateur est occupé, le nœud 'Light - Busy' change la couleur des lumières Philips Hue, tandis que le nœud 'Slack - Status' met à jour le statut sur Slack.
  • Étape 4 : Si l'utilisateur est disponible, le nœud 'Light - Available' rétablit l'éclairage normal. Ce workflow offre une valeur ajoutée en améliorant la communication au sein des équipes et en réduisant les interruptions, ce qui se traduit par une productivité accrue.
Tags clés :automatisationGoogle CalendarSlackPhilips Hueworkflow
Catégorie: Manual | Scheduled | Complex | Other · Tags: automatisation, Google Calendar, Slack, Philips Hue, workflow0

Workflow n8n Google Calendar, Slack, Philips Hue : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Google Calendar, Slack, Philips Hue : détail des nœuds

  • On clicking 'execute'

    Déclenche le workflow manuellement lorsque l'utilisateur clique sur 'exécuter'.

  • Google Calendar

    Interagit avec Google Calendar pour effectuer une opération sur un événement spécifié.

  • Light - Busy

    Envoie une requête HTTP pour indiquer que la lumière est occupée.

  • Light - Available

    Envoie une requête HTTP pour indiquer que la lumière est disponible.

  • Switch

    Évalue une condition basée sur des règles définies et dirige le flux en conséquence.

  • Light - Personal

    Envoie une requête HTTP pour gérer l'état personnel de la lumière.

  • Event Started

    Déclenche le workflow lorsqu'un événement commence dans Google Calendar.

  • Slack - Status

    Envoie un message à Slack pour mettre à jour le statut.

  • Set CalColor

    Exécute une fonction personnalisée pour définir la couleur du calendrier.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": 118,
  "name": "Google Calendar to Slack Status & Philips Hue",
  "nodes": [
    {
      "name": "On clicking 'execute'",
      "type": "n8n-nodes-base.manualTrigger",
      "disabled": true,
      "position": [
        420,
        420
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "name": "Google Calendar",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        720,
        600
      ],
      "parameters": {
        "eventId": "={{$node[\"Event Started\"].json[\"id\"].split(\"_\")[0]}}",
        "options": {},
        "calendar": "youremail@domain.com",
        "operation": "get"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "15",
          "name": "GoogleCalendar - Personal"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Light - Busy",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1220,
        180
      ],
      "parameters": {
        "url": "WEBHOOK1",
        "options": {},
        "requestMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "name": "Light - Available",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1220,
        600
      ],
      "parameters": {
        "url": "WEBHOOK3",
        "options": {},
        "requestMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        1040,
        460
      ],
      "parameters": {
        "rules": {
          "rules": [
            {
              "value2": "4dw_doing",
              "operation": "startsWith"
            },
            {
              "value2": "4dw_managing",
              "operation": "startsWith"
            },
            {
              "value2": "4dw_leading",
              "operation": "startsWith"
            },
            {
              "output": 1,
              "value2": "4dw_living",
              "operation": "startsWith"
            }
          ]
        },
        "value1": "={{$json[\"calColor\"]}}",
        "dataType": "string",
        "fallbackOutput": 3
      },
      "typeVersion": 1
    },
    {
      "name": "Light - Personal",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1220,
        340
      ],
      "parameters": {
        "url": "WEBHOOK2",
        "options": {},
        "requestMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "name": "Event Started",
      "type": "n8n-nodes-base.googleCalendarTrigger",
      "position": [
        540,
        600
      ],
      "parameters": {
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyX",
              "unit": "minutes",
              "value": 5
            }
          ]
        },
        "triggerOn": "eventStarted",
        "calendarId": "youremail@domain.com"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "15",
          "name": "GoogleCalendar - Personal"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Slack - Status",
      "type": "n8n-nodes-base.slack",
      "position": [
        1040,
        720
      ],
      "parameters": {
        "resource": "userProfile",
        "operation": "update",
        "additionalFields": {
          "status_text": "={{$json[\"summary\"]}}",
          "status_emoji": "=:{{$json[\"calColor\"]}}:"
        }
      },
      "credentials": {
        "slackApi": {
          "id": "17",
          "name": "CompanySlack"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Set CalColor",
      "type": "n8n-nodes-base.function",
      "position": [
        880,
        600
      ],
      "parameters": {
        "functionCode": "for (item of items) {\n\n  switch (item.json.colorId) {\n    case '1':\n      calColor = 'Lavendar';\n      break;\n    case '2':\n      calColor = '4dw_leading';\n      break;\n    case '3':\n      calColor = 'Grape';\n      break;\n    case '4':\n      calColor = 'Flamingo';\n      break;\n    case '5':\n      calColor = '4dw_managing';\n      break;\n    case '6':\n      calColor = 'Tangerine';\n      break;\n    case '7':\n      calColor = '4dw_living';\n      break;\n    case '8':\n      calColor = 'Graphite';\n      break;\n    case '9':\n      calColor = 'Blueberry';\n      break;\n    case '10':\n      calColor = 'Basil';\n      break;\n    case '11':\n      calColor = '4dw_doing';\n      break;\n    default:\n      calColor = 'undefined';\n  }\n  item.json.calColor = calColor;\n}\n\nreturn items;"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {},
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "Light - Busy",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Light - Personal",
            "type": "main",
            "index": 0
          }
        ],
        [],
        [
          {
            "node": "Light - Available",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set CalColor": {
      "main": [
        [
          {
            "node": "Slack - Status",
            "type": "main",
            "index": 0
          },
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Event Started": {
      "main": [
        [
          {
            "node": "Google Calendar",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar": {
      "main": [
        [
          {
            "node": "Set CalColor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On clicking 'execute'": {
      "main": [
        []
      ]
    }
  }
}

Workflow n8n Google Calendar, Slack, Philips Hue : pour qui est ce workflow ?

Ce workflow s'adresse aux équipes de travail qui utilisent Google Calendar et Slack pour la gestion de projets et la communication. Il est particulièrement utile pour les entreprises de taille moyenne à grande, où la coordination entre les membres de l'équipe est cruciale. Les utilisateurs n'ont pas besoin d'un niveau technique élevé pour bénéficier de cette automatisation.

Workflow n8n Google Calendar, Slack, Philips Hue : problème résolu

Ce workflow résout le problème de la gestion des interruptions pendant les réunions. En automatisant la mise à jour du statut Slack et le contrôle des lumières Philips Hue, il permet aux utilisateurs de signaler leur disponibilité sans effort. Cela réduit les frustrations liées aux interruptions non désirées et améliore la concentration pendant les périodes de travail intense. Les utilisateurs peuvent ainsi se concentrer sur leurs tâches sans avoir à gérer manuellement leur statut ou l'environnement de travail.

Workflow n8n Google Calendar, Slack, Philips Hue : étapes du workflow

Étape 1 : Le workflow est déclenché manuellement ou automatiquement par le nœud 'Event Started' de Google Calendar.

  • Étape 1 : Le nœud 'Switch' évalue si l'utilisateur est occupé ou disponible.
  • Étape 2 : Si l'utilisateur est occupé, le nœud 'Light - Busy' active l'éclairage approprié et le nœud 'Slack - Status' met à jour le statut sur Slack.
  • Étape 3 : Si l'utilisateur est disponible, le nœud 'Light - Available' rétablit l'éclairage normal.
  • Étape 4 : Le nœud 'Set CalColor' peut être utilisé pour ajuster la couleur des lumières en fonction de l'événement.

Workflow n8n Google Calendar, Slack, Philips Hue : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'ID de l'événement dans le nœud Google Calendar pour cibler des événements spécifiques. Vous pouvez également ajuster les URL dans les nœuds 'Light - Busy', 'Light - Available' et 'Light - Personal' pour contrôler d'autres appareils Philips Hue. Enfin, vous pouvez adapter le message de statut dans le nœud 'Slack - Status' pour qu'il corresponde à votre style de communication. Assurez-vous de sécuriser les connexions API pour éviter tout accès non autorisé.