Automatisez votre suivi de temps avec des déclencheurs géolocalisés

Optimisez la gestion de votre temps de travail grâce à ce workflow automatisé qui utilise des déclencheurs basés sur la localisation. Lorsque vous entrez ou sortez d'un lieu spécifique, ce système enregistre automatiquement votre heure d'arrivée ou de départ dans une feuille Google Sheet dédiée. Simplifiez vos processus RH et améliorez la précision des rapports de temps, tout en réduisant les erreurs manuelles. Cette solution est idéale pour les entreprises cherchant à optimiser leur gestion du temps et à automatiser les tâches répétitives.

16,246 vues
4,515 copies
RH

Documentation Complète

📋 Automatisez votre suivi de temps avec des déclencheurs géolocalisés

💡 Description

Optimisez la gestion de votre temps de travail grâce à ce workflow automatisé qui utilise des déclencheurs basés sur la localisation. Lorsque vous entrez ou sortez d'un lieu spécifique, ce système enregistre automatiquement votre heure d'arrivée ou de départ dans une feuille Google Sheet dédiée. Simplifiez vos processus RH et améliorez la précision des rapports de temps, tout en réduisant les erreurs manuelles. Cette solution est idéale pour les entreprises cherchant à optimiser leur gestion du temps et à automatiser les tâches répétitives.

📈 Impact & ROI: Améliore l'efficacité du suivi du temps et réduit le temps consacré aux tâches administratives, augmentant ainsi la productivité et permettant une meilleure allocation des ressources humaines.

🚀 Fonctionnalités Clés

  • ✅ Suivi automatique du temps - Réduction des erreurs humaines
  • ✅ Intégration avec Google Sheets - Centralisation des données
  • ✅ Déclenchement par localisation - Automatisation précise
  • ✅ Facilité d'utilisation - Moins de complexité pour les utilisateurs

📊 Architecture Technique

10
Nodes
6
Connexions
3
Services

🔌 Services Intégrés

WebhookGoogle DriveGoogle Sheets

🔧 Composition du Workflow

NodeTypeDescription
WebhookwebhookRéception de données via webhook
Sticky NotestickyNoteTraitement des données
Google DrivegoogleDriveTraitement des données
Create WorksheetgoogleSheetsTraitement des données
Return if NullcodeTraitement des données
Doesn't exist?ifCondition logique pour router le flux
Set Logging DetailssetTraitement des données
Create LoggoogleSheetsTraitement des données
Sticky Note1stickyNoteTraitement des données
Sticky Note2stickyNoteTraitement des données

📖 Guide d'Implémentation

  1. Import du workflow: Téléchargez le fichier JSON et importez-le dans votre instance n8n
  2. Configuration des credentials: Configurez les accès pour chaque service utilisé
  3. Personnalisation: Adaptez les paramètres selon vos besoins spécifiques
  4. Test: Exécutez le workflow en mode test pour vérifier le bon fonctionnement
  5. Activation: Activez le workflow pour une exécution automatique

🏷️ Tags

automatisationgéolocalisationsuivi du temps

Structure JSON

Voir le code JSON complet
{
    "id": "x2kgOnBLtqAjqUVS",
    "meta": {
        "instanceId": "558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a"
    },
    "name": "Automated Work Attendance with Location Triggers",
    "tags": [],
    "nodes": [
        {
            "id": "b2cba308-6d47-432b-9296-58f233f15565",
            "name": "Webhook",
            "type": "n8n-nodes-base.webhook",
            "position": [
                0,
                0
            ],
            "webhookId": "801c8367-af7b-4371-8684-cc699090b97f",
            "parameters": {
                "path": "time-track",
                "options": []
            },
            "typeVersion": 2
        },
        {
            "id": "67354f1c-9dac-4edd-b07d-f1b0dbd80159",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                0,
                -260
            ],
            "parameters": {
                "width": 1120,
                "height": 180,
                "content": "## Check if the Worksheet Exists"
            },
            "typeVersion": 1
        },
        {
            "id": "5fc5a1a6-f18d-4ee0-a70b-30de48a45dc7",
            "name": "Google Drive",
            "type": "n8n-nodes-base.googleDrive",
            "position": [
                220,
                -220
            ],
            "parameters": {
                "filter": [],
                "options": [],
                "resource": "fileFolder",
                "returnAll": true,
                "queryString": "WorkTimeTracking"
            },
            "credentials": {
                "googleDriveOAuth2Api": {
                    "id": "U6W5tWhDvO7rQ73t",
                    "name": "Google Drive account"
                }
            },
            "executeOnce": false,
            "typeVersion": 3,
            "alwaysOutputData": true
        },
        {
            "id": "a0b63be4-fa46-413f-82fe-42e6edc24f29",
            "name": "Create Worksheet",
            "type": "n8n-nodes-base.googleSheets",
            "position": [
                800,
                -240
            ],
            "parameters": {
                "title": "WorkTimeTracking",
                "options": {
                    "locale": ""
                },
                "resource": "spreadsheet",
                "sheetsUi": {
                    "sheetValues": [
                        {
                            "title": "Worklog"
                        }
                    ]
                }
            },
            "credentials": {
                "googleSheetsOAuth2Api": {
                    "id": "TvzWrF2qPL7RjlJK",
                    "name": "Google Sheets account"
                }
            },
            "typeVersion": 4.5
        },
        {
            "id": "796e3ef6-3002-493e-8d89-10cba2d8026d",
            "name": "Return if Null",
            "type": "n8n-nodes-base.code",
            "position": [
                400,
                -220
            ],
            "parameters": {
                "jsCode": "return [{json: {empty: items.length == 1 && Object.keys(items[0].json).length == 0}}];"
            },
            "typeVersion": 2
        },
        {
            "id": "7af7ce4b-93e0-4058-8a45-9fd8269ddc77",
            "name": "Doesn't exist?",
            "type": "n8n-nodes-base.if",
            "position": [
                580,
                -220
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "version": 2,
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "strict"
                    },
                    "combinator": "and",
                    "conditions": [
                        {
                            "id": "215b8ced-c6f5-4cf2-8755-9bba928dbe84",
                            "operator": {
                                "type": "boolean",
                                "operation": "true",
                                "singleValue": true
                            },
                            "leftValue": "={{$json[\"empty\"]}}",
                            "rightValue": ""
                        }
                    ]
                }
            },
            "typeVersion": 2.2
        },
        {
            "id": "f2bc21c6-805b-49e7-b026-a4de56dce1fa",
            "name": "Set Logging Details",
            "type": "n8n-nodes-base.set",
            "position": [
                780,
                20
            ],
            "parameters": {
                "mode": "raw",
                "options": [],
                "jsonOutput": "={\n  \"Date\": \"{{ $now.format('yyyy-MM-dd') }}\",\n  \"Time\": \"{{ $now.format('hh:mm') }}\",\n  \"Direction\":\"Check-In\"\n}\n"
            },
            "typeVersion": 3.4
        },
        {
            "id": "64bc8b93-a925-49d6-9e52-3f30f0c9e5a8",
            "name": "Create Log",
            "type": "n8n-nodes-base.googleSheets",
            "position": [
                1000,
                20
            ],
            "parameters": {
                "columns": {
                    "value": {
                        "Date": "={{ $json.Date }}",
                        "Time": "={{ $json.Time }}",
                        "Direction": "={{ $('Webhook').item.json.headers.direction ? $('Webhook').item.json.headers.direction : \"\"}}"
                    },
                    "schema": [
                        {
                            "id": "Date",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Date",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Time",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Time",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Direction",
                            "type": "string",
                            "display": true,
                            "required": false,
                            "displayName": "Direction",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        }
                    ],
                    "mappingMode": "defineBelow",
                    "matchingColumns": []
                },
                "options": [],
                "operation": "append",
                "sheetName": {
                    "__rl": true,
                    "mode": "list",
                    "value": 308318361,
                    "cachedResultUrl": "https:\/\/docs.google.com\/spreadsheets\/d\/1P7-Uqa4SPA6keujkkOTru1wdS2qDryJVkz0Nz_sFp7A\/edit#gid=308318361",
                    "cachedResultName": "Worklog"
                },
                "documentId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $('Google Drive').item.json.id }}"
                }
            },
            "credentials": {
                "googleSheetsOAuth2Api": {
                    "id": "TvzWrF2qPL7RjlJK",
                    "name": "Google Sheets account"
                }
            },
            "typeVersion": 4.5
        },
        {
            "id": "cabca7d5-b4ae-45db-904d-f8efb37c4ab2",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                660,
                -40
            ],
            "parameters": {
                "width": 600,
                "height": 280,
                "content": "## Log Check-In or Check-Out"
            },
            "typeVersion": 1
        },
        {
            "id": "5b9505fc-71a4-42c1-805f-c363384b4c8a",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -440,
                -320
            ],
            "parameters": {
                "color": 3,
                "width": 380,
                "height": 640,
                "content": "## Location-Based Time Tracking\n\nThis automation streamlines your time tracking by using location triggers. Here's how it works:\n\nCreate two shortcuts in the iPhone Shortcuts app:\n\nName one \"Check-In\" and the other \"Check-Out.\"\nWithin each shortcut, use the \"Get Content from URL\" action to call the Webhook. Set the Header Direction for \"Check-In\" or \"Check-Out\"\n\n\nNow, whenever you enter or exit the specified location, your iPhone will automatically record the time in your Google Sheet. This creates a seamless and accurate log of your work hours or time spent at a particular place."
            },
            "typeVersion": 1
        }
    ],
    "active": true,
    "pinData": [],
    "settings": {
        "timezone": "Europe\/Lisbon",
        "callerPolicy": "workflowsFromSameOwner",
        "executionOrder": "v1",
        "executionTimeout": -1,
        "saveManualExecutions": true
    },
    "versionId": "2de5264f-eb68-4919-a3f3-133a8ceb45bb",
    "connections": {
        "Webhook": {
            "main": [
                [
                    {
                        "node": "Google Drive",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Google Drive": {
            "main": [
                [
                    {
                        "node": "Return if Null",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Doesn't exist?": {
            "main": [
                [
                    {
                        "node": "Create Worksheet",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Set Logging Details",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Return if Null": {
            "main": [
                [
                    {
                        "node": "Doesn't exist?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create Worksheet": {
            "main": [
                [
                    {
                        "node": "Set Logging Details",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Set Logging Details": {
            "main": [
                [
                    {
                        "node": "Create Log",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
                                

Workflows Similaires

Optimisez l'intégration des données RH avec fusion intelligente

Ce workflow n8n est conçu pour automatiser l'intégration et la fusion de données issues de différentes sources, opti...

Détection des Discriminations en Entreprise avec IA

Ce workflow permet de détecter les modèles de discrimination au travail en utilisant des technologies avancées comme ...

Optimisation du Processus de Candidature avec AI et Automatisation

Ce workflow n8n simplifie et optimise le processus de candidature en combinant l'upload de CV avec des outils d'intellig...