Workflow: Datetime Schedule Create

Workflow Details

Download Workflow
{
    "meta": {
        "instanceId": "a2434c94d549548a685cca39cc4614698e94f527bcea84eefa363f1037ae14cd"
    },
    "nodes": [
        {
            "id": "0bacf032-53d6-4ba6-ab71-e01625c49cc4",
            "name": "On schedule",
            "type": "n8n-nodes-base.scheduleTrigger",
            "position": [
                -1960,
                160
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        {
                            "field": "minutes",
                            "minutesInterval": 1
                        }
                    ]
                }
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "2e0d9aef-0a60-4506-9c11-c6c2cccb16ea",
            "name": "Derive last request time",
            "type": "n8n-nodes-base.dateTime",
            "position": [
                -1740,
                160
            ],
            "parameters": {
                "duration": 1,
                "timeUnit": "minutes",
                "magnitude": "={{ $json.timestamp }}",
                "operation": "subtractFromDate",
                "outputFieldName": "last_request_time"
            },
            "typeVersion": 2
        },
        {
            "id": "f726c448-b4c4-4159-8ca5-c94c092127b7",
            "name": "Get emails from label and last request time",
            "type": "n8n-nodes-base.gmail",
            "position": [
                -1520,
                160
            ],
            "parameters": {
                "filters": {
                    "labelIds": [
                        "Label_9178764513576607415"
                    ]
                },
                "operation": "getAll",
                "returnAll": true
            },
            "credentials": {
                "gmailOAuth2": {
                    "id": "31",
                    "name": "REPLACE ME"
                }
            },
            "typeVersion": 2
        },
        {
            "id": "9b86331f-d33b-4266-ba34-bc0491a0da24",
            "name": "Create database page",
            "type": "n8n-nodes-base.notion",
            "position": [
                -620,
                60
            ],
            "parameters": {
                "title": "={{ $('If database page not found').item.json.Subject }}",
                "blockUi": {
                    "blockValues": [
                        {
                            "type": "heading_3",
                            "textContent": "Snippet"
                        },
                        {
                            "textContent": "={{ $('If database page not found').item.json.snippet }}"
                        },
                        {
                            "text": {
                                "text": [
                                    {
                                        "text": "See more",
                                        "isLink": true,
                                        "textLink": "=https:\/\/mail.google.com\/mail\/u\/{{ $json.emailAddress }}\/#all\/{{ $('If database page not found').item.json.id }}",
                                        "annotationUi": []
                                    }
                                ]
                            },
                            "richText": true
                        }
                    ]
                },
                "options": {
                    "icon": "https:\/\/avatars.githubusercontent.com\/u\/45487711?s=280&v=4",
                    "iconType": "file"
                },
                "resource": "databasePage",
                "databaseId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "e606a7c1-e93d-47fd-8b8d-8000cd6e7522",
                    "cachedResultUrl": "https:\/\/www.notion.so\/e606a7c1e93d47fd8b8d8000cd6e7522",
                    "cachedResultName": "Gmail"
                },
                "propertiesUi": {
                    "propertyValues": [
                        {
                            "key": "Thread ID|rich_text",
                            "textContent": "={{ $('If database page not found').item.json.id }}"
                        },
                        {
                            "key": "Email thread|url",
                            "urlValue": "=https:\/\/mail.google.com\/mail\/u\/{{ $json.emailAddress }}\/#all\/{{ $('If database page not found').item.json.id }}"
                        }
                    ]
                }
            },
            "credentials": {
                "notionApi": {
                    "id": "18",
                    "name": "[UPDATE ME]"
                }
            },
            "typeVersion": 2
        },
        {
            "id": "d7198578-4c83-4f57-8eba-5b5a9b89195c",
            "name": "Try get database page",
            "type": "n8n-nodes-base.notion",
            "position": [
                -1360,
                220
            ],
            "parameters": {
                "filters": {
                    "conditions": [
                        {
                            "key": "Thread ID|rich_text",
                            "condition": "equals",
                            "richTextValue": "={{ $json.id }}"
                        }
                    ]
                },
                "options": [],
                "resource": "databasePage",
                "operation": "getAll",
                "returnAll": true,
                "databaseId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "e606a7c1-e93d-47fd-8b8d-8000cd6e7522",
                    "cachedResultUrl": "https:\/\/www.notion.so\/e606a7c1e93d47fd8b8d8000cd6e7522",
                    "cachedResultName": "My Gmail Tasks"
                },
                "filterType": "manual"
            },
            "credentials": {
                "notionApi": {
                    "id": "18",
                    "name": "[UPDATE ME]"
                }
            },
            "typeVersion": 2,
            "alwaysOutputData": true
        },
        {
            "id": "f8188ab9-9a80-4aa9-b773-73cd90b8dbd3",
            "name": "If checked off",
            "type": "n8n-nodes-base.if",
            "position": [
                -1740,
                460
            ],
            "parameters": {
                "conditions": {
                    "boolean": [
                        {
                            "value1": "={{ $json.Complete }}",
                            "value2": true
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "bfcfeeb1-ad8b-47fb-8a09-b58e7b649a25",
            "name": "On updated database page",
            "type": "n8n-nodes-base.notionTrigger",
            "position": [
                -1960,
                460
            ],
            "parameters": {
                "event": "pagedUpdatedInDatabase",
                "pollTimes": {
                    "item": [
                        {
                            "mode": "everyMinute"
                        }
                    ]
                },
                "databaseId": {
                    "__rl": true,
                    "mode": "list",
                    "value": "e606a7c1-e93d-47fd-8b8d-8000cd6e7522",
                    "cachedResultUrl": "https:\/\/www.notion.so\/e606a7c1e93d47fd8b8d8000cd6e7522",
                    "cachedResultName": "My Gmail Tasks"
                }
            },
            "credentials": {
                "notionApi": {
                    "id": "18",
                    "name": "[UPDATE ME]"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "dc2c59b8-6e0d-46b3-946a-e48b0461c48f",
            "name": "Remove label from target email",
            "type": "n8n-nodes-base.gmail",
            "position": [
                -1520,
                460
            ],
            "parameters": {
                "labelIds": [
                    "Label_9178764513576607415"
                ],
                "messageId": "={{ $json['Thread ID'] }}",
                "operation": "removeLabels"
            },
            "credentials": {
                "gmailOAuth2": {
                    "id": "31",
                    "name": "REPLACE ME"
                }
            },
            "typeVersion": 2
        },
        {
            "id": "0f693c2f-ce89-4a2f-a85f-9230b7bcb94d",
            "name": "Not yet checked off, do nothing",
            "type": "n8n-nodes-base.noOp",
            "position": [
                -1520,
                660
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "bf792470-fc0a-45a2-b655-df5c977faa97",
            "name": "Merge",
            "type": "n8n-nodes-base.merge",
            "position": [
                -1220,
                100
            ],
            "parameters": {
                "mode": "combine",
                "options": [],
                "joinMode": "enrichInput1",
                "mergeByFields": {
                    "values": [
                        {
                            "field1": "id",
                            "field2": "property_thread_id"
                        }
                    ]
                }
            },
            "typeVersion": 2.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "f910c34c-4c3d-481f-8223-a8aae710dbbd",
            "name": "If found, do nothing",
            "type": "n8n-nodes-base.noOp",
            "position": [
                -840,
                260
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "7086cd15-9f2e-40e4-be3b-47d117dde670",
            "name": "If database page not found",
            "type": "n8n-nodes-base.if",
            "position": [
                -1060,
                160
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{ $json.property_thread_id }}",
                            "operation": "isEmpty"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "86ce380c-0810-4edb-94e4-fb67b0ca422c",
            "name": "Find my email address",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                -840,
                60
            ],
            "parameters": {
                "url": "https:\/\/gmail.googleapis.com\/gmail\/v1\/users\/me\/profile",
                "options": [],
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "gmailOAuth2"
            },
            "credentials": {
                "gmailOAuth2": {
                    "id": "31",
                    "name": "REPLACE ME"
                }
            },
            "typeVersion": 4.0999999999999996447286321199499070644378662109375
        },
        {
            "id": "f576f785-49e4-4ed2-b83e-400b001b6c3a",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -2540,
                100
            ],
            "parameters": {
                "width": 501.0810810810809243776020593941211700439453125,
                "height": 545.4054054054040534538216888904571533203125,
                "content": "## Send labeled email to a Notion database\nThis workflow sends the contents of an email to a Notion database. The email must be labeled with a specific label for the workflow to trigger. The email subject will be the title of the Notion page, and a snippet of the email body will be the content of the Notion page. The email link will be added to the Notion page as a property.\n\n### How it works\nOn scheduled intervals, find all emails with a specific label. For each email, check if the email already exists in the Notion database. If it does not exist, create a new page in the Notion database, otherwise do nothing. When the task in the Notion database is checked off, the label will be removed from the email.\n\n### Setup\nThis workflow requires that you set up a Notion database or use an existing one with at least the following fields:\n- Title (title)\n- Thread ID (text)\n- Email thread (URL)\n\n\nAdditionally, create a label that will be used to trigger the workflow in Gmail. In this workflow, the label is called \"Notion\"."
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "Merge": {
            "main": [
                [
                    {
                        "node": "If database page not found",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "On schedule": {
            "main": [
                [
                    {
                        "node": "Derive last request time",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "If checked off": {
            "main": [
                [
                    {
                        "node": "Remove label from target email",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Not yet checked off, do nothing",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Find my email address": {
            "main": [
                [
                    {
                        "node": "Create database page",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Try get database page": {
            "main": [
                [
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Derive last request time": {
            "main": [
                [
                    {
                        "node": "Get emails from label and last request time",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "On updated database page": {
            "main": [
                [
                    {
                        "node": "If checked off",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "If database page not found": {
            "main": [
                [
                    {
                        "node": "Find my email address",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "If found, do nothing",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get emails from label and last request time": {
            "main": [
                [
                    {
                        "node": "Try get database page",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Trello Googlecloudnaturallanguage Create Triggered
View
Supabase Stickynote Create Triggered
View
Mattermost GoogleSheets Automate Scheduled
View
Telegram Wait Automation Scheduled
View
Functionitem Pipedrive Create Scheduled
View
Automated Image Metadata Tagging
View
Telegram Stickynote Automate Triggered
View
AI Agent to chat with you Search Console Data, using OpenAI and Postgres
View
Create, update and get a contact in Google Contacts
View
AccountCraft WhatsApp Automation - Infridet
View