This page overviews how to get setup with Slack at TTS and covers some best practices.
- See the Slack @ TTS guide to learn about our unique uses, bots and channels.
- See the Slack Admin handbook page for admin instructions
- Complete your profile. A complete profile gives everyone a better chance of knowing who you are. This includes your first name, last name (optionally followed by your location and personal in parenthesis), profile picture (photos are preferred, but not required), phone number, and a summary of what you do and what teams you’re on.
- Enable two-factor authentication (2FA). You can either do this through SMS or an authentication tool. Slack provides detailed instructions for both options. If you need to reset 2FA, Slack admins will re-verify your identity.
- Add yourself to our custom emojis. Add your profile picture as a custom emoji with your name as the alias (“first-last”). This allows the whole TTS community to celebrate your contributions and serves as your introduction to our prolific custom emoji database. Post your emoji (and any other custom emojis you add) to the #emoji-showcase channel.
- Abide by the TTS Code of Conduct. If you see anyone violating our Code of Conduct, see the reporting section.
- Assume everything you share will be made public. Treat Slack as a public forum — you have no privacy. This includes file uploads to Slack and any audio or video transmitted using a Slack Call.
- Do not post anything that would make our systems vulnerable or would impact the privacy of others if it fell into the wrong hands. See list of alternatives.
Usage of TTS’s Slack
Slack is required for all TTS staff. Some things you’ll want to remember, especially if you’re new to Slack:
- Everything in Slack is subject to FOIA and is therefore potentially part of the public record (written words that are attributable back to you). Don’t say something on Slack that you wouldn’t feel comfortable appearing on the news.
- Customizing your profile by adding your location and personal pronouns to the Last Name field so they appear alongside your messages. This is a great way to be remote-friendly and gender inclusive. Otherwise, your colleagues need to view your profile to see that information. Remember to add other helpful info in your profile while you’re in there.
- The advanced settings section provides an option for only showing channels that have unread messages. This is useful if you’re a member of a lot of channels.
- Click the timestamp on any post to go to the archival view of it. This is helpful if you’d like to cross-post a link to a message in another channel.
- Feel free to pop in and out of channels. You can
/mutechannels (so you only receive messages when your name or
@channelis mentioned) or leave channels if they become overwhelming.
- If you’re interested in tracking specific keywords across Slack, set up highlight word notifications.
- To add an RSS feed to any channel, type
/feed subscribe <RSS URL>.
- Never use Slack to share secure information. If you want to say something private, it’s easy to ask someone to hop on a call.
- You can use Slack as an archival system. It has a powerful search feature and you can search specific channels or conversations. For instance, if you have a question about a specific healthcare plan, search for that in Slack before asking.
- You can also search by tagged emoji. To see all messages tagged with a particular emoji, search Slack for
- Set Slack boundaries when you need to be heads-down by setting your status to Away. If you use Slack on mobile, you can prevent direct messages and mentions from pinging you when you’re not working. Just set your phone to Do Not Disturb mode or temporarily turn off notifications from the Slack app. Don’t worry — though we have different schedules and may message each other at strange times, there’s no expectation for people to respond when they’re not working.
- Praise your coworkers. If you’d like to praise someone for doing good work, start a message with
:heart: @usernamein #general-talk, or any channel in which Charlie is present. You can also see recent praise in #love.
- Use text encoding when pasting a large chunk of text. Use the + sign to the left of the text box to create a snippet. There will be an option to select how you would like to encode the text; select plain text to avoid smart quotes, if you’re pasting code.
- Change your color scheme. You can change your color scheme by going to Preferences –> Theme –> Custom Theme. Paste the following for the US Design Standards theme:
- Screen-sharing tip: If you want notifications to stop showing up so people don’t see them, hover over the Notification Center icon in the top right corner of your screen and Option + click on it. Repeat that to turn notifications back on.
Slack offers a feature to create shared channels with other workspaces. Shared channels are a more efficient and economic way to work with people in other Slack workspaces than managing them in our Slack workspace as guests, especially when using multiple channels for a project. All records in shared channels are retained and available for Corporate Exports.
Guidance for using shared channels
When participating in shared channels, please keep in mind:
While people in similar organizations share areas of focus, we should treat our collaborators in these channels as members of the public and only share information we would put into public channels. Anything said in those channels is a public announcement and could end up posted on twitter by someone else, for example. This does not apply to shared channels with an active agreement between us and the people in the other workspace.
Nothing about a shared Slack channel itself implies a partnership between TTS and the other organization. The shared channel just adds another possible route of communication to e-mail, twitter, listserves, and so on. Do not feel obligated to answer a DM from someone in a shared channel.
We should not mention the Slack orgs of our partners in public channels or to other agencies without permission. It’s not for us as TTS to share which other groups in gov are using Slack, nor do we want to appear to be endorsing its use for others.
For all shared and public channels, it’s not a good idea to invite people into a shared channel that aren’t there. Instead, DM them the link to an interesting message. Pulling them in without their consent (where others can @ or DM them) may not be fair to their schedule if they need to be heads down.
Likewise, when setting up shared channels, we will look to set these expectations with workspaces with which we connect:
Members of our team in shared channels may not have a lot of time to respond to DMs from partner orgs. Requests for documents, materials, and etc are better placed in the open channel for anyone to see and triage.
Members of our team will only want to share materials that are already public. If you have a specific request for a private document, that request is better e-mailed than put into Slack, as that e-mail will have to be sent around to various GSA offices to ensure compliance.
Anyone in a shared channel must also comply with GSA standards and the TTS Code of Conduct.
If a shared channel does not produce good results, or causes a burden, we don’t need to continue it. That won’t be the end of our collaboration - just recognizing that a particular tool isn’t effective for achieving the results that we want. If the shared channel is with a private entity (contractor or vendor) we will not continue sharing a channel after the agreement covering our work elapses.
Requesting a new shared channel
When you are interested in a shared channel, please drop into #admins-slack to request it. Please specify if you want to use a new channel or want us to share an existing channel. Please also give us a heads up before partners send us a sharing request.
TTS has specific channels in Slack that are open to the public to join. These channels end with
-public. (Note: In Slack’s parlance, all channels in a workspace are either
public, allowing any full member to find/join, or
private. However, when we say “public channels” on this page, we mean channels open to all members of the public.)
.mil email addresses who aren’t collaborating on a project can be invited into public channels. Fill out the user request form.
Treat these public channels like you would a livestreamed event on GSA’s YouTube page or other type of public meeting open to guests. Materials and documents should not be shared only in public channels; instead, they should be published on TTS websites and then linked to from the public channels so that access to Slack isn’t required to see the document.
Members of the public must also comply with GSA standards and the TTS Code of Conduct.
For all shared and public channels, it’s not a good idea to invite people into a shared channel that aren’t there without a heads up. Instead, please DM them the link to an interesting message. Pulling them in without their consent (where others can @ or DM them) may not be fair to their schedule if they need to be heads down.
Add a new public channel
See the instructions.
- Channels that begin with
admin-include administrators for various tools. #admins-slack, for example, is used to request invites to Slack (see above), expunge a particularly offensive/off-topic message (see above), change the name of an existing channel, and so on.
- Channels that end with
-partnerinclude partners from other agencies.
- Channels that end with
-publicmay include members of the public.
Channels focused on TTS practices have their own conventions:
- Channels that begin with
wg-are for working groups.
- Channels that begin with
g-are for guilds.
- Channels that begin with
c-are for 18F communities.
Feel free to join any of these practice-focused groups even if you are not actively part of the group and are just interested.
See a list of other popular channels in the Slack @ TTS guide.
How to make an announcement in #news
Use #news for vital team announcements. #news is an announcement-only channel where only administrators can post. If you have a post you’d like to go up in #news:
- 18F employees ping @commsquad or post in #outreach to get a review of the language. Once it’s ready, Dahianna Salazar Foreman can post it.
- Acquisitions employees review your post with Stephen Reilly, and he can post it when it’s ready.
- OPP employees review your post with Jeremy Zilar or John Yuda; one of them can post it when it’s ready.
- PIF employees review your post with Joshua Di Frances, and he can post it when it’s ready.
Please keep #news posts limited to information that the entire team needs to know. This includes things like:
- Major events impacting all of TTS or a TTS Business unit
- Required trainings
- Necessary security and compliance actions
- Policy changes or reminders
- All-team events
- Senior management team meeting notes
- Changes or actions that impact the entire team
When to use @channel and @here
In general, the larger a channel is, the more careful you should be about using broadcast notifications.
@channel [message]to send a notification to everyone in the channel with your message. Use sparingly and only if everyone in the channel needs to see and read your message. When in doubt, ask first. Never use
@channelin a large channel unless you really know what you’re doing.
@here [message]to send your message to everyone in the channel with Slack currently open at a desktop computer. Don’t use this as a softer version of an
@channelbecause there will be no notification for anyone who wasn’t at their computer. This is more useful if you have an urgent need and need attention from everyone who is online right now. However, using @here in a large channel will still disrupt many people.
Some channels may have particular guidance for getting help, which you can usually check in the channel status. Regardless, if you don’t have an urgent need or a message that everyone needs to see, try posting your message without a broadcast notification.
||“This comment is 100% correct” or “I agree 100%”|
||“I did this” or “I verified it was done”|
||“I’m taking a look at this.” When followed by a
||Disbelief, shame, or exasperation.||KnowYourMeme|
||Since Slack records are retained and subject to FOIA requests, indicate to any potential future readers that this was a joke.|
||“I would also say this.” Can mean “this is correct” if you are the decider.|
||“I don’t understand this” or “this needs follow-up”|
||“Please consider moving this conversation to a different channel.”||Slack|
||“Have time for a question?” Keep in mind that many folks strongly prefer that you also add what your question is about so they can determine its urgency.|
||“Ship it”, “this is ready to go”, etc.||GitHub|
||A picture of Tom Hanks (T. Hanks -> thanks) used as a shortcut to say “thanks”|
||“I’m intentionally trolling you” or making a joke|
Integrations (apps, bots)
We have a few different bots you’ll see in Slack:
- Angry Tock: our fierce timesheet reminder.
- Charlie, a.k.a. El Hubot Real: our Hubot instance. Knows all kinds of tricks. To get a list of them, send Charlie a direct message with the word
- coffeemate: send a message with
coffee mein a public channel or direct message @Charlie (El Hubot Real) with
coffee meto set up a virtual coffee/tea with a random coworker.
- Slackbot: We automate responses to frequently asked questions with a Slackbot. You can update or customize responses here. (You can also add emoji). Do not include private or sensitive information in Slackbot automatic responses.
Learn more about some of our unique channel customizations and auto-responses in the Slack @ TTS guide.
If you’re interested in learning more about the bots, or perhaps contributing to them, pop into #bots.
You can add new “configurations” of pre-approved integrations to Slack, for things like posting Trello or GitHub notifications to a Slack channel. You can also freely add new configurations for “Incoming WebHooks,” which is on a different page. For any new integration types, please follow the process below.
Note this is only necessary for new bots or types of integrations—approval is not needed for new “configurations” of a previously-approved App. The form should be filled out again if the nature of the connection changes, e.g. a webhook connection changes to using OAuth.
Before completing this form, you might need to research how the integration interacts with Slack. For example, does the integration have read access to channels or not? Reach out to #admins-slack and/or Slack support for help.
New integrations/bots need approval from the following:
- TTS Slack admins
- Security Engineering (ISE) (Bo Berlas)
- GSA IT (Amar Singh, Chris McFerren, or Derrick Rogers)
- Read access from Slack (e.g. RSS) will almost definitely be approved.
- One-way integrations into Slack (e.g. via webhooks) are almost always fine.
- Integrations from higher-risk systems (Moderate or High) into Slack will generally not be approved.
- TTS Tech Portfolio will advise a hard veto on any externally hosted bots that can read all the messages in channels they are invited into and the only utility from the bot is achieved if they are invited into more or less all the channels.
- Keyboard shortcuts
- Slash commands
/hangoutto start a Google Hangout in the current channel.
[message XPOST #channel-name]to cross-post a message to a different channel while posting it.
Slack Groups allow you to direct messages to a specific list of people in a more precise way than an @-channel or @-here. Any full member can view, create, and edit Slack groups at will.
Groups are a great way to alert people who might not be in a channel about something that needs their attention or make sure urgent incidents are directed to the right people and not an entire channel. For example, you can ping @github-admins in #admins-github if you have an urgent issue instead of using an @channel or use @federalist-team to alert that group of a conversation in another channel that we should see immediately.
Usage of other Slack workspaces
You may be invited to other Slack workspaces operated by government entities, or entities under contract to the government. You’re allowed to join those workspaces as necessary for your work. You should join those workspaces with your government email address and ensure your avatar and profile information are consistent across Slack workspaces. If you’re invited to Slack workspaces unrelated to your job, you must join those workspaces with a personal email address.
- Keep the conversation visible within #alumni and don’t DM staff. For direct communication, use methods available to the general public, such as email.
- If you would like documents or materials, you can either use publicly available methods to request that we publish them publicly, or you can file a FOIA request for GSA to release them. Don’t request materials that aren’t already public to be sent to you — even if they were non-sensitive or documents that you personally authored while you were here. Note that people formerly in the Senior Executive Service have additional restrictions about what FOIA requests they can make.
- Don’t share job postings. This is especially true for your own employer, but applies to postings generally. We don’t want our #alumni channel to be providing advantages to any particular company due to someone’s access to it. You can use email or other publicly accessible methods to share job postings.