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

Slack Cron Automate Scheduled
View
CoinMarketCap_AI_Data_Analyst_Agent
View
Splitout GoogleCalendar Automate Webhook
View
Telegram RAG pdf
View
Manual Invoiceninja Automate Triggered
View
Linkedin Chrome Extensions
View
Splitout Schedule Update Scheduled
View
HTTP Stickynote Create Webhook
View
Wait Slack Monitor Webhook
View
Manual Stickynote Export Triggered
View