Back to All Cheatsheet Libraries cheatsheets

Google Chat

Spaces, threading, and integration reference for Google Chat.

Group Action Mac Windows
NavigateJump to a space or conversation⌘ + KCtrl + K
NavigateSearch all messages⌘ + FCtrl + F
NavigateNext / previous conversation⌥ + ↓ / ↑Alt + ↓ / ↑
NavigateNext / previous unread⌥ + ⇧ + ↓ / ↑Alt + ⇧ + ↓ / ↑
NavigateShow all keyboard shortcuts⌘ + /Ctrl + /
MessagesSend messageEnterEnter
MessagesNew line without sending⇧ + Enter⇧ + Enter
MessagesEdit your last message in an empty box in an empty box
MessagesMention someone@@
MessagesInsert emoji: then name: then name
MessagesRun a slash command//
MessagesInsert a Drive file+ then Drive+ then Drive
FormatBold⌘ + BCtrl + B
FormatItalic⌘ + ICtrl + I
FormatStrikethrough⌘ + ⇧ + XCtrl + ⇧ + X
FormatBulleted list⌘ + ⇧ + 8Ctrl + ⇧ + 8
FormatNumbered list⌘ + ⇧ + 7Ctrl + ⇧ + 7
ActionsMark conversation read / unread⌥ + ⇧ + UAlt + ⇧ + U
ActionsOpen Chat in a new windowHover chat → pop-out iconHover chat → pop-out icon

The one decision you cannot undo

When you create a space, you choose between in-line threading (replies attach to a message, like Slack) and organised by conversation topic. This cannot be changed afterwards. The only fix is to create a new space and migrate people across.

Pick in-line threading for fast-moving team chat where most messages are standalone. Pick topic-organised for spaces where discussions run long and need to stay separable — support queues, project spaces, anything you will search later.

Conversation type What it is Notes
Direct messageOne-to-one conversation.Cannot be converted into a space later. Persists as long as both accounts exist.
Group DMUp to 100 people, no name, no threading.Fine for a quick huddle. Anything ongoing should be a space — group DMs can't be searched by name or joined later.
SpaceNamed, persistent, joinable. Supports threading, files, tasks, and apps.The right container for anything lasting more than a day.
Announcement spaceOnly managers can post; everyone else can reply or react only.Set at creation. Ideal for company-wide notices without the noise.
Discoverable spaceListed in the org directory so anyone can find and join.Set via space settings → Access. Restricted spaces are invite-only and invisible.
External spaceIncludes people outside your Workspace domain.Must be enabled at creation and shows a persistent external badge. Cannot be toggled off later.
Mentions and notifications
  • @name notifies one person even if they've muted the space.
  • @all notifies everyone in the space — use it rarely, or people mute the space and you lose the channel entirely.
  • Per-space notification settings let each member choose all messages, mentions only, or nothing. Default is mentions only for large spaces.
  • Mute a space from its dropdown to stop notifications while staying a member.
  • Set your status to Do not disturb from the avatar menu — mentions still queue, they just don't interrupt.
Searching effectively
  • from:name — messages from a specific person.
  • in:space-name — scope to one space.
  • has:attachment or has:link — narrow to messages with files or URLs.
  • before:2026-01-01 / after: — date bounds, same syntax as Gmail.
  • Search only covers spaces you are currently a member of. Leaving a space removes its history from your results.
Type this Get this
*bold*bold — asterisks, not double like Markdown
_italic_italic
~strikethrough~strikethrough
`inline code`Monospace inline snippet
```code block```Multi-line monospace block — no syntax highlighting
* itemBulleted list
1. itemNumbered list
> quoteBlock quote
Built-in slash commands
  • /help — list every command available in the current conversation, including ones added by apps.
  • /status — set your custom status and duration.
  • /dnd — toggle Do not disturb.
  • /remind — set a personal reminder from within a conversation.
  • /meet — start a Google Meet and drop the link into the conversation.
  • /giphy — insert a GIF, if the admin has enabled it.
  • Apps you add to a space contribute their own commands — the list from /help is space-specific, not global.
Apps and integrations
  • Add an app from a space's dropdown → Apps & integrations. Availability depends on admin policy.
  • Incoming webhooks are the simplest automation: space dropdown → Apps & integrations → Manage webhooks gives a URL that accepts a JSON POST.
  • Webhook payload is minimal — {"text": "your message"} is a complete valid body.
  • Treat the webhook URL as a secret. Anyone holding it can post to the space as that app. Store it in a secret manager, never in a repo.
  • Google Chat apps can also be built with Apps Script for anything interactive — cards, buttons, dialogs.

Posting to a space from a script

The fastest useful automation in Chat — build alerts, deploy notices, or monitoring pings with no app to install.

# Minimal webhook post curl -X POST "$CHAT_WEBHOOK_URL" \ -H 'Content-Type: application/json' \ -d '{"text": "Deploy finished on build.ty1er.com"}' # With basic formatting (same asterisk/underscore syntax as the UI) curl -X POST "$CHAT_WEBHOOK_URL" \ -H 'Content-Type: application/json' \ -d '{"text": "*Backup complete* — _14 GB_ written in 6m 12s"}' # Reply into an existing thread rather than starting a new one curl -X POST "$CHAT_WEBHOOK_URL&threadKey=nightly-backup" \ -H 'Content-Type: application/json' \ -d '{"text": "Nightly backup: OK"}'
History and retention
  • Each space has history on or off. With history off, messages delete after 24 hours — useful for genuinely ephemeral chat, disastrous if people assume otherwise.
  • Admins set the org default and can lock it so members cannot change it per space.
  • Google Vault retention and legal hold override space-level history settings. A message can be discoverable in Vault after it has vanished from the UI.
  • Tell people plainly which spaces have history off. The setting is visible but easy to miss.
External access
  • External chat is controlled in Admin console → Apps → Google Workspace → Google Chat → External chat settings.
  • You can allow all domains, an allowlist of trusted domains, or block external chat entirely.
  • Spaces containing external members show a persistent badge — check for it before pasting anything internal.
  • A space created as external cannot be made internal later, and vice versa.
  • File sharing to external members still obeys Drive sharing policy — the Drive permission, not Chat, decides who can open an attachment.
Admin controls worth knowing
  • Chat apps can be allowlisted individually — the default of "allow all" is worth revisiting.
  • Space creation can be restricted to certain OUs if the space list is sprawling.
  • Space managers can delete any message in their space; regular members only their own.
  • Deleting a space is permanent for members but Vault-retained content survives per policy.
  • Chat data is exportable through Vault, not through Takeout, for admin-led investigations.

Tips

⌘/Ctrl + K is the whole navigation

Jump to any person or space by typing a few letters. Once this is muscle memory the sidebar becomes almost irrelevant — it's the single highest-value shortcut in Chat.

Turn a message into a task

Hover a message → ⋮ → Add to tasks. It lands in Google Tasks with a link back to the message, which beats copying it into a note and losing the context.

The Files and Tasks tabs

Every space has tabs above the message stream. Files collects every attachment ever shared there — far faster than scrolling back to find a document.

/meet beats scheduling

For an unplanned conversation, /meet in the space creates a call and posts the link in one step. No calendar invite needed.

Pop Chat out of Gmail

Chat inside Gmail is cramped. Use mail.google.com/chat for a dedicated window, or install it as a Chrome app for a real taskbar icon.

Pin what matters

Pin spaces in the sidebar for ordering, and pin a message inside a space so newcomers see the context without scrolling — useful for a space's purpose or standing links.

Gotchas

Decisions you can't reverse
  • Threading mode — in-line vs topic-organised, fixed at creation.
  • Internal vs external — a space cannot cross that boundary later.
  • Announcement vs normal — also set at creation.
  • A group DM can never become a space. Start a space if there's any chance it becomes ongoing.
  • Take thirty seconds over the creation dialog. Every one of these costs a migration to fix.
Things people assume wrongly
  • Editing a message doesn't unsend it. The notification already went out with the original text, and an "edited" marker stays visible.
  • Deleting your message removes it for everyone, but Vault may still hold it.
  • Leaving a space removes its history from your search, permanently, unless you rejoin.
  • Sharing a Drive file in Chat does not grant access to it — recipients see a request-access prompt unless you set Drive permissions separately. Chat prompts you, but the prompt is easy to dismiss.
  • History-off spaces still deliver email notifications containing the message text, which outlive the 24-hour window.

Resources