360 Secure SkillHub
360 安全技能中心

Google Chat

该 Skill 以 AgentPMT 托管的远程工具调用(MCP 或 REST)操作 Google Chat:列出与搜索空间、查找私信、读取与搜索消息、发送和回复消息、管理表情回应,并在 Google Chat 与 AgentPMT File Manager 之间上传下载附件。共 19 个动作,需连接 AgentPMT 账号,不管理成员、不创建空间。

agentpmt
热度 46.93
最近更新 2026-06-30 02:25:53
分类:协作依赖:MCP 服务 / 第三方 API应用场景:工作流 / 任务管理 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add agentpmt/google-chat
Metadata
name
google-chat
description
Google Chat: Read/search Google Chat spaces and messages, send messages and replies with File Manager attachments, download Chat attachments, and manage reactions as the connected user. Use when an agent needs google chat, search accessible spaces, find direct message spaces, read and search messages, send messages and replies, add reaction, message name, emoji unicode through AgentPMT-hosted remote tool calls. Discovery terms: google chat, search accessible spaces, find direct message spaces.
version
1.0.1
homepage
https://www.agentpmt.com/marketplace/google-chat
compatibility
Agent instructions for AgentPMT-hosted remote tool calls. Follow this skill body for supported account, wallet, and setup routes. No local command runtime is declared.
metadata
{"author":"agentpmt","openclaw":{"homepage":"https://www.agentpmt.com/marketplace/google-chat"}}

Google Chat

Freshness

Last updated: 2026-06-29.

If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.

What This Tool Does

Bridge your agent to your Google Chat spaces—post updates, keep threads moving, and turn routine teamwork into quick, automated nudges that keep everyone in sync. Supports reactions, direct messaging, and posting and reading in spaces. All actions take place as the connected user.

Product Instructions

Google Chat

Read spaces, list and search messages, send messages, react to messages, and move attachments between Google Chat and AgentPMT File Manager.

This tool uses the existing AgentPMT Google OAuth scopes only:

  • chat.spaces.readonly
  • chat.messages
  • chat.messages.reactions

It does not manage members or users, does not create/update/delete spaces, does not use admin access, and does not expose custom emoji actions. Member listing requires chat.memberships.readonly or chat.memberships, which this connection does not currently have.

Parameters

  • action (string, required): Action to perform. Default: get_instructions
  • space (string): Space name or ID, such as "spaces/AAA" or "AAA"
  • message_name (string): Message resource name, or short message ID when space is provided
  • reaction_name (string): Reaction resource name, or short reaction ID when message_name is provided
  • attachment_name (string): Attachment resource name, short attachment ID, or attachment contentName when message_name is provided
  • media_resource_name (string): Direct attachmentDataRef.resourceName for Chat media download
  • user_name (string): User resource name, such as "users/123"
  • query (string): Search query for space/message/attachment search actions
  • text (string): Message text
  • cards_v2 (array): Cards v2 payload
  • thread_name (string): Existing Chat thread resource name
  • thread_key (string): Thread key for message creation
  • message_reply_option (string): REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD or REPLY_MESSAGE_OR_FAIL
  • message_request_id (string): Google Chat requestId for idempotent message creation
  • message_id (string): Client-assigned Google Chat message ID
  • notification_type (string): NOTIFICATION_TYPE_NONE, NOTIFICATION_TYPE_FORCE_NOTIFY, or NOTIFICATION_TYPE_SILENT
  • page_size (integer, default 50): Max results per page. Reactions max is 200.
  • page_token (string): Pagination token
  • filter (string): Google Chat filter query
  • order_by (string): Sort order
  • show_deleted (boolean, default false): Include deleted messages in message list/search
  • max_results (integer, default 25): Max client-side search matches
  • scan_limit (integer, default 500): Max messages scanned by bounded client-side search
  • case_sensitive (boolean, default false): Use case-sensitive client-side search
  • search_fields (array): Fields searched by search_messages: text, formatted_text, argument_text, sender, attachment_name
  • emoji_unicode (string): Unicode emoji for add_reaction
  • force (boolean, default false): For delete_message, also delete threaded replies
  • file_ids (array): AgentPMT File Manager file IDs to upload and attach to create_message or reply_message
  • source_file_id (string): AgentPMT File Manager file ID for upload_attachment
  • filename (string): Optional upload filename override
  • content_type (string): Optional upload MIME type override
  • max_upload_bytes (integer, default 26214400): Max File Manager bytes uploaded to Chat
  • max_bytes (integer, default 26214400): Max Chat attachment bytes downloaded
  • output_filename (string): File Manager filename for downloaded attachment
  • expiration_days (integer, default 7): Stored download expiration, 1-7 days

Sorting

list_messages sends order_by: "create_time DESC" by default, so messages are newest first. Send order_by: "create_time ASC" for oldest first.

Google also accepts legacy camel-case sort aliases from this tool:

{"action":"list_messages","space":"spaces/AAA","order_by":"createTime DESC"}

The tool normalizes that to official Google Chat syntax.

Search

search_spaces is Google server-side search. Non-admin Google Chat search needs a display-name query for useful results:

{"action":"search_spaces","query":"display_name:\"Launch\"","order_by":"relevance DESC"}

search_messages and search_attachments are bounded client-side searches within one space. They page through accessible messages using list_messages, scan up to scan_limit, and return scan_limit_reached when the scan stopped before the space was exhausted. These are not global Google-side full-text search endpoints.

File Upload

Preferred path: attach File Manager files directly when creating or replying to a message.

{
  "action": "create_message",
  "space": "spaces/AAA",
  "text": "Attached is the latest report.",
  "file_ids": ["file-manager-id-1"]
}

Advanced path: use upload_attachment to stage a File Manager file in Chat and return an attachment_data_ref.

{"action":"upload_attachment","space":"spaces/AAA","source_file_id":"file-manager-id-1"}

File uploads require normal authenticated budget context. Admin bypass cannot read budget-scoped File Manager files.

File Download

List attachments on a message:

{"action":"list_message_attachments","message_name":"spaces/AAA/messages/BBB"}

Download an attachment into AgentPMT File Manager:

{
  "action": "download_attachment_to_storage",
  "message_name": "spaces/AAA/messages/BBB",
  "attachment_name": "spaces/AAA/messages/BBB/attachments/ATT",
  "output_filename": "report.pdf"
}

If you already have attachment.attachmentDataRef.resourceName, you can download directly:

{
  "action": "download_attachment_to_storage",
  "media_resource_name": "spaces/AAA/messages/BBB/attachments/ATT/media",
  "output_filename": "report.pdf"
}

get_attachment reads the parent message and finds the attachment in message data. It does not call the bot-only spaces.messages.attachments.get endpoint.

Actions

get_instructions

Returns this documentation.

{"action":"get_instructions"}
list_spaces

Lists spaces the authenticated user has access to.

Required: none Optional: page_size, page_token, filter

{"action":"list_spaces","page_size":25}
{"action":"list_spaces","filter":"space_type = \"SPACE\""}
get_space

Gets a space by resource name or short ID.

Required: space

{"action":"get_space","space":"spaces/AAA"}
search_spaces

Searches accessible spaces with Google Chat server-side space search. Admin access is not exposed.

Required: query Optional: page_size, page_token, order_by

{"action":"search_spaces","query":"display_name:\"Launch\"","order_by":"relevance DESC"}
find_direct_message

Finds the direct message space with a user.

Required: user_name

{"action":"find_direct_message","user_name":"users/123456789"}
list_messages

Lists messages in a space. Defaults to newest first.

Required: space Optional: page_size, page_token, filter, order_by, show_deleted

{"action":"list_messages","space":"spaces/AAA","page_size":20}
{
  "action": "list_messages",
  "space": "spaces/AAA",
  "filter": "create_time > \"2026-01-01T00:00:00Z\"",
  "order_by": "create_time ASC"
}
get_message

Gets a message by resource name or by short message ID with space.

Required: message_name Optional: space

{"action":"get_message","message_name":"spaces/AAA/messages/BBB"}
search_messages

Bounded client-side search within one space.

Required: space, query Optional: filter, order_by, show_deleted, page_size, max_results, scan_limit, case_sensitive, search_fields

{"action":"search_messages","space":"spaces/AAA","query":"invoice","max_results":10,"scan_limit":500}
{
  "action": "search_messages",
  "space": "spaces/AAA",
  "query": "Taylor",
  "search_fields": ["sender"],
  "order_by": "create_time DESC"
}
create_message

Sends a new message to a space. At least one of text, cards_v2, or file_ids is required.

Required: space, plus one content field Optional: thread_name, thread_key, message_reply_option, message_request_id, message_id, notification_type, file_ids, max_upload_bytes

{"action":"create_message","space":"spaces/AAA","text":"Hello from the agent."}
{
  "action": "create_message",
  "space": "spaces/AAA",
  "text": "Here is the file.",
  "file_ids": ["file-manager-id-1"]
}
reply_message

Replies in the original message's thread. At least one of text, cards_v2, or file_ids is required.

Required: message_name, plus one content field Optional: space, message_reply_option, message_request_id, message_id, notification_type, file_ids, max_upload_bytes

{"action":"reply_message","message_name":"spaces/AAA/messages/BBB","text":"Got it."}
{
  "action": "reply_message",
  "message_name": "spaces/AAA/messages/BBB",
  "text": "Attached.",
  "file_ids": ["file-manager-id-1"]
}
update_message

Edits an existing message. Only text and cards_v2 updates are exposed.

Required: message_name, plus one of text or cards_v2 Optional: space

{"action":"update_message","message_name":"spaces/AAA/messages/BBB","text":"Updated text"}
delete_message

Deletes a message.

Required: message_name Optional: space, force

{"action":"delete_message","message_name":"spaces/AAA/messages/BBB"}
{"action":"delete_message","message_name":"spaces/AAA/messages/BBB","force":true}
list_reactions

Lists reactions on a message. page_size must be 200 or less.

Required: message_name Optional: space, page_size, page_token, filter

{"action":"list_reactions","message_name":"spaces/AAA/messages/BBB"}
{"action":"list_reactions","message_name":"spaces/AAA/messages/BBB","filter":"emoji.unicode = \"\\uD83D\\uDE42\""}
add_reaction

Adds an emoji reaction to a message.

Required: message_name, emoji_unicode Optional: space

{"action":"add_reaction","message_name":"spaces/AAA/messages/BBB","emoji_unicode":"\\uD83D\\uDC4D"}
delete_reaction

Deletes a reaction.

Required: reaction_name Optional: message_name, space

{"action":"delete_reaction","reaction_name":"spaces/AAA/messages/BBB/reactions/RRR"}
list_message_attachments

Lists attachments in a message.

Required: message_name Optional: space

{"action":"list_message_attachments","message_name":"spaces/AAA/messages/BBB"}
get_attachment

Gets attachment metadata from the parent message payload.

Required: attachment_name Optional: message_name, space

{
  "action": "get_attachment",
  "message_name": "spaces/AAA/messages/BBB",
  "attachment_name": "report.pdf"
}
{"action":"get_attachment","attachment_name":"spaces/AAA/messages/BBB/attachments/ATT"}
search_attachments

Bounded client-side attachment search within one space.

Required: space, query Optional: filter, order_by, page_size, max_results, scan_limit, case_sensitive

{"action":"search_attachments","space":"spaces/AAA","query":"report","max_results":10}
upload_attachment

Uploads a File Manager file into Chat and returns an attachment_data_ref. Most workflows should use create_message or reply_message with file_ids instead.

Required: space, source_file_id Optional: filename, content_type, max_upload_bytes

{"action":"upload_attachment","space":"spaces/AAA","source_file_id":"file-manager-id-1"}
download_attachment_to_storage

Downloads a Chat attachment into AgentPMT File Manager.

Required: media_resource_name or attachment_name Optional: message_name, space, output_filename, expiration_days, max_bytes

{
  "action": "download_attachment_to_storage",
  "message_name": "spaces/AAA/messages/BBB",
  "attachment_name": "report.pdf",
  "output_filename": "report.pdf"
}
{
  "action": "download_attachment_to_storage",
  "media_resource_name": "spaces/AAA/messages/BBB/attachments/ATT/media",
  "output_filename": "report.pdf"
}

Response

All successful responses return {"success": true, "output": { ... }} from the tool route. Output varies by action:

  • list_spaces -> {"spaces": [...], "next_page_token": "..."}
  • get_space -> {"space": {...}}
  • search_spaces -> {"spaces": [...], "next_page_token": "...", "query": "..."}
  • find_direct_message -> {"space": {...}, "user_name": "..."}
  • list_messages -> {"messages": [...], "next_page_token": "...", "order_by": "create_time DESC"}
  • get_message -> {"message": {...}}
  • search_messages -> {"messages": [...], "matched_count": 0, "scanned_count": 0, "scan_limit_reached": false}
  • create_message / reply_message -> {"message": {...}, "uploaded_attachments": [...]}
  • update_message -> {"message": {...}}
  • delete_message / delete_reaction -> {"deleted": true, "name": "..."}
  • list_reactions -> {"reactions": [...], "next_page_token": "..."}
  • add_reaction -> {"reaction": {...}}
  • list_message_attachments -> {"attachments": [...], "count": 0}
  • get_attachment -> {"attachment": {...}, "message_name": "..."}
  • search_attachments -> {"attachments": [...], "matched_count": 0, "scanned_messages": 0}
  • upload_attachment -> {"attachment_data_ref": {...}, "source_file": {...}}
  • download_attachment_to_storage -> {"attachment": {...}, "download": {"stored_as": {...}, "content_type": "...", "size_bytes": 0}}

Resource Name Formats

  • Space: spaces/AAA
  • Message: spaces/AAA/messages/BBB
  • Thread: spaces/AAA/threads/CCC
  • Reaction: spaces/AAA/messages/BBB/reactions/RRR
  • Attachment: spaces/AAA/messages/BBB/attachments/ATT
  • User: users/123

Short IDs are accepted only when paired with the parent resource (space or message_name).

When To Use

  • Use this skill for Google Chat on AgentPMT.
  • Use it when an agent needs this specific tool's behavior, schema, inputs, outputs, and invocation shape.
  • Search and activation keywords: google chat, search accessible spaces, find direct message spaces, read and search messages, send messages and replies, add reaction, message name, emoji unicode.
  • Supported action names: add_reaction, create_message, delete_message, delete_reaction, download_attachment_to_storage, find_direct_message, get_attachment, get_message, get_space, list_message_attachments, list_messages, list_reactions, list_spaces, reply_message, search_attachments, search_messages, search_spaces, update_message, upload_attachment.

Use Cases

  • Search accessible spaces
  • Find direct-message spaces
  • Read and search messages
  • Send messages and replies
  • Attach File Manager files to Chat messages
  • Download Chat attachments to File Manager
  • Add or remove reactions
  • Automate team notifications

Related Product Skills

Categories And Industries

No categories or industry tags are published for this tool.

Actions And Schema

Complete generated action schema: ./schema.md. Supported action count: 19. x402 availability: not enabled for this product.

  • add_reaction (action slug: add-reaction): Add a reaction. Price: 5 credits. Parameters: emoji_unicode, message_name, space.
  • create_message (action slug: create-message): Create a message, optionally with files. Price: 5 credits. Parameters: cards_v2, file_ids, max_upload_bytes, message_id, message_reply_option, message_request_id, notification_type, space, plus 3 more.
  • delete_message (action slug: delete-message): Delete a message. Price: 5 credits. Parameters: force, message_name, space.
  • delete_reaction (action slug: delete-reaction): Delete a reaction. Price: 5 credits. Parameters: message_name, reaction_name, space.
  • download_attachment_to_storage (action slug: download-attachment-to-storage): Download Chat media to File Manager. Price: 5 credits. Parameters: attachment_name, expiration_days, max_bytes, media_resource_name, message_name, output_filename, space.
  • find_direct_message (action slug: find-direct-message): Find a DM space. Price: 5 credits. Parameters: user_name.
  • get_attachment (action slug: get-attachment): Get attachment metadata from its message. Price: 5 credits. Parameters: attachment_name, message_name, space.
  • get_message (action slug: get-message): Get a message. Price: 5 credits. Parameters: message_name, space.
  • get_space (action slug: get-space): Get a space. Price: 5 credits. Parameters: space.
  • list_message_attachments (action slug: list-message-attachments): List message attachments. Price: 5 credits. Parameters: message_name, space.
  • list_messages (action slug: list-messages): List messages; newest first by default. Price: 5 credits. Parameters: filter, order_by, page_size, page_token, show_deleted, space.
  • list_reactions (action slug: list-reactions): List message reactions. Price: 5 credits. Parameters: filter, message_name, page_size, page_token, space.
  • list_spaces (action slug: list-spaces): List accessible spaces. Price: 5 credits. Parameters: filter, page_size, page_token.
  • reply_message (action slug: reply-message): Reply to a message, optionally with files. Price: 5 credits. Parameters: cards_v2, file_ids, max_upload_bytes, message_id, message_name, message_reply_option, message_request_id, notification_type, plus 2 more.
  • search_attachments (action slug: search-attachments): Bounded attachment search in one space. Price: 5 credits. Parameters: case_sensitive, filter, max_results, order_by, page_size, query, scan_limit, space.
  • search_messages (action slug: search-messages): Bounded message search in one space. Price: 5 credits. Parameters: case_sensitive, filter, max_results, order_by, page_size, query, scan_limit, search_fields, plus 2 more.
  • search_spaces (action slug: search-spaces): Search accessible spaces. Price: 5 credits. Parameters: order_by, page_size, page_token, query.
  • update_message (action slug: update-message): Update message text/cards. Price: 5 credits. Parameters: cards_v2, message_name, space, text.
  • upload_attachment (action slug: upload-attachment): Upload a File Manager file to Chat. Price: 5 credits. Parameters: content_type, filename, max_upload_bytes, source_file_id, space.

Live Schema And Examples

Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.

  • Exact schema: call agentpmt-tool-search-and-execution with action: "get_schema", and tool_id: "google-chat".
  • Detailed examples: call agentpmt-tool-search-and-execution with action: "get_instructions" and tool_id: "google-chat", or call this product with action: "get_instructions" when the product tool is already selected.
  • Treat returned live schema and instructions as more specific than this generated summary.

MCP schema lookup through the main AgentPMT MCP server:

{
  "method": "tools/call",
  "params": {
    "name": "AgentPMT-Tool-Search-and-Execution",
    "arguments": {
      "action": "get_schema",
      "tool_id": "google-chat"
    }
  }
}

For live examples, keep the same MCP tool and use these arguments:

{
  "action": "get_instructions",
  "tool_id": "google-chat"
}

Authenticated AgentPMT REST schema lookup body:

{
  "name": "agentpmt-tool-search-and-execution",
  "parameters": {
    "action": "get_schema",
    "tool_id": "google-chat"
  }
}

Authenticated AgentPMT REST live examples body:

{
  "name": "agentpmt-tool-search-and-execution",
  "parameters": {
    "action": "get_instructions",
    "tool_id": "google-chat"
  }
}

Call This Tool

Product slug: google-chat

Marketplace page: https://www.agentpmt.com/marketplace/google-chat

  • AgentPMT account route: first use ../agentpmt-account-mcp-rest-api-setup to connect the main MCP server or REST API for an Agent Group where this tool is enabled.
  • x402 route: not enabled for this product.
  • AgentPMT overview: use ../what-is-agentpmt for marketplace, Agent Group, workflow, MCP, REST, and payment concepts.

If those setup skills are not installed beside this product skill, use the downloads below.

Core AgentPMT setup skills:

  • What AgentPMT is: ../what-is-agentpmt
  • AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup

skills.sh install script:

npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup

MCP call shape after the main AgentPMT MCP server is connected:

{
  "method": "tools/call",
  "params": {
    "name": "Google-Chat",
    "arguments": {
      "action": "add_reaction",
      "emoji_unicode": "example emoji unicode",
      "message_name": "example message name",
      "space": "example space"
    }
  }
}

Use the exact tool name returned by tools/list; the name above is the expected readable form.

Authenticated AgentPMT REST call body:

{
  "name": "google-chat",
  "parameters": {
    "action": "add_reaction",
    "emoji_unicode": "example emoji unicode",
    "message_name": "example message name",
    "space": "example space"
  }
}

Use the setup skill for the account connection details before making REST calls.

Response Handling

  • Treat the returned JSON as the source of truth for this tool call.
  • If the response includes warnings or correction targets, apply them before retrying.
  • If the response includes a passed or success-style boolean, use it as the workflow gate.
  • If validation fails or the response shape is unclear, call get_schema or get_instructions before retrying.
  • If add_reaction fails, preserve the request parameters and retry only after fixing schema, auth, or payment errors.

Security

  • Do not place account secrets, wallet private keys, mnemonics, signatures, or payment headers in prompts or logs.
  • Keep tool inputs scoped to the minimum content needed for the task.
  • Use the setup skills for credential handling; this product skill only defines product-specific behavior.

AgentPMT Reference