MCP App Store
by KeenEthics

Overview

Connect Claude to your Slingshot workspace to plan, track, and update work in natural language. Slingshot is a work-management platform that brings tasks, projects, discussions, dashboards, and data together in one place. The connector exposes nearly 70 tools across Slingshot's core surface: - Workspaces & projects — create, read, update, delete, and manage members and roles - Tasks — create, update, delete, list, view "my tasks," post messages, and log time - Task lists, sections & task types — structure and categorize work - Custom fields — define and manage structured task metadata - Discussions — open threads and post messages - Dashboards & data sources — read dashboards and query connected data - Profile & membership — read your profile and workspace/project members Reads and writes are separate tools, and every tool carries read-only or destructive hints so Claude confirms before anything irreversible, such as deleting a task or workspace. Authentication uses OAuth 2.1 with PKCE. You sign in with your existing Slingshot account, and the connector acts only with your own permissions. For safety, some capabilities are intentionally excluded: webhook management and file upload/download are not exposed, which prevents prompt-injection and unsafe binary transfer paths. Requires a Slingshot account. Learn more at slingshotapp.io.

Tools

slingshot_add_goal_check_in

ChatGPT
Records progress on a SMART goal or a key result: the value reached, the status (notStarted, onTrack, atRisk, offTrack, completed, notAchieved) and a note that says why. MODIFIES DATA — two-step flow. Use when the user describes what happened ('we closed 40 deals this week, a bit behind'): turn it into a value, a status and a note, and confirm them with the user. The goal's status becomes the status of its latest check-in by date, so a backdated check-in does not override a newer one; completed or notAchieved closes the goal. One check-in per day: a second one on the same date replaces the first. On a goal measured from a dashboard or a data source the value and status must be the measured ones and no date is taken. Objectives and strategies take no check-ins: their progress rolls up from what is under them. Do NOT use to change the target or cycle — use slingshot_update_goal. NOT idempotent — each confirmed call records a check-in and notifies the owners. Only the goal's owners can check in (for a key result, its own owners): anyone else is refused, even someone who may edit the goal or an admin. Requires Goals in the user's plan.

slingshot_add_project_member

ChatGPT
Adds a user to a project with the given role. MODIFIES DATA — two-step flow. Project membership is INDEPENDENT of workspace membership — the target user does not have to be a member of the parent workspace (this matches the Slingshot desktop client's 'invite external collaborator to a single project' flow). Default role is contributor. Roles: owner, contributor, viewer. Adding the same user twice with the same role is a no-op (idempotent).

slingshot_add_time_log

ChatGPT
Records a time entry on a task. Each call creates a discrete log entry (calling twice creates two — not idempotent). MODIFIES DATA — two-step flow. Use when the user wants to log time, record hours, or add a time entry. The timeLoggedMinutes field on a task is read-only via slingshot_update_task — log time with this tool only. Do NOT use to add a free-text comment — use slingshot_post_task_message. Defaults the date to today and the user to the authenticated caller. Does NOT change the task's status, progress, or any other field. The optional customFieldId selects a specific time-tracking custom field on the task's Task Type; if omitted the server resolves the Task Type's default time-tracking field. Returns VALIDATION_ERROR when the task has no time-tracking field declared.

slingshot_add_workspace_member

ChatGPT
Adds a user to a workspace with the given role. MODIFIES DATA — two-step flow. The user must already exist in the organization; this does NOT create user accounts. Default role is contributor. Roles: owner, contributor, viewer. Adding the same user twice with the same role is a no-op (idempotent).

slingshot_cancel_calendar_event

ChatGPT
Cancels an Outlook event the user organizes, for EVERY attendee: each is sent a cancellation at once and the event leaves every calendar. IRREVERSIBLE: there is no restore, and recreating it sends new invitations. MODIFIES DATA — two-step flow: the preview lists the event and every attendee who will be notified; call again with the token only after the user explicitly approves. On a recurring event, scope picks this occurrence or the whole series. Use when the user wants to cancel, call off or delete a meeting they organize. Do NOT use to decline an invitation from someone else (use slingshot_respond_to_calendar_event with response=declined), to reschedule (use slingshot_update_calendar_event) or to remove a focus block (use slingshot_delete_focus_block). Only the organizer may cancel (not_organizer otherwise).

slingshot_check_service_status

ChatGPT
Returns the health of the Slingshot MCP server itself: authenticated user id, OAuth client id, server clock. Use to verify the connection is alive and the user is properly authenticated before kicking off a longer flow. Do NOT use to check Slingshot REST API health — this only covers the MCP layer.

slingshot_create_automation

ChatGPT
Creates one automation from an exact When, Check If and Then. MODIFIES DATA — two-step flow: the first call, without confirmationToken, checks the rule as the product would and previews it exactly as it will be stored (name, the sentence the list shows, every part); call again with the same parameters and the returned confirmationToken after the user explicitly approves. A rule the product refuses comes back as VALIDATION_ERROR with a subCode and the path of each part, and no token. Every field, option, person, list, section and template is an id: build the parameters with slingshot_propose_automation, whose request holds them. An Active automation starts acting on tasks as soon as it is created; pass active=false to create it Paused. Use when the user has approved a proposed automation. Do NOT use to change one; use slingshot_update_automation; to pause or switch one on, use slingshot_set_automation_active. NOT idempotent: confirming the same parameters again within about 20 minutes of a confirmation returns that first result and creates nothing; later, a fresh preview and confirmation create a second automation. Requires Automations in the user's plan, including the paid automations the app asks for before creating one.

slingshot_create_calendar_event

ChatGPT
Creates an event on the user's Outlook calendar (the primary Microsoft calendar unless calendarId says otherwise), optionally inviting people, as a Teams meeting, or recurring. Marked destructive because the invitations it sends cannot be recalled; nothing is deleted. MODIFIES DATA — two-step flow, for every caller: call without confirmationToken to get a preview, show it, then call again with the token once the user approves. NOT idempotent — confirming twice creates two events and sends two invitations. Use when the user wants to schedule, book or set up a meeting or an event. Do NOT use to block time for a task (use slingshot_create_focus_block) or to change an existing event (use slingshot_update_calendar_event). Required: title, and either start and end, or isAllDay=true with startDate and endDate. Only Outlook calendars take events, an account that needs reconnecting refuses writes, and the answer names the reason.

slingshot_create_custom_field

ChatGPT
Creates a custom field in a parent's Task Fields Library. MODIFIES DATA — two-step flow. PARENT SCOPE (CRITICAL): parentId can be EITHER: - Organization ID -> field is available across ALL workspaces in the org. Use this when the user says "for my organization", "across all my workspaces", "org-wide", or doesn't specify a workspace. - Workspace ID -> field is scoped to that workspace only. Use this when the user explicitly names a single workspace ("in NYC", "for the Miami workspace"). DEFAULT: when in doubt, prefer ORGANIZATION SCOPE — it's reusable and avoids duplicate fields per workspace. Only narrow to workspace scope when the user explicitly limits it. TASK LIST OR TASK TYPE: a task list id adds the field to that list the way the app's Manage Fields does (it goes on the list's own task type, used by its top-level tasks). A task type id adds the field to that task type only. For a field on a list's SUBTASKS only, pass the list's subtask type: subtaskTaskTypeId from slingshot_get_task_type on the list's defaultTaskTypeId, or the taskTypeId of one of its subtasks. EXCEPTION — timeTracking: a time-tracking field never lives in a library. For fieldType=timeTracking, parentId must be a TASK TYPE id (slingshot_list_task_types / slingshot_create_task_type); the field is created on that task type and attached to it in the same call. A workspace/organization parentId is rejected, and a task type carries at most one time-tracking field. EXCEPTION — github: the app's GitHub field (the pull requests, issues and branches a task links to) also never lives in a library. For fieldType=github, parentId must be a TASK LIST id (the field goes on the list's own task type, as Manage Fields adds it) or a TASK TYPE id; a task type carries at most one GitHub field. It takes no options or config. To find the organization ID, call slingshot_get_my_profile and read organization.id (or workspaces[0].organizationId). Field types: text, longText, number, rating, checkbox, date, dateRange, dropdown, labels, members, email, phone, attachments, manualProgress, timeTracking, github. attachments is the app's Files field: its own list of files, links and documents, separate from the task's attachments. Pass options=[...] for dropdown/labels. Pass config={...} for type-specific keys: rating uses {ratingScale: 3|4|5}; number uses {numberDecimals, numberStyle: plain|currency|percent, currencySymbol}; manualProgress uses {slideIncrement: 1|5|10|25}; timeTracking uses {showEstimatedTime, showRemainingTime, showTimeProgress}; text/longText use {maxLength} (phone's limit is a fixed product cap of 25 — a maxLength for phone is ignored); email uses {allowMultiple}; members (People) uses {peopleFrom: anyone|organization|workspace|group, peopleGroupId (required with group), allowMultiple, notifyPeople (workspace scope only)}; attachments uses {multiple}; checkbox uses {colorIndex: 0-19, a position in the app's colour palette}.

slingshot_create_dashboard

ChatGPT
Creates a new empty dashboard inside a workspace or project, placed in the given dashboard section or in the parent's default section, so it shows up in the Dashboards tab right away. MODIFIES DATA — two-step flow: first call without confirmationToken to preview, then call again with the returned confirmationToken after explicit user approval. Required: parentId, name. Optional: description, sectionId.

slingshot_create_discussion

ChatGPT
Creates a discussion inside a discussion list. MODIFIES DATA — two-step flow.

slingshot_create_discussion_list

ChatGPT
Creates a discussion list in a workspace, optionally scoped to a project, or an organization discussion list (organization admins only). Pass exactly one of workspaceId and organizationId. MODIFIES DATA — two-step flow.

slingshot_create_focus_block

ChatGPT
Puts a focus block on the user's calendar: time set aside for one task, shown as busy next to their meetings. MODIFIES DATA — two-step flow: preview first, then call again with the token once the user approves. NOT idempotent — confirming twice blocks the time twice. Use when the user wants to block, reserve or schedule time to work on a task. Do NOT use to create a meeting or an event (use slingshot_create_calendar_event) or to move an existing block (use slingshot_update_focus_block). As in the product, the task must be assigned to the user and still open (task_not_schedulable otherwise), and a block has a maximum length (focus_block_too_long). Without end, the block lasts the task's estimate, else the user's Default duration (slingshot_get_calendar_settings). Needs focus time in the user's plan.

slingshot_create_goal

ChatGPT
Creates one goal or a whole drafted set in one call: SMART goals, strategies, objectives and key results. MODIFIES DATA — two-step flow: first call without confirmationToken to preview every goal, then call again with the same goals and the returned confirmationToken after the user explicitly approves. Pass EVERY goal of the set in one call's goals array; a key result can hang from an objective of the same call (parentRef = the objective's ref), and an objective from a strategy of the same call. The whole set is checked before anything is written: if one goal is refused, nothing is written and each problem is listed. Use when the user wants to set a goal, draft OKRs for a quarter, or add key results to an objective. Do NOT use to change an existing goal — use slingshot_update_goal. Do NOT use to record progress — use slingshot_add_goal_check_in. A goal's status is never set here: it follows its check-ins. Goals created here are tracked manually through check-ins. NOT idempotent — confirming twice creates the set twice. Max 100 goals per call. Requires Goals in the user's plan.

slingshot_create_project

ChatGPT
Creates a project inside a workspace. MODIFIES DATA — two-step flow: first call without confirmationToken to preview, then call again with the returned confirmationToken after explicit user approval. Use when the user wants to add, create, or open a new project. Do NOT use to add a task list — use slingshot_create_task_list. Required: name, workspaceId. Optional: description, startDate/endDate (YYYY-MM-DD), statusId.

slingshot_create_task

ChatGPT
Creates a new task in a section. MODIFIES DATA — two-step flow: first call without confirmationToken to receive a preview of what will be created (with the resolved task type, assignee names, and custom-field validation), then call again with the returned confirmationToken after the user explicitly approves. Use when the user wants to add, create, or open a new task, or to add a subtask under an existing task (pass parentTaskId). Do NOT use to update an existing task — use slingshot_update_task for that. Do NOT use to add a comment — use slingshot_post_task_message. Calling this idempotently with the same parameters and a fresh token creates exactly one task per confirmed call (server-side idempotency for the active token). Required: name and either sectionId or parentTaskId. Optional: description, statusId (default status_open), priority (default: the Task Type's default priority, else none), dueDate, startDate, taskTypeId, assigneeIds, customFields.

slingshot_create_task_list

ChatGPT
Creates a task list inside a workspace OR a project. Pass exactly one of workspaceId or projectId. MODIFIES DATA — two-step flow.

slingshot_create_task_section

ChatGPT
Creates a section inside a task list. MODIFIES DATA — two-step flow. Required: name, taskListId.

slingshot_create_task_type

ChatGPT
Creates a Task Type in a parent's library. MODIFIES DATA — two-step flow. PARENT SCOPE (CRITICAL): parentId can be EITHER: - Organization ID -> task type is available across ALL workspaces in the org. Use this when the user says "for my organization", "across all my workspaces", "org-wide", or doesn't specify a workspace. - Workspace ID -> task type is scoped to that workspace only. Use this when the user explicitly names a single workspace. DEFAULT: when in doubt, prefer ORGANIZATION SCOPE. A reusable type belongs at the org; a workspace-specific one is the exception. To find the organization ID, call slingshot_get_my_profile first. When creating a Task Type with custom fields, ALL the fieldIds you pass must live at the SAME scope as the Task Type. Org-scoped Task Type -> org-scoped fields only. Workspace-scoped Task Type -> workspace-scoped fields (or fields from that same workspace). Required: name, parentId. Optional: description, icon (single emoji), color (hex), fieldIds (custom field ids that make up this Task Type).

slingshot_create_tasks_from_action_items

ChatGPT
Creates one task per action item the user kept, linked to the meeting and assigned to the suggested people, the same as the product's 'create tasks' on a meeting recap. MODIFIES DATA — two-step flow: the preview lists every item that becomes a task; call again with the token once the user approves. Items that already became a task are skipped and reported, so a retry never creates a task twice. Use after the user reviewed the action items and said which to keep. Do NOT use to create an unrelated task (use slingshot_create_task) or to extract items (use slingshot_generate_meeting_action_items). Without taskListId the tasks go where the product would put them. An id the list no longer has (it was extracted again) is reported under failed as item_not_found. If an item is edited between the preview and the confirmation, the confirmation is refused: preview again. Needs the meeting content permission.

slingshot_create_workspace

ChatGPT
Creates a top-level workspace. MODIFIES DATA — two-step flow: first call without confirmationToken to preview, then call again with the returned confirmationToken after explicit user approval. The caller becomes the workspace owner automatically. Do NOT use to add a member to an existing workspace — use slingshot_add_workspace_member. Required: name. Optional: description, privacy (private | public — default private), startDate/endDate (YYYY-MM-DD), statusId, organizationId.

slingshot_delete_chat_message

ChatGPT
Deletes a message the user wrote. MODIFIES DATA — two-step flow. The message keeps its place in the conversation with no text, and only the author may delete their own message.

slingshot_delete_custom_field

ChatGPT
Deletes a custom field. The field is removed from every list and every GET; values on tasks currently using it become orphan refs that the UI hides. Matches the workspace library's 'Delete this Task Field' confirmation promise. A task list's customized Status or Priority (specialFieldKey status or priority) cannot be deleted, as in the app: the call answers 422 built_in_field_override. MODIFIES DATA — two-step flow.

slingshot_delete_dashboard

ChatGPT
Permanently deletes a dashboard. CANNOT BE UNDONE. MODIFIES DATA — two-step flow with strong destructive preview. Required: dashboardId.

slingshot_delete_discussion

ChatGPT
Permanently deletes a discussion and ALL its messages. CANNOT BE UNDONE. MODIFIES DATA — two-step flow with strong destructive preview.

slingshot_delete_discussion_list

ChatGPT
Permanently deletes a discussion list and ALL its discussions and messages. CANNOT BE UNDONE. MODIFIES DATA — two-step flow with strong destructive preview.

slingshot_delete_focus_block

ChatGPT
Removes one of the user's focus blocks from their calendar; the task itself is not touched. MODIFIES DATA — two-step flow: the preview names the block; call again with the token once the user approves. The block is gone: blocking the time again creates a new block with slingshot_create_focus_block. Use when the user wants to free time they had set aside for a task. Do NOT use on a meeting or an event (use slingshot_cancel_calendar_event or slingshot_respond_to_calendar_event) or to move the block (use slingshot_update_focus_block). Needs focus time in the user's plan.

slingshot_delete_goal

ChatGPT
Permanently deletes a goal AND every goal under it: a strategy's goals and objectives, an objective's key results, with all their check-ins. Goals have NO recycle bin: THIS CANNOT BE UNDONE, not from the product and not through the API. MODIFIES DATA — two-step flow: the preview names the goal and how many goals sit directly under it. Use only when the user explicitly says to delete or remove the goal for good. Do NOT use to close a goal the team finished or gave up on — record a check-in with status completed or notAchieved through slingshot_add_goal_check_in, which keeps its history. Do NOT use to move a goal — use slingshot_update_goal. Requires Goals in the user's plan and edit access to the goal.

slingshot_delete_project

ChatGPT
Permanently deletes a project and ALL contained task lists, sections, tasks, discussions, and pins. THIS CANNOT BE UNDONE. MODIFIES DATA — two-step flow. Use only when the user explicitly says 'delete' / 'remove permanently'.

slingshot_delete_task

ChatGPT
PERMANENTLY deletes a task. This action CANNOT be undone — the task and its activity feed, time logs, and subtasks are gone. MODIFIES DATA — two-step flow with extra-strong preview wording. Use ONLY when the user explicitly says delete, remove permanently, or get rid of a task. If the user wants to mark a task as done, use slingshot_update_task with statusId=status_completed instead — do NOT use this tool. Subtasks are deleted with the parent.

slingshot_delete_task_list

ChatGPT
Permanently deletes a task list and ALL contained sections and tasks. THIS CANNOT BE UNDONE. MODIFIES DATA — two-step flow with strong destructive preview. Use only when the user explicitly says 'delete' / 'remove permanently'.

slingshot_delete_workspace

ChatGPT
Permanently deletes a workspace. Every contained project, task list, section, task, discussion, pin list, and pin is also deleted in the same operation. THIS CANNOT BE UNDONE. MODIFIES DATA — two-step flow: preview shows what will be lost (counts of contained items); user must explicitly approve before confirming. Use only when the user explicitly says 'delete' / 'remove permanently' / 'get rid of'. Workspaces have no soft-archive path today — if the user wants to hide one, suggest changing privacy or status with slingshot_update_workspace instead.

slingshot_dismiss_meeting_action_item

ChatGPT
Dismisses one suggested action item of a meeting, for every attendee, so it is not turned into a task. IRREVERSIBLE: a dismissal cannot be undone. MODIFIES DATA — two-step flow: the preview names the item; call again with the token once the user approves. Use when the user says an item is wrong, done already or not theirs to track. Do NOT use to create tasks (use slingshot_create_tasks_from_action_items). An id from a list extracted again since is not found: read the items again. If the item is edited between the preview and the confirmation, the confirmation is refused: preview again. Needs the meeting content permission.

slingshot_edit_chat_message

ChatGPT
Replaces the text of a message the user wrote. MODIFIES DATA — two-step flow. Only the author may edit their own message, and the conversation shows it as edited to everyone in it.

slingshot_generate_meeting_action_items

ChatGPT
Extracts the action items of a meeting from its transcript with AI and returns all of them, each with an id and suggested assignees. SPENDS AI CREDITS, like the product's button. Marked destructive because spent credits cannot be returned and force=true replaces the list for every attendee, which retires the item ids read before; nothing else is deleted. MODIFIES DATA — two-step flow, for every caller: the preview says what it costs and how many items exist already; call again with the token only after the user approves. Without force, a list that is still current is returned without spending again. Use ONLY when the user asks for action items to be extracted or refreshed. Do NOT use to read them (use slingshot_get_meeting_summary, which is free). NOT idempotent: force=true spends credits again. Needs the meeting content permission and the meeting recap in the user's plan.

slingshot_generate_meeting_summary

ChatGPT
Generates the AI summary of a meeting from its transcript and returns it. SPENDS AI CREDITS, like the product's Generate button. Marked destructive because spent credits cannot be returned and force=true replaces the stored summary for every attendee; nothing else is deleted. MODIFIES DATA — two-step flow, for every caller: the preview says what it costs and whether a summary already exists; call again with the token only after the user approves. Without force, a summary that is still current is returned without spending again. Use ONLY when the user asks for a summary to be generated or refreshed. Do NOT use to read one (use slingshot_get_meeting_summary, which is free). NOT idempotent: force=true spends credits again. Needs the meeting content permission and the meeting recap in the user's plan.

slingshot_get_automation

ChatGPT
Returns one automation in full, in the automation editor's words: its When (trigger, with In: Anywhere, a project, a list or a section), its Check If (blocks of conditions joined by and / or), its Then (the actions, in the order they run), Applied On, whether it is Active or Paused, its health with each issue and the part it is about, why and when Slingshot switched it off by itself, the last run stopped to prevent a loop, its runs this month and in total, who created it and the link that opens it in the app. Use to answer 'what does this automation do', 'why is it broken' or before changing it. Do NOT use to find automations; use slingshot_list_automations. Do NOT use for its Run History; use slingshot_list_automation_runs. Read-only. Requires Automations in the user's plan.

slingshot_get_automation_capabilities

ChatGPT
Returns what the automation editor offers in a workspace, a project (for an automation Applied On it) or the user's personal automations: the When triggers with their In, change and date choices, the Then actions, the task fields a trigger can watch (canTrigger) or an action can set (canBeChanged) with their ids, types and options, the fields a Check If condition can check with their operators, the people an automation there can name, and the editor's limits (actions and conditions per automation). Use before building an automation by hand to find exact field, option and person ids. Do NOT use to turn a description into a rule: slingshot_propose_automation resolves names to these ids itself. Option ids belong to one task type each: the same option name on two task types is two ids. Read-only. Requires Automations in the user's plan.

slingshot_get_calendar_availability

ChatGPT
Returns when several people are free or busy over a time range, read through the user's Microsoft calendar connection the way Slingshot's invite form does. Per person: availability, one character per interval (0 free, 1 tentative, 2 busy, 3 away, 4 working elsewhere), and the busy ranges. A person whose calendar the provider will not share comes back with status unavailable instead of failing the call. Use when the user wants to find a time with colleagues or asks whether someone is free. Do NOT use for the user's own events (use slingshot_list_calendar_events). The limits are the product's: a refusal names it (attendees_too_many, range_too_long, interval_invalid, window_too_detailed). Needs a working Microsoft connection. Read-only.

slingshot_get_calendar_event

ChatGPT
Returns one calendar event in full: title, times and time zone, location and online meeting link, organizer, attendees with their answers, the user's own answer (myResponse), the body as plain text (capped at 2000 chars), the tasks linked to it, a focus block's task, its recurrence, the etag a change can be checked against, and whether a transcript, recordings, an AI summary and action items exist (meetingContent; never the content itself). Use when the user asks about one meeting: who is coming, where it is, what it is about. Do NOT use to list a day (use slingshot_list_calendar_events) or to read what was said (use slingshot_get_meeting_summary, or slingshot_get_meeting_transcript when the user asks for the transcript). Read-only. Answers NOT_FOUND for an id the user cannot read.

slingshot_get_calendar_settings

ChatGPT
Returns the user's My Calendar settings, the ones the gear on Slingshot's calendar shows: when their working day starts and ends (HH:mm, wall-clock time in their own time zone), the Default duration of a new event or focus block in minutes, the day their week starts on (null follows their locale), and the focus-time switches (focus blocks written to Outlook, shown as busy, details hidden). Use before suggesting or placing time for the user: keep meetings and focus time inside their working day, and give a focus block their Default duration when the task has no estimate. Do NOT use for what is on the calendar (use slingshot_list_calendar_events) or to change a setting (use slingshot_update_calendar_settings). Read-only.

slingshot_get_chat

ChatGPT
Returns one private chat with its members and how far the user has read. Use slingshot_list_chat_messages to read the conversation itself. Read-only.

slingshot_get_custom_field

ChatGPT
Returns full detail for one custom field, including type-specific config and usage metrics (which Task Types include it, sample tasks). Use when the user asks about a specific field's settings. Read-only.

slingshot_get_dashboard

ChatGPT
Returns full detail for one dashboard. Use when the user names a specific dashboard or you already have its id. Read-only.

slingshot_get_datasource

ChatGPT
Returns the CATALOG entry for one datasource (itemType=DataSource): its name, provider, owner, sharing and timestamps. Read-only. ⚠ NOT the schema — this never returns columns, measures, hierarchies or date fields, whatever the provider. For a source's own vocabulary (a table's columns, a cube's measures / date levels / hierarchies) call slingshot_describe_datasource; an empty result here says nothing about whether the source exposes fields.

slingshot_get_datasource_item

ChatGPT
Returns the CATALOG entry for one datasource item (any itemType): name, provider, owner, sharing and timestamps. Read-only. ⚠ NOT the schema — for a source's fields, measures or hierarchies call slingshot_describe_datasource.

slingshot_get_discussion

ChatGPT
Returns metadata for one discussion, including its lastMessage. Use slingshot_list_discussion_messages to read the full thread. Read-only.

slingshot_get_discussion_list

ChatGPT
Returns metadata for one discussion list. Read-only.

slingshot_get_goal

ChatGPT
Returns one goal in full: type (goal = SMART goal, strategy, objective, keyResult), where it lives, the strategy or objective it hangs from, owners, status, cycle, target, how progress arrives (manual check-ins, a dashboard widget or a data source), live progress (currentValue against targetValue, percent 0-100, the same math the product's gauge shows), an objective's roll-up of its key results, the check-in schedule and whether one is overdue, the latest check-in and the AI progress summary. Use to answer 'how is this goal doing and why'. Do NOT use to find goals — use slingshot_list_goals. Do NOT use for older check-ins — use slingshot_list_goal_check_ins. Read-only. Requires Goals in the user's plan.

slingshot_get_meeting_summary

ChatGPT
Returns the AI summary already generated for a meeting (headline, body, sections, when it was generated) and, by default, only the action items suggested for the user, which is what 'what am I on the hook for' means. Use when the user asks what happened in a meeting, what was decided, or what they have to do after it. Never returns the transcript (use slingshot_get_meeting_transcript, and only when the user asks for the transcript itself). Never generates anything: when nothing was generated the status is notGenerated, and generating is slingshot_generate_meeting_summary or slingshot_generate_meeting_action_items, which spend AI credits and need the user's approval. Action item ids are what slingshot_create_tasks_from_action_items and slingshot_dismiss_meeting_action_item take. Needs the meeting content permission; without it the answer says how the user grants it. Read-only.

slingshot_get_meeting_transcript

ChatGPT
Returns one page of a Teams meeting's transcript: who spoke, how far into the meeting, and what they said. Use ONLY when the user explicitly asks for the transcript or for exact wording; for what a meeting was about, what was decided or what the user has to do, use slingshot_get_meeting_summary instead, which is far shorter. status says whether there is one: ready, pending (Teams is still producing it), notRecorded or unavailable. Every attendee who can open the meeting in Slingshot may read it. Needs the meeting content permission; without it the answer says how the user grants it. Read-only. Paged: max 100 entries per page, follow nextCursor for more.

slingshot_get_my_profile

ChatGPT
Returns the authenticated user's identity (id, name, email), their organization (top-level object with id and name — use this id as parentId for org-scoped operations like creating org-level custom fields or task types), and the workspaces and projects they belong to (each workspace also carries organizationId for redundancy). Use as a discovery starting point — call this when the user asks "who am I?", "what's my account?", "what workspaces do I have?", or before any flow that needs the user's id, organization, or first accessible workspace. Do NOT use to enumerate every workspace in the organization — only those the caller is a member of are returned (for org-wide listings use slingshot_list_workspaces). Do NOT use to verify the MCP connection is alive — use slingshot_check_service_status. Read-only. Live — no cache.

slingshot_get_project

ChatGPT
Returns full detail for one project: id, name, description, parent workspace ref, statusId, dates, taskListCount, discussionListCount, and a webUrl permalink. Use when the user names a specific project or you already have its id. Do NOT use to browse — use slingshot_list_projects. Do NOT use to list members — use slingshot_list_project_members. Read-only.

slingshot_get_server_version

ChatGPT
Returns the MCP server's assembly version. Use to confirm which build is running before reporting a bug.

slingshot_get_task

ChatGPT
Returns full details for a single task: id, name, description, status (plus statusName / statusCategory), priority, due date, start date, assignees, taskTypeId, custom fields, parent task ref, section, task list, project, workspace, subtaskCount, attachmentCount, messageCount, timeLoggedMinutes, predecessors, successors, createdBy, completedBy, and timestamps. archived: true marks a read-only task (it lives in an archived task list): do NOT attempt writes against it — they are refused until an owner unarchives it. Returns counts of subtasks, messages, and time logs — NOT their bodies. Use when the user names a single task or you already have its id. Do NOT use for browsing or filtering — use slingshot_list_tasks or slingshot_list_my_tasks. Do NOT use for the comment thread — use slingshot_list_task_messages. Read-only.

slingshot_get_task_focus_time

ChatGPT
Returns the focus blocks the user put on their calendar for one task (past and future), with the minutes scheduled in total, the minutes already elapsed, and the task's estimate when it has one. Use when the user asks how much time they set aside for a task or whether it is scheduled. Do NOT use to block time (use slingshot_create_focus_block). Needs focus time in the user's plan. Read-only.

slingshot_get_task_list

ChatGPT
Returns full detail for one task list: id, name, workspaceId, projectId (when nested under a project), defaultTaskTypeId, sectionCount, createdAt, modifiedAt. Use when the user names a specific task list or you already have its id. Do NOT use to browse — use slingshot_list_task_lists. Do NOT use to list the tasks inside — use slingshot_list_tasks with scope {type: 'task-list', id: taskListId}. Read-only.

slingshot_get_task_section

ChatGPT
Returns full detail for one task section: id, name, taskListId, workspaceId, defaultTaskTypeId (when set), taskCount, webUrl. Use when the user names a specific section or you already have its id. Do NOT use to browse sections in a list — use slingshot_list_task_sections. Do NOT use to list the tasks inside the section — use slingshot_list_tasks with scope {type: 'section', id: sectionId}. Read-only.

slingshot_get_task_type

ChatGPT
Returns full detail for one Task Type, including its full field list, the statuses its tasks can be in (statuses: id, name, category, including custom ones) and usage metrics (sections that default to it, sample tasks). Read-only.

slingshot_get_user

ChatGPT
Returns identity (id, name, email, gravatar-derived avatarUrl) for a specific user by id. Email is included for any user the caller can see — themselves or a member of their organization, the same visibility as the organization member list in the app. Use this tool when the user asks 'who is USR-…', 'who added this comment', or wants to look up a co-worker mentioned in a task. Do NOT use for the authenticated caller — use slingshot_get_my_profile (returns workspaces + projects too). Do NOT use to list workspace members — use slingshot_list_workspace_members. Read-only.

slingshot_get_workspace

ChatGPT
Returns full detail for one workspace by id: name, description, privacy, statusId, projectCount, taskListCount, createdAt, modifiedAt, and a webUrl permalink. Use when the user names a specific workspace or you already have its id. Do NOT use to browse the caller's workspaces — use slingshot_list_workspaces. Do NOT use to list members — use slingshot_list_workspace_members. Read-only.

slingshot_list_automation_runs

ChatGPT
Lists an automation's Run History, newest first: when each run started and ended, its status in the Run History's words (running, success, failed, noChange for No change, creditLimitReached for Credit limit reached), why it ended that way, the task or meeting it ran on, who set it off, and what went wrong on a failed run. Runs whose When matched but whose Check If did not hold are listed too, as conditionsNotMet; the app's Run History does not show those. Use to answer 'why did that not happen last Tuesday' (since and until around the day, or subjectId = the task) or 'is this automation failing'. Pass runId to read one run with what each action did (applied, alreadyHeld or declined, and why). Do NOT use to read the rule itself; use slingshot_get_automation. Read-only. Requires Automations in the user's plan. Errors are snippeted to 300 chars and each action's outcome is left out unless detailed=true. Max 100 results per page.

slingshot_list_automations

ChatGPT
Lists the automations the user can see, most recently changed first. Each row carries the automation's name, where it lives (a workspace, or the user's personal automations), whether it is Active or Paused, its When (trigger type), its health (working, broken or neverChecked) with the issue codes when broken, why Slingshot switched it off by itself if it did, its runs this month and when it last ran. Use when the user asks which automations they have, which are broken ('my broken automations': createdBy='me', health=['broken']), which are paused (active=false) or which ones a workspace runs (parentId = the workspace). Do NOT use to read one automation's Check If and Then in full; use slingshot_get_automation. Do NOT use to see what a run did; use slingshot_list_automation_runs. Personal automations are visible to their owner only. Read-only. Requires Automations in the user's plan. Returns compact rows by default; detailed=true returns each automation in full: its When, Check If, Then, Applied On, health with each issue and who created it. Max 100 results per page.

slingshot_list_calendar_connections

ChatGPT
Lists the calendar accounts the user connected to Slingshot (Microsoft today), each with its status: active, or needsReconnect when its sign-in stopped working and Slingshot can no longer read or write it until the user reconnects it in Slingshot. Use when the user asks which calendars are connected, when events look missing, or before writing to pick an account (canWrite). An empty list means no account is connected, which is not an error. Do NOT use to read events (use slingshot_list_calendar_events). Connecting or reconnecting an account is done by the user in Slingshot, never through this server. Read-only. detailed=true adds each account's calendars (id, name, isPrimary, canWrite).

slingshot_list_calendar_events

ChatGPT
Lists what is on the user's connected calendars between two instants: Outlook meetings and events, and focus blocks (time the user set aside in Slingshot for a task), recurring series expanded, sorted by start. Use when the user asks what their day or week looks like, which meetings they have, or when they are busy. Every event says its kind: meeting (other people invited, or an online meeting), event (only the user) or focusBlock (carries the taskId it is for). For 'my day', pass from = the start of the day and to = the start of the next day in the user's time zone, plus timeZone. IMPORTANT: when the answer says complete=false, part of the calendar could not be read, typically an account whose sign-in expired (needsReconnect); pass the warning on to the user and never describe missing events as free time or an empty day. Do NOT use for one event's attendees, body or meeting content (use slingshot_get_calendar_event), for other people's availability (use slingshot_get_calendar_availability) or for what was said in a meeting (use slingshot_get_meeting_summary). Read-only. The window is at most 62 days. Max 100 events per page. Compact by default; detailed=true adds attendees, organizer, body, ids that match the customer's own calendar data, and links.

slingshot_list_chat_members

ChatGPT
Lists everyone in a private chat, each with the message they last read. Every member is an owner, so there is no role to report. Read-only. Max 100 results per page.

slingshot_list_chat_messages

ChatGPT
Lists the messages of a private chat, newest first, including the rows the product writes itself when someone is added or the conversation is renamed. A deleted message keeps its place with empty text. Read-only. Max 100 results per page.

slingshot_list_chats

ChatGPT
Lists the private chats the user takes part in, most recent activity first. Each row says how many people are in the conversation and when it last had a message; detailed=true adds the members by name and the message the user last read. Read-only. Max 100 results per page.

slingshot_list_custom_fields

ChatGPT
Lists custom fields in a parent's library. Parent can be a workspace, project, or organization id. Each field includes id, name, fieldType, scope, and (when present) the options list and config bag. Read-only.

slingshot_list_dashboards

ChatGPT
Lists the dashboards shown in the Dashboards tab of a workspace or project, reading the dashboard list and sections the UI uses. Each item includes id, name, description, certification, creator, modifier, the parent, dashboard list and section. Required: parentId. Read-only.

slingshot_list_datasource_items

ChatGPT
Lists every catalog item in a workspace or project datasource repository (datasources, connections, item metadata). Required: parentId. Read-only.

slingshot_list_datasources

ChatGPT
Lists Reveal datasources (catalog items of itemType=DataSource) in a workspace or project repository. Required: parentId. Read-only.

slingshot_list_discussion_lists

ChatGPT
Lists discussion lists in a workspace, optionally narrowed to a project, or the organization discussion lists of an organization. Pass exactly one of workspaceId and organizationId. Read-only. Max 100 results per page.

slingshot_list_discussion_messages

ChatGPT
Lists messages in a discussion, newest-first. Each message includes id, text, sender, createdAt. Read-only. Max 100 per page.

slingshot_list_discussions

ChatGPT
Lists the discussions inside a discussion list, most recent activity first. Read-only. Max 100 results per page.

slingshot_list_goal_check_ins

ChatGPT
Lists a goal's check-ins, newest first: the date, the value recorded, the status it set, the note that explains it and who checked in. Use when the user asks how a goal got where it is, what was said at the last check-ins, or who has been checking in. Do NOT use to record progress — use slingshot_add_goal_check_in. For just the latest one, slingshot_get_goal already carries it. Only SMART goals and key results take check-ins. Read-only. Requires Goals in the user's plan. Notes are snippeted to 300 chars unless detailed=true. Max 100 results per page.

slingshot_list_goals

ChatGPT
Lists the goals the user can see: SMART goals, strategies, objectives and key results, most recently changed first. Each row carries the goal's type, status (notStarted, onTrack, atRisk, offTrack, completed, notAchieved), cycle, progress percent and whether a check-in is overdue. Use when the user asks what they are behind on ('my goals that are at risk': ownerId='me', status=['atRisk','offTrack']), how a workspace, project or quarter is doing (the goals set for Q2 2026: cycleYear=2026, cycleQuarter=2), or what key results an objective has (parentId = the objective). Do NOT use to read one goal in full — use slingshot_get_goal, which adds the target, the latest check-in and the AI progress summary. Do NOT use for the check-in history — use slingshot_list_goal_check_ins. A person's own goals are visible to that person only. Read-only. Requires Goals in the user's plan. Returns compact rows by default; detailed=true returns each goal as slingshot_get_goal does. Max 100 results per page.

slingshot_list_my_pins

ChatGPT
Lists items the user has pinned across all their workspaces and projects, plus their personal pins (no workspace) — quick-access bookmarks. Each pin has a type: url, file, dashboard, or document. Use when the user asks about their pins, bookmarks, favorites, or saved links. Read-only. Live — no cache. Default 50 results, max 100.

slingshot_list_my_tasks

ChatGPT
Lists tasks assigned to the authenticated user, with filters for status, priority, due window, and container. The single most-used discovery tool — call this when the user says "what's on my plate", "what do I have to do", "show me my tasks", "what's due this week", or asks about their own work. Tasks are returned overdue-first (oldest due date first), then upcoming by due date ascending, then tasks without a due date last. Do NOT use when the user names a workspace, project, list, or section to browse — use slingshot_list_tasks. Read-only. Live — no cache. Default 20 results per page, max 100.

slingshot_list_project_members

ChatGPT
Lists members of a project with their role, name, email and joinedAt date. Roles: owner, contributor, viewer. Read-only. Max 100 results per page.

slingshot_list_projects

ChatGPT
Lists projects the user has access to, optionally scoped to a workspace. Each project includes id, name, description, parent workspace id, and webUrl; detailed=true also adds taskListCount, discussionListCount, statusId, and timestamps. When workspaceId is omitted, results are aggregated across every workspace the caller belongs to (one round-trip per workspace), and cursor pagination is NOT supported — pass a workspaceId for paginated browsing. Use when the user asks about projects, sub-containers within a workspace, or wants to see project-level work. Use slingshot_list_workspaces first if the user has not specified a workspace. Do NOT use to fetch one project by id — use slingshot_get_project. Read-only. Live — no cache. Default 20 results per page, max 100.

slingshot_list_task_lists

ChatGPT
Lists task lists in a workspace (both workspace-level lists and lists nested in any project of that workspace). Read-only. Max 100 results per page.

slingshot_list_task_messages

ChatGPT
Lists messages in a task's activity feed, newest first. Returns both human-authored comments AND system activity entries (status changes, assignee changes, etc.) interleaved chronologically. Each entry has id, text, sender, and timestamp. Use when the user asks about comments, activity, discussion, history, or what people said on a task. Do NOT use to post a comment — use slingshot_post_task_message. Do NOT use to read only the count — slingshot_get_task returns messageCount. Read-only. Live — no cache. Default 20, max 50 results per page.

slingshot_list_task_sections

ChatGPT
Lists sections in a task list. Each section includes id, name, default Task Type id (if set) and a task count. Read-only.

slingshot_list_task_types

ChatGPT
Lists Task Types in a parent's library. Parent can be a workspace, project, or organization id. Each Task Type includes id, name, icon, color, scope, and the field references that make up its field set. Read-only.

slingshot_list_tasks

ChatGPT
Lists tasks within a specified container — section, task list, project, or workspace — with filters for status, priority, assignee, and due window. Use when the user names a workspace, project, list, or section to browse. Do NOT use when the user asks about their own tasks — use slingshot_list_my_tasks. Do NOT use to fetch one task by id — use slingshot_get_task. Do NOT use to list task lists or sections of a container — use slingshot_list_task_lists / slingshot_list_task_sections. Read-only. Live — no cache. Default 20 results per page, max 100.

slingshot_list_time_logs

ChatGPT
Lists the time entries logged on a task, oldest first. Each entry has timeLogId, the user the time is attributed to, durationSeconds, startDate and endDate, plus note when one was logged. Use when the user asks who logged time on a task, when, or how much, or before removing an entry: pass its timeLogId to slingshot_remove_time_log. Do NOT use for the total only — slingshot_get_task returns timeLoggedMinutes. Do NOT use to log time — use slingshot_add_time_log. Read-only. Live — no cache. Default 20, max 50 results per page.

slingshot_list_workspace_members

ChatGPT
Lists members of a workspace with their role, name, email and joinedAt date. Roles: owner, contributor, viewer. Read-only. Max 100 results per page.

slingshot_list_workspaces

ChatGPT
Lists workspaces the user belongs to. Each entry includes id, name, description, and webUrl in compact mode; detailed=true also adds projectCount, taskListCount, privacy, statusId, and timestamps. Use when the user asks about workspaces, top-level containers, or wants to see "where things live". Do NOT use to fetch one specific workspace by id — use slingshot_get_workspace. Do NOT use to list members of a workspace — use slingshot_list_workspace_members. Read-only. Live — no cache. Default 20 results per page, max 100.

slingshot_mark_chat_read

ChatGPT
Records how far the user has read in a private chat, clearing its unread badge the way opening the conversation does. MODIFIES DATA — two-step flow.

slingshot_open_chat

ChatGPT
Opens a private chat with the given users, or returns the existing one when a conversation with exactly those members is already there. MODIFIES DATA — two-step flow.

slingshot_post_discussion_message

ChatGPT
Posts a message to a discussion. MODIFIES DATA — two-step flow. NOT idempotent — confirming twice posts twice. Used for free-text posts visible to all discussion members.

slingshot_post_task_message

ChatGPT
Posts a comment to a task's activity feed. The comment is visible to all members with access to the task and is NOT editable or deletable through this surface (each call creates a new entry — calling twice creates two comments). MODIFIES DATA — two-step flow. Use when the user wants to comment on, reply to, or leave a note on a task. Do NOT use to set the task description (the body shown above the activity feed); use slingshot_update_task with the description field instead.

slingshot_propose_automation

ChatGPT
Turns what the user describes into an automation without writing anything: give the When, Check If and Then with fields, options and people by their names ('Status', 'Done', 'Ana Gomez') or ids, and get back the rule exactly as it would be stored (its name, the sentence the list shows, each part in the editor's words), resolved (each name and the id it matched), unresolved (each name it could not work out, with the candidates when there are several or none) and refusals (each rule the product would refuse, with the path of the part and a code). ready is true only when nothing is unresolved or refused; then request holds the exact parameters for slingshot_create_automation. Use first whenever the user asks for an automation in their own words, and show them the rule and every unresolved part before creating. Do NOT use to change an existing automation; use slingshot_update_automation. Lists, sections, projects, templates and discussions are not looked up by name: pass their ids. Read-only: changes nothing. Requires Automations in the user's plan, including the paid automations the app asks for before creating one.

slingshot_refresh_goal

ChatGPT
Re-reads the number of a goal measured from a dashboard widget or a data source, the way the product's refresh button does, and returns the goal as it stands afterwards with whether anything changed. MODIFIES DATA — two-step flow: the refresh can change the goal's progress and status. Use when the user asks for the latest number on a measured goal. Manually tracked goals, objectives and strategies cannot be refreshed: record a check-in with slingshot_add_goal_check_in instead. It does not regenerate the goal's AI progress summary. Requires Goals in the user's plan and read access to the goal.

slingshot_remove_project_member

ChatGPT
Removes a user from a project. MODIFIES DATA — two-step flow. The user loses access to the project and all nested task lists, tasks, and discussions. Their workspace-level access (if any) is unaffected. Authored content (tasks they created, comments they posted) is NOT deleted — the user can be re-added later via slingshot_add_project_member to restore access, though their original joinedAt and direct task-assignments are not restored. To temporarily change permissions use slingshot_set_project_member_role with role=viewer instead.

slingshot_remove_time_log

ChatGPT
PERMANENTLY removes a specific time log entry from a task. This action CANNOT be undone — the entry is gone. MODIFIES DATA — two-step flow. Use when the user wants to delete, remove, or undo a logged time entry. Identify the entry by its timeLogId (returned by slingshot_add_time_log and listed by slingshot_list_time_logs).

slingshot_remove_workspace_member

ChatGPT
Removes a user from a workspace. MODIFIES DATA — two-step flow. The user loses access to the workspace and all nested projects, lists, sections, and tasks. Authored content (tasks they created, comments they posted) is NOT deleted — the user can be re-added later via slingshot_add_workspace_member to restore access, though their original joinedAt and any direct task-assignments at the moment of removal are not restored. To temporarily change permissions use slingshot_set_workspace_member_role with role=viewer instead.

slingshot_respond_to_calendar_event

ChatGPT
Records the user's answer to an invitation in Outlook: accepted, tentative or declined, optionally with a comment to the organizer. Marked destructive because the answer emailed to the organizer cannot be recalled and a declined meeting leaves the user's calendar; nothing else is deleted. MODIFIES DATA — two-step flow, for every caller: the preview shows the current answer and the new one; call again with the token once the user approves. Use when the user wants to accept, decline or tentatively accept a meeting someone else organized. Do NOT use on a meeting the user organizes (organizer_cannot_respond; to call it off use slingshot_cancel_calendar_event) or to change the meeting itself (use slingshot_update_calendar_event).

slingshot_send_chat_message

ChatGPT
Sends a message to a private chat. MODIFIES DATA — two-step flow. NOT idempotent — confirming twice sends twice. Everyone in the conversation sees it immediately.

slingshot_set_automation_active

ChatGPT
Switches an automation on (Active) or off (Paused). Pausing keeps the automation whole, with its When, Check If and Then, and only stops it from running until it is switched back on: when the user says pause, stop, disable or turn off an automation, this is the tool, never a deletion (there is no delete tool). MODIFIES DATA — two-step flow: the preview shows the automation and the change; call again with the same parameters and the returned confirmationToken after the user explicitly approves. Switching off always works for anyone who can edit the automation, whatever the plan, the credits or its health. Switching on refuses a broken automation (subCode automation_broken): fix it first with slingshot_update_automation. Switching on also clears 'switched off by Slingshot'. Use when the user wants to pause, resume, enable or disable an automation. Do NOT use to change what it does; use slingshot_update_automation. Idempotent: switching to the state it is in changes nothing. If the automation is changed by anyone between the preview and the confirmation, the confirmation is refused (reason state_changed): preview again. Pausing on a plan without Automations cannot read the automation, so that pause is not checked for changes. Requires edit access to the automation; switching on also requires Automations in the user's plan, including the paid automations.

slingshot_set_project_member_role

ChatGPT
Changes an existing member's role in the project. MODIFIES DATA — two-step flow. Roles: owner, contributor, viewer. Use this NOT remove+add — preserves activity history. To take a member out of the project use remove_project_member instead.

slingshot_set_workspace_member_role

ChatGPT
Changes an existing member's role in the workspace. MODIFIES DATA — two-step flow. Roles: owner, contributor, viewer. Use this NOT remove+add — preserves activity history. To take a member out of the workspace use remove_workspace_member instead.

slingshot_update_automation

ChatGPT
Changes an automation's name, sentence, Applied On, When, Check If or Then. Send only the parts that change; the others stay as they are. Its location (workspace or personal) cannot change. Marked destructive because actions REPLACES the whole Then list and conditions the whole Check If: send the complete list you want, in the order it should run; an action sent with its id (from slingshot_get_automation) stays that action, one without an id is new, and every current action left out is removed. MODIFIES DATA — two-step flow: the preview checks the result as the product would and shows each change as current → new as it will be stored, the complete resulting list of actions and the actions removed; call again with the same parameters and the returned confirmationToken after the user explicitly approves. A change the product refuses comes back as VALIDATION_ERROR with a subCode and the path of each part, and no token. If the automation is changed by anyone between the preview and the confirmation, the confirmation is refused (reason state_changed): preview again. Every field, option, person, list, section and template is an id (slingshot_propose_automation resolves names, slingshot_get_automation_capabilities lists them). Use when the user wants to rename an automation, change what sets it off, what it checks or what it does. Do NOT use to pause or switch it on; use slingshot_set_automation_active. Do NOT use to create one; use slingshot_create_automation. Requires edit access to the automation and Automations in the user's plan, including the paid automations.

slingshot_update_calendar_event

ChatGPT
Changes an Outlook event the user organizes: only the fields passed change. Marked destructive because every attendee is sent the change at once and it cannot be recalled, and attendees passed here replace the whole list (people left out are removed and notified); nothing is deleted. MODIFIES DATA — two-step flow, for every caller: the preview shows each change (current → new); call again with the token once the user approves. On a recurring event, scope picks this occurrence or the whole series. Use when the user wants to move, rename, reschedule or re-invite. Do NOT use to cancel (use slingshot_cancel_calendar_event), to answer an invitation (use slingshot_respond_to_calendar_event) or to move a focus block (use slingshot_update_focus_block). Only the organizer may change an event (not_organizer otherwise). Pass the etag read from slingshot_get_calendar_event to refuse the change if the event changed in Outlook since (event_changed).

slingshot_update_calendar_settings

ChatGPT
Changes the user's My Calendar settings, the ones the gear on Slingshot's calendar shows: the working day, the Default duration of a new event or focus block, the day the week starts on, and the focus-time switches. MODIFIES DATA — two-step flow: the preview shows each setting's current and new value; call again with the token once the user approves. Only the settings passed change; resetToDefault puts the named ones back to their default. Use when the user wants to change their working hours, how long new events or focus blocks last, or how focus blocks show on their calendar. Do NOT use to read the settings (use slingshot_get_calendar_settings) or to move a block (use slingshot_update_focus_block). The working day is wall-clock time in the user's time zone, on 5-minute steps, and ends after it starts; the Default duration is 15, 30, 45, 60 or 90 minutes. The focus-time switches need focus time in the user's plan.

slingshot_update_custom_field

ChatGPT
Patches a custom field. MODIFIES DATA — two-step flow. Send only the fields you want to change. options when sent fully REPLACE the existing list; config keys merge (only provided keys change). The hard-delete path is a separate tool (slingshot_delete_custom_field) — irreversible.

slingshot_update_dashboard

ChatGPT
Patches dashboard fields. MODIFIES DATA — two-step flow. Send only the fields you want to change; omitted fields are left as-is. Required: dashboardId. Any of: name, description.

slingshot_update_discussion

ChatGPT
Patches discussion fields. MODIFIES DATA — two-step flow. Currently only name can be changed.

slingshot_update_discussion_list

ChatGPT
Patches discussion list fields. MODIFIES DATA — two-step flow. Currently only name can be changed.

slingshot_update_focus_block

ChatGPT
Moves or resizes one of the user's focus blocks: pass a new start, a new end, or both. MODIFIES DATA — two-step flow: the preview shows the current time and the new one; call again with the token once the user approves. Use when the user wants to move, shorten or extend time set aside for a task. Do NOT use on a meeting or an event (use slingshot_update_calendar_event) or to remove the block (use slingshot_delete_focus_block). Needs focus time in the user's plan.

slingshot_update_goal

ChatGPT
Changes a goal's name, description, cycle, target, check-in schedule or owners, re-aligns it (moves a key result to another objective, or a SMART goal or objective under another strategy or out of it with removeFromParentGoal=true), or moves it to another location (locationId: the top level of another workspace, the organization or the user's own goals, never a project; a key result moves with its objective; the goal leaves its strategy and everything under it moves with it). MODIFIES DATA — two-step flow: the preview shows each change as current → new, and where a moved goal goes. Send only what changes; omitted fields stay as they are. Its type cannot change. Use when the user wants to rename a goal, raise a target, push it to next quarter, hand it to someone else or move it to another workspace. Do NOT use to record progress or change the status — the status follows check-ins; use slingshot_add_goal_check_in. Do NOT use to create — use slingshot_create_goal. Requires Goals in the user's plan and edit access to the goal.

slingshot_update_project

ChatGPT
Patches project fields. MODIFIES DATA — two-step flow. Send only the fields you want to change; omitted fields are left as-is. Use when the user wants to rename a project, adjust dates, or change its status. Cannot move a project to a different workspace (workspaceId is immutable). Do NOT use to change a member's role — use slingshot_set_project_member_role. Required: projectId. Any of: name, description, startDate, endDate, statusId.

slingshot_update_task

ChatGPT
Updates fields on an existing task. MODIFIES DATA — two-step flow: first call without confirmationToken to preview the diff (each changed field shown current → new), then call again with the returned confirmationToken after the user explicitly approves. Use when the user wants to change ANY task field — name, description, status, priority, due date, start date, task type, assignees, custom fields, or move between sections. Use slingshot_update_task with statusId=status_completed to mark a task done; do NOT use slingshot_delete_task for that. Setting a field to its current value is allowed and is a no-op. Only the fields explicitly provided are changed; omitted fields keep current values.

slingshot_update_task_list

ChatGPT
Patches task list fields: name and/or defaultTaskTypeId — the default Task Type new tasks in the list inherit. This is the only writable home of the default; sections do not accept it. MODIFIES DATA — two-step flow.

slingshot_update_task_section

ChatGPT
Patches section fields (today: name only). MODIFIES DATA — two-step flow. Send only the fields you want to change. The default Task Type new tasks inherit is a task-list setting — set or clear it via slingshot_update_task_list, not here.

slingshot_update_task_type

ChatGPT
Patches a Task Type. MODIFIES DATA — two-step flow. Send only the fields you want to change. fieldIds (when sent) fully REPLACES the field list.

slingshot_update_workspace

ChatGPT
Patches workspace fields. MODIFIES DATA — two-step flow. Send only the fields you want to change; omitted fields are left as-is. Cannot move a workspace to a different organization (organizationId is immutable). Do NOT use to change a member's role — use slingshot_set_workspace_member_role. Required: workspaceId. Any of: name, description, privacy, startDate, endDate, statusId.

slingshot_add_project_member

Claude

slingshot_add_time_log

Claude

slingshot_add_workspace_member

Claude

slingshot_check_service_status

Claude

slingshot_create_custom_field

Claude

slingshot_create_dashboard

Claude

slingshot_create_discussion

Claude

slingshot_create_project

Claude

slingshot_create_task

Claude

slingshot_create_task_list

Claude

slingshot_create_task_section

Claude

slingshot_create_task_type

Claude

slingshot_create_workspace

Claude

slingshot_delete_custom_field

Claude

slingshot_delete_dashboard

Claude

slingshot_delete_discussion

Claude

slingshot_delete_project

Claude

slingshot_delete_task

Claude

slingshot_delete_task_list

Claude

slingshot_delete_workspace

Claude

slingshot_get_custom_field

Claude

slingshot_get_dashboard

Claude

slingshot_get_datasource

Claude

slingshot_get_datasource_item

Claude

slingshot_get_discussion

Claude

slingshot_get_my_profile

Claude

slingshot_get_project

Claude

slingshot_get_server_version

Claude

slingshot_get_task

Claude

slingshot_get_task_list

Claude

slingshot_get_task_section

Claude

slingshot_get_task_type

Claude

slingshot_get_user

Claude

slingshot_get_workspace

Claude

slingshot_list_custom_fields

Claude

slingshot_list_dashboards

Claude

slingshot_list_datasource_items

Claude

slingshot_list_datasources

Claude

slingshot_list_discussion_messages

Claude

slingshot_list_discussions

Claude

slingshot_list_my_pins

Claude

slingshot_list_my_tasks

Claude

slingshot_list_project_members

Claude

slingshot_list_projects

Claude

slingshot_list_task_lists

Claude

slingshot_list_task_messages

Claude

slingshot_list_task_sections

Claude

slingshot_list_task_types

Claude

slingshot_list_tasks

Claude

slingshot_list_workspace_members

Claude

slingshot_list_workspaces

Claude

slingshot_post_discussion_message

Claude

slingshot_post_task_message

Claude

slingshot_remove_project_member

Claude

slingshot_remove_time_log

Claude

slingshot_remove_workspace_member

Claude

slingshot_set_project_member_role

Claude

slingshot_set_workspace_member_role

Claude

slingshot_update_custom_field

Claude

slingshot_update_dashboard

Claude

slingshot_update_discussion

Claude

slingshot_update_project

Claude

slingshot_update_task

Claude

slingshot_update_task_list

Claude

slingshot_update_task_section

Claude

slingshot_update_task_type

Claude

slingshot_update_workspace

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps