Know your audience

A Chat bot's audience is the people who exchange messages with the bot.

Whether your Chat bot supports a globally distributed team of thousands or just one person, ensure your bot helps everyone who messages it by including the audience in your design process. Here are some things to consider:

Have your users worked with Chat bots before?

Your Chat bot might be the first interaction a user has had with Chat bots. Don't make assumptions that users know how Chat bots work. Features like slash commands and dialogs may confuse some users, so help them out by giving precise instructions.

For example, when prompting the user to issue a slash command:

Write this

To create a contact, type /createContact.

This prompt is helpful because:

  • It tells the user exactly what they need to type.
  • Special formatting makes /createContact stand out.
  • The sentence begins with the goal.

Don't write this

Issue the Create Contact slash command.

This prompt is unhelpful because:

  • It doesn't tell users what to type; they need to type /createContact. It assumes that users will connect "Create Contact" to /createContact.
  • Users might not know what slash commands are, nor how to issue them.
  • No reason for issuing the slash command is given. The user might not know why the bot is asking them to do this.

To learn more about how to help users with Chat bot features like slash commands, refer to Guide people with interactivity.

Geography

Where in the world will people use your Chat bot?

Oftentimes, people in a Chat space are located all over the world, which means that they're working in different time zones. If your bot sends notifications to users or spaces, be mindful of the time of day people's phones might ring.

The WFH Chat bot is a fun app that helps teams stay connected while working from home. One of its features is to start the day and end the day with a jaunty question that gets the team talking to each other. But, if part of the team is in New York, and part of the team is in Los Angeles, the Chat bot might send the LA team a "wake up" notification at 6:00am:

Chat bot announcing the start of the day at 6:00am

And a "work's done" notification at 2:00pm:

Chat bot announcing the end of the day at 2:00pm

If your Chat bot mentions a user directly, consider checking that user's timezone in the Calendar API before sending the notification. If it's outside that user's working hours, consider sending the message without a mention, or waiting until their work day begins.

Language

What languages does your Chat bot support?

Your Chat bot could field requests in English, Spanish, and Japanese from users in a single Workspace domain! If you know that your Chat bot will support users speaking different languages, it's important to check for a preferred language and localize the bot accordingly.

For Chat spaces, add a language option to the bot's configuration settings. Once set by users in the space, your bot can respond to message events from that space in the space's preferred language.

To check a user's preferred language:

  1. Get User.name from the User type in Google Chat API.
  2. Map User.name to user.id in Google Workspace Admin SDK's Directory API.
  3. Get user.languages[] for the given user.id in Directory API.

For more information, refer to User in Google Chat API and users in Google Workspace Admin SDK's Directory API.

Platform: web vs mobile

Google Chat is available on computers and mobile devices. Computers offer lots of screen space where users might be more accepting of information-dense messages with lots of buttons and options. On mobile devices, users appreciate succinct messages.

Try to offer 3 or fewer buttons per card. If you need to offer more than 3 buttons, consider launching a dialog instead. Dialogs can present a series of cards that make gathering lots of user input a friendlier experience.

Test your Chat bot on mobile devices to make sure its presentation of information is digestible.

Users with different permissions, roles, and data access

People in Google Chat have different permissions and data access in Google Workspace and other systems. A single Chat space could include administrators, managers, sales people, and customers. These are some of the permission-related scenarios to consider while building your Chat bot:

Limited access to Chat bots

Google Workspace administrators can limit who has access to Chat bots in Google Chat.

Authentication

Prompting a customer to authenticate to a customer's Google Workspace domain might not work, and might confuse and frustrate the user. Account for this possibility by writing an actionable error message.

Sharing sensitive information in Chat spaces

If a user authenticates a Chat bot to share sensitive information, like financial or health data, it might be best to limit that Chat bot to 1:1 direct messages so that the Chat bot doesn't accidentally reveal sensitive information in a Chat space where others might see it.

Sharing information in Chat spaces that include customers

It's common for employees of a company to share a Chat space with customers. Your Chat bot can be a real boon to employee-customer interactions, but if your Chat bot shares a space with customers, it's important to consider what data your Chat bot might reveal.

For example, say your Chat bot shares customer case details. If your Chat bot shares a customer case in a Chat space shared with other customers, it might accidentally reveal customer information to people who shouldn't see it.