Tool Reference

Overview

Temporal Cortex provides 18 tools organized in 5 layers. 15 core tools are always available; 3 additional tools are available in Platform Mode.

All data tools return TOON format by default. Pass format: "json" for standard JSON output.

Layer 0: Discovery

search_contacts

Search the user’s contacts by name across Google People API and Microsoft Graph.

ParameterTypeRequiredDescription
querystringYesName to search for
limitnumberNoMax results (default: 10)

resolve_contact

Resolve a contact to their scheduling capabilities — discovers whether they have an Agent Card (A2A), Temporal Link (browser booking), or only email.

ParameterTypeRequiredDescription
emailstringYesContact’s email address

resolve_identity (Platform Mode)

Full identity resolution with Open Scheduling discovery. Returns Agent Card URL, Temporal Link, and scheduling preferences.

ParameterTypeRequiredDescription
identifierstringYesEmail, phone, or URL

Layer 1: Temporal Context

get_temporal_context

Returns the agent’s current temporal context. No parameters required. Call this first to ground all time reasoning.

Returns: current_time, timezone, utc_offset, day_of_week, week_start, week_end, month_start, month_end

resolve_datetime

Converts natural language to an exact ISO 8601 timestamp. Deterministic — same input always produces same output.

ParameterTypeRequiredDescription
expressionstringYesNatural language time expression
timezonestringNoOverride timezone

convert_timezone

Converts a timestamp between timezones. Handles DST transitions correctly.

ParameterTypeRequiredDescription
timestampstringYesISO 8601 timestamp
from_timezonestringYesSource timezone
to_timezonestringYesTarget timezone

compute_duration

Calculates the duration between two timestamps.

ParameterTypeRequiredDescription
startstringYesStart timestamp
endstringYesEnd timestamp

adjust_timestamp

Adds or subtracts a time period from a timestamp.

ParameterTypeRequiredDescription
timestampstringYesBase timestamp
adjustmentstringYesISO 8601 duration (e.g., “PT2H30M”)
directionstringNo”forward” or “backward” (default: “forward”)

Layer 2: Calendar Operations

list_calendars

Lists all connected calendars with their IDs, names, and provider types.

ParameterTypeRequiredDescription
formatstringNo”toon” (default) or “json”

list_events

Lists calendar events for a date range.

ParameterTypeRequiredDescription
calendar_idstringNoCalendar ID (default: all)
start_datestringYesStart date (YYYY-MM-DD)
end_datestringNoEnd date (default: start_date)
formatstringNo”toon” (default) or “json”

find_free_slots

Finds available time slots across all connected calendars.

ParameterTypeRequiredDescription
datestringYesDate to check (YYYY-MM-DD)
duration_minutesnumberYesRequired slot duration
start_hournumberNoEarliest hour (default: 9)
end_hournumberNoLatest hour (default: 17)
formatstringNo”toon” (default) or “json”

check_availability

Checks if a specific time slot is available across connected calendars.

ParameterTypeRequiredDescription
startstringYesSlot start (ISO 8601)
endstringYesSlot end (ISO 8601)

expand_rrule

Deterministic RFC 5545 RRULE expansion via Truth Engine. Handles DST, BYSETPOS, EXDATE, leap years.

ParameterTypeRequiredDescription
rrulestringYesRFC 5545 RRULE string
dtstartstringYesRecurrence start date
countnumberNoMax occurrences to return
untilstringNoEnd date for expansion
formatstringNo”toon” (default) or “json”

Layer 3: Availability

get_availability

Merges free/busy data across all connected calendars into a unified view.

ParameterTypeRequiredDescription
datestringYesDate to check (YYYY-MM-DD)
calendarsstring[]NoCalendar IDs (default: all)
formatstringNo”toon” (default) or “json”

query_public_availability (Platform Mode)

Queries another person’s publicly shared availability via their Open Scheduling endpoint.

ParameterTypeRequiredDescription
identifierstringYesEmail or Temporal Link URL
datestringYesDate to check

Layer 4: Booking

book_slot

Atomic booking with Two-Phase Commit: lock → verify → write → release. If any step fails, everything rolls back.

ParameterTypeRequiredDescription
calendar_idstringYesTarget calendar
titlestringYesEvent title
startstringYesStart time (ISO 8601)
endstringYesEnd time (ISO 8601)
descriptionstringNoEvent description
attendeesstring[]NoAttendee email addresses

request_booking (Platform Mode)

Sends a booking request to another user’s Open Scheduling endpoint.

ParameterTypeRequiredDescription
recipientstringYesRecipient email or URL
proposed_slotsobject[]YesArray of proposed time slots
titlestringYesMeeting title
messagestringNoOptional message

compose_proposal

Composes a scheduling proposal message for email/SMS delivery. Pure formatting — does not send the message. Used for backward compatibility when the other person doesn’t have an agent.

ParameterTypeRequiredDescription
recipient_namestringYesRecipient’s name
recipient_emailstringYesRecipient’s email
proposed_slotsobject[]YesArray of proposed time slots
titlestringYesMeeting title
messagestringNoAdditional context
formatstringNo”email” (default), “slack”, or “sms”