Google Calendar Node Outputting Incorrect Time

I am attempting to create an event with Google Calendar’s node using a telegram trigger. The node inputs the correct information, but then defaults to midnight. I have tried updating the code node to ensure the code being ported to the Google Calendar node was clean, but still encounter the same issue. Any help or insight is much appreciated :slight_smile:

Rest of workflow runs fine.

Workflow: (https://kaizensatoshi.app.n8n.cloud/workflow/2X8Dci8Hml6QvbK7)

output returned by the last node

[
{
“ok”: true,
“result”: {
“message_id”: 128,
“from”: {
“id”: 7680720635,
“is_bot”: true,
“first_name”: “Zed”,
“username”: “Kaizensatoshibot”
},
“chat”: {
“id”: 7189480683,
“first_name”: “Unkown”,
“last_name”: “M”,
“type”: “private”
},
“date”: 1745083439,
“text”: “:white_check_mark: Event created: Deep work\n​:spiral_calendar: Start: 2025-04-19T00:00:00-04:00\n​:stop_sign: End: 2025-04-19T00:00:00-04:00\n​:memo: Details: Finalize strategy plan”,
“entities”: [
{
“offset”: 17,
“length”: 9,
“type”: “bold”
},
{
“offset”: 31,
“length”: 6,
“type”: “bold”
},
{
“offset”: 67,
“length”: 4,
“type”: “bold”
},
{
“offset”: 101,
“length”: 8,
“type”: “bold”
}
]
}
}
]

Information on your n8n setup

  • n8n version: [email protected]
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Through n8n chrome
  • **Operating system: Windows 11

    **

Can you try with $now instead?

Unfortunately the $now function only creates the event at the time of the workflow being ran and not at “tomorrow” nor the day.

Still haven’t found a solution? I’ve been facing the same issue.

if ure using an ai agent u can just add it as a tool, otherwise u need to parse the output from the ai agent. it be much easier to connect the google cal as a tool, and output parser to telegram in set json and give it example json etc, so u can easily reference in the telegram node.

Here is my testing version

start
{{ DateTime.fromISO($json.start_time, { zone: 'America/New_York' }).toDateTime() }}

end
{{ DateTime.fromISO($json.end_time, { zone: 'America/New_York' }).toDateTime() }}

I think the point is not passing the object. Just give the datetime and it will be fine.

Somehow n8n not allow me to upload the template.