Index
-
ChatService
(interface) -
AccessoryWidget
(message) -
ActionResponse
(message) -
ActionResponse.ResponseType
(enum) -
ActionResponse.SelectionItems
(message) -
ActionResponse.UpdatedWidget
(message) -
ActionStatus
(message) -
Annotation
(message) -
AnnotationType
(enum) -
AppCommandMetadata
(message) -
AppCommandMetadata.AppCommandType
(enum) -
AttachedGif
(message) -
Attachment
(message) -
Attachment.Source
(enum) -
AttachmentDataRef
(message) -
CalendarEventLinkData
(message) -
CardWithId
(message) -
ChatSpaceLinkData
(message) -
CompleteImportSpaceRequest
(message) -
CompleteImportSpaceResponse
(message) -
ContextualAddOnMarkup
(message) -
ContextualAddOnMarkup.Card
(message) -
ContextualAddOnMarkup.Card.CardAction
(message) -
ContextualAddOnMarkup.Card.CardHeader
(message) -
ContextualAddOnMarkup.Card.CardHeader.ImageStyle
(enum) -
ContextualAddOnMarkup.Card.Section
(message) -
CreateCustomEmojiRequest
(message) -
CreateMembershipRequest
(message) -
CreateMessageRequest
(message) -
CreateMessageRequest.MessageReplyOption
(enum) -
CreateReactionRequest
(message) -
CreateSpaceRequest
(message) -
CustomEmoji
(message) -
CustomEmoji.CustomEmojiPayload
(message) -
CustomEmojiMetadata
(message) -
DeleteCustomEmojiRequest
(message) -
DeleteMembershipRequest
(message) -
DeleteMessageRequest
(message) -
DeleteReactionRequest
(message) -
DeleteSpaceRequest
(message) -
DeletionMetadata
(message) -
DeletionMetadata.DeletionType
(enum) -
Dialog
(message) -
DialogAction
(message) -
DriveDataRef
(message) -
DriveLinkData
(message) -
Emoji
(message) -
EmojiReactionSummary
(message) -
FindDirectMessageRequest
(message) -
GetAttachmentRequest
(message) -
GetCustomEmojiRequest
(message) -
GetMembershipRequest
(message) -
GetMessageRequest
(message) -
GetSpaceEventRequest
(message) -
GetSpaceNotificationSettingRequest
(message) -
GetSpaceReadStateRequest
(message) -
GetSpaceRequest
(message) -
GetThreadReadStateRequest
(message) -
Group
(message) -
HistoryState
(enum) -
ListCustomEmojisRequest
(message) -
ListCustomEmojisResponse
(message) -
ListMembershipsRequest
(message) -
ListMembershipsResponse
(message) -
ListMessagesRequest
(message) -
ListMessagesResponse
(message) -
ListReactionsRequest
(message) -
ListReactionsResponse
(message) -
ListSpaceEventsRequest
(message) -
ListSpaceEventsResponse
(message) -
ListSpacesRequest
(message) -
ListSpacesResponse
(message) -
MatchedUrl
(message) -
MeetSpaceLinkData
(message) -
MeetSpaceLinkData.HuddleStatus
(enum) -
MeetSpaceLinkData.Type
(enum) -
Membership
(message) -
Membership.MembershipRole
(enum) -
Membership.MembershipState
(enum) -
MembershipBatchCreatedEventData
(message) -
MembershipBatchDeletedEventData
(message) -
MembershipBatchUpdatedEventData
(message) -
MembershipCreatedEventData
(message) -
MembershipDeletedEventData
(message) -
MembershipUpdatedEventData
(message) -
Message
(message) -
MessageBatchCreatedEventData
(message) -
MessageBatchDeletedEventData
(message) -
MessageBatchUpdatedEventData
(message) -
MessageCreatedEventData
(message) -
MessageDeletedEventData
(message) -
MessageUpdatedEventData
(message) -
QuotedMessageMetadata
(message) -
Reaction
(message) -
ReactionBatchCreatedEventData
(message) -
ReactionBatchDeletedEventData
(message) -
ReactionCreatedEventData
(message) -
ReactionDeletedEventData
(message) -
RichLinkMetadata
(message) -
RichLinkMetadata.RichLinkType
(enum) -
SearchSpacesRequest
(message) -
SearchSpacesResponse
(message) -
SetUpSpaceRequest
(message) -
SlashCommand
(message) -
SlashCommandMetadata
(message) -
SlashCommandMetadata.Type
(enum) -
Space
(message) -
Space.AccessSettings
(message) -
Space.AccessSettings.AccessState
(enum) -
Space.MembershipCount
(message) -
Space.PermissionSetting
(message) -
Space.PermissionSettings
(message) -
Space.PredefinedPermissionSettings
(enum) -
Space.SpaceDetails
(message) -
Space.SpaceThreadingState
(enum) -
Space.SpaceType
(enum) -
Space.Type
(enum) -
SpaceBatchUpdatedEventData
(message) -
SpaceEvent
(message) -
SpaceNotificationSetting
(message) -
SpaceNotificationSetting.MuteSetting
(enum) -
SpaceNotificationSetting.NotificationSetting
(enum) -
SpaceReadState
(message) -
SpaceUpdatedEventData
(message) -
Thread
(message) -
ThreadReadState
(message) -
UpdateMembershipRequest
(message) -
UpdateMessageRequest
(message) -
UpdateSpaceNotificationSettingRequest
(message) -
UpdateSpaceReadStateRequest
(message) -
UpdateSpaceRequest
(message) -
User
(message) -
User.Type
(enum) -
UserMentionMetadata
(message) -
UserMentionMetadata.Type
(enum) -
WidgetMarkup
(message) -
WidgetMarkup.Button
(message) -
WidgetMarkup.FormAction
(message) -
WidgetMarkup.FormAction.ActionParameter
(message) -
WidgetMarkup.Icon
(enum) -
WidgetMarkup.Image
(message) -
WidgetMarkup.ImageButton
(message) -
WidgetMarkup.KeyValue
(message) -
WidgetMarkup.OnClick
(message) -
WidgetMarkup.OpenLink
(message) -
WidgetMarkup.TextButton
(message) -
WidgetMarkup.TextParagraph
(message)
ChatService
Enables developers to build Chat apps and integrations on Google Chat Platform.
rpc CompleteImportSpace(
CompleteImportSpaceRequest
) returns ( CompleteImportSpaceResponse
)
Completes the import process for the specified space and makes it visible to users.
Requires user authentication and domain-wide delegation with the authorization scope :
-
https://www.googleapis.com/auth/chat.import
For more information, see Authorize Google Chat apps to import data .
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.import
For more information, see the Authorization guide .
-
rpc CreateCustomEmoji(
CreateCustomEmojiRequest
) returns ( CustomEmoji
)
Creates a custom emoji.
Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions .
Requires user authentication with the authorization scope :
-
https://www.googleapis.com/auth/chat.customemojis
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.customemojis
For more information, see the Authorization guide .
-
rpc CreateMembership(
CreateMembershipRequest
) returns ( Membership
)
Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space.
Supports the following types of authentication :
-
App authentication with administrator approval and the authorization scope:
-
https://www.googleapis.com/auth/chat.app.memberships
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.app
(to add the calling app to the space) -
https://www.googleapis.com/auth/chat.import
(import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and the following authorization scope is used:-
https://www.googleapis.com/auth/chat.admin.memberships
-
-
App authentication is not supported for the following use cases:
- Inviting users external to the Workspace organization that owns the space.
- Adding a Google Group to a space.
- Adding a Chat app to a space.
For example usage, see:
- Invite or add a user to a space .
- Invite or add a Google Group to a space .
- Add the Chat app to a space .
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.app.memberships
-
https://www.googleapis.com/auth/chat.admin.memberships
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.app
For more information, see the Authorization guide .
-
rpc CreateMessage(
CreateMessageRequest
) returns ( Message
)
Creates a message in a Google Chat space. For an example, see Send a message .
Supports the following types of authentication :
- App authentication
with the authorization scope:
-
https://www.googleapis.com/auth/chat.bot
-
- User authentication
with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.messages.create
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
-
Chat attributes the message sender differently depending on the type of authentication that you use in your request.
The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text ( text
), cards ( cardsV2
), and accessory widgets ( accessoryWidgets
).
The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text ( text
).
The maximum message size, including the message contents, is 32,000 bytes.
For webhook
requests, the response doesn't contain the full message. The response only populates the name
and thread.name
fields in addition to the information that was in the request.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.create
For more information, see the Authorization guide .
-
rpc CreateReaction(
CreateReactionRequest
) returns ( Reaction
)
Creates a reaction and adds it to a message. For an example, see Add a reaction to a message .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.messages.reactions.create
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages.reactions.create
For more information, see the Authorization guide .
-
rpc CreateSpace(
CreateSpaceRequest
) returns ( Space
)
Creates a space. Can be used to create a named space, or a group chat in Import mode
. For an example, see Create a space
.
Supports the following types of authentication :
-
App authentication with administrator approval and one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.app.spaces.create
-
https://www.googleapis.com/auth/chat.app.spaces
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.spaces.create
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
-
When authenticating as an app, the space.customer
field must be set in the request.
When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set space.permission_settings.manage_apps
to managers_allowed
.
Space membership upon creation depends on whether the space is created in Import mode
:
- Import mode:No members are created.
- All other modes:The calling user is added as a member. This is:
- The app itself when using app authentication.
- The human user when using user authentication.
If you receive the error message ALREADY_EXISTS
when creating a space, try a different displayName
. An existing space within the Google Workspace organization might already use this display name.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.app.spaces.create
-
https://www.googleapis.com/auth/chat.app.spaces
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.create
For more information, see the Authorization guide .
-
rpc DeleteCustomEmoji(
DeleteCustomEmojiRequest
) returns ( Empty
)
Deletes a custom emoji. By default, users can only delete custom emoji they created. Emoji managers assigned by the administrator can delete any custom emoji in the organization. See Learn about custom emojis in Google Chat .
Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions .
Requires user authentication with the authorization scope :
-
https://www.googleapis.com/auth/chat.customemojis
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.customemojis
For more information, see the Authorization guide .
-
rpc DeleteMembership(
DeleteMembershipRequest
) returns ( Membership
)
Deletes a membership. For an example, see Remove a user or a Google Chat app from a space .
Supports the following types of authentication :
-
App authentication with administrator approval and the authorization scope:
-
https://www.googleapis.com/auth/chat.app.memberships
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.app
(to remove the calling app from the space) -
https://www.googleapis.com/auth/chat.import
(import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and the following authorization scope is used:-
https://www.googleapis.com/auth/chat.admin.memberships
-
-
App authentication is not supported for the following use cases:
- Removing a Google Group from a space.
- Removing a Chat app from a space.
To delete memberships for space managers, the requester must be a space manager. If you're using app authentication the Chat app must be the space creator.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.app.memberships
-
https://www.googleapis.com/auth/chat.admin.memberships
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.app
For more information, see the Authorization guide .
-
rpc DeleteMessage(
DeleteMessageRequest
) returns ( Empty
)
Deletes a message. For an example, see Delete a message .
Supports the following types of authentication :
-
App authentication with the authorization scope:
-
https://www.googleapis.com/auth/chat.bot
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
-
When using app authentication, requests can only delete messages created by the calling Chat app.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.messages
For more information, see the Authorization guide .
-
rpc DeleteReaction(
DeleteReactionRequest
) returns ( Empty
)
Deletes a reaction to a message. For an example, see Delete a reaction .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.reactions
For more information, see the Authorization guide .
-
rpc DeleteSpace(
DeleteSpaceRequest
) returns ( Empty
)
Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see Delete a space .
Supports the following types of authentication :
-
App authentication with administrator approval and the authorization scope:
-
https://www.googleapis.com/auth/chat.app.delete
(only in spaces the app created)
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.delete
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and the following authorization scope is used:-
https://www.googleapis.com/auth/chat.admin.delete
-
-
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.app.delete
-
https://www.googleapis.com/auth/chat.admin.delete
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.delete
For more information, see the Authorization guide .
-
rpc FindDirectMessage(
FindDirectMessageRequest
) returns ( Space
)
Returns the existing direct message with the specified user. If no direct message space is found, returns a 404 NOT_FOUND
error. For an example, see Find a direct message
.
With app authentication , returns the direct message space between the specified user and the calling Chat app.
With user authentication , returns the direct message space between the specified user and the authenticated user.
Supports the following types of authentication :
-
App authentication with the authorization scope:
-
https://www.googleapis.com/auth/chat.bot
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.spaces
-
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.bot
For more information, see the Authorization guide .
-
rpc GetAttachment(
GetAttachmentRequest
) returns ( Attachment
)
Gets the metadata of a message attachment. The attachment data is fetched using the media API . For an example, see Get metadata about a message attachment .
Requires app authentication with the authorization scope :
-
https://www.googleapis.com/auth/chat.bot
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.bot
For more information, see the Authorization guide .
-
rpc GetCustomEmoji(
GetCustomEmojiRequest
) returns ( CustomEmoji
)
Returns details about a custom emoji.
Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.customemojis.readonly
-
https://www.googleapis.com/auth/chat.customemojis
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.customemojis
-
https://www.googleapis.com/auth/chat.customemojis.readonly
For more information, see the Authorization guide .
-
rpc GetMembership(
GetMembershipRequest
) returns ( Membership
)
Returns details about a membership. For an example, see Get details about a user's or Google Chat app's membership .
Supports the following types of authentication :
-
App authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.app.memberships
(requires administrator approval )
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.memberships.readonly
-
https://www.googleapis.com/auth/chat.memberships
- User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and one of the following authorization scopes is used:-
https://www.googleapis.com/auth/chat.admin.memberships.readonly
-
https://www.googleapis.com/auth/chat.admin.memberships
-
-
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.admin.memberships
-
https://www.googleapis.com/auth/chat.admin.memberships.readonly
-
https://www.googleapis.com/auth/chat.app.memberships
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.readonly
For more information, see the Authorization guide .
-
rpc GetMessage(
GetMessageRequest
) returns ( Message
)
Returns details about a message. For an example, see Get details about a message .
Supports the following types of authentication :
-
App authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.bot
: When using this authorization scope, this method returns details about a message the Chat app has access to, like direct messages and slash commands that invoke the Chat app. -
https://www.googleapis.com/auth/chat.app.messages.readonly
with administrator approval (available in Developer Preview ). When using this authentication scope, this method returns details about a public message in a space.
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.messages
-
Note: Might return a message from a blocked member or space.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.app.messages.readonly
For more information, see the Authorization guide .
-
rpc GetSpace(
GetSpaceRequest
) returns ( Space
)
Returns details about a space. For an example, see Get details about a space .
Supports the following types of authentication :
-
App authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.app.spaces
with administrator approval
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.spaces
- User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and one of the following authorization scopes is used:-
https://www.googleapis.com/auth/chat.admin.spaces.readonly
-
https://www.googleapis.com/auth/chat.admin.spaces
-
-
App authentication has the following limitations:
-
space.access_settings
is only populated when using thechat.app.spaces
scope. -
space.predefind_permission_settings
andspace.permission_settings
are only populated when using thechat.app.spaces
scope, and only for spaces the app created.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.admin.spaces
-
https://www.googleapis.com/auth/chat.admin.spaces.readonly
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.app.spaces
For more information, see the Authorization guide .
-
rpc GetSpaceEvent(
GetSpaceEventRequest
) returns ( SpaceEvent
)
Returns an event from a Google Chat space. The event payload
contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated Message
resource in the event payload.
Note: The permissionSettings
field is not returned in the Space object of the Space event data for this request.
Requires user authentication with an authorization scope appropriate for reading the requested data:
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.reactions.readonly
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.memberships.readonly
-
https://www.googleapis.com/auth/chat.memberships
To get an event, the authenticated user must be a member of the space.
For an example, see Get details about an event from a Google Chat space .
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.readonly
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages.reactions.readonly
For more information, see the Authorization guide .
-
rpc GetSpaceNotificationSetting(
GetSpaceNotificationSettingRequest
) returns ( SpaceNotificationSetting
)
Gets the space notification setting. For an example, see Get the caller's space notification setting .
Requires user authentication with the authorization scope :
-
https://www.googleapis.com/auth/chat.users.spacesettings
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.users.spacesettings
For more information, see the Authorization guide .
-
rpc GetSpaceReadState(
GetSpaceReadStateRequest
) returns ( SpaceReadState
)
Returns details about a user's read state within a space, used to identify read and unread messages. For an example, see Get details about a user's space read state .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.users.readstate.readonly
-
https://www.googleapis.com/auth/chat.users.readstate
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.users.readstate
-
https://www.googleapis.com/auth/chat.users.readstate.readonly
For more information, see the Authorization guide .
-
rpc GetThreadReadState(
GetThreadReadStateRequest
) returns ( ThreadReadState
)
Returns details about a user's read state within a thread, used to identify read and unread messages. For an example, see Get details about a user's thread read state .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.users.readstate.readonly
-
https://www.googleapis.com/auth/chat.users.readstate
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.users.readstate
-
https://www.googleapis.com/auth/chat.users.readstate.readonly
For more information, see the Authorization guide .
-
rpc ListCustomEmojis(
ListCustomEmojisRequest
) returns ( ListCustomEmojisResponse
)
Lists custom emojis visible to the authenticated user.
Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.customemojis.readonly
-
https://www.googleapis.com/auth/chat.customemojis
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.customemojis
-
https://www.googleapis.com/auth/chat.customemojis.readonly
For more information, see the Authorization guide .
-
rpc ListMemberships(
ListMembershipsRequest
) returns ( ListMembershipsResponse
)
Lists memberships in a space. For an example, see List users and Google Chat apps in a space . Listing memberships with app authentication lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with User authentication lists memberships in spaces that the authenticated user has access to.
Supports the following types of authentication :
-
App authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.app.memberships
(requires administrator approval )
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.memberships.readonly
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and one of the following authorization scopes is used:-
https://www.googleapis.com/auth/chat.admin.memberships.readonly
-
https://www.googleapis.com/auth/chat.admin.memberships
-
-
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.admin.memberships
-
https://www.googleapis.com/auth/chat.admin.memberships.readonly
-
https://www.googleapis.com/auth/chat.app.memberships
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.readonly
For more information, see the Authorization guide .
-
rpc ListMessages(
ListMessagesRequest
) returns ( ListMessagesResponse
)
Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. If you list messages from a space with no messages, the response is an empty object. When using a REST/HTTP interface, the response contains an empty JSON object, {}
. For an example, see List messages
.
Supports the following types of authentication :
-
App authentication with administrator approval in Developer Preview with the authorization scope:
-
https://www.googleapis.com/auth/chat.app.messages.readonly
. When using this authentication scope, this method only returns public messages in a space. It doesn't include system messages or private messages.
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
-
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.app.messages.readonly
For more information, see the Authorization guide .
-
rpc ListReactions(
ListReactionsRequest
) returns ( ListReactionsResponse
)
Lists reactions to a message. For an example, see List reactions for a message .
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.messages.reactions.readonly
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.messages
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages.reactions.readonly
For more information, see the Authorization guide .
-
rpc ListSpaceEvents(
ListSpaceEventsRequest
) returns ( ListSpaceEventsResponse
)
Lists events from a Google Chat space. For each event, the payload
contains the most recent version of the Chat resource. For example, if you list events about new space members, the server returns Membership
resources that contain the latest membership details. If new members were removed during the requested period, the event payload contains an empty Membership
resource.
Requires user authentication with an authorization scope appropriate for reading the requested data:
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.reactions.readonly
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.memberships.readonly
-
https://www.googleapis.com/auth/chat.memberships
To list events, the authenticated user must be a member of the space.
For an example, see List events from a Google Chat space .
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.messages.readonly
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.memberships.readonly
-
https://www.googleapis.com/auth/chat.messages.reactions
-
https://www.googleapis.com/auth/chat.messages.reactions.readonly
For more information, see the Authorization guide .
-
rpc ListSpaces(
ListSpacesRequest
) returns ( ListSpacesResponse
)
Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see List spaces .
Supports the following types of authentication :
-
App authentication with the authorization scope:
-
https://www.googleapis.com/auth/chat.bot
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.spaces
-
To list all named spaces by Google Workspace organization, use the spaces.search()
method using Workspace administrator privileges instead.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.readonly
-
https://www.googleapis.com/auth/chat.bot
For more information, see the Authorization guide .
-
rpc SearchSpaces(
SearchSpacesRequest
) returns ( SearchSpacesResponse
)
Returns a list of spaces in a Google Workspace organization based on an administrator's search. In the request, set use_admin_access
to true
. For an example, see Search for and manage spaces
.
Requires user authentication with administrator privileges and one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.admin.spaces.readonly
-
https://www.googleapis.com/auth/chat.admin.spaces
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.admin.spaces
-
https://www.googleapis.com/auth/chat.admin.spaces.readonly
For more information, see the Authorization guide .
-
rpc SetUpSpace(
SetUpSpaceRequest
) returns ( Space
)
Creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn't be specified as a membership in the request. For an example, see Set up a space with initial members .
To specify the human members to add, add memberships with the appropriate membership.member.name
. To add a human user, use users/{user}
, where {user}
can be the email address for the user. For users in the same Workspace organization {user}
can also be the id
for the person from the People API, or the id
for the user in the Directory API. For example, if the People API Person profile ID for user@example.com
is 123456789
, you can add the user to the space by setting the membership.member.name
to users/user@example.com
or users/123456789
.
To specify the Google groups to add, add memberships with the appropriate membership.group_member.name
. To add or invite a Google group, use groups/{group}
, where {group}
is the id
for the group from the Cloud Identity Groups API. For example, you can use Cloud Identity Groups lookup API
to retrieve the ID 123456789
for group email group@example.com
, then you can add the group to the space by setting the membership.group_member.name
to groups/123456789
. Group email is not supported, and Google groups can only be added as members in named spaces.
For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn't have permission to add some members, then those members aren't added to the created space.
To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn't created.
To create a DM between the calling user and the calling app, set Space.singleUserBotDm
to true
and don't specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see Invite or add a user or app to a space
.
If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned.
Spaces with threaded replies aren't supported. If you receive the error message ALREADY_EXISTS
when setting up a space, try a different displayName
. An existing space within the Google Workspace organization might already use this display name.
Requires user authentication with one of the following authorization scopes :
-
https://www.googleapis.com/auth/chat.spaces.create
-
https://www.googleapis.com/auth/chat.spaces
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.spaces.create
For more information, see the Authorization guide .
-
rpc UpdateMembership(
UpdateMembershipRequest
) returns ( Membership
)
Updates a membership. For an example, see Update a user's membership in a space .
Supports the following types of authentication :
-
App authentication with administrator approval and the authorization scope:
-
https://www.googleapis.com/auth/chat.app.memberships
(only in spaces the app created)
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.memberships
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and the following authorization scope is used:-
https://www.googleapis.com/auth/chat.admin.memberships
-
-
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.app.memberships
-
https://www.googleapis.com/auth/chat.admin.memberships
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.memberships
For more information, see the Authorization guide .
-
rpc UpdateMessage(
UpdateMessageRequest
) returns ( Message
)
Updates a message. There's a difference between the patch
and update
methods. The patch
method uses a patch
request while the update
method uses a put
request. We recommend using the patch
method. For an example, see Update a message
.
Supports the following types of authentication :
-
App authentication with the authorization scope:
-
https://www.googleapis.com/auth/chat.bot
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.messages
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only)
-
When using app authentication, requests can only update messages created by the calling Chat app.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.bot
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.messages
For more information, see the Authorization guide .
-
rpc UpdateSpace(
UpdateSpaceRequest
) returns ( Space
)
Updates a space. For an example, see Update a space .
If you're updating the displayName
field and receive the error message ALREADY_EXISTS
, try a different display name.. An existing space within the Google Workspace organization might already use this display name.
Supports the following types of authentication :
-
App authentication with administrator approval and one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.app.spaces
-
-
User authentication with one of the following authorization scopes:
-
https://www.googleapis.com/auth/chat.spaces
-
https://www.googleapis.com/auth/chat.import
(import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates,
use_admin_access
istrue
, and the following authorization scopes is used:-
https://www.googleapis.com/auth/chat.admin.spaces
-
-
App authentication has the following limitations:
- To update either
space.predefined_permission_settings
orspace.permission_settings
, the app must be the space creator. - Updating the
space.access_settings.audience
is not supported for app authentication.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/chat.app.spaces
-
https://www.googleapis.com/auth/chat.admin.spaces
-
https://www.googleapis.com/auth/chat.import
-
https://www.googleapis.com/auth/chat.spaces
For more information, see the Authorization guide .
-
rpc UpdateSpaceNotificationSetting(
UpdateSpaceNotificationSettingRequest
) returns ( SpaceNotificationSetting
)
Updates the space notification setting. For an example, see Update the caller's space notification setting .
Requires user authentication with the authorization scope :
-
https://www.googleapis.com/auth/chat.users.spacesettings
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.users.spacesettings
For more information, see the Authorization guide .
-
rpc UpdateSpaceReadState(
UpdateSpaceReadStateRequest
) returns ( SpaceReadState
)
Updates a user's read state within a space, used to identify read and unread messages. For an example, see Update a user's space read state .
Requires user authentication with the authorization scope :
-
https://www.googleapis.com/auth/chat.users.readstate
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/chat.users.readstate
For more information, see the Authorization guide .
-
AccessoryWidget
One or more interactive widgets that appear at the bottom of a message. For details, see Add interactive widgets at the bottom of a message .
action
. The type of action. action
can be only one of the following:ActionResponse
Parameters that a Chat app can use to configure how its response is posted.
Fields | |
---|---|
type
|
Input only. The type of Chat app response. |
url
|
Input only. URL for users to authenticate or configure. (Only for |
dialog_action
|
Input only. A response to an interaction event related to a dialog
. Must be accompanied by |
updated_widget
|
Input only. The response of the updated widget. |
ResponseType
The type of Chat app response.
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Default type that's handled as NEW_MESSAGE
. |
NEW_MESSAGE
|
Post as a new message in the topic. |
UPDATE_MESSAGE
|
Update the Chat app's message. This is only permitted on a CARD_CLICKED
event where the message sender type is BOT
. |
UPDATE_USER_MESSAGE_CARDS
|
Update the cards on a user's message. This is only permitted as a response to a MESSAGE
event with a matched url, or a CARD_CLICKED
event where the message sender type is HUMAN
. Text is ignored. |
REQUEST_CONFIG
|
Privately ask the user for additional authentication or configuration. |
DIALOG
|
Presents a dialog . |
UPDATE_WIDGET
|
Widget text autocomplete options query. |
SelectionItems
List of widget autocomplete results.
Fields | |
---|---|
items[]
|
An array of the SelectionItem objects. |
UpdatedWidget
For selectionInput
widgets, returns autocomplete suggestions for a multiselect menu.
ActionStatus
Represents the status for a request to either invoke or submit a dialog .
Fields | |
---|---|
status_code
|
The status code. |
Annotation
Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with start_index
and length
of 0. To add basic formatting to a text message, see Format text messages
.
Example plain-text message body:
Hello @FooBot how are you!"
The corresponding annotations metadata:
"annotations":[{
"type":"USER_MENTION",
"startIndex":6,
"length":7,
"userMention": {
"user": {
"name":"users/{user}",
"displayName":"FooBot",
"avatarUrl":"https://goo.gl/aeDtrS",
"type":"BOT"
},
"type":"MENTION"
}
}]
type
The type of this annotation.
length
int32
Length of the substring in the plain-text message body this annotation corresponds to. If not present, indicates a length of 0.
start_index
int32
Start index (0-based, inclusive) in the plain-text message body this annotation corresponds to.
user_mention
The metadata of user mention.
slash_command
The metadata for a slash command.
AnnotationType
Type of the annotation.
Enums | |
---|---|
ANNOTATION_TYPE_UNSPECIFIED
|
Default value for the enum. Don't use. |
USER_MENTION
|
A user is mentioned. |
SLASH_COMMAND
|
A slash command is invoked. |
RICH_LINK
|
A rich link annotation. |
CUSTOM_EMOJI
|
A custom emoji annotation. |
AppCommandMetadata
Metadata about a Chat app command .
Fields | |
---|---|
app_command_id
|
The ID for the command specified in the Chat API configuration. |
app_command_type
|
The type of Chat app command. |
AppCommandType
The type of Chat app command. For details, see Types of Chat app commands .
Enums | |
---|---|
APP_COMMAND_TYPE_UNSPECIFIED
|
Default value. Unspecified. |
SLASH_COMMAND
|
A slash command. The user sends the command in a Chat message. |
QUICK_COMMAND
|
A quick command. The user selects the command from the Chat menu in the message reply area. |
AttachedGif
A GIF image that's specified by a URL.
Fields | |
---|---|
uri
|
Output only. The URL that hosts the GIF image. |
Attachment
An attachment in Google Chat.
name
string
Optional. Resource name of the attachment, in the form spaces/{space}/messages/{message}/attachments/{attachment}
.
content_name
string
Output only. The original file name for the content, not the full path.
content_type
string
Output only. The content type (MIME type) of the file.
thumbnail_uri
string
Output only. The thumbnail URL which should be used to preview the attachment to a human user. Chat apps shouldn't use this URL to download attachment content.
download_uri
string
Output only. The download URL which should be used to allow a human user to download the attachment. Chat apps shouldn't use this URL to download attachment content.
source
Output only. The source of the attachment.
data_ref
. The data reference to the attachment. data_ref
can be only one of the following:drive_data_ref
Output only. A reference to the Google Drive attachment. This field is used with the Google Drive API.
Source
The source of the attachment.
Enums | |
---|---|
SOURCE_UNSPECIFIED
|
Reserved. |
DRIVE_FILE
|
The file is a Google Drive file. |
UPLOADED_CONTENT
|
The file is uploaded to Chat. |
AttachmentDataRef
A reference to the attachment data.
Fields | |
---|---|
resource_name
|
Optional. The resource name of the attachment data. This field is used with the media API to download the attachment data. |
attachment_upload_token
|
Optional. Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments. |
CalendarEventLinkData
Data for Calendar event links.
Fields | |
---|---|
calendar_id
|
The Calendar identifier of the linked Calendar. |
event_id
|
The Event identifier of the linked Calendar event. |
CardWithId
A card in a Google Chat message.
Only Chat apps can create cards. If your Chat app authenticates as a user , the message can't contain cards.
Design and preview cards with the Card Builder.
Open the Card BuilderFields | |
---|---|
card_id
|
Required if the message contains multiple cards. A unique identifier for a card in a message. |
card
|
A card. Maximum size is 32 KB. |
ChatSpaceLinkData
Data for Chat space links.
Fields | |
---|---|
space
|
The space of the linked Chat space resource. Format: |
thread
|
The thread of the linked Chat space resource. Format: |
CompleteImportSpaceRequest
Request message for completing the import process for a space.
Fields | |
---|---|
name
|
Required. Resource name of the import mode space. Format: |
CompleteImportSpaceResponse
Response message for completing the import process for a space.
Fields | |
---|---|
space
|
The import mode space. |
ContextualAddOnMarkup
This type has no fields.
The markup for developers to specify the contents of a contextual AddOn.
Card
A card is a UI element that can contain UI widgets such as text and images.
Fields | |
---|---|
header
|
The header of the card. A header usually contains a title and an image. |
sections[]
|
Sections are separated by a line divider. |
card_actions[]
|
The actions of this card. |
name
|
Name of the card. |
CardAction
A card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser.
Not supported by Google Chat apps.
Fields | |
---|---|
action_label
|
The label used to be displayed in the action menu item. |
on_click
|
The onclick action for this action item. |
CardHeader
Fields | |
---|---|
title
|
The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each takes up one line. If only the title is specified, it takes up both lines. |
subtitle
|
The subtitle of the card header. |
image_style
|
The image's type (for example, square border or circular border). |
image_url
|
The URL of the image in the card header. |
ImageStyle
Enums | |
---|---|
IMAGE_STYLE_UNSPECIFIED
|
|
IMAGE
|
Square border. |
AVATAR
|
Circular border. |
Section
A section contains a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there's currently no need for layout properties (for example, float).
Fields | |
---|---|
header
|
The header of the section. Formatted text is supported. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons . |
widgets[]
|
A section must contain at least one widget. |
CreateCustomEmojiRequest
A request to create a custom emoji.
Fields | |
---|---|
custom_emoji
|
Required. The custom emoji to create. |
CreateMembershipRequest
Request message for creating a membership.
parent
string
Required. The resource name of the space for which to create the membership.
Format: spaces/{space}
membership
Required. The membership relation to create.
The memberType
field must contain a user with the user.name
and user.type
fields populated. The server will assign a resource name and overwrite anything specified.
When a Chat app creates a membership relation for a human user, it must use certain authorization scopes and set specific values for certain fields:
-
When authenticating as a user , the
chat.memberships
authorization scope is required. -
When authenticating as an app , the
chat.app.memberships
authorization scope is required. -
Set
user.type
toHUMAN
, and setuser.name
with formatusers/{user}
, where{user}
can be the email address for the user. For users in the same Workspace organization{user}
can also be theid
of the person from the People API, or theid
for the user in the Directory API. For example, if the People API Person profile ID foruser@example.com
is123456789
, you can add the user to the space by setting themembership.member.name
tousers/user@example.com
orusers/123456789
.
Inviting users external to the Workspace organization that owns the space requires user authentication .
When a Chat app creates a membership relation for itself, it must authenticate as a user
and use the chat.memberships.app
scope, set user.type
to BOT
, and set user.name
to users/app
.
use_admin_access
bool
Optional. When true
, the method runs using the user's Google Workspace administrator privileges.
The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege .
Requires the chat.admin.memberships
OAuth 2.0 scope
.
Creating app memberships or creating memberships for users outside the administrator's Google Workspace organization isn't supported using admin access.
CreateMessageRequest
Creates a message.
parent
string
Required. The resource name of the space in which to create a message.
Format: spaces/{space}
thread_key
(deprecated)
string
Optional. Deprecated: Use thread.thread_key
instead. ID for the thread. Supports up to 4000 characters. To start or add to a thread, create a message and specify a threadKey
or the thread.name
. For example usage, see Start or reply to a message thread
.
request_id
string
Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.
MessageReplyOption
Specifies how to reply to a message. More states might be added in the future.
Enums | |
---|---|
MESSAGE_REPLY_OPTION_UNSPECIFIED
|
Default. Starts a new thread. Using this option ignores any thread ID
or
that's included. |
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
|
Creates the message as a reply to the thread specified by thread ID
or
. If it fails, the message starts a new thread instead. |
REPLY_MESSAGE_OR_FAIL
|
Creates the message as a reply to the thread specified by thread ID
or
. If a new thread_key
is used, a new thread is created. If the message creation fails, a NOT_FOUND
error is returned instead. |
CreateReactionRequest
Creates a reaction to a message.
Fields | |
---|---|
parent
|
Required. The message where the reaction is created. Format: |
reaction
|
Required. The reaction to create. |
CreateSpaceRequest
A request to create a named space with no members.
Fields | |
---|---|
space
|
Required. The If you receive the error message The space |
request_id
|
Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. |
CustomEmoji
Represents a custom emoji .
Fields | |
---|---|
name
|
Identifier. The resource name of the custom emoji, assigned by the server. Format: |
uid
|
Output only. Unique key for the custom emoji resource. |
emoji_name
|
Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: |
temporary_image_uri
|
Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created. |
payload
|
Optional. Input only. Payload data. Required when the custom emoji is created. |
CustomEmojiPayload
Payload data for the custom emoji.
Fields | |
---|---|
file_content
|
Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change. |
filename
|
Required. Input only. The image file name. Supported file extensions: |
CustomEmojiMetadata
Annotation metadata for custom emoji.
Fields | |
---|---|
custom_emoji
|
The custom emoji. |
DeleteCustomEmojiRequest
Request for deleting a custom emoji.
Fields | |
---|---|
name
|
Required. Resource name of the custom emoji to delete. Format: You can use the emoji name as an alias for |
DeleteMembershipRequest
Request to delete a membership in a space.
Fields | |
---|---|
name
|
Required. Resource name of the membership to delete. Chat apps can delete human users' or their own memberships. Chat apps can't delete other apps' memberships. When deleting a human membership, requires the When deleting an app membership, requires the Format: |
use_admin_access
|
Optional. When The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege . Requires the Deleting app memberships in a space isn't supported using admin access. |
DeleteMessageRequest
Request to delete a message.
Fields | |
---|---|
name
|
Required. Resource name of the message. Format: If you've set a custom ID for your message, you can use the value from the |
force
|
Optional. When Only applies when authenticating as a user . Has no effect when authenticating as a Chat app . |
DeleteReactionRequest
Deletes a reaction to a message.
Fields | |
---|---|
name
|
Required. Name of the reaction to delete. Format: |
DeleteSpaceRequest
Request for deleting a space.
Fields | |
---|---|
name
|
Required. Resource name of the space to delete. Format: |
use_admin_access
|
Optional. When The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege . Requires the |
DeletionMetadata
Information about a deleted message. A message is deleted when delete_time
is set.
Fields | |
---|---|
deletion_type
|
Indicates who deleted the message. |
DeletionType
Who deleted the message and how it was deleted. More values may be added in the future. See Edit or delete a message in Google Chat for details on when messages can be deleted.
Enums | |
---|---|
DELETION_TYPE_UNSPECIFIED
|
This value is unused. |
CREATOR
|
User deleted their own message. |
SPACE_OWNER
|
A space manager deleted the message. |
ADMIN
|
A Google Workspace administrator deleted the message. Administrators can delete any message in the space, including messages sent by any space member or Chat app. |
APP_MESSAGE_EXPIRY
|
A Chat app deleted its own message when it expired. |
CREATOR_VIA_APP
|
A Chat app deleted the message on behalf of the creator (using user authentication). |
SPACE_OWNER_VIA_APP
|
A Chat app deleted the message on behalf of a space manager (using user authentication). |
SPACE_MEMBER
|
A member of the space deleted the message. Users can delete messages sent by apps. |
Dialog
Wrapper around the card body of the dialog.
Fields | |
---|---|
body
|
Input only. Body of the dialog, which is rendered in a modal. Google Chat apps don't support the following card entities: |
DialogAction
Contains a dialog and request status code.
action_status
Input only. Status for a request to either invoke or submit a dialog . Displays a status and message to users, if necessary. For example, in case of an error or success.
action
. Action to perform. action
can be only one of the following:DriveDataRef
A reference to the data of a drive attachment.
Fields | |
---|---|
drive_file_id
|
The ID for the drive file. Use with the Drive API. |
DriveLinkData
Data for Google Drive links.
Fields | |
---|---|
drive_data_ref
|
A DriveDataRef which references a Google Drive file. |
mime_type
|
The mime type of the linked Google Drive resource. |
Emoji
An emoji that is used as a reaction to a message.
content
. Required. The content of the emoji. content
can be only one of the following:unicode
string
Optional. A basic emoji represented by a unicode string.
custom_emoji
A custom emoji.
EmojiReactionSummary
The number of people who reacted to a message with a specific emoji.
Fields | |
---|---|
emoji
|
Output only. Emoji associated with the reactions. |
reaction_count
|
Output only. The total number of reactions using the associated emoji. |
FindDirectMessageRequest
A request to get direct message space based on the user resource.
Fields | |
---|---|
name
|
Required. Resource name of the user to find direct message with. Format: |
GetAttachmentRequest
Request to get an attachment.
Fields | |
---|---|
name
|
Required. Resource name of the attachment, in the form |
GetCustomEmojiRequest
A request to return a single custom emoji.
Fields | |
---|---|
name
|
Required. Resource name of the custom emoji. Format: You can use the emoji name as an alias for |
GetMembershipRequest
Request to get a membership of a space.
Fields | |
---|---|
name
|
Required. Resource name of the membership to retrieve. To get the app's own membership by using user authentication
, you can optionally use Format: You can use the user's email as an alias for |
use_admin_access
|
Optional. When The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege . Requires the Getting app memberships in a space isn't supported when using admin access. |
GetMessageRequest
Request to get a message.
Fields | |
---|---|
name
|
Required. Resource name of the message. Format: If you've set a custom ID for your message, you can use the value from the |
GetSpaceEventRequest
Request message for getting a space event.
Fields | |
---|---|
name
|
Required. The resource name of the space event. Format: |
GetSpaceNotificationSettingRequest
Request message to get space notification setting. Only supports getting notification setting for the calling user.
name
string
Required. Format: users/{user}/spaces/{space}/spaceNotificationSetting
-
users/me/spaces/{space}/spaceNotificationSetting
, OR -
users/user@example.com/spaces/{space}/spaceNotificationSetting
, OR -
users/123456789/spaces/{space}/spaceNotificationSetting
. Note: Only the caller's user id or email is allowed in the path.
GetSpaceReadStateRequest
Request message for GetSpaceReadState API.
name
string
Required. Resource name of the space read state to retrieve.
Only supports getting read state for the calling user.
To refer to the calling user, set one of the following:
-
The
me
alias. For example,users/me/spaces/{space}/spaceReadState
. -
Their Workspace email address. For example,
users/user@example.com/spaces/{space}/spaceReadState
. -
Their user id. For example,
users/123456789/spaces/{space}/spaceReadState
.
Format: users/{user}/spaces/{space}/spaceReadState
GetSpaceRequest
A request to return a single space.
Fields | |
---|---|
name
|
Required. Resource name of the space, in the form Format: |
use_admin_access
|
Optional. When The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege . Requires the |
GetThreadReadStateRequest
Request message for GetThreadReadStateRequest API.
name
string
Required. Resource name of the thread read state to retrieve.
Only supports getting read state for the calling user.
To refer to the calling user, set one of the following:
-
The
me
alias. For example,users/me/spaces/{space}/threads/{thread}/threadReadState
. -
Their Workspace email address. For example,
users/user@example.com/spaces/{space}/threads/{thread}/threadReadState
. -
Their user id. For example,
users/123456789/spaces/{space}/threads/{thread}/threadReadState
.
Format: users/{user}/spaces/{space}/threads/{thread}/threadReadState
Group
A Google Group in Google Chat.
Fields | |
---|---|
name
|
Resource name for a Google Group. Represents a group in Cloud Identity Groups API. Format: groups/{group} |
HistoryState
The history state for messages and spaces. Specifies how long messages and conversation threads are kept after creation.
Enums | |
---|---|
HISTORY_STATE_UNSPECIFIED
|
Default value. Do not use. |
HISTORY_OFF
|
History off. Messages and threads are kept for 24 hours . |
HISTORY_ON
|
History on. The organization's Vault retention rules specify for how long messages and threads are kept. |
ListCustomEmojisRequest
A request to return a list of custom emojis.
Fields | |
---|---|
page_size
|
Optional. The maximum number of custom emojis returned. The service can return fewer custom emojis than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200. |
page_token
|
Optional. (If resuming from a previous query.) A page token received from a previous list custom emoji call. Provide this to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results. |
filter
|
Optional. A query filter. Supports filtering by creator. To filter by creator, you must specify a valid value. Currently only For example, the following query returns custom emojis created by the caller:
Invalid queries are rejected with an |
ListCustomEmojisResponse
A response to list custom emojis.
Fields | |
---|---|
custom_emojis[]
|
Unordered list. List of custom emojis. |
next_page_token
|
A token that you can send as |
ListMembershipsRequest
Request message for listing memberships.
Fields | |
---|---|
parent
|
Required. The resource name of the space for which to fetch a membership list. Format: spaces/{space} |
page_size
|
Optional. The maximum number of memberships to return. The service might return fewer than this value. If unspecified, at most 100 memberships are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an |
page_token
|
Optional. A page token, received from a previous call to list memberships. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. |
filter
|
Optional. A query filter. You can filter memberships by a member's role ( To filter by role, set To filter by type, set To filter by both role and type, use the Either For example, the following queries are valid:
The following queries are invalid:
Invalid queries are rejected by the server with an |
show_groups
|
Optional. When |
show_invited
|
Optional. When Currently requires user authentication . |
use_admin_access
|
Optional. When The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege . Requires either the Listing app memberships in a space isn't supported when using admin access. |
ListMembershipsResponse
Response to list memberships of the space.
Fields | |
---|---|
memberships[]
|
Unordered list. List of memberships in the requested (or first) page. |
next_page_token
|
A token that you can send as |
ListMessagesRequest
Lists messages in the specified space, that the user is a member of.
parent
string
Required. The resource name of the space to list messages from.
Format: spaces/{space}
page_size
int32
Optional. The maximum number of messages returned. The service might return fewer messages than this value.
If unspecified, at most 25 are returned.
The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.
Negative values return an INVALID_ARGUMENT
error.
page_token
string
Optional. A page token received from a previous list messages call. Provide this parameter to retrieve the subsequent page.
When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.
filter
string
Optional. A query filter.
You can filter messages by date ( create_time
) and thread ( thread.name
).
To filter messages by the date they were created, specify the create_time
with a timestamp in RFC-3339
format and double quotation marks. For example, "2023-04-21T11:30:00-04:00"
. You can use the greater than operator >
to list messages that were created after a timestamp, or the less than operator <
to list messages that were created before a timestamp. To filter messages within a time interval, use the AND
operator between two timestamps.
To filter by thread, specify the thread.name
, formatted as spaces/{space}/threads/{thread}
. You can only specify one thread.name
per query.
To filter by both thread and date, use the AND
operator in your query.
For example, the following queries are valid:
create_time > "2012-04-21T11:30:00-04:00"
create_time > "2012-04-21T11:30:00-04:00" AND
thread.name = spaces/AAAAAAAAAAA/threads/123
create_time > "2012-04-21T11:30:00+00:00" AND
create_time < "2013-01-01T00:00:00+00:00" AND
thread.name = spaces/AAAAAAAAAAA/threads/123
thread.name = spaces/AAAAAAAAAAA/threads/123
Invalid queries are rejected by the server with an INVALID_ARGUMENT
error.
order_by
string
Optional. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows:
-
ASC
for ascending. -
DESC
for descending.
The default ordering is create_time ASC
.
show_deleted
bool
Optional. Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable.
ListMessagesResponse
Response message for listing messages.
Fields | |
---|---|
next_page_token
|
You can send a token as |
ListReactionsRequest
Lists reactions to a message.
Fields | |
---|---|
parent
|
Required. The message users reacted to. Format: |
page_size
|
Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200. |
page_token
|
Optional. (If resuming from a previous query.) A page token received from a previous list reactions call. Provide this to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results. |
filter
|
Optional. A query filter. You can filter reactions by emoji
(either To filter reactions for multiple emojis or users, join similar fields with the To filter reactions by emoji and user, use the If your query uses both For example, the following queries are valid:
The following queries are invalid:
Invalid queries are rejected with an |
ListReactionsResponse
Response to a list reactions request.
Fields | |
---|---|
reactions[]
|
List of reactions in the requested (or first) page. |
next_page_token
|
Continuation token to retrieve the next page of results. It's empty for the last page of results. |
ListSpaceEventsRequest
Request message for listing space events.
parent
string
Required. Resource name of the Google Chat space where the events occurred.
Format: spaces/{space}
.
page_size
int32
Optional. The maximum number of space events returned. The service might return fewer than this value.
Negative values return an INVALID_ARGUMENT
error.
page_token
string
Optional. A page token, received from a previous list space events call. Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.
filter
string
Required. A query filter.
You must specify at least one event type ( event_type
) using the has :
operator. To filter by multiple event types, use the OR
operator. Omit batch event types in your filter. The request automatically returns any related batch events. For example, if you filter by new reactions ( google.workspace.chat.reaction.v1.created
), the server also returns batch new reactions events ( google.workspace.chat.reaction.v1.batchCreated
). For a list of supported event types, see the SpaceEvents
reference documentation
.
Optionally, you can also filter by start time ( start_time
) and end time ( end_time
):
-
start_time
: Exclusive timestamp from which to start listing space events. You can list events that occurred up to 28 days ago. If unspecified, lists space events from the past 28 days. -
end_time
: Inclusive timestamp until which space events are listed. If unspecified, lists events up to the time of the request.
To specify a start or end time, use the equals =
operator and format in RFC-3339
. To filter by both start_time
and end_time
, use the AND
operator.
For example, the following queries are valid:
start_time="2023-08-23T19:20:33+00:00" AND
end_time="2023-08-23T19:21:54+00:00"
start_time="2023-08-23T19:20:33+00:00" AND
(event_types:"google.workspace.chat.space.v1.updated" OR
event_types:"google.workspace.chat.message.v1.created")
The following queries are invalid:
start_time="2023-08-23T19:20:33+00:00" OR
end_time="2023-08-23T19:21:54+00:00"
event_types:"google.workspace.chat.space.v1.updated" AND
event_types:"google.workspace.chat.message.v1.created"
Invalid queries are rejected by the server with an INVALID_ARGUMENT
error.
ListSpaceEventsResponse
Response message for listing space events.
Fields | |
---|---|
space_events[]
|
Results are returned in chronological order (oldest event first). Note: The |
next_page_token
|
Continuation token used to fetch more events. If this field is omitted, there are no subsequent pages. |
ListSpacesRequest
A request to list the spaces the caller is a member of.
Fields | |
---|---|
page_size
|
Optional. The maximum number of spaces to return. The service might return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an |
page_token
|
Optional. A page token, received from a previous list spaces call. Provide this parameter to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value may lead to unexpected results. |
filter
|
Optional. A query filter. You can filter spaces by the space type ( To filter by space type, you must specify valid enum value, such as For example, the following queries are valid:
Invalid queries are rejected by the server with an |
ListSpacesResponse
The response for a list spaces request.
Fields | |
---|---|
spaces[]
|
List of spaces in the requested (or first) page. Note: The |
next_page_token
|
You can send a token as |
MatchedUrl
A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see Preview links .
Fields | |
---|---|
url
|
Output only. The URL that was matched. |
MeetSpaceLinkData
Data for Meet space links.
Fields | |
---|---|
meeting_code
|
Meeting code of the linked Meet space. |
type
|
Indicates the type of the Meet space. |
huddle_status
|
Optional. Output only. If the Meet is a Huddle, indicates the status of the huddle. Otherwise, this is unset. |
HuddleStatus
The status of the huddle
Enums | |
---|---|
HUDDLE_STATUS_UNSPECIFIED
|
Default value for the enum. Don't use. |
STARTED
|
The huddle has started. |
ENDED
|
The huddle has ended. In this case the Meet space URI and identifiers will no longer be valid. |
MISSED
|
The huddle has been missed. In this case the Meet space URI and identifiers will no longer be valid. |
Type
The type of the Meet space.
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Default value for the enum. Don't use. |
MEETING
|
The Meet space is a meeting. |
HUDDLE
|
The Meet space is a huddle. |
Membership
Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space.
name
string
Identifier. Resource name of the membership, assigned by the server.
Format: spaces/{space}/members/{member}
state
Output only. State of the membership.
role
Optional. User's role within a Chat space, which determines their permitted actions in the space.
This field can only be used as input in UpdateMembership
.
create_time
Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces.
delete_time
Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces.
memberType
. Member associated with this membership. Other member types might be supported in the future. memberType
can be only one of the following:member
Optional. The Google Chat user or app the membership corresponds to. If your Chat app authenticates as a user
, the output populates the user
name
and type
.
group_member
Optional. The Google Group the membership corresponds to.
Reading or mutating memberships for Google Groups requires user authentication .
MembershipRole
Represents a user's permitted actions in a Chat space. More enum values might be added in the future.
Enums | |
---|---|
MEMBERSHIP_ROLE_UNSPECIFIED
|
Default value. For users
: they aren't a member of the space, but can be invited. For Google Groups
: they're always assigned this role (other enum values might be used in the future). |
ROLE_MEMBER
|
A member of the space. The user has basic permissions, like sending messages to the space. In 1:1 and unnamed group conversations, everyone has this role. |
ROLE_MANAGER
|
A space manager. The user has all basic permissions plus administrative permissions that let them manage the space, like adding or removing members. Only supported in SpaceType.SPACE
. |
MembershipState
Specifies the member's relationship with a space. Other membership states might be supported in the future.
Enums | |
---|---|
MEMBERSHIP_STATE_UNSPECIFIED
|
Default value. Don't use. |
JOINED
|
The user is added to the space, and can participate in the space. |
INVITED
|
The user is invited to join the space, but hasn't joined it. |
NOT_A_MEMBER
|
The user doesn't belong to the space and doesn't have a pending invitation to join the space. |
MembershipBatchCreatedEventData
Event payload for multiple new memberships.
Event type: google.workspace.chat.membership.v1.batchCreated
Fields | |
---|---|
memberships[]
|
A list of new memberships. |
MembershipBatchDeletedEventData
Event payload for multiple deleted memberships.
Event type: google.workspace.chat.membership.v1.batchDeleted
Fields | |
---|---|
memberships[]
|
A list of deleted memberships. |
MembershipBatchUpdatedEventData
Event payload for multiple updated memberships.
Event type: google.workspace.chat.membership.v1.batchUpdated
Fields | |
---|---|
memberships[]
|
A list of updated memberships. |
MembershipCreatedEventData
Event payload for a new membership.
Event type: google.workspace.chat.membership.v1.created
.
Fields | |
---|---|
membership
|
The new membership. |
MembershipDeletedEventData
Event payload for a deleted membership.
Event type: google.workspace.chat.membership.v1.deleted
Fields | |
---|---|
membership
|
The deleted membership. Only the |
MembershipUpdatedEventData
Event payload for an updated membership.
Event type: google.workspace.chat.membership.v1.updated
Fields | |
---|---|
membership
|
The updated membership. |
Message
A message in a Google Chat space.
name
string
Identifier. Resource name of the message.
Format: spaces/{space}/messages/{message}
Where {space}
is the ID of the space where the message is posted and {message}
is a system-assigned ID for the message. For example, spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB
.
If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing {message}
with the value from the clientAssignedMessageId
field. For example, spaces/AAAAAAAAAAA/messages/client-custom-name
. For details, see Name a message
.
sender
Output only. The user who created the message. If your Chat app authenticates as a user
, the output populates the user
name
and type
.
create_time
Optional. Immutable. For spaces created in Chat, the time at which the message was created. This field is output only, except when used in import mode spaces.
For import mode spaces, set this field to the historical timestamp at which the message was created in the source in order to preserve the original creation time.
last_update_time
Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty.
delete_time
Output only. The time at which the message was deleted in Google Chat. If the message is never deleted, this field is empty.
text
string
Optional. Plain-text body of the message. The first link to an image, video, or web page generates a preview chip . You can also @mention a Google Chat user , or everyone in the space.
To learn about creating text messages, see Send a message .
formatted_text
string
Output only. Contains the message text
with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following:
-
Markup syntax for bold, italic, strikethrough, monospace, monospace block, and bulleted list.
-
User mentions using the format
<users/{user}>
. -
Custom hyperlinks using the format
<{url}|{rendered_text}>
where the first string is the URL and the second is the rendered text—for example,<http://example.com|custom text>
. -
Custom emoji using the format
:{emoji_name}:
—for example,:smile:
. This doesn't apply to Unicode emoji, such asU+1F600
for a grinning face emoji.
For more information, see View text formatting sent in a message
cards[]
(deprecated)
Deprecated: Use cards_v2
instead.
Rich, formatted, and interactive cards that you can use to display UI elements such as: formatted texts, buttons, and clickable images. Cards are normally displayed below the plain-text body of the message. cards
and cards_v2
can have a maximum size of 32 KB.
cards_v2[]
Optional. An array of cards .
Only Chat apps can create cards. If your Chat app authenticates as a user , the messages can't contain cards.
To learn how to create a message that contains cards, see Send a message .
Design and preview cards with the Card Builder.
Open the Card Builderannotations[]
Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with start_index
and length
of 0.
thread
The thread the message belongs to. For example usage, see Start or reply to a message thread .
space
Output only. If your Chat app authenticates as a user
, the output only populates the space
name
.
fallback_text
string
Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications.
action_response
Input only. Parameters that a Chat app can use to configure how its response is posted.
argument_text
string
Output only. Plain-text body of the message with all Chat app mentions stripped out.
slash_command
Output only. Slash command information, if applicable.
matched_url
Output only. A URL in spaces.messages.text
that matches a link preview pattern. For more information, see Preview links
.
thread_reply
bool
Output only. When true
, the message is a response in a reply thread. When false
, the message is visible in the space's top-level conversation as either the first message of a thread or a message with no threaded replies.
If the space doesn't support reply in threads, this field is always false
.
emoji_reaction_summaries[]
Output only. The list of emoji reaction summaries on the message.
attached_gifs[]
Output only. GIF images that are attached to the message.
MessageBatchCreatedEventData
Event payload for multiple new messages.
Event type: google.workspace.chat.message.v1.batchCreated
Fields |
---|
MessageBatchDeletedEventData
Event payload for multiple deleted messages.
Event type: google.workspace.chat.message.v1.batchDeleted
Fields |
---|
MessageBatchUpdatedEventData
Event payload for multiple updated messages.
Event type: google.workspace.chat.message.v1.batchUpdated
Fields |
---|
MessageCreatedEventData
Event payload for a new message.
Event type: google.workspace.chat.message.v1.created
Fields |
---|
MessageDeletedEventData
Event payload for a deleted message.
Event type: google.workspace.chat.message.v1.deleted
Fields |
---|
MessageUpdatedEventData
Event payload for an updated message.
Event type: google.workspace.chat.message.v1.updated
Fields |
---|
QuotedMessageMetadata
Information about a message that another message quotes.
When you create a message, you can quote messages within the same thread, or quote a root message to create a new root message. However, you can't quote a message reply from a different thread.
When you update a message, you can't add or replace the quotedMessageMetadata
field, but you can remove it.
For example usage, see Quote another message .
Fields | |
---|---|
name
|
Required. Resource name of the message that is quoted. Format: |
last_update_time
|
Required. The timestamp when the quoted message was created or when the quoted message was last updated. If the message was edited, use this field, If |
Reaction
A reaction to a message.
Fields | |
---|---|
name
|
Identifier. The resource name of the reaction. Format: |
user
|
Output only. The user who created the reaction. |
emoji
|
Required. The emoji used in the reaction. |
ReactionBatchCreatedEventData
Event payload for multiple new reactions.
Event type: google.workspace.chat.reaction.v1.batchCreated
Fields | |
---|---|
reactions[]
|
A list of new reactions. |
ReactionBatchDeletedEventData
Event payload for multiple deleted reactions.
Event type: google.workspace.chat.reaction.v1.batchDeleted
Fields | |
---|---|
reactions[]
|
A list of deleted reactions. |
ReactionCreatedEventData
Event payload for a new reaction.
Event type: google.workspace.chat.reaction.v1.created
Fields | |
---|---|
reaction
|
The new reaction. |
ReactionDeletedEventData
Event payload for a deleted reaction.
Type: google.workspace.chat.reaction.v1.deleted
Fields | |
---|---|
reaction
|
The deleted reaction. |
RichLinkMetadata
A rich link to a resource. Rich links can be associated with the plain-text body of the message or represent chips that link to Google Workspace resources like Google Docs or Sheets with start_index
and length
of 0.
uri
string
The URI of this link.
rich_link_type
The rich link type.
data
. Data for the linked resource. data
can be only one of the following:drive_link_data
Data for a drive link.
chat_space_link_data
Data for a chat space link.
meet_space_link_data
Data for a Meet space link.
calendar_event_link_data
Data for a Calendar event link.
RichLinkType
The rich link type. More types might be added in the future.
Enums | |
---|---|
RICH_LINK_TYPE_UNSPECIFIED
|
Default value for the enum. Don't use. |
DRIVE_FILE
|
A Google Drive rich link type. |
CHAT_SPACE
|
A Chat space rich link type. For example, a space smart chip. |
MEET_SPACE
|
A Meet message rich link type. For example, a Meet chip. |
CALENDAR_EVENT
|
A Calendar message rich link type. For example, a Calendar chip. |
SearchSpacesRequest
Request to search for a list of spaces based on a query.
use_admin_access
bool
When true
, the method runs using the user's Google Workspace administrator privileges.
The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege .
Requires either the chat.admin.spaces.readonly
or chat.admin.spaces
OAuth 2.0 scope
.
This method currently only supports admin access, thus only true
is accepted for this field.
page_size
int32
The maximum number of spaces to return. The service may return fewer than this value.
If unspecified, at most 100 spaces are returned.
The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000.
page_token
string
A token, received from the previous search spaces call. Provide this parameter to retrieve the subsequent page.
When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.
query
string
Required. A search query.
You can search by using the following parameters:
-
create_time
-
customer
-
display_name
-
external_user_allowed
-
last_active_time
-
space_history_state
-
space_type
create_time
and last_active_time
accept a timestamp in RFC-3339
format and the supported comparison operators are: =
, <
, >
, <=
, >=
.
customer
is required and is used to indicate which customer to fetch spaces from. customers/my_customer
is the only supported value.
display_name
only accepts the HAS
( :
) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's display_name
. For example, Fun Eve
matches Fun event
or The
evening was fun
, but not notFun event
or even
.
external_user_allowed
accepts either true
or false
.
space_history_state
only accepts values from the historyState
field of a space
resource.
space_type
is required and the only valid value is SPACE
.
Across different fields, only AND
operators are supported. A valid example is space_type = "SPACE" AND display_name:"Hello"
and an invalid example is space_type = "SPACE" OR display_name:"Hello"
.
Among the same field, space_type
doesn't support AND
or OR
operators. display_name
, 'space_history_state', and 'external_user_allowed' only support OR
operators. last_active_time
and create_time
support both AND
and OR
operators. AND
can only be used to represent an interval, such as last_active_time
< "2022-01-01T00:00:00+00:00" AND last_active_time >
"2023-01-01T00:00:00+00:00"
.
The following example queries are valid:
customer = "customers/my_customer" AND space_type = "SPACE"
customer = "customers/my_customer" AND space_type = "SPACE" AND
display_name:"Hello World"
customer = "customers/my_customer" AND space_type = "SPACE" AND
(last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time >
"2022-01-01T00:00:00+00:00")
customer = "customers/my_customer" AND space_type = "SPACE" AND
(display_name:"Hello World" OR display_name:"Fun event") AND
(last_active_time > "2020-01-01T00:00:00+00:00" AND last_active_time <
"2022-01-01T00:00:00+00:00")
customer = "customers/my_customer" AND space_type = "SPACE" AND
(create_time > "2019-01-01T00:00:00+00:00" AND create_time <
"2020-01-01T00:00:00+00:00") AND (external_user_allowed = "true") AND
(space_history_state = "HISTORY_ON" OR space_history_state = "HISTORY_OFF")
order_by
string
Optional. How the list of spaces is ordered.
Supported attributes to order by are:
-
membership_count.joined_direct_human_user_count
— Denotes the count of human users that have directly joined a space. -
last_active_time
— Denotes the time when last eligible item is added to any topic of this space. -
create_time
— Denotes the time of the space creation.
Valid ordering operation values are:
-
ASC
for ascending. Default value. -
DESC
for descending.
The supported syntax are:
-
membership_count.joined_direct_human_user_count DESC
-
membership_count.joined_direct_human_user_count ASC
-
last_active_time DESC
-
last_active_time ASC
-
create_time DESC
-
create_time ASC
SearchSpacesResponse
Response with a list of spaces corresponding to the search spaces request.
Fields | |
---|---|
spaces[]
|
A page of the requested spaces. |
next_page_token
|
A token that can be used to retrieve the next page. If this field is empty, there are no subsequent pages. |
total_size
|
The total number of spaces that match the query, across all pages. If the result is over 10,000 spaces, this value is an estimate. |
SetUpSpaceRequest
Request to create a space and add specified users to it.
Fields | |
---|---|
space
|
Required. The To create a space, set To create a group chat, set To create a 1:1 conversation between humans, set To create an 1:1 conversation between a human and the calling Chat app, set If a |
request_id
|
Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. |
memberships[]
|
Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 49 memberships (in addition to the caller). For human membership, the For Google group membership, the Optional when setting Required when setting Required when setting Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting |
SlashCommand
Metadata about a slash command in Google Chat.
Fields | |
---|---|
command_id
|
The ID of the slash command. |
SlashCommandMetadata
Annotation metadata for slash commands (/).
Fields | |
---|---|
bot
|
The Chat app whose command was invoked. |
type
|
The type of slash command. |
command_name
|
The name of the invoked slash command. |
command_id
|
The command ID of the invoked slash command. |
triggers_dialog
|
Indicates whether the slash command is for a dialog. |
Type
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Default value for the enum. Don't use. |
ADD
|
Add Chat app to space. |
INVOKE
|
Invoke slash command in space. |
Space
A space in Google Chat. Spaces are conversations between two or more users or 1:1 messages between a user and a Chat app.
name
string
Identifier. Resource name of the space.
Format: spaces/{space}
Where {space}
represents the system-assigned ID for the space. You can obtain the space ID by calling the spaces.list()
method or from the space URL. For example, if the space URL is https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA
, the space ID is AAAAAAAAA
.
type
(deprecated)
Output only. Deprecated: Use space_type
instead. The type of a space.
space_type
Optional. The type of space. Required when creating a space or updating the space type of a space. Output only for other usage.
single_user_bot_dm
bool
Optional. Whether the space is a DM between a Chat app and a single human.
threaded
(deprecated)
bool
Output only. Deprecated: Use spaceThreadingState
instead. Whether messages are threaded in this space.
display_name
string
Optional. The space's display name. Required when creating a space
with a spaceType
of SPACE
. If you receive the error message ALREADY_EXISTS
when creating a space or updating the displayName
, try a different displayName
. An existing space within the Google Workspace organization might already use this display name.
For direct messages, this field might be empty.
Supports up to 128 characters.
external_user_allowed
bool
Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions:
- The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user.
For existing spaces, this field is output only.
space_threading_state
Output only. The threading state in the Chat space.
space_details
Optional. Details about the space including description and rules.
space_history_state
Optional. The message history state for messages and threads in this space.
import_mode
bool
Optional. Whether this space is created in Import Mode
as part of a data migration into Google Workspace. While spaces are being imported, they aren't visible to users until the import is complete.
Creating a space in Import Mode
requires user authentication
.
create_time
Optional. Immutable. For spaces created in Chat, the time the space was created. This field is output only, except when used in import mode spaces.
For import mode spaces, set this field to the historical timestamp at which the space was created in the source in order to preserve the original creation time.
Only populated in the output when spaceType
is GROUP_CHAT
or SPACE
.
last_active_time
Output only. Timestamp of the last message in the space.
admin_installed
bool
Output only. For direct message (DM) spaces with a Chat app, whether the space was created by a Google Workspace administrator. Administrators can install and set up a direct message with a Chat app on behalf of users in their organization.
To support admin install, your Chat app must feature direct messaging.
membership_count
Output only. The count of joined memberships grouped by member type. Populated when the space_type
is SPACE
, DIRECT_MESSAGE
or GROUP_CHAT
.
access_settings
Optional. Specifies the access setting
of the space. Only populated when the space_type
is SPACE
.
space_uri
string
Output only. The URI for a user to access the space.
import_mode_expire_time
Output only. The time when the space will be automatically deleted by the system if it remains in import mode.
Each space created in import mode must exit this mode before this expire time using spaces.completeImport
.
This field is only populated for spaces that were created with import mode.
customer
string
Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with app authentication
and SpaceType
is SPACE
, otherwise should not be set.
In the format customers/{customer}
, where customer
is the id
from the Admin SDK customer resource
. Private apps can also use the customers/my_customer
alias to create the space in the same Google Workspace organization as the app.
For DMs, this field isn't populated.
AccessSettings
Represents the access setting of the space.
access_state
Output only. Indicates the access state of the space.
audience
string
Optional. The resource name of the target audience who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see Make a space discoverable to a target audience .
Format: audiences/{audience}
To use the default target audience for the Google Workspace organization, set to audiences/default
.
Reading the target audience supports:
-
App authentication with administrator approval with the
chat.app.spaces
scope.
This field is not populated when using the chat.bot
scope with app authentication
.
Setting the target audience requires user authentication .
AccessState
Represents the access state of the space.
Enums | |
---|---|
ACCESS_STATE_UNSPECIFIED
|
Access state is unknown or not supported in this API. |
PRIVATE
|
Only users or Google Groups that have been individually added or invited by other users or Google Workspace administrators can discover and access the space. |
DISCOVERABLE
|
A space manager has granted a target audience access to the space. Users or Google Groups that have been individually added or invited to the space can also discover and access the space. To learn more, see Make a space discoverable to specific users . Creating discoverable spaces requires user authentication . |
MembershipCount
Represents the count of memberships of a space, grouped into categories.
Fields | |
---|---|
joined_direct_human_user_count
|
Output only. Count of human users that have directly joined the space, not counting users joined by having membership in a joined group. |
joined_group_count
|
Output only. Count of all groups that have directly joined the space. |
PermissionSetting
Represents a space permission setting.
Fields | |
---|---|
managers_allowed
|
Optional. Whether spaces managers have this permission. |
members_allowed
|
Optional. Whether non-manager members have this permission. |
PermissionSettings
Permission settings that you can specify when updating an existing named space.
To set permission settings when creating a space, specify the PredefinedPermissionSettings
field in your request.
Fields | |
---|---|
manage_members_and_groups
|
Optional. Setting for managing members and groups in a space. |
modify_space_details
|
Optional. Setting for updating space name, avatar, description and guidelines. |
toggle_history
|
Optional. Setting for toggling space history on and off. |
use_at_mention_all
|
Optional. Setting for using @all in a space. |
manage_apps
|
Optional. Setting for managing apps in a space. |
manage_webhooks
|
Optional. Setting for managing webhooks in a space. |
PredefinedPermissionSettings
Predefined permission settings that you can only specify when creating a named space. More settings might be added in the future. For details about permission settings for named spaces, see Learn about spaces .
Enums | |
---|---|
PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED
|
Unspecified. Don't use. |
COLLABORATION_SPACE
|
Setting to make the space a collaboration space where all members can post messages. |
ANNOUNCEMENT_SPACE
|
Setting to make the space an announcement space where only space managers can post messages. |
SpaceDetails
Details about the space including description and rules.
Fields | |
---|---|
description
|
Optional. A description of the space. For example, describe the space's discussion topic, functional purpose, or participants. Supports up to 150 characters. |
guidelines
|
Optional. The space's rules, expectations, and etiquette. Supports up to 5,000 characters. |
SpaceThreadingState
Specifies the type of threading state in the Chat space.
Enums | |
---|---|
SPACE_THREADING_STATE_UNSPECIFIED
|
Reserved. |
THREADED_MESSAGES
|
Named spaces that support message threads. When users respond to a message, they can reply in-thread, which keeps their response in the context of the original message. |
GROUPED_MESSAGES
|
Named spaces where the conversation is organized by topic. Topics and their replies are grouped together. |
UNTHREADED_MESSAGES
|
Direct messages (DMs) between two people and group conversations between 3 or more people. |
SpaceType
The type of space. Required when creating or updating a space. Output only for other usage.
Enums | |
---|---|
SPACE_TYPE_UNSPECIFIED
|
Reserved. |
SPACE
|
A place where people send messages, share files, and collaborate. A SPACE
can include Chat apps. |
GROUP_CHAT
|
Group conversations between 3 or more people. A GROUP_CHAT
can include Chat apps. |
DIRECT_MESSAGE
|
1:1 messages between two humans or a human and a Chat app. |
Type
Deprecated: Use SpaceType
instead.
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Reserved. |
ROOM
|
Conversations between two or more humans. |
DM
|
1:1 Direct Message between a human and a Chat app, where all messages are flat. Note that this doesn't include direct messages between two humans. |
SpaceBatchUpdatedEventData
Event payload for multiple updates to a space.
Event type: google.workspace.chat.space.v1.batchUpdated
Fields | |
---|---|
spaces[]
|
A list of updated spaces. |
SpaceEvent
An event that represents a change or activity in a Google Chat space. To learn more, see Work with events from Google Chat .
name
string
Resource name of the space event.
Format: spaces/{space}/spaceEvents/{spaceEvent}
event_time
Time when the event occurred.
event_type
string
Type of space event. Each event type has a batch version, which represents multiple instances of the event type that occur in a short period of time. For spaceEvents.list()
requests, omit batch event types in your query filter. By default, the server returns both event type and its batch version.
Supported event types for messages :
- New message:
google.workspace.chat.message.v1.created
- Updated message:
google.workspace.chat.message.v1.updated
- Deleted message:
google.workspace.chat.message.v1.deleted
- Multiple new messages:
google.workspace.chat.message.v1.batchCreated
- Multiple updated messages:
google.workspace.chat.message.v1.batchUpdated
- Multiple deleted messages:
google.workspace.chat.message.v1.batchDeleted
Supported event types for memberships :
- New membership:
google.workspace.chat.membership.v1.created
- Updated membership:
google.workspace.chat.membership.v1.updated
- Deleted membership:
google.workspace.chat.membership.v1.deleted
- Multiple new memberships:
google.workspace.chat.membership.v1.batchCreated
- Multiple updated memberships:
google.workspace.chat.membership.v1.batchUpdated
- Multiple deleted memberships:
google.workspace.chat.membership.v1.batchDeleted
Supported event types for reactions :
- New reaction:
google.workspace.chat.reaction.v1.created
- Deleted reaction:
google.workspace.chat.reaction.v1.deleted
- Multiple new reactions:
google.workspace.chat.reaction.v1.batchCreated
- Multiple deleted reactions:
google.workspace.chat.reaction.v1.batchDeleted
Supported event types about the space :
- Updated space:
google.workspace.chat.space.v1.updated
- Multiple space updates:
google.workspace.chat.space.v1.batchUpdated
Union field payload
.
payload
can be only one of the following:
space_updated_event_data
Event payload for a space update.
Event type: google.workspace.chat.space.v1.updated
space_batch_updated_event_data
Event payload for multiple updates to a space.
Event type: google.workspace.chat.space.v1.batchUpdated
membership_created_event_data
Event payload for a new membership.
Event type: google.workspace.chat.membership.v1.created
membership_updated_event_data
Event payload for an updated membership.
Event type: google.workspace.chat.membership.v1.updated
membership_deleted_event_data
Event payload for a deleted membership.
Event type: google.workspace.chat.membership.v1.deleted
membership_batch_created_event_data
MembershipBatchCreatedEventData
Event payload for multiple new memberships.
Event type: google.workspace.chat.membership.v1.batchCreated
membership_batch_updated_event_data
MembershipBatchUpdatedEventData
Event payload for multiple updated memberships.
Event type: google.workspace.chat.membership.v1.batchUpdated
membership_batch_deleted_event_data
MembershipBatchDeletedEventData
Event payload for multiple deleted memberships.
Event type: google.workspace.chat.membership.v1.batchDeleted
reaction_created_event_data
Event payload for a new reaction.
Event type: google.workspace.chat.reaction.v1.created
reaction_deleted_event_data
Event payload for a deleted reaction.
Event type: google.workspace.chat.reaction.v1.deleted
reaction_batch_created_event_data
Event payload for multiple new reactions.
Event type: google.workspace.chat.reaction.v1.batchCreated
reaction_batch_deleted_event_data
Event payload for multiple deleted reactions.
Event type: google.workspace.chat.reaction.v1.batchDeleted
SpaceNotificationSetting
The notification setting of a user in a space.
Fields | |
---|---|
name
|
Identifier. The resource name of the space notification setting. Format: |
notification_setting
|
The notification setting. |
mute_setting
|
The space notification mute setting. |
MuteSetting
The space notification mute setting types.
Enums | |
---|---|
MUTE_SETTING_UNSPECIFIED
|
Reserved. |
UNMUTED
|
The user will receive notifications for the space based on the notification setting. |
MUTED
|
The user will not receive any notifications for the space, regardless of the notification setting. |
NotificationSetting
The notification setting types. Other types might be supported in the future.
Enums | |
---|---|
NOTIFICATION_SETTING_UNSPECIFIED
|
Reserved. |
ALL
|
Notifications are triggered by @mentions, followed threads, first message of new threads. All new threads are automatically followed, unless manually unfollowed by the user. |
MAIN_CONVERSATIONS
|
The notification is triggered by @mentions, followed threads, first message of new threads. Not available for 1:1 direct messages. |
FOR_YOU
|
The notification is triggered by @mentions, followed threads. Not available for 1:1 direct messages. |
OFF
|
Notification is off. |
SpaceReadState
A user's read state within a space, used to identify read and unread messages.
Fields | |
---|---|
name
|
Resource name of the space read state. Format: |
last_read_time
|
Optional. The time when the user's space read state was updated. Usually this corresponds with either the timestamp of the last read message, or a timestamp specified by the user to mark the last read position in a space. |
SpaceUpdatedEventData
Event payload for an updated space.
Event type: google.workspace.chat.space.v1.updated
Fields | |
---|---|
space
|
The updated space. |
Thread
A thread in a Google Chat space. For example usage, see Start or reply to a message thread .
If you specify a thread when creating a message, you can set the messageReplyOption
field to determine what happens if no matching thread is found.
Fields | |
---|---|
name
|
Identifier. Resource name of the thread. Example: |
thread_key
|
Optional. Input for creating or updating a thread. Otherwise, output only. ID for the thread. Supports up to 4000 characters. This ID is unique to the Chat app that sets it. For example, if multiple Chat apps create a message using the same thread key, the messages are posted in different threads. To reply in a thread created by a person or another Chat app, specify the thread |
ThreadReadState
A user's read state within a thread, used to identify read and unread messages.
Fields | |
---|---|
name
|
Resource name of the thread read state. Format: |
last_read_time
|
The time when the user's thread read state was updated. Usually this corresponds with the timestamp of the last read message in a thread. |
UpdateMembershipRequest
Request message for updating a membership.
membership
Required. The membership to update. Only fields specified by update_mask
are updated.
update_mask
Required. The field paths to update. Separate multiple values with commas or use *
to update all field paths.
Currently supported field paths:
-
role
use_admin_access
bool
Optional. When true
, the method runs using the user's Google Workspace administrator privileges.
The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege .
Requires the chat.admin.memberships
OAuth 2.0 scope
.
UpdateMessageRequest
Request to update a message.
update_mask
Required. The field paths to update. Separate multiple values with commas or use *
to update all field paths.
Currently supported field paths:
-
text
-
attachment
-
cards
(Requires app authentication .) -
cards_v2
(Requires app authentication .) -
accessory_widgets
(Requires app authentication .) -
quoted_message_metadata
(Only allows removal of the quoted message.)
allow_missing
bool
Optional. If true
and the message isn't found, a new message is created and updateMask
is ignored. The specified message ID must be client-assigned
or the request fails.
UpdateSpaceNotificationSettingRequest
Request to update the space notification settings. Only supports updating notification setting for the calling user.
space_notification_setting
Required. The resource name for the space notification settings must be populated in the form of users/{user}/spaces/{space}/spaceNotificationSetting
. Only fields specified by update_mask
are updated.
update_mask
UpdateSpaceReadStateRequest
Request message for UpdateSpaceReadState API.
space_read_state
Required. The space read state and fields to update.
Only supports updating read state for the calling user.
To refer to the calling user, set one of the following:
-
The
me
alias. For example,users/me/spaces/{space}/spaceReadState
. -
Their Workspace email address. For example,
users/user@example.com/spaces/{space}/spaceReadState
. -
Their user id. For example,
users/123456789/spaces/{space}/spaceReadState
.
Format: users/{user}/spaces/{space}/spaceReadState
update_mask
Required. The field paths to update. Currently supported field paths:
-
last_read_time
When the last_read_time
is before the latest message create time, the space appears as unread in the UI.
To mark the space as read, set last_read_time
to any value later (larger) than the latest message create time. The last_read_time
is coerced to match the latest message create time. Note that the space read state only affects the read state of messages that are visible in the space's top-level conversation. Replies in threads are unaffected by this timestamp, and instead rely on the thread read state.
UpdateSpaceRequest
A request to update a single space.
space
Required. Space with fields to be updated. Space.name
must be populated in the form of spaces/{space}
. Only fields specified by update_mask
are updated.
update_mask
Required. The updated field paths, comma separated if there are multiple.
You can update the following fields for a space:
space_details
: Updates the space's description. Supports up to 150 characters.
display_name
: Only supports updating the display name for spaces where spaceType
field is SPACE
. If you receive the error message ALREADY_EXISTS
, try a different value. An existing space within the Google Workspace organization might already use this display name.
space_type
: Only supports changing a GROUP_CHAT
space type to SPACE
. Include display_name
together with space_type
in the update mask and ensure that the specified space has a non-empty display name and the SPACE
space type. Including the space_type
mask and the SPACE
type in the specified space when updating the display name is optional if the existing space already has the SPACE
type. Trying to update the space type in other ways results in an invalid argument error. space_type
is not supported with useAdminAccess
.
space_history_state
: Updates space history settings
by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. space_history_state
is not supported with useAdminAccess
.
access_settings.audience
: Updates the access setting
of who can discover the space, join the space, and preview the messages in named space where spaceType
field is SPACE
. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in import mode
. To learn more, see Make a space discoverable to specific users
. access_settings.audience
is not supported with useAdminAccess
.
permission_settings
: Supports changing the permission settings
of a space. When updating permission settings, you can only specify permissionSettings
field masks; you cannot update other field masks at the same time. permissionSettings
is not supported with useAdminAccess
. The supported field masks include:
-
permission_settings.manageMembersAndGroups
-
permission_settings.modifySpaceDetails
-
permission_settings.toggleHistory
-
permission_settings.useAtMentionAll
-
permission_settings.manageApps
-
permission_settings.manageWebhooks
-
permission_settings.replyMessages
use_admin_access
bool
Optional. When true
, the method runs using the user's Google Workspace administrator privileges.
The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege .
Requires the chat.admin.spaces
OAuth 2.0 scope
.
Some FieldMask
values are not supported using admin access. For details, see the description of update_mask
.
User
A user in Google Chat. When returned as an output from a request, if your Chat app authenticates as a user
, the output for a User
resource only populates the user's name
and type
.
name
string
Resource name for a Google Chat user
.
Format: users/{user}
. users/app
can be used as an alias for the calling app bot
user.
For human users
, {user}
is the same user identifier as:
-
the
id
for the Person in the People API. For example,users/123456789
in Chat API represents the same person as the123456789
Person profile ID in People API. -
the
id
for a user in the Admin SDK Directory API. -
the user's email address can be used as an alias for
{user}
in API requests. For example, if the People API Person profile ID foruser@example.com
is123456789
, you can useusers/user@example.com
as an alias to referenceusers/123456789
. Only the canonical resource name (for exampleusers/123456789
) will be returned from the API.
display_name
string
Output only. The user's display name.
domain_id
string
Unique identifier of the user's Google Workspace domain.
type
User type.
is_anonymous
bool
Output only. When true
, the user is deleted or their profile is not visible.
Type
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Default value for the enum. DO NOT USE. |
HUMAN
|
Human user. |
BOT
|
Chat app user. |
UserMentionMetadata
Annotation metadata for user mentions (@).
Fields | |
---|---|
user
|
The user mentioned. |
type
|
The type of user mention. |
Type
Enums | |
---|---|
TYPE_UNSPECIFIED
|
Default value for the enum. Don't use. |
ADD
|
Add user to space. |
MENTION
|
Mention user in space. |
WidgetMarkup
A widget is a UI element that presents text and images.
data
. A WidgetMarkup
can only have one of the following items. You can use multiple WidgetMarkup
fields to display more items. data
can be only one of the following:text_paragraph
Display a text paragraph in this widget.
image
Display an image in this widget.
key_value
Display a key value item in this widget.
Button
A button. Can be a text button or an image button.
Union field type
.
type
can be only one of the following:
FormAction
A form action describes the behavior when the form is submitted. For example, you can invoke Apps Script to handle the form.
Fields | |
---|---|
action_method_name
|
The method name is used to identify which part of the form triggered the form submission. This information is echoed back to the Chat app as part of the card click event. You can use the same method name for several elements that trigger a common behavior. |
parameters[]
|
List of action parameters. |
ActionParameter
List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, snooze next week. You might use action method = snooze()
, passing the snooze type and snooze time in the list of string parameters.
Fields | |
---|---|
key
|
The name of the parameter for the action script. |
value
|
The value of the parameter. |
Icon
The set of supported icons.
Enums | |
---|---|
ICON_UNSPECIFIED
|
|
AIRPLANE
|
|
BOOKMARK
|
|
BUS
|
|
CAR
|
|
CLOCK
|
|
CONFIRMATION_NUMBER_ICON
|
|
DOLLAR
|
|
DESCRIPTION
|
|
EMAIL
|
|
EVENT_PERFORMER
|
|
EVENT_SEAT
|
|
FLIGHT_ARRIVAL
|
|
FLIGHT_DEPARTURE
|
|
HOTEL
|
|
HOTEL_ROOM_TYPE
|
|
INVITE
|
|
MAP_PIN
|
|
MEMBERSHIP
|
|
MULTIPLE_PEOPLE
|
|
OFFER
|
|
PERSON
|
|
PHONE
|
|
RESTAURANT_ICON
|
|
SHOPPING_CART
|
|
STAR
|
|
STORE
|
|
TICKET
|
|
TRAIN
|
|
VIDEO_CAMERA
|
|
VIDEO_PLAY
|
Image
An image that's specified by a URL and can have an onclick
action.
Fields | |
---|---|
image_url
|
The URL of the image. |
on_click
|
The |
aspect_ratio
|
The aspect ratio of this image (width and height). This field lets you reserve the right height for the image while waiting for it to load. It's not meant to override the built-in aspect ratio of the image. If unset, the server fills it by prefetching the image. |
ImageButton
An image button with an onclick
action.
on_click
The onclick
action.
name
string
The name of this image_button
that's used for accessibility. Default value is provided if this name isn't specified.
icons
. The icon can be specified by an Icon
enum
or a URL. icons
can be only one of the following:icon
The icon specified by an enum
that indices to an icon provided by Chat API.
icon_url
string
The icon specified by a URL.
KeyValue
A UI element contains a key (label) and a value (content). This element can also contain some actions such as onclick
button.
top_label
string
The text of the top label. Formatted text supported. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons .
content
string
The text of the content. Formatted text supported and always required. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons .
content_multiline
bool
If the content should be multiline.
bottom_label
string
The text of the bottom label. Formatted text supported. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons .
on_click
The onclick
action. Only the top label, bottom label, and content region are clickable.
icons
. At least one of icons, top_label
and bottom_label
must be defined. icons
can be only one of the following:icon
An enum value that's replaced by the Chat API with the corresponding icon image.
icon_url
string
The icon specified by a URL.
control
. A control widget. You can set either button
or switch_widget
, but not both. control
can be only one of the following:OnClick
An onclick
action (for example, open a link).
Union field data
.
data
can be only one of the following:
action
A form action is triggered by this onclick
action if specified.
open_link
This onclick
action triggers an open link action if specified.
OpenLink
A link that opens a new window.
Fields | |
---|---|
url
|
The URL to open. |
TextButton
A button with text and onclick
action.
Fields | |
---|---|
text
|
The text of the button. |
on_click
|
The |
TextParagraph
A paragraph of text. Formatted text supported. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons .
Fields | |
---|---|
text
|
|