Chat
Every Chat tool, with the scope it needs, its arguments and the API operation it calls.
44 tools
Finalize chat attachment uploads
Changes dataatlas_chat_attachment_uploads_finalize
Confirm that the bytes for a chat attachment upload have been sent. For a multipart upload, pass the uploadId and every part with its ETag. The API checks the stored file against the size and type given. Returns the attachment, ready to attach to a message. Only the person who started the upload may finalize it.
- Scope
chat:write- Calls
- Example prompt
- Finish the upload of the PDF I just sent.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
attachmentId | string | Yes | The attachment id. |
actualSizeBytes | integer | Yes | The size in bytes of the file you uploaded. |
actualContentType | string | Yes | The MIME type of the file you uploaded. |
uploadId | string | No | For a multipart upload, the uploadId the start step returned. Omit for a single upload. |
parts | array of object | No | For a multipart upload, every part you uploaded with its ETag. Omit for a single upload. |
Start chat attachment uploads
Changes dataatlas_chat_attachment_uploads_start
Start uploading a file to a chat channel. Returns the new attachment id and where to send the bytes: one presigned PUT URL with the headers to send, or for a large file an uploadId and one presigned URL per part. Put the bytes there, then call atlas_chat_attachment_uploads_finalize, then send a message with the attachment id to share it. The workspace must allow chat attachments, and guests cannot upload.
- Scope
chat:write- Calls
- Example prompt
- Upload this PDF to #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
filename | string | Yes | The file name, as people will see it. |
contentType | string | Yes | The MIME type of the file, for example application/pdf. |
sizeBytes | integer | Yes | The exact size of the file in bytes. |
Delete chat attachments
Destructiveatlas_chat_attachments_delete
Delete a file shared in a chat channel. It disappears from the channel and its message for every member. Returns an empty result on success. Only the uploader or a workspace administrator may delete it.
- Scope
chat:write- Calls
- Example prompt
- Delete the screenshot I shared in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
attachmentId | string | Yes | The attachment id. |
Download chat attachments
Read onlyatlas_chat_attachments_download
Get a link to download a file shared in a chat channel, or its thumbnail or preview. Returns a short-lived signed URL and the time it expires; fetch the file from that URL. Returns only what the token owner can see, which the API enforces: a channel you are not a member of, or a file still uploading, is refused.
- Scope
chat:read- Calls
- Example prompt
- Get me a download link for the budget spreadsheet in #finance.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
attachmentId | string | Yes | The attachment id. |
variant | "original" | "thumbnail" | "preview" | No | Which file to fetch: the original (the default), its thumbnail, or its preview. |
List chat attachments
Read onlyatlas_chat_attachments_list
List the files shared in a chat channel, newest first, up to 200. Returns each file name, type, size, uploader, the message it belongs to, and whether a thumbnail or preview exists. Returns only what the token owner can see, which the API enforces: a channel you are not a member of is refused.
- Scope
chat:read- Calls
- Example prompt
- What files have been shared in #launch?
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
Add chat channel members
Changes dataatlas_chat_channel_members_add
Add one or more workspace users to a chat channel by user id. Any member may add people to a public channel; a private channel needs its owner or a workspace administrator, and a direct message cannot take new members. Returns the number of user ids added.
- Scope
chat:write- Calls
- Example prompt
- Add Priya and Tom to #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
userIds | array of string | Yes | The user ids to add, between 1 and 500. |
List chat channel members
Read onlyatlas_chat_channel_members_list
List the members of a chat channel with their role (OWNER or MEMBER) and when they joined. Use it to see who will read a message before you post. Returns members only for a channel the token owner belongs to; any other channel is refused.
- Scope
chat:read- Calls
- Example prompt
- Who is in the #launch channel?
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
Create chat channels
Changes dataatlas_chat_channels_create
Create a workspace- or project-scoped chat channel with a name and optional topic, description, privacy flag, and seed members. Project-scoped channels require a projectId. Idempotent per MCP call.
- Scope
chat:write- Calls
- Example prompt
- Create a private #launch-war-room channel for the Mobile project.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
scope | "WORKSPACE" | "PROJECT" | No | |
name | string | Yes | |
topic | string | No | |
description | string | No | |
projectId | string | No | |
isPrivate | boolean | No | |
memberUserIds | array of string | No |
Get chat channels
Read onlyatlas_chat_channels_get
Return one caller-visible chat channel by id, including scope, name, topic, privacy, archive state, and membership summary.
- Scope
chat:read- Calls
- Example prompt
- Show me the details of the #general channel.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes |
Join chat channels
Changes dataatlas_chat_channels_join
Join a public workspace or project channel as the token owner, so its messages appear in your channel list. Private channels and direct messages cannot be joined this way; a member must add you. Returns the channel you joined.
- Scope
chat:write- Calls
- Example prompt
- Join the #design-reviews channel.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
Leave chat channels
Changes dataatlas_chat_channels_leave
Leave a chat channel as the token owner. You stop receiving its messages and need to rejoin, or be added again for a private channel, to read it. Returns an empty result on success.
- Scope
chat:write- Calls
- Example prompt
- Leave the #random channel.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
List chat channels
Read onlyatlas_chat_channels_list
List the caller-visible chat channels, optionally narrowed by scope (WORKSPACE/PROJECT/DM), project id, or to include archived channels. Returns channel rows with membership + unread metadata so an MCP host can pick where to read or post.
- Scope
chat:read- Calls
- Example prompt
- List my Atlas chat channels with unread messages.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
scope | "WORKSPACE" | "PROJECT" | "DM" | No | |
projectId | string | No | |
includeArchived | boolean | No |
Mark chat channels read
Changes dataatlas_chat_channels_read_mark
Mark a chat channel as read for the token owner, up to a given message or moment, or up to now when neither is given. This clears your unread count and changes nothing for anyone else. Returns the time your read marker now stands at.
- Scope
chat:write- Calls
- Example prompt
- Mark #general as read.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
messageId | string | No | The last message you have seen. Omit both this and at to mark everything read now. |
at | string (date-time) | No | The moment you read up to, as an ISO 8601 timestamp. |
Update chat channels
Changes dataatlas_chat_channels_update
Change a chat channel: rename it, set or clear its topic and description, make it private or public, or archive and unarchive it. Send only the fields to change. Returns the updated channel. Only a channel owner or a workspace administrator may change a channel, and a direct message cannot be changed.
- Scope
chat:write- Calls
- Example prompt
- Set the topic of #launch to \"Ship date is 14 October\".
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
name | string | No | The new channel name. |
topic | string | null | No | The new one-line topic. Pass null to clear it. |
description | string | null | No | The new longer description. Pass null to clear it. |
isPrivate | boolean | No | True to make the channel private, false to make it visible to the workspace. |
archived | boolean | No | True to archive the channel, false to bring it back. |
Start chat DMs
Changes dataatlas_chat_dms_start
Open (or return the existing) direct-message channel with the given user ids. One id opens a 1:1 DM; multiple ids open a group DM. Idempotent per MCP call.
- Scope
chat:write- Calls
- Example prompt
- Start a DM with Priya and Sam.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
userIds | array of string | Yes |
Get chat doc revisions
Read onlyatlas_chat_doc_revisions_get
Read one saved revision of a chat doc. Returns its revision number, title and content as TipTap JSON, so you can compare it with the current doc. Returns only what the token owner can see, which the API enforces: a doc in a channel you cannot read is refused.
- Scope
chat:read- Calls
- Example prompt
- What did the project brief say at revision 3?
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
revision | integer | Yes | The revision number, starting at 0. |
List chat doc revisions
Read onlyatlas_chat_doc_revisions_list
List the saved revisions of a chat doc, newest first, up to the last 50. Returns each revision number, title, author and time. Returns only what the token owner can see, which the API enforces: a doc in a channel you cannot read is refused.
- Scope
chat:read- Calls
- Example prompt
- Show the edit history of the decision log doc.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
Restore chat doc revisions
Changes dataatlas_chat_doc_revisions_restore
Restore a chat doc to an earlier revision. The old content is saved forward as a new revision, so nothing in the history is lost. Only the doc creator, a channel owner or a workspace administrator may restore. Returns the doc after the restore.
- Scope
chat:write- Calls
- Example prompt
- Restore the project brief to revision 3.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
revision | integer | Yes | The revision number, starting at 0. |
Remove chat doc shares
Destructiveatlas_chat_doc_shares_remove
Stop sharing a chat doc into a channel or direct message. The doc stays in its home channel. Only the doc creator, a channel owner or a workspace administrator may remove a share. Returns ok on success.
- Scope
chat:write- Calls
- Example prompt
- Stop sharing the project brief doc with #marketing.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
channelId | string | Yes | The chat channel or direct message to remove the share from. |
List chat doc templates
Read onlyatlas_chat_doc_templates_list
List the templates a chat doc can start from: blank, meeting minutes, meeting notes, decision log, project brief and standup. Returns each template key, name, description, icon and starting content. Use a key as the template when creating a doc.
- Scope
chat:read- Calls
- Example prompt
- What templates can a chat doc start from?
Arguments
This tool takes no arguments.
Archive chat docs
Changes dataatlas_chat_docs_archive
Archive a chat doc so it leaves the channel doc list without being deleted. You may archive a doc you created; archiving a doc someone else created needs a channel owner or a workspace administrator. Returns the archived doc. Bring it back with atlas_chat_docs_restore.
- Scope
chat:write- Calls
- Example prompt
- Archive the old meeting notes doc in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
Create chat docs
Changes dataatlas_chat_docs_create
Create a doc in a chat channel or direct message, blank or from a template, with an optional title, icon and starting content. Every member of the channel can open it. Returns the new doc with its content, at revision 0.
- Scope
chat:write- Calls
- Example prompt
- Start a standup doc in #engineering.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel or direct message the doc belongs to. |
title | string | No | The doc title. Defaults to the template name, or Untitled. |
icon | string | null | No | An emoji shown beside the title, or null for none. |
template | "blank" | "mom" | "meeting-notes" | "decision-log" | "project-brief" | "standup" | No | A template to start from. Read the choices with atlas_chat_doc_templates_list. |
contentJson | object | No | Starting content as a TipTap (ProseMirror) JSON document. Overrides the template body. |
Delete chat docs
Destructiveatlas_chat_docs_delete
Delete a chat doc for good, with all its revisions and shares. It cannot be recovered; archive it instead to keep it. Only the doc creator, a channel owner or a workspace administrator may delete it. Returns ok on success.
- Scope
chat:write- Calls
- Example prompt
- Delete the empty draft doc in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
Get chat docs
Read onlyatlas_chat_docs_get
Read one chat doc in full. Returns its title, icon, content as TipTap JSON and as plain text, revision, authorship, archive state and the channels it is shared into. Returns only what the token owner can see, which the API enforces: a doc in a channel you cannot read is refused.
- Scope
chat:read- Calls
- Example prompt
- Read the project brief doc in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
List chat docs
Read onlyatlas_chat_docs_list
List the docs in a chat channel or direct message, including docs shared into it, most recently edited first. Returns each doc title, icon, a short preview, revision, who edited it last and whether you can manage it. Returns only what the token owner can see, which the API enforces: a channel you cannot read is refused.
- Scope
chat:read- Calls
- Example prompt
- What docs are in the #launch channel?
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel or direct message whose docs to list. |
includeArchived | boolean | No | True to include archived docs. Defaults to false. |
Restore chat docs
Changes dataatlas_chat_docs_restore
Bring an archived chat doc back into its channel doc list. The same people who may archive a doc may restore it. Returns the restored doc.
- Scope
chat:write- Calls
- Example prompt
- Bring back the archived project brief doc.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
Share chat docs
Changes dataatlas_chat_docs_share
Share a chat doc into another channel or direct message so its members can open it. You need read access to both the doc home channel and the target. Sharing into a channel that already has it is a safe no-op. Returns the share record.
- Scope
chat:write- Calls
- Example prompt
- Share the project brief doc into my DM with Priya.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
channelId | string | Yes | The chat channel or direct message to share the doc into. |
Update chat docs
Changes dataatlas_chat_docs_update
Rename a chat doc, change its icon, or save new content. A content save creates a new revision; pass baseRevision so a save made on stale content is refused rather than overwriting someone else. Returns the doc after the change.
- Scope
chat:write- Calls
- Example prompt
- Add today's decisions to the decision log doc.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
docId | string | Yes | The chat doc id. |
title | string | No | The new title. |
icon | string | null | No | A new emoji beside the title, or null to remove it. |
contentJson | object | No | The full new content as a TipTap (ProseMirror) JSON document. |
contentText | string | No | The plain text of the new content, used for search and previews. Derived from contentJson when omitted. |
baseRevision | integer | No | The revision you edited from. When the doc has moved on since, the save is refused with a conflict instead of overwriting. |
Export chat ediscovery
Changes dataatlas_chat_ediscovery_export
Produce an encrypted compliance archive of chat messages for legal hold or eDiscovery, for one channel or the whole workspace, optionally bounded by date. Only a workspace owner, an administrator, or a holder of the chat eDiscovery permission may run it, and every run is written to the audit log. Returns the archive storage key, the channel and message counts, its size and its expiry after 24 hours; it does not return message content.
- Scope
chat:write- Calls
- Example prompt
- Export the #finance channel for the legal hold covering March.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | No | Export one channel. Omit to export every channel in the workspace. |
from | string (date-time) | No | Include messages created at or after this ISO 8601 timestamp. |
to | string (date-time) | No | Include messages created before this ISO 8601 timestamp. |
List chat message attachments
Read onlyatlas_chat_message_attachments_list
List the files attached to one chat message, in the order they were added. Returns the same fields as the channel attachment list. Returns only what the token owner can see, which the API enforces: a message in a channel you are not a member of is refused.
- Scope
chat:read- Calls
- Example prompt
- What was attached to Tom's last message?
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | The chat message id whose attachments to list. |
Add chat message reactions
Changes dataatlas_chat_message_reactions_add
React to a chat message with an emoji as the token owner. Every member of the channel sees the reaction. Adding a reaction you already made is a safe no-op. Returns the message with its reactions after the change.
- Scope
chat:write- Calls
- Example prompt
- React with a thumbs up to Priya's message.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
messageId | string | Yes | The chat message id. |
emoji | string | Yes | The emoji character or shortcode, for example :thumbsup:. |
Remove chat message reactions
Destructiveatlas_chat_message_reactions_remove
Remove an emoji reaction the token owner made on a chat message. Reactions made by other people are not affected. Returns the message with its reactions after the change.
- Scope
chat:write- Calls
- Example prompt
- Remove my thumbs up from that message.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
messageId | string | Yes | The chat message id. |
emoji | string | Yes | The emoji character or shortcode, for example :thumbsup:. |
Delete chat messages
Destructiveatlas_chat_messages_delete
Delete a chat message the token owner wrote, or any message when the token owner is a workspace administrator. It disappears for every member of the channel, and no tool or route brings it back. Returns an empty result on success.
- Scope
chat:write- Calls
- Example prompt
- Delete the message I just posted in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
messageId | string | Yes | The chat message id. |
List chat messages
Read onlyatlas_chat_messages_list
List a channel message timeline, or the thread under a threadRootId, with cursor pagination and a bounded limit. Use this to catch up on a conversation before replying.
- Scope
chat:read- Calls
- Example prompt
- Catch me up on the last 20 messages in #general.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | |
threadRootId | string | No | |
cursor | string | No | |
limit | integer | No |
Pin chat messages
Changes dataatlas_chat_messages_pin
Pin a message so every member of the channel sees it in the shared pinned set. Pins are team-shared, not private to you. Pinning an already-pinned message is a safe no-op. Idempotent per MCP call.
- Scope
chat:write- Calls
- Example prompt
- Pin that message in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | |
messageId | string | Yes |
Search chat messages
Read onlyatlas_chat_messages_search
Full-text search the chat messages you can see, matched against the message body. Omit channelId to search every channel you are in, or pass it to search one channel. Returns the newest matches first, each with its channel name.
- Scope
chat:read- Calls
- Example prompt
- Search my chat for the launch checklist.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
q | string | Yes | |
channelId | string | No | |
limit | integer | No |
Send chat messages
Destructiveatlas_chat_messages_send
Post a message to a channel, optionally as a threaded reply under threadRootId. Idempotent per MCP call so a retried send does not duplicate the message.
- Scope
chat:write- Calls
- Example prompt
- Post 'ship it' to the #launch channel.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | |
body | string | Yes | |
threadRootId | string | No | |
attachmentIds | array of string | No | Up to 10 attachment ids to share with this message, each finalized with atlas_chat_attachment_uploads_finalize in this channel by you and not yet on another message. |
Unpin chat messages
Destructiveatlas_chat_messages_unpin
Unpin a message from a chat channel, removing it from the pinned set every member sees. Unpinning a message that is not pinned is a safe no-op. Returns an empty result on success.
- Scope
chat:write- Calls
- Example prompt
- Unpin the old release checklist in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
messageId | string | Yes | The chat message id. |
Update chat messages
Changes dataatlas_chat_messages_update
Edit the text of a chat message the token owner wrote. A message written by someone else is refused. Returns the edited message, marked as edited, and every member sees the new text.
- Scope
chat:write- Calls
- Example prompt
- Fix the typo in my last message in #launch.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | The chat channel id. |
messageId | string | Yes | The chat message id. |
body | string | Yes | The replacement message text, up to 8000 characters. |
List chat pins
Read onlyatlas_chat_pins_list
List the pinned messages in a channel, newest first. Every member sees the same shared pin set. You must be a member of the channel to read its pins.
- Scope
chat:read- Calls
- Example prompt
- Show the pinned messages in #general.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes |
List chat presence
Read onlyatlas_chat_presence_list
List who in the workspace is online in chat right now. Returns the user ids of people with a live chat connection in your own workspace; it never reads another workspace. Use it before starting a conversation that needs a quick answer.
- Scope
chat:read- Calls
- Example prompt
- Who is online in chat right now?
Arguments
This tool takes no arguments.
Add chat saved messages
Changes dataatlas_chat_saved_messages_add
Save a message to your personal bookmarks. A saved item is private to you: only you ever see or remove it. Saving the same message twice is a safe no-op. Idempotent per MCP call.
- Scope
chat:write- Calls
- Example prompt
- Save this message for later.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes |
List chat saved messages
Read onlyatlas_chat_saved_messages_list
List the messages you have saved to your personal bookmarks, newest first. The list is private to you and never includes another user saved items.
- Scope
chat:read- Calls
- Example prompt
- Show me my saved chat messages.
Arguments
This tool takes no arguments.
Remove chat saved messages
Destructiveatlas_chat_saved_messages_remove
Remove a message from the token owner personal saved messages. The message itself is untouched, and removing one that is not saved is a safe no-op. Returns an empty result on success.
- Scope
chat:write- Calls
- Example prompt
- Remove that message from my saved items.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | The chat message id. |