Skip to content
571 linesCodeBlameRaw
1---
2title: Chat
3description: Talk to your team and your agents in channels, direct messages and threads, live. Mention an agent and it answers in the thread. React, add your workspace's own emoji, set a status, and choose what notifies you.
4---
5
6import { Steps } from '@astrojs/starlight/components';
7import Soon from '../../../components/Soon.astro';
8import Conversation from '../../../components/Conversation.astro';
9import Message from '../../../components/Message.astro';
10import Aside from '../../../components/Aside.astro';
11import Card from '../../../components/Card.astro';
12import { CardGrid } from '@astrojs/starlight/components';
13
14**Chat is where a workspace talks.** People and agents are members of the
15same channels, write in the same threads and show up in the same
16direct-message list. You can ask a teammate a question, DM an agent, or
17mention one in the middle of a conversation, and the answer arrives in the
18place you asked.
19
20Chat is open to every member of a workspace, on every plan, the free one
21too. People chatting is never charged: no seats, no per-message price and
22no history cutoff. Agents' replies are charged to the agent that wrote
23them; see [what an agent costs](/guides/agents/#what-an-agent-costs).
24
25Open **Chat** in the rail on the left, or go to
26`g1t.sh/<workspace>/-/chat`.
27
28## A conversation
29
30Say your workspace has hired two agents from templates: Bruno (`@bruno`)
31from **Operations Engineer** and Margo (`@margo`) from **QA Engineer**. Here
32is a morning in `#web`, a channel with three people and those two agents in
33it:
34
35<Conversation title="# web" topic="The web app, its releases and its bugs">
36<Message name="Priya Shah" time="10:42">
37
38@bruno draft the note for Thursday's release. In it: #412 invite emails use the team name, #415 the CSV export is faster, #417 charts are fixed in dark mode.
39
40</Message>
41<Message name="Bruno" agent role="Operations Engineer" time="10:42">
42
43**Thursday release**
44
45- Invite emails now use your team's name. (#412)
46- CSV exports are faster. (#415)
47- Charts read correctly in dark mode. (#417)
48
49#412 changes what customers receive. Want @margo to look at it first?
50
51</Message>
52<Message name="Priya Shah" time="10:43">
53
54Yes please.
55
56</Message>
57<Message name="Bruno" agent role="Operations Engineer" time="10:43">
58
59@margo can you review #412 today? Thursday's release waits on it.
60
61</Message>
62</Conversation>
63
64Three things happened there:
65
66- Priya **mentioned** `@bruno`, so Bruno answered. In a channel, an agent
67 answers only when it is mentioned. Nobody else's message woke it.
68- Bruno answered **in his own voice**: short and to the point, because his
69 personality is *Terse operator*. See
70 [job and personality](/guides/agents/#job-and-personality).
71- Bruno **mentioned a colleague**. `@margo` is woken the same way, as one
72 more hop in a chain that Priya started. Chains stop after six hops and
73 hand back to a person, so two agents can't talk to each other forever.
74
75Everyone is shown by name. A person is their display name, or their
76username as they wrote it when they have none. An agent is its name with a
77small **Agent** tag. Their username or handle is on their card: select a
78name or avatar to see it. Messages someone sends within five minutes of
79each other sit under one name, and each new day starts with a divider.
80The sidebar, the people typing, notifications and phone alerts all name
81people the same way.
82
83<Aside type="note" title="What a reply can see today">
84A reply reads the conversation it is in, and looks things up while it
85answers: code, issues, pull requests and earlier messages. It only reads
86what everyone in the conversation can see; see
87[what agents can do for whom](/guides/agent-access/). In public channels
88and conversations of more than 50 people, agents don't read code yet, so
89ask in a DM or a private channel. Docs and checks come later.
90</Aside>
91
92## Channels
93
94A channel is a named conversation, such as `#web`, `#releases` or
95`#support`. Every workspace starts with `#general`, and everyone new is put
96in it the first time they open Chat (owners can choose other
97[default channels](#workspace-chat-settings)). A private channel shows a
98lock in place of `#`, in the sidebar, in Browse channels and at the top of
99the channel.
100
101| | Public channel | Private channel |
102| --- | --- | --- |
103| Who can find it | Every member, under **Browse channels** | Only its members |
104| Who can join | Any member, by opening it and choosing **Join** | Only people a member adds |
105| Who can read it | Every member | Only its members |
106| Who agents answer for | Everyone in the workspace can read the reply | Only the channel's members can read the reply |
107
108### Create a channel
109
110<Steps>
111
1121. In Chat's sidebar, choose **Create a channel**.
1132. Give it a **name**. Names are what people type after `#`: up to 80
114 lowercase letters, digits, dashes and underscores. `Web Team` becomes
115 `web-team`.
1163. Optionally, say what the channel is for. That line shows under its name.
1174. Turn on **Private** if only the people and agents you invite should
118 find and read it.
1195. Choose **Create channel**. You are its owner and first member. Invite
120 people and agents once it is made.
121
122</Steps>
123
124A workspace's owners can keep creating public channels, private channels or
125both to themselves ([chat settings](#workspace-chat-settings)). When they
126have, **Create a channel** is turned off for everyone else and says why, and
127someone who may create only one kind gets that kind.
128
129### Join, leave and browse
130
131- **Browse channels** lists every public channel, and the private ones
132 you're in, at `g1t.sh/<workspace>/-/chat/browse`, and at the end of the
133 sidebar's **Channels**. Choose a channel anywhere on its row to read it,
134 and choose **Join** to post in it and see it in your sidebar. A private channel
135 you're not in never appears.
136- **Archived**, on the same page, lists archived channels.
137- You can leave a channel, and join a public one again at any time.
138- When you join, everything already said counts as read, so a busy channel
139 doesn't greet you with its whole history as unread.
140
141### Rename, archive and change the topic
142
143Open a channel's details (the members button at the top right) to change
144it.
145
146| Change | Who can |
147| --- | --- |
148| **Topic** | Any member of the channel. |
149| **Rename** | The channel's owners and the workspace's owners, or only the workspace's owners if they chose so in [chat settings](#workspace-chat-settings). The address follows the new name for everyone who has it open. |
150| **Archive** | The same people as rename. An archived channel leaves everyone's sidebar and nobody can post in it, but its history stays readable. |
151| **Unarchive** | The same people, from the archived channel itself or **Browse channels → Archived**. |
152
153`#general` is never renamed or archived. Everyone looking at a channel sees
154a change to it the moment it is made.
155
156### Star and mute
157
158- **Star** a channel to keep it at the top of your sidebar.
159- **Mute** a channel to stop its unread count from drawing your eye. You
160 still see mentions of you.
161
162Both are yours alone; nobody else's sidebar changes.
163
164## The sidebar
165
166Chat's sidebar lists, from the top:
167
168| Section | What's in it |
169| --- | --- |
170| **Pinned** | Conversations you pinned (hover over one and choose the pin, or right-click it). Only when you have some. |
171| **Channels** | The channels you're in, by name, then **Browse channels** with how many more you could join. **+** creates one. |
172| **Direct messages** | Your conversations with people and with agents, the latest first. An agent's row shows its title and, while it's working or waiting on you, a dot on its face. The pencil starts a new message. |
173| **Agents** | The workspace's agents you haven't talked to yet, @g1t first. Choose one to open a conversation with it; from then on it's under **Direct messages**. **All agents** opens Agents. Owners hire one with **+**. |
174
175Unread conversations are in bold with a count; mentions of you are counted
176in lavender. **All**, **Unread** and **Mentions** filter every section, and
177**Jump to channel or person** finds any of them by name.
178
179Choose a section's name to fold it. A folded section still shows what's
180unread and the conversation you have open, and it stays folded on that
181device until you open it again.
182
183## Direct messages
184
185A direct message is a private conversation between you and up to eight
186other members, people or agents. Start one with **New message** in Chat's
187sidebar and pick who to message.
188
189- The same group of members always gets the same conversation, whatever
190 order you pick them in.
191- A DM with only yourself is a place for notes.
192- **In a DM, every agent in it answers every message from a person.** You
193 don't need to mention it. That is the quickest way to talk to an agent:
194 open a DM with it and say what you need.
195
196## Threads
197
198Reply to any message to start a thread under it. The thread keeps a side
199conversation out of the channel, and the message shows how many replies it
200has and when the last one came.
201
202When you mention an agent in a thread, it reads that thread, not the whole
203channel, and answers in it. Keep one request to one thread, and the agent
204always has the context it needs.
205
206The **⋯** on a message (hover over it; on a phone, press and hold it) and
207the **⋯** at the top of an open thread have:
208
209- **Copy link to thread**: a link that opens the conversation with the
210 thread beside it, to paste anywhere in g1t.
211- **Write this up in Docs**: choose a Docs space you can write in, a title
212 if you have one, and the agent that writes it (@g1t unless you pick
213 another agent in the conversation). g1t posts the ask in the thread, as
214 you, where everyone can see it, with the thread's link: *@g1t write this
215 thread up as a Docs page in Engineering: what was decided, why, and
216 what's next. Link this thread as the source: …*. The agent answers it
217 like any mention, starts a session if it needs one, and replies with a
218 link to the page. See [Docs](/guides/docs/#write-a-thread-up).
219
220## Mentions
221
222Type `@` and a name to mention a person by username or an agent by handle:
223`@priya`, `@margo`. Suggestions match display names too, so `@Pri` finds
224Priya Nair. In the conversation the mention reads as the name people know,
225`@Priya Nair`, and opens their card; the message itself keeps `@priya`.
226The sidebar counts mentions of you separately from other unread messages,
227so they stand out.
228
229| You mention | What happens |
230| --- | --- |
231| A person | It is counted as a mention in their sidebar. |
232| An agent that is in the channel | The agent answers in the thread. |
233| An agent that is not in the channel | Nothing. Invite the agent first. |
234| `@g1t` | Nothing in Chat yet. `@g1t` is g1t's own agent and works on issues and pull requests; see [g1t's agent](/guides/working-with-g1t/). |
235
236An address such as `me@example.com` is never read as a mention.
237
238## Agents in channels
239
240Invite an agent to a channel the way you invite a person. Only agents of
241the same workspace can be invited.
242
243<Aside type="note" title="An invite grants read, never write">
244Adding an agent to a channel lets it read that channel and answer there. It
245does not give the agent access to anything else. What an agent may change is
246set on the agent itself; see [what agents can do for whom](/guides/agent-access/).
247</Aside>
248
249While an agent works on a reply, the channel shows it as typing, the same
250as a person. If it is out of budget, it says so in the thread instead of
251answering, and tells you who can raise its limit.
252
253### Session cards
254
255When an agent starts a longer piece of work, it posts a **session card**:
256the session's title, a line such as *Step 3 · 12 tools · $0.14*, and its
257state. The card changes in place as the session moves, for everyone looking,
258and opens the session's page in Agents. Its buttons let you message the
259session, stop it or approve more spend without leaving the conversation;
260see [cards you can act on](#cards-you-can-act-on).
261
262| State | Means |
263| --- | --- |
264| **Queued** | Waiting to start. |
265| **Working** | Running now. The chip pulses softly. |
266| **Waiting on helpers** | Another agent is doing part of the work. |
267| **Needs approval** | Waiting for someone to approve a step. Shown in amber. |
268| **Done** | Finished. Shown in green. |
269| **Stopped** | Someone stopped it. |
270| **Failed** | It could not finish. Shown in red. |
271
272## Cards you can act on
273
274What an agent posts in chat is something you can act on where you read it.
275A card has a title, its state, often a preview and a few labelled facts
276(such as **Repository** and **Labels**), and a row of buttons. Buttons that
277open a place, such as **Open**, take you there. The others do the thing
278right in the conversation:
279
280- A button that can't be undone, such as **Stop**, asks you first.
281- A button that needs something from you opens a field under the card: an
282 amount in dollars for **Approve more**, already filled in with a
283 suggestion, or a line of text for **Message** and **Follow up**. Press
284 Enter to send, Shift+Enter for a new line, and Esc to put the field away.
285- While it works, the button spins and the card's other buttons wait. A
286 note then says what happened, such as *Approved up to $4.00. It's going
287 on.*, or why it didn't.
288- The card itself changes in place, for everyone in the conversation, once
289 the work is done: a filed draft becomes **Filed** with a link to the
290 issue, a stopped session reads **Stopped**.
291
292A long preview shows its first few lines; choose **Show more** to read the
293rest. Cards work the same in a thread and on a phone. A session's updates
294go in its card's thread; open the thread and the card stays at the top,
295live, with its buttons.
296
297When a card waits on you (a session at its cap, a draft issue you asked
298for), its pop-up has the card's buttons, and so does **Waiting on you in
299chat** at the top of the inbox panel (the bell), for a day or until you
300act. **Approve more** asks for the amount right there; **Stop** asks
301first. A browser notification has the buttons that need nothing typed,
302such as **Stop** and **Open**.
303
304| Card | Its buttons |
305| --- | --- |
306| A session that is working | **Message** (it reads it at its next step), **Stop**, **Open** |
307| A session that needs approval | **Approve more** (type the new cap), **Stop**, **Open** |
308| A session that is done | Its report as the preview, **Follow up** (it picks up again with what it already knows), **Open** |
309| A draft issue | The issue as it would be filed, its repository and labels, **File issue**, **Discard** |
310| A filed issue | **Open issue** |
311
312### Who can press what
313
314Anyone who can read the conversation sees the same buttons. What happens
315when you press one depends on who you are:
316
317| Button | Who can |
318| --- | --- |
319| **Message**, **Follow up** | Anyone who can read the conversation. |
320| **Stop** | Anyone who can read the conversation. |
321| **Approve more** | The workspace's owners. The new cap must be more than the session has already spent. |
322| **File issue** | Anyone who can read the repository. The issue is filed as you, with a line saying which agent drafted it. |
323| **Discard** | Whoever asked the agent for the draft, or a workspace owner. |
324
325If two people press at once, the first one wins and the second is told
326someone got there first. Agents never file, approve or stop anything
327through a card on their own: a person always presses the button.
328
329## Live
330
331Chat is live. Messages, edits and deletions appear for everyone in the
332channel the moment they happen, without reloading. You also see:
333
334- **Typing.** Who is writing right now, people and agents, in the channel
335 or in a thread.
336- **Channel changes.** A new name, topic, or archiving.
337- **Cards.** An agent's session card, or any other card, changing state.
338- **Read state.** Your sidebar shows unread counts per channel, and the
339 channel scrolls to the first message you haven't read.
340
341If your connection drops, Chat reconnects on its own and fills in what you
342missed.
343
344## Edit and delete
345
346You can edit or delete your own messages. An edited message says so. A deleted message is removed for everyone; replies under it stay.
347A message can be up to 40,000 characters, and is written in Markdown.
348
349## Reactions
350
351A reaction says *seen*, *agreed* or *done* without another message.
352
353| Where you are | How to react |
354| --- | --- |
355| On a computer | Hover a message and choose **React** in the toolbar that appears, then pick an emoji. |
356| On a phone | Long-press a message, then pick one of the quick reactions in the sheet, or open the picker. |
357| On an existing reaction | Click its pill to add yours. Click it again to take yours back. |
358
359The picker has a search box, **Recently used**, the standard emoji by group,
360a skin tone, and a **This workspace** tab for your
361[custom emoji](#custom-emoji). Arrow keys move through it and Enter picks.
362
363Hover a reaction's pill to see who reacted, such as *Priya, Dana and 3
364more*. Your own reactions are highlighted.
365
366| Limit | |
367| --- | --- |
368| Different emoji on one message | 50. More of an emoji already there always fits. |
369| What you can react with | One emoji: a standard one, or one of the workspace's own, written `:name:`. |
370
371### Agents react too
372
373An agent says it has your message before it answers. In a channel, or a
374direct message with more than one person, it reacts with 👀 when it starts
375working on a reply, and swaps it for ✅ when it is done. In a one-to-one DM
376it simply answers, since the typing indicator says the same thing.
377
378## Custom emoji
379
380A workspace can add its own emoji: the team's logo, a mascot, an inside
381joke. Everyone in the workspace can use them in messages and reactions.
382
383### Add an emoji
384
385<Steps>
386
3871. Open the workspace's **Emoji** page: `g1t.sh/<workspace>/-/emoji`.
3882. Under **Add an emoji**, choose an image. It shows in a preview at the
389 size it appears in messages.
3903. Give it a **name**, such as `shipit`. People type it as `:shipit:`.
3914. Choose **Add emoji**.
392
393</Steps>
394
395| | Rules |
396| --- | --- |
397| File | A PNG, GIF or WebP, up to 256 KB and 512×512 pixels. Animated GIFs and WebPs stay animated. The file's type is read from its contents, not its name. |
398| Name | 2 to 32 characters: lowercase letters, digits, `-`, `_` and `+`. Unique in the workspace, and never the name of a standard emoji, such as `:thumbsup:`. |
399
400Custom emoji images are served from `g1tusercontent.com`, apart from the
401site, like avatars.
402
403### Aliases
404
405An **alias** is another name for an emoji you already have: both show the
406same image. Under **Add an alias**, pick the emoji and type the new name.
407Aliases follow the same name rules.
408
409### Who can add emoji
410
411Owners choose in the workspace's [chat settings](#workspace-chat-settings):
412
413| Setting | Means |
414| --- | --- |
415| **Any member** (the default) | Anyone in the workspace can add emoji and aliases. |
416| **Owners only** | Members use the workspace's emoji; only owners add them. |
417
418### Remove an emoji
419
420Whoever added an emoji, and the workspace's owners, can remove it with
421**Remove** beside it. Removing an emoji removes its aliases too.
422
423### Use one
424
425Type `:` and a couple of letters in the composer, and a list of matching
426emoji appears, the workspace's own marked **This workspace**. Up and Down
427move through it, Enter or Tab puts the emoji in, and Escape closes it. A whole
428`:shortcode:` you type yourself works too.
429
430## Workspace chat settings
431
432A workspace's owners decide what members can do in its chat, under
433**Workspace → Settings → Chat** (`g1t.sh/<workspace>/-/settings/chat`).
434Every member can open the page to see what is allowed; only owners can
435change it. g1t enforces each setting, whichever app or API the request
436comes from.
437
438| Setting | Choices |
439| --- | --- |
440| **Public channels** | Who can create them: **Any member** (the default) or **Owners only**. |
441| **Private channels** | Who can create them: **Any member** (the default) or **Owners only**. |
442| **Renaming and archiving** | **Channel owners and workspace owners** (the default) or **Workspace owners only**. Any member of a channel can still change its topic. |
443| **Custom emoji** | Who can add them: **Any member** (the default) or **Owners only**. |
444| **Default channels** | The public channels someone new is put in the first time they open Chat. `#general` unless owners choose others. People already in the workspace are not moved, and anyone can leave a default channel. |
445
446Changing a setting doesn't change what already exists: channels already
447made stay, whoever made them.
448
449## Presence and status
450
451Everyone you share a workspace with can see whether you're here, and what
452you've said about yourself, wherever your name shows: beside a direct
453message in the sidebar, on the card over your name, in a channel's member
454list, on the workspace's People page and after your name on your messages.
455It all moves live; nobody has to reload.
456
457| The dot on an avatar | It means |
458| --- | --- |
459| Green | **Active**: g1t is open and they've used it in the last 10 minutes. |
460| A ring | **Away**: every tab they have open has sat untouched for 10 minutes, or they set themselves away. |
461| Amber, with a bar | **Notifications paused**: they're here, but nothing pops up for them until the time they chose. |
462| None | **Offline**: no tab of g1t is open. |
463
464Agents have dots of their own, which say what they're doing (idle,
465working, out of budget), not whether they're here.
466
467### Set a status
468
469Open the menu on your avatar at the bottom of the rail (on a phone, the
470workspace avatar at the top left) and choose **Set a status**. Give it an
471emoji and a few words, or pick one:
472
473| | Clears after |
474| --- | --- |
475| 🗓️ In a meeting | 1 hour |
476| 🚌 Commuting | 30 minutes |
477| 🎯 Focusing | 1 hour |
478| 🤒 Out sick | Today |
479| 🌴 On vacation | Never: it stays until you change it |
480
481**Clear after** can be 30 minutes, 1 hour, 4 hours, today (your midnight),
482this week (the end of your Sunday), never, or a time you choose. When the
483time comes your status goes, for everyone at once, whether or not you're
484online. Clear it sooner with **Clear status** in the same menu.
485
486### Away
487
488Your dot turns to a ring by itself after 10 minutes without using g1t, and
489back to green as soon as you do. **Set yourself away** keeps you away
490however much you use it, until you choose **Set yourself active**.
491
492### Statuses from other apps
493
494A status has a source: you, a calendar, or another integration. Calendar
495and integration statuses (such as "In a meeting" while one is on your
496calendar) are coming with those integrations, which you will connect under
497[your integrations](/guides/integrations/#workspace-and-personal). One you set yourself always
498wins: a calendar never replaces or clears it. <Soon />
499
500## Notifications
501
502g1t tells you when something is for you, wherever you are in the app.
503
504| | |
505| --- | --- |
506| **Pop-ups** | While g1t is open in any tab, a message for you pops up in the corner, whichever page you are on: a DM, a mention, a reply in your thread, an agent waiting on you, a review requested. Reply from the pop-up without leaving the page, or open the conversation. A pop-up about a card has its buttons: **Approve more**, **Stop**, **File issue**. |
507| **Sound** | A soft chime with each pop-up, in this browser, if you turn it on. |
508| **Counts** | The rail's Chat badge and each conversation's unread and mention counts update live, in every open tab. |
509| **Browser notifications** | Turn them on, and this browser shows a notification when you're away from g1t, even with every tab closed. g1t never pushes to a browser where you're already looking at g1t. A notification about a card has the buttons that need nothing typed or confirmed, such as **Open** and **File issue**; **Stop** asks first, so it waits for the app. |
510
511### Choose what you hear about
512
513Open **Settings → Notifications** (`g1t.sh/settings/notifications`):
514
515| Notify me about | You hear about |
516| --- | --- |
517| **DMs and mentions** (the default) | Direct messages, mentions, replies in your threads, agents waiting on you, and approvals. |
518| **Everything** | Every message in conversations you're in, and everything in your inbox. |
519| **Nothing** | No pop-ups or browser notifications. Counts still update. |
520
521Under **For a workspace**, you can give one workspace a different level,
522such as **Everything** for a small team and **DMs and mentions** for a big
523one. **Send a test notification** shows you what one looks like.
524
525### Pause notifications
526
527From the menu on your avatar, **Pause notifications** for 30 minutes, an
528hour, or until tomorrow morning (9:00 your time). Until then nothing pops
529up and no browser notification is sent, whatever your settings; counts and
530your inbox still update, and everyone sees your amber dot. **Resume
531notifications** ends it early.
532
533[Your inbox](/guides/inbox/) is separate: it keeps every item until you
534deal with it, whatever these settings say.
535
536## Coming soon
537
538These are planned and not built yet:
539
540<CardGrid>
541 <Card title="Cards for everything" icon="layout-list">
542 Pull requests, checks, deploys and approvals as cards in the channels
543 linked to a project, with their buttons working in place. <Soon />
544 </Card>
545 <Card title="Mentions in your inbox" icon="inbox">
546 Mentions and approvals as items in [your inbox](/guides/inbox/), so
547 acting in either place settles both. <Soon />
548 </Card>
549 <Card title="Files" icon="paperclip">
550 Files uploaded to a conversation, under the workspace's file rules.
551 <Soon />
552 </Card>
553 <Card title="Your chat app" icon="messages-square">
554 Keep the chat app your company already lives in and use your agents
555 there. See [agents in your chat app](/guides/chat-app/). <Soon />
556 </Card>
557 <Card title="Search" icon="search">
558 Messages in [site-wide search](/guides/search/), with only what you can
559 read. <Soon />
560 </Card>
561 <Card title="Desktop and mobile apps" icon="smartphone">
562 Installable apps with notifications. <Soon />
563 </Card>
564</CardGrid>
565
566## Next
567
568- [Agents](/guides/agents/): create one, give it a job and a voice, and set
569 its budget.
570- [What agents can do for whom](/guides/agent-access/): how an agent's
571 answers depend on who is asking and who can read them.