{"id":"Sebvr1R2t4zkAg1V","meta":{"instanceId":"workflow-7bc2a3a7","versionId":"1.0.0","createdAt":"2025-09-29T07:07:46.480262","updatedAt":"2025-09-29T07:07:46.480344","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"name":"Gratitude Jar Reminder","nodes":[{"id":"ac48becc-e207-489b-a8e4-a8f69780c626","name":"Trigger 2100 Bear Gratitude Jar Notice","type":"n8n-nodes-base.scheduleTrigger","position":[-80,-100],"parameters":{"rule":{"interval":[{"triggerAtHour":21}]}},"typeVersion":1.2,"notes":"This scheduleTrigger node performs automated tasks as part of the workflow."},{"id":"37f46ac1-5c0b-4cdf-aa33-67fad80dafdd","name":"WriteReminder","type":"n8n-nodes-base.noOp","position":[180,-100],"parameters":{"text":"=Today is a wonderful day! 🌟 What or who brought a smile to your face today? 😊\n","messages":{"messageValues":[{"message":"You'll rewrite this message to send reminder to user to record good thing today."}]},"promptType":"define"},"typeVersion":1,"notes":"This chainLlm node performs automated tasks as part of the workflow."},{"id":"816f8089-a54f-4860-a658-448ab53a08fd","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-180,-240],"parameters":{"width":300,"height":360,"content":"## Trigger \nWe schedule the trigger at 9.00 pm before going to bed. This flow is to reflect what is the great thing that happened today."},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"c7a620fe-2a50-4cfb-af91-8a4b4ca58adb","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[160,-240],"parameters":{"color":5,"width":300,"height":360,"content":"## Write Reminder\nAfter getting the same reminder, we tend to ignore it. This is to generate variations of reminder by setting the temperature of the model at 0.9"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"66b865a1-0a6c-4a3c-abb3-024ec7ff8b40","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[500,-240],"parameters":{"color":6,"width":300,"height":360,"content":"## Reformatted \nThis is to reformat text to be able to send in Line Push API properly."},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"adb8cf4e-de77-4490-a8da-b32122c3a730","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[840,-240],"parameters":{"color":4,"width":300,"height":360,"content":"## Push Message\nSend push message via LINE"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"6562967a-fae7-400a-913a-4cf68e70b40a","name":"Reformat Output from Chat Model","type":"n8n-nodes-base.set","position":[600,-100],"parameters":{"options":{},"assignments":{"assignments":[{"id":"90abc5a6-c9b9-4b0d-b433-c6f90816dba3","name":"posestoday","type":"string","value":"={{ $json.text.replaceAll(\"\\n\",\"\\\\n\").replaceAll(\"\\n\",\"\").removeMarkdown().removeTags().replaceAll('\"',\"\") }}"}]}},"typeVersion":3.4,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"d2ab000a-6f3a-494f-807f-829cbb124685","name":"Azure OpenAI Chat Model","type":"n8n-nodes-base.noOp","position":[280,-20],"parameters":{"model":"4o","options":{"temperature":0.9}},"credentials":{"azureOpenAiApi":{"id":"5AjoWhww5SQi2VXd","name":"Azure Open AI account"}},"typeVersion":1,"notes":"This lmChatAzureOpenAi node performs automated tasks as part of the workflow."},{"id":"c548df75-dc6c-472f-8992-77f0f57d4732","name":"Line Push Message","type":"n8n-nodes-base.httpRequest","position":[940,-100],"parameters":{"url":"{{ $env.API_BASE_URL }}","method":"POST","options":{},"jsonBody":"={\n    \"to\": \"YOUR ID HERE\",\n    \"messages\":[\n        {\n            \"type\":\"text\",\n            \"text\":\"{{ $json.posestoday }}\"\n        }\n    ]\n} ","sendBody":true,"specifyBody":"json","authentication":"{{ $credentials.genericCredentialType }}","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"yiPG7xPwvDzsY0Qd","name":"Line @511dizji"}},"typeVersion":4.2,"notes":"This httpRequest node performs automated tasks as part of the workflow."}],"active":true,"settings":{"timezone":"UTC","callerPolicy":"workflowsFromSameOwner","executionOrder":"v1","saveManualExecutions":true,"errorWorkflow":null,"executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"versionId":"19321d28-e96d-4f97-94a9-604b59b5b651","connections":{"Line Push Message":{"main":[[],[],[],[],[],[],[],[],[]]},"Azure OpenAI Chat Model":{"main":[[]]}},"description":"Automated workflow: Gratitude Jar Reminder. This workflow integrates 7 different services: stickyNote, httpRequest, scheduleTrigger, chainLlm, set. It contains 12 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Gratitude Jar Reminder. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}