iCalendar Event date is for 1 month before the actual Event Date

I’m having an issue with the iCalendar node setting the event date for 1 month prior to the actual date, such as this:

Actual Event Date: 08/18/2021 07:00 pm
iCalendar Event Date: 7/18/2021 02:00 pm

To make sure it’s not a formatting or node reference error, I include the date in the body of the email that gets sent with the attachment. The body of the email shows the correct date, however the event attachment does not. Am I referencing something wrong? I’m on v0.127.0

Also, I tested this with Microsoft Outlook and Gmail. They both show the event attachment date as one month previous to the actual date.
email  body

{

  "name": "Notifications",

  "nodes": [

    {

      "parameters": {},

      "name": "Start",

      "type": "n8n-nodes-base.start",

      "typeVersion": 1,

      "position": [

        250,

        300

      ]

    },

    {

      "parameters": {

        "httpMethod": "POST",

        "path": "bandwidthporting",

        "options": {}

      },

      "name": "Webhook",

      "type": "n8n-nodes-base.webhook",

      "typeVersion": 1,

      "position": [

        450,

        300

      ],

      "webhookId": "6ca6a8e4-28aa-4ed7-aa70-a4e88d723bf5"

    },

    {

      "parameters": {

        "authentication": "basicAuth",

        "url": "=https://dashboard.bandwidth.com/api/accounts/5002515/portins/{{$node[\"Webhook\"].json[\"body\"][\"notification\"][\"orderid\"]}}",

        "responseFormat": "string",

        "dataPropertyName": "portinorder",

        "options": {},

        "headerParametersUi": {

          "parameter": [

            {

              "name": "Content-Type",

              "value": "application/xml; charset=utf-8"

            },

            {

              "name": "Authorization",

              "value": "Basic OMITTED"

            }

          ]

        }

      },

      "name": "Get BW Portin",

      "type": "n8n-nodes-base.httpRequest",

      "typeVersion": 1,

      "position": [

        630,

        300

      ],

      "credentials": {

        "httpBasicAuth": "Bandwidth APIv2"

      }

    },

    {

      "parameters": {

        "conditions": {

          "string": [

            {

              "value1": "={{$node[\"XML to JSON\"].json[\"LnpOrderResponse\"][\"ProcessingStatus\"]}}",

              "value2": "=FOC"

            }

          ]

        }

      },

      "name": "IF",

      "type": "n8n-nodes-base.if",

      "typeVersion": 1,

      "position": [

        1040,

        300

      ]

    },

    {

      "parameters": {

        "dataPropertyName": "portinorder",

        "options": {}

      },

      "name": "XML to JSON",

      "type": "n8n-nodes-base.xml",

      "typeVersion": 1,

      "position": [

        830,

        300

      ]

    },

    {

      "parameters": {

        "conditions": {

          "string": [

            {

              "value1": "={{$node[\"Get BW Portin\"].json[\"LnpOrderResponse\"][\"ProcessingStatus\"]}}",

              "value2": "EXCEPTION"

            }

          ]

        }

      },

      "name": "IF1",

      "type": "n8n-nodes-base.if",

      "typeVersion": 1,

      "position": [

        1240,

        430

      ]

    },

    {

      "parameters": {

        "value": "={{$node[\"XML to JSON\"].json[\"LnpOrderResponse\"][\"ActualFocDate\"]}}",

        "custom": true,

        "toFormat": "MM/DD/YYYY hh:mm a",

        "options": {

          "toTimezone": "US/Central"

        }

      },

      "name": "Date & Time",

      "type": "n8n-nodes-base.dateTime",

      "typeVersion": 1,

      "position": [

        1240,

        240

      ]

    },

    {

      "parameters": {

        "title": "FOC Received",

        "start": "={{$node[\"Date & Time\"].json[\"data\"]}}",

        "end": "={{$node[\"Date & Time\"].json[\"data\"]}}",

        "additionalFields": {

          "attendeesUi": {

            "attendeeValues": [

              {

                "name": "Jon",

                "email": "[email protected]",

                "rsvp": true

              }

            ]

          },

          "busyStatus": "TENTATIVE",

          "description": "=FOC for {{$node[\"IF\"].json[\"LnpOrderResponse\"][\"CustomerOrderId\"]}}"

        }

      },

      "name": "iCalendar",

      "type": "n8n-nodes-base.iCal",

      "typeVersion": 1,

      "position": [

        1450,

        240

      ]

    },

    {

      "parameters": {

        "fromEmail": "[email protected]",

        "toEmail": "={{$node[\"iCalendar\"].parameter[\"additionalFields\"][\"attendeesUi\"][\"attendeeValues\"][0][\"email\"]}};{{$node[\"iCalendar\"].parameter[\"additionalFields\"][\"attendeesUi\"][\"attendeeValues\"][1][\"email\"]}};{{$node[\"iCalendar\"].parameter[\"additionalFields\"][\"attendeesUi\"][\"attendeeValues\"][2][\"email\"]}}",

        "subject": "=FOC For {{$node[\"Webhook\"].json[\"body\"][\"notification\"][\"customerorderid\"]}}",

        "html": "=FOC Set For {{$node[\"Date & Time\"].json[\"data\"]}}",

        "attachments": "data",

        "options": {}

      },

      "name": "Send Email",

      "type": "n8n-nodes-base.emailSend",

      "typeVersion": 1,

      "position": [

        1630,

        240

      ],

      "credentials": {

        "smtp": "Postmark"

      }

    }

  ],

  "connections": {

    "Webhook": {

      "main": [

        [

          {

            "node": "Get BW Portin",

            "type": "main",

            "index": 0

          }

        ]

      ]

    },

    "Get BW Portin": {

      "main": [

        [

          {

            "node": "XML to JSON",

            "type": "main",

            "index": 0

          }

        ]

      ]

    },

    "XML to JSON": {

      "main": [

        [

          {

            "node": "IF",

            "type": "main",

            "index": 0

          }

        ]

      ]

    },

    "IF": {

      "main": [

        [

          {

            "node": "Date & Time",

            "type": "main",

            "index": 0

          }

        ],

        [

          {

            "node": "IF1",

            "type": "main",

            "index": 0

          }

        ]

      ]

    },

    "Date & Time": {

      "main": [

        [

          {

            "node": "iCalendar",

            "type": "main",

            "index": 0

          }

        ]

      ]

    },

    "iCalendar": {

      "main": [

        [

          {

            "node": "Send Email",

            "type": "main",

            "index": 0

          }

        ]

      ]

    },

    "Send Email": {

      "main": [

        []

      ]

    }

  },

  "active": true,

  "settings": {

    "timezone": "America/Chicago",

    "saveExecutionProgress": "DEFAULT"

  },

  "id": "14"

}

Hey @jhambach,

Can you share the input for the Date & Time node?

1 Like

Of course, here it is:

{{$node["XML to JSON"].json["LnpOrderResponse"]["ActualFocDate"]}}

2021-08-19T00:00:00Z

I’m sure it doesn’t matter, but I’ve done it with referencing the node above and the IF node, but it still gives the same result.

Hey @jhambach,

I was able to replicate your issue, and I am not certain what is causing the issue. A quick solution for this would be to add another Date & Time node and use the Calculate a Date operation to add the date by a month.

Your workflow will then look like this

That did the trick, thank you so much!

1 Like