Connect Your AI Agent with Smartsheet for Slack

Integrate Smartsheet MCP server into your Slack workspace for instant access to your AI agent.

Back to MCP Servers
Smartsheet
Smartsheet
Dynamic work & collaboration software

Categories

Productivity

Available Tools

Tools that your AI agent can use through this MCP server to interact with Smartsheet

Update Sheet

Rename an existing sheet, leaving its rows, columns, attachments, and sharing untouched. Only the properties you supply are changed, and at least one must be supplied. Returns the updated sheet under result. To change a sheet's location instead, use Move Sheet; to change its columns, use Update Column. Use Search or List Sheets to find the sheet ID first. See the documentation

Update Row

Update one or more rows in a sheet by row ID, addressing cells by column NAME rather than column ID. Returns the updated rows under result. Call Get Sheet to find row IDs and column names first. To add new rows instead of changing existing ones, use Add Row to Sheet. See the documentation

Update Comment

Updates the text of an existing comment on a Smartsheet sheet (PUT /sheets/{sheetId}/comments/{commentId}). Use Get Discussion to find a Comment ID. See the documentation.

Update Column

Update a column's title, type, or position in a sheet. Use List Columns to find the column ID and current properties before updating. Note: some type conversions may cause data loss. See the documentation

Search

Full-text search across everything the account can see, or within a single sheet. This is the fastest way to find a sheet by name: results include whole objects, not just cell contents - each result carries an objectType of sheet, row, folder, workspace, report, template, attachment, discussion, sight or summaryField, and its objectId is that object's ID. So a result with objectType: "sheet" gives you the sheet ID directly in one call. Prefer this over List Sheets when you know part of a name; use List Sheets to enumerate everything or when you need each sheet's permalink. Searching by a sheet URL does not work - the URL token is not indexed text; pass the URL to Get Sheet instead, which resolves it for you. See the documentation

New Sheet From Template

Creates a new sheet from a template. Requires either a workspace or folder destination. Use List Workspace Templates to find template IDs. Use List Workspace Options to find workspace IDs. Use List Folder Options to find folder IDs. See the documentation: Create in folder, Create in workspace

Move Sheet

Move a sheet to a different workspace, folder, or home. The sheet is removed from its current location. Use List Sheets to find the sheet ID. To copy a sheet instead (keeping the original), use Copy Sheet. See the documentation

Move Rows

Move rows from one sheet to another. WARNING: the rows are permanently removed from the source sheet. Cell values and formatting always come across; attachments and comments only if you ask for them via Include. Columns the destination sheet is missing are created automatically, so it does not have to match the source first. Returns rowMappings pairing each source row ID with its new ID in the destination. To keep the originals, use Copy Rows. See the documentation

List Workspace Templates

Lists the templates available across your workspaces, returning each template ID, name, and workspace. Use this to find a template ID for New Sheet From Template. When no workspace is set, a workspace that fails to traverse is skipped rather than failing the call, so a successful response can be incomplete. See the documentation

List Workspace Options

Retrieves { label, value } pairs for populating a Workspace dropdown, following token-based pagination to the end. This is a form helper, not a Smartsheet capability: it returns only workspace names and IDs. Use the workspace IDs it returns with Create Sheet, Import Sheet, Copy Sheet, Move Sheet, or with List Folder Options to drill into a workspace's folders. See the documentation

List Template ID Options

Retrieves { label, value } pairs for populating a Template dropdown, across every workspace. This is a form helper, not a Smartsheet capability: each label is template name (workspace name) and each value is the template ID. Prefer List Workspace Templates, which returns the same templates with their workspace context. Note this walks every workspace's children, so it is slow on large accounts, and a workspace that fails to traverse is skipped rather than failing the call - a successful response can be incomplete. See the documentation

List Sheets

List all sheets the authenticated user can access, with name, ID, creation/modification dates, owner, and permalink. Always returns the complete list in a single call (no pagination to manage). Use this to find sheet IDs before calling Get Sheet, Add Row to Sheet, Update Row, Delete Rows, Copy Sheet, or Move Sheet. To search sheets by content rather than listing them, use Search instead. Example: {modifiedSince: "2024-01-01T00:00:00Z"} returns only sheets modified since that date, e.g. {"data": [{"id": "1234567890123456", "name": "Jurassic Park Operations", ...}]}. See the documentation

List Sheet Options

Retrieves a single page of label/value pairs used to populate a Sheet dropdown field. This is a form helper, not a Smartsheet capability: it returns only names and IDs, one page at a time. Prefer List Sheets, which returns the same sheets with full metadata (owner, permalink, modified date) and can fetch them all at once, or Search to find a sheet by name. See the documentation

List Folder Options

Retrieves { label, value } pairs for populating a Folder dropdown, for one workspace. This is a form helper, not a Smartsheet capability: it returns only folder names and IDs. Requires a Workspace ID - use List Workspace Options to find one first. Use the folder IDs it returns with Create Sheet, Import Sheet, Copy Sheet or Move Sheet. See the documentation

List Discussions

Lists discussions on a Smartsheet sheet (GET /sheets/{sheetId}/discussions). If a Row ID is supplied, lists discussions scoped to that row instead (GET /sheets/{sheetId}/rows/{rowId}/discussions), since the sheet-level endpoint does not accept a row filter. Supports pagination and optional inclusion of comments/attachments. The response includes pageNumber and totalPages — to fetch more, call again with page incremented by 1 while pageNumber is less than totalPages. Requesting a page beyond totalPages returns the last page again rather than an empty result, so do not use a shorter or empty page as a stop signal. Pass fields (comma-separated, e.g. id,title,commentCount) to get back only those top-level fields per discussion instead of the full object — useful when you just need titles/counts, not full comment threads. Use List Sheets to find a Sheet ID. Example: {sheetId: "1234567890123456", include: ["comments"]} returns discussions with their full comment threads embedded. See the documentation.

List Columns

List all columns in a sheet, returning each column's ID, title, type, options (for PICKLIST/CONTACT_LIST), validation, and position index. This is lighter-weight than Get Sheet when you only need the column schema and not row data. Use this before Add Row to Sheet or Update Row to discover column names and types. For full sheet data including rows, use Get Sheet instead. See the documentation

Import Sheet

Import a CSV or XLSX file as a brand new Smartsheet sheet inside a workspace or a folder. Returns the new sheet under result, including its ID and permalink. To create a sheet by defining columns yourself instead, use Create Sheet. See the documentation

Get Sheet

Get a sheet's full structure: column definitions (name, type, options, ID), all rows with cell values, and sheet metadata. This is the primary schema discovery tool - call it BEFORE Add Row to Sheet or Update Row to learn column names, types, and IDs. Returns rows with cell values keyed by column name for readability. For a lightweight column-only view, use List Columns instead. See the documentation

Get Row

Retrieve a single row from a sheet by row ID, with cell values keyed by column name instead of column ID. Returns a human-readable object like {"Species": "Velociraptor", "Status": "Monitoring"} plus row metadata. When a cell has a displayValue (formatted date, contact name), that is returned instead of the raw value. Use Get Sheet or Search to find row IDs. To update a row after reading it, use Update Row. See the documentation

Get Discussion

Retrieves a single discussion from a Smartsheet sheet, including its embedded comments array (requested via include=comments). Use List Discussions to find a Discussion ID. Example: {sheetId: "1234567890123456", discussionId: "3728427551461252"} returns {"title": "Velociraptor containment breach", "comments": [{"id": ..., "text": "..."}]}. See the documentation.

Get Current User

Get the authenticated user's identity - returns user ID, email, first/last name, and account details. Use this when the user says 'my sheets' or 'my account' to identify the owner. See the documentation

Get Comment

Retrieves a single comment from a Smartsheet sheet (GET /sheets/{sheetId}/comments/{commentId}), returning fields such as text, createdAt, and createdBy. Use List Discussions or Get Discussion to find a Comment ID. Example: {sheetId: "1234567890123456", commentId: "4068136276365188"} returns {"text": "Security team has been notified", "createdBy": {"name": "..."}, "createdAt": "..."}. See the documentation.

Email Sheet

Send a sheet as an email attachment to one or more recipients. The sheet can be sent as PDF, Excel, or PDF Gantt format. Use List Sheets to find the sheet ID. See the documentation

Delete Sheet

Permanently delete a sheet. This is irreversible - all data, rows, and columns are destroyed. Use List Sheets to find the sheet ID first. See the documentation

Delete Rows

Delete one or more rows from a sheet by row ID. This is permanent and cannot be undone. Use Get Sheet or Search to find row IDs first. See the documentation

Delete Discussion

Permanently deletes a discussion (and its comments) from a Smartsheet sheet. This action is irreversible. Use List Discussions to find a Discussion ID. Example: {sheetId: "1234567890123456", discussionId: "3728427551461252"} deletes that discussion (and all its comments) and returns a confirmation. See the documentation.

Delete Comment

Permanently deletes a comment from a Smartsheet sheet (DELETE /sheets/{sheetId}/comments/{commentId}). This action is irreversible. Use Get Discussion to find a Comment ID. Example: {sheetId: "1234567890123456", commentId: "4068136276365188"} deletes that comment and returns a confirmation. See the documentation.

Delete Column

Permanently delete a column from a sheet. WARNING: This is irreversible - all cell data in the column is permanently destroyed. Use List Columns to find the column ID before deleting. Consider using Get Sheet to review the column's data before deletion. See the documentation

Create Sheet

Create a new blank sheet with its column schema defined up front, inside a workspace or a folder. Returns the new sheet under result, including its ID and permalink. To create a sheet from an existing template instead of defining columns, use New Sheet From Template. To load a sheet from a CSV or XLSX file, use Import Sheet. See the documentation

Create Discussion

Creates a discussion on a Smartsheet sheet. If a Row ID is provided the discussion is attached to that row (POST /sheets/{sheetId}/rows/{rowId}/discussions); otherwise it is created at the sheet level (POST /sheets/{sheetId}/discussions). Use List Sheets to find a Sheet ID, and Get Sheet or Search to find a Row ID. The discussion title is auto-generated by Smartsheet from the first 100 characters of the initial comment and cannot be set directly. See the documentation.

Copy Sheet

Copy an existing sheet to a new location. Creates a complete duplicate including all rows, columns, formatting, and attachments. Specify a destination workspace or folder, or omit both to copy to the user's home (Sheets folder). Returns the new sheet's ID and permalink. Use List Sheets to find the source sheet ID. To move a sheet instead (removing it from the original location), use Move Sheet. See the documentation

Copy Rows

Copy rows from one sheet to another. The rows stay in the source sheet and are duplicated in the destination. Cell values and formatting always come across; attachments and comments only if you ask for them via Include. Columns the destination sheet is missing are created automatically, so it does not have to match the source first. Returns rowMappings pairing each source row ID with its new ID in the destination. To move rows instead, removing them from the source, use Move Rows. See the documentation

Add Row to Sheet

Add one or more rows to a sheet, addressing cells by column NAME rather than column ID. Returns the created rows under result, each with its new row ID. Call Get Sheet or List Columns first to learn the column names. To change rows that already exist, use Update Row. See the documentation

Add Comment

Adds a comment to an existing discussion on a Smartsheet sheet (POST /sheets/{sheetId}/discussions/{discussionId}/comments). Use List Discussions to find a Discussion ID. See the documentation.

Add Column

Add a single column to an existing sheet, at the end or at a chosen position. Returns the created column under result, including its ID. Use List Columns to see the existing columns and their positions first. To change a column that already exists, use Update Column. See the documentation