I need to set up meetings in Outlook. As the Outlook Meeting Node lacks adding attendees option I use HTTP node instead. The problem is I just can’t setup the meeting time right and move forward.
What is the error message (if any)?
With this body in the HTTP node:
{
"subject": "{{ $json.subject }}",
"body": {
"contentType": "HTML",
"content": "{{ $json.body.content }}"
},
"start": {
"dateTime": "{{ $json.start.dateTime }}",
"timeZone": "UTC"
},
"end": {
"dateTime": "{{ $json.end.dateTime }}",
"timeZone": "UTC"
},
"location": {
"displayName": "Online"
},
"attendees": [
{
"emailAddress": {
"address": "{{ $json.attendees[0].emailAddress.address }}",
"name": "{{ $json.attendees[0].emailAddress.name }}"
},
"type": "required"
}
],
"isOnlineMeeting": false
}
I get this error:
Bad request - please check your parameters
The value ‘{{ $json.start.dateTime }}’ of parameter ‘DateTime’ is invalid.
I if I change the code to fix the issue:
{
"subject": "{{ $json.subject }}",
"body": {
"contentType": "HTML",
"content": "{{ $json.body.content }}"
},
"start": {
"dateTime": "{{ DateTime.fromISO($json.start.dateTime).toISO() }}",
"timeZone": "UTC"
},
"end": {
"dateTime": "{{ DateTime.fromISO($json.end.dateTime).toISO() }}",
"timeZone": "UTC"
},
"location": {
"displayName": "Online"
},
"attendees": [
{
"emailAddress": {
"address": "{{ $json.attendees[0].emailAddress.address }}",
"name": "{{ $json.attendees[0].emailAddress.name }}"
},
"type": "required"
}
],
"isOnlineMeeting": false
}
I get this error:
Bad request - please check your parameters
The value ‘{{ DateTime.fromISO($json.start.dateTime).toISO() }}’ of parameter ‘DateTime’ is invalid.
I checked and my Input dateTime is set proper in ISO standard: “2025-02-14T16:00:00Z”
I am going in circles with no resolution. Of course having a fully operational Outlook Meetings node would have helped.
Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
When I copy with CMD+C/CMD+V it pastes not the node as an object but its setup. Please advise.
Share the output returned by the last node
This is the input to my HTTP node from the Edit node before:
[
{
“subject”: “text replaced”,
“body”: {
“contentType”: “HTML”,
“content”: “Text replaced”
},
“start”: {
“dateTime”: “2025-02-14T15:30:00Z”,
“timeZone”: “UTC”
},
“end”: {
“dateTime”: “2025-02-14T16:00:00Z”,
“timeZone”: “UTC”
},
“location”: {
“displayName”: “Online”
},
“attendees”: [
{
“emailAddress”: {
“address”: “email [email protected]”,
“name”: “name replaced”
},
“type”: “required”
}
],
“isOnlineMeeting”: false,
“Subject”: “text replaced”,
“Start DateTime”: “2025-02-14T15:30:00Z”,
“Start TimeZone”: “UTC”,
“End DateTIme”: “2025-02-14T16:00:00Z”,
“End TimeZone”: “UTC”,
“Attendee Email”: “email [email protected]”,
“Attendee Name”: “name replaced”,
“finalStartDateTIme”: “2025-02-14T15:30:00Z”,
“finalEndDateTime”: “2025-02-14T16:00:00Z”,
“finalTimeZone”: “UTC”,
“finalAttendeeEmail”: “email [email protected]”,
“finalAttendeeName”: “name replaced”
}
]
Information on your n8n setup
-
n8n version:
Node type
n8n-nodes-base.httpRequest
Node version
4.2 (Latest)
n8n version
1.75.2 (Cloud) -
**Database (default: SQLite):**MSFT OneDrive
-
**n8n EXECUTIONS_PROCESS setting (default: own, main):**default
-
Running n8n via (Docker, npm, n8n cloud, desktop app): cloud
-
Operating system: MacOS