Microsoft
Create Outlook Calendar Event
Books a meeting in a calendar through Microsoft Graph.
Unverified
Add this first. This tool needs an access token, so add Get Microsoft Graph Access Token to the same bot. The bot calls it first and passes the token in.
What the model is told
Get a Microsoft Graph access token first if you do not already have one. Create a calendar event. Confirm the date, start time and end time with the customer first. Times are in UTC and use the format 2026-03-14T09:30:00.
Request
POSThttps://graph.microsoft.com/v1.0/users/YOUR_MAILBOX/events
Headers
Content-Typeapplication/jsonAuthorizationBearer {{accessToken}}
Body
{
"subject": "{{subject}}",
"start": {
"dateTime": "{{startDateTime}}",
"timeZone": "UTC"
},
"end": {
"dateTime": "{{endDateTime}}",
"timeZone": "UTC"
},
"attendees": [
{
"emailAddress": {
"address": "{{attendeeEmail}}"
},
"type": "required"
}
]
}Parameters
subject stringThe title of the event.startDateTime stringStart in UTC, like 2026-03-14T09:30:00.endDateTime stringEnd in UTC, like 2026-03-14T10:00:00.attendeeEmail stringThe email address of the person invited.accessToken stringThe access_token value returned by Get Microsoft Graph Access Token. Reuse it for the rest of the conversation.
Engage payload
{
"source": "VOICE_AI",
"tool": {
"id": "7a757b62-375b-4b58-a7bd-f507bc0af55e",
"type": "HTTP_REQUEST",
"label": "Create Outlook Calendar Event",
"name": "create_outlook_calendar_event",
"customName": false,
"description": "Get a Microsoft Graph access token first if you do not already have one. Create a calendar event. Confirm the date, start time and end time with the customer first. Times are in UTC and use the format 2026-03-14T09:30:00.",
"parameters": [
{
"name": "subject",
"type": "string",
"description": "The title of the event."
},
{
"name": "startDateTime",
"type": "string",
"description": "Start in UTC, like 2026-03-14T09:30:00."
},
{
"name": "endDateTime",
"type": "string",
"description": "End in UTC, like 2026-03-14T10:00:00."
},
{
"name": "attendeeEmail",
"type": "string",
"description": "The email address of the person invited."
},
{
"name": "accessToken",
"type": "string",
"description": "The access_token value returned by Get Microsoft Graph Access Token. Reuse it for the rest of the conversation."
}
],
"config": {
"endpoint": {
"method": "POST",
"url": "https://graph.microsoft.com/v1.0/users/YOUR_MAILBOX/events"
},
"headers": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Authorization",
"value": "Bearer {{accessToken}}"
}
],
"body": "{\n \"subject\": \"{{subject}}\",\n \"start\": {\n \"dateTime\": \"{{startDateTime}}\",\n \"timeZone\": \"UTC\"\n },\n \"end\": {\n \"dateTime\": \"{{endDateTime}}\",\n \"timeZone\": \"UTC\"\n },\n \"attendees\": [\n {\n \"emailAddress\": {\n \"address\": \"{{attendeeEmail}}\"\n },\n \"type\": \"required\"\n }\n ]\n}",
"timeout": null
}
}
}IDs are regenerated on every copy.