create_absence
Behavior, inputs, outputs and permissions for create_absence.
Reviewed · 2026-10-06 / Ridian
This reference is generated from the published tool contract.
Behavior and boundaries
Section titled “Behavior and boundaries”Records an absence for yourself, or as owner or admin for another member, e.g. “I’m on vacation next week”. All-day absences use first_day and last_day (inclusive dates); others use start and end with offset. While absent the member gets no booking slots, round robin skips them and collective appointment types offer no time. Existing bookings stay with the member; the result lists them so you can offer reassign_booking. Confirm the period with the user first.
Permissions
Section titled “Permissions”Granted scopes, accounts, calendars and visibility rules limit access. Workspace administrators do not automatically gain access to other users’ accounts.
bookings:write
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "user_id": { "description": "Member who is absent. Default: you.", "type": "string", "minLength": 1, "maxLength": 64 }, "all_day": { "type": "boolean" }, "first_day": { "description": "All-day: first day.", "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "last_day": { "description": "All-day: last day, inclusive.", "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "start": { "description": "Not all-day: start with offset.", "type": "string", "maxLength": 40 }, "end": { "description": "Not all-day: end with offset.", "type": "string", "maxLength": 40 }, "time_zone": { "description": "IANA time zone for all-day dates. Default: the member's availability time zone.", "type": "string", "maxLength": 64 }, "reason": { "type": "string", "enum": [ "vacation", "sick", "training", "other" ] }, "substitute_user_id": { "description": "Member who covers. From list_absences members.", "type": "string", "minLength": 1, "maxLength": 64 }, "link_substitute_on_profile": { "description": "Show a link to the substitute's booking page on the member's profile page. Default false.", "type": "boolean" } }, "required": [ "all_day", "reason" ], "additionalProperties": false}Output
Section titled “Output”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "absence": { "type": "object", "properties": { "absence_id": { "type": "string" }, "user_id": { "type": "string" }, "name": { "type": "string" }, "start": { "type": "string" }, "end": { "type": "string" }, "all_day": { "type": "boolean" }, "first_day": { "type": [ "string", "null" ] }, "last_day": { "type": [ "string", "null" ] }, "time_zone": { "type": "string" }, "reason": { "anyOf": [ { "type": "string", "enum": [ "vacation", "sick", "training", "other" ] }, { "type": "null" } ] }, "substitute": { "anyOf": [ { "type": "object", "properties": { "user_id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "user_id", "name" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "absence_id", "user_id", "name", "start", "end", "all_day", "first_day", "last_day", "time_zone", "reason", "substitute" ], "additionalProperties": false }, "affected_bookings": { "type": "array", "items": { "type": "object", "properties": { "booking_id": { "type": "string" }, "start": { "type": "string" }, "appointment_type": { "type": [ "string", "null" ] }, "can_reassign": { "type": "boolean" } }, "required": [ "booking_id", "start", "appointment_type", "can_reassign" ], "additionalProperties": false } }, "console_url": { "type": "string" } }, "required": [ "absence", "affected_bookings", "console_url" ], "additionalProperties": false}Errors and retries
Section titled “Errors and retries”Check the tool result for errors. Do not blindly retry writes after a timeout. Check the current resource or send status first.