create_manual_entry
ChatGPTCreate a manual time entry for the connected Tackle user, in their own manual calendar (the same as adding an entry in the Tackle web app). Use this to log time for meetings, tasks, or activities. Entries always belong to the connected user; to log time for someone else, that person connects their own Tackle account. Tags/properties are optional — provide tag names and the tool resolves full property objects automatically.
delete_manual_entry
ChatGPTDelete a manual time entry. This action is irreversible. Use get_events with the manual calendar to find event IDs.
get_account
ChatGPTGet current account information, including "syncRange": the dates this workspace has calendar data for. Questions about dates outside it cannot be answered (that data was never synced).
get_all_calendars
ChatGPTGet all calendars (both imported and available to import). Paged: returns total and nextOffset; when nextOffset is not null, call again with offset = nextOffset.
get_events
ChatGPTGet calendar events with filters. Use get_imported_calendars first to get calendar IDs.
get_imported_calendars
ChatGPTGet list of imported/synced calendars the connected user can access (all of them for owners and admins; granted calendars, teams and people for other members, as in the web app). Each calendar's "calendarId" (email) is the ID other tools take. Paged: returns total and nextOffset; when nextOffset is not null, call again with offset = nextOffset.
get_meeting_analytics
ChatGPTGet meeting analytics with flexible measures, groupBy, and filters. Use this tool for common analytics: total meeting hours, meeting counts, people met, organizations met, trends over time, breakdowns by person/team/org/conference tool/meeting length/size/recurring, and time per tag or property (primary_tag/secondary_tag, optionally per user or calendar with splitBy). Call get_imported_calendars first to get calendar IDs for filtering. Returns at most 1,000 rows; when summary.nextOffset is not null there are more, so call again with offset = nextOffset.
get_properties
ChatGPTGet the workspace's tags and properties, a page at a time. Each has an "id", "key", "state" (PRIMARY/SECONDARY/CRM), "variety" and, for select types, "children" (the options, each with its own "id"). Use "search" to find a property by key or name; when "nextOffset" is not null, call again with that offset. Options are paged too: when a property's "nextOptionsOffset" is not null, call again with "parentId" = its id and that "optionsOffset". TREE_SELECT options can have options of their own: those report "optionsTotal"; call again with "parentId" = the option's id to list them.
query_analytics
ChatGPTExecute a raw Cube.js analytics query for advanced use cases not covered by get_meeting_analytics. Supports all Cube.js measures, dimensions, filters, segments, time dimensions, ordering, and pagination. Available cubes: Events, Attendees, Tags, FiltersTags1..FiltersTags20, Domains, Conferences, Hours. Results always cover only the calendars the connected user can access, each paired with its current dataVersion (added automatically), so filtering by calendar narrows within those. Prefer get_meeting_analytics for common questions.
update_manual_entry
ChatGPTUpdate an existing manual time entry. Can update title, start/end times, and tags. When updating times, both startDateTime and endDateTime must be provided together. Use get_events with the manual calendar to find event IDs.
create_manual_entry
Claudedelete_manual_entry
Claudeget_account
Claudeget_all_calendars
Claudeget_events
Claudeget_imported_calendars
Claudeget_meeting_analytics
Claudeget_properties
Claudeget_teams
Claudequery_analytics
Claudeupdate_manual_entry
Claude