> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Smartsheet

**Authentication:** OAuth or personal access token. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List rows in the `Q2 Roadmap` sheet where status is `At risk` and the due date is within 7 days.
* Add a row to the `Intake` sheet for each new ticket from this morning.
* Pull the rollup of completed tasks per workstream for last week.

## Available Tools

#### list_attachments

List all attachments on a sheet with pagination. Includes file attachments and URL links.

#### attach_url

Attach a URL to a sheet. Supported types: LINK, BOX_COM, DROPBOX, EGNYTE, EVERNOTE, GOOGLE_DRIVE, ONEDRIVE.

#### get_attachment

Get attachment details including download URL for file attachments. Use list_attachments to find IDs.

#### delete_attachment

Delete an attachment from a sheet. This cannot be undone. Use list_attachments to find IDs.

#### list_columns

List all columns in a sheet with pagination. Returns column IDs, titles, types, and indices.

#### add_column

Add a column to a sheet. Specify title, type, and optional index for position. Use PICKLIST type with options for...

#### get_column

Get a single column by ID. Returns column title, type, options, and other properties.

#### update_column

Update a column's title, type, or position. Use list_columns to find column IDs.

#### delete_column

Delete a column from a sheet. This cannot be undone. Cannot delete the primary column.

#### list_discussions

List all discussions on a sheet with pagination. Includes discussion titles and comment counts.

#### create_discussion

Create a discussion on a sheet with an initial comment. Optionally provide a title.

#### create_row_discussion

Create a discussion on a specific row with an initial comment. Use get_sheet to find row IDs.

#### get_discussion

Get a discussion with all its comments. Use list_discussions to find valid discussion IDs.

#### delete_discussion

Delete a discussion and all its comments. This cannot be undone.

#### add_comment

Add a comment to an existing discussion. Use list_discussions to find discussion IDs.

#### update_comment

Update a comment's text. Use get_discussion to find comment IDs.

#### delete_comment

Delete a comment. This cannot be undone. Use get_discussion to find comment IDs.

#### list_home_folders

List folders at the home level with pagination. Does not include workspace folders.

#### create_folder

Create a folder at home, inside another folder, or in a workspace. Set parent_folder_id for subfolder, workspace_id for...

#### get_folder

Get a folder with its contents (sheets, subfolders, reports). Use list_home_folders to find valid IDs.

#### update_folder

Update a folder name. Use list_home_folders or get_workspace to find folder IDs.

#### delete_folder

Permanently delete a folder and all its contents. This cannot be undone.

#### list_groups

List all groups in the organization with pagination. Groups can be used for sharing sheets.

#### create_group

Create a new group with optional description and initial members (by email). Requires admin privileges.

#### get_group

Get a group with its members. Use list_groups to find valid group IDs.

#### update_group

Update a group's name or description. Use list_groups to find valid group IDs.

#### delete_group

Delete a group. This cannot be undone. Members are not deleted.

#### add_group_members

Add members to a group by email address. Use get_group to see current members.

#### remove_group_member

Remove a member from a group by user ID. Use get_group to find member user IDs.

#### list_reports

List all reports accessible to the user with pagination. Reports aggregate data from multiple sheets.

#### add_rows

Add rows to a sheet. Each row has cells with column_id and value. Use to_top/to_bottom/parent_id/sibling_id for...

#### get_row

Get a single row from a sheet by row ID. Use include parameter for additional data like discussions and attachments.

#### update_rows

Update existing rows in a sheet. Each row must have id and cells to update. Can also reposition rows with...

#### delete_rows

Delete rows from a sheet by row IDs. This cannot be undone.

#### move_rows

Move rows from one sheet to another. Rows are removed from the source sheet. Use list_sheets to find sheet IDs.

#### copy_rows

Copy rows from one sheet to another. Original rows remain in the source sheet. Use list_sheets to find sheet IDs.

#### search

Search across all sheets, rows, and other objects. Returns matching items with context data and parent references.

#### search_sheet

Search within a specific sheet. Returns matching rows and cells with context. Use list_sheets to find sheet IDs.

#### list_sheet_shares

List all shares on a sheet with pagination. Shows who has access and their access level.

#### share_sheet

Share a sheet with users by email. Set access_level to VIEWER, EDITOR, EDITOR_SHARE, ADMIN, or OWNER.

#### update_share

Update a share's access level. Use list_sheet_shares to find share IDs.

#### delete_share

Remove a share from a sheet. The user will lose access. Use list_sheet_shares to find share IDs.

#### list_sheets

List all sheets accessible to the user with pagination. Use page and page_size to navigate results.

#### create_sheet

Create a new sheet with specified columns. At least one column must have primary=true. Use TEXT_NUMBER type for general...

#### get_sheet

Get a sheet with its columns and rows. Use include parameter for attachments, discussions, etc. Supports pagination for...

#### update_sheet

Update sheet properties like name. Use list_sheets to find valid sheet IDs.

#### delete_sheet

Permanently delete a sheet. This cannot be undone. Use list_sheets to find valid sheet IDs.

#### copy_sheet

Copy a sheet to home, a workspace, or a folder. Specify destination_type and destination_id for non-home destinations.

#### sort_sheet

Sort a sheet by one or more columns. Each criterion needs column_id and direction (ASCENDING or DESCENDING).

#### get_current_user

Get the current authenticated user's profile including email, name, locale, and account info.

#### list_users

List all users in the organization with pagination. Requires admin privileges.

#### get_user

Get a user by ID. Requires admin privileges. Use list_users to find valid user IDs.

#### list_webhooks

List all webhooks for the authenticated user with pagination.

#### create_webhook

Create a webhook to receive callbacks when a sheet changes. Use '*.*' for events to subscribe to all events.

#### get_webhook

Get a webhook's details including status, events, and callback URL. Use list_webhooks to find valid IDs.

#### update_webhook

Update a webhook's enabled status or event subscriptions. Use list_webhooks to find valid IDs.

#### delete_webhook

Delete a webhook. It will stop receiving callbacks. This cannot be undone.

#### list_workspaces

List all workspaces with pagination. Returns workspace IDs, names, and access levels.

#### create_workspace

Create a new workspace. Workspaces organize sheets, reports, and dashboards.

#### get_workspace

Get a workspace with its contents (sheets, folders, reports, dashboards). Use list_workspaces to find valid IDs.

#### update_workspace

Update a workspace name. Use list_workspaces to find valid IDs.

#### delete_workspace

Permanently delete a workspace and all its contents. This cannot be undone.