모든 사용자 경험 정의
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 Google Chat 앱의 사용자 여정을 정의하고 매핑하는 방법을 설명합니다. 사용자 여정은 사용자가 목표를 달성하는 데 도움이 되는 사용자와 Chat 앱 간의 일련의 작업 및 상호작용입니다. Chat 앱을 빌드하기 전에 이러한 여정을 정의하여 다음을 식별합니다.
- 오류 메시지를 제공해야 하는 경우
- 사용자가 Chat 앱을 사용하는 데 도움이 되는 명령어를 제안해야 하는 경우
- 사용자 흐름을 단순화할 수 있는 위치
모든 사용자 여정의 플로우 차트 만들기
플로우 차트는 모든 사용자 채팅 앱 상호작용을 시각화하고 고려하는 데 유용한 도구입니다. Chat 앱이 다른 Google 서비스 또는 Google 외부의 서비스와 호환되는 경우 이러한 상호작용도 포함해야 합니다. 플로우 차트는 가능한 모든 상호작용을 보여주는 것이 좋으며, 더 복잡한 워크플로의 경우 모든 사용자 여정의 플로우 차트를 보여주는 것이 좋습니다.
다음 플로우 차트는 사용자가 Chat에서 Google Calendar를 관리하는 데 도움이 되는 Chat 앱의 사용자 여정을 보여줍니다.

위 다이어그램은 Chat 앱을 사용하여 캘린더를 확인하려는 사용자가 수행하는 다음 단계를 보여줍니다.
사용자가 스페이스에 Chat 앱을 추가합니다.
Chat 앱은 사용자에게 액세스를 승인하라는 메시지를 표시하는 환영 메시지를 전송합니다.
- 사용자가 액세스 승인을 거부하면 이전 환영 메시지가 다시 전송됩니다.
- 사용자가 액세스 승인에 동의하면 로그인을 클릭합니다.
사용자에게 대화상자 메시지에서 로그인하라는 메시지가 표시됩니다.
- 사용자가 로그인할 수 없는 경우 사용자에게 다시 로그인하라는 오류 메시지가 전송됩니다.
- 사용자가 로그인할 수 있는 경우 Chat 앱 사용 방법을 설명하는 온보딩 메시지가 전송됩니다.
사용자가 /checkCalendar
슬래시 명령어를 입력하여 Calendar에서 오늘의 일정을 가져옵니다.
- Chat 앱에서 사용자의 캘린더를 가져올 수 없는 경우 오류 메시지가 전송됩니다.
- 성공하면 Chat 앱에서 카드 메시지로 오늘의 일정을 전송합니다.
사용자 여정을 안내하는 사용자 스토리 작성
사용자 스토리는 사용자 목표를 나타내며 스토리의 사용자, 작업, 목적이 명확하도록 작성됩니다. 사용자 스토리는 일반적으로 설명하는 요구사항을 충족하는 방법이 두 가지 이상 있기 때문에 열린 구조로 작성해야 합니다. 사용자 스토리는 사용자가 Chat 앱을 사용할 때 따라야 할 경로를 설정하는 데 도움이 됩니다.
사용자 스토리는 다음과 같은 형식입니다. 사용자는 목표를 달성하기 위해 작업을 수행하려고 합니다. 이전 예에서 사용자 스토리는 다음과 같습니다. 교차 기능 작업자로서 다른 사용자와 프로젝트를 공동작업할 수 있도록 내 캘린더를 확인하고자 합니다.
대부분의 Chat 앱에는 여러 사용자 스토리가 있습니다. 예를 들어 Chat 앱 예시의 또 다른 사용자 스토리는 다음과 같습니다. 관리자로서 프로젝트에서 공동작업할 수 있도록 모든 직속 부하 직원이 포함된 주간 회의를 예약하려고 합니다. 각 사용자 스토리에 대해 Chat 앱의 사용자 여정을 파악하고 플로우 차트를 만들어 Chat 앱과의 모든 잠재적 상호작용을 파악합니다.
범례 포함
다른 사용자가 사용자 여정을 읽을 수 있도록 어떤 도형이 어떤 유형의 상호작용을 나타내는지 설명하는 범례를 포함하세요. 예를 들어 사용자 결정 지점, 사용자 입력, Chat 앱의 성공 및 실패 결과, Chat 앱의 메시지에 고유한 도형을 지정합니다.
모든 오류 시나리오 고려
사용자가 Chat 앱을 사용하는 동안 중단되지 않도록 하려면 사용자 여정 맵에 오류 시나리오를 포함하세요. 오류가 발생하는 방식을 정의하고 조치 가능한 오류 메시지를 작성하며 사용자가 목표를 달성하기 위해 오류에 응답할 수 있는 방법을 파악합니다. 예를 들어 '사용자 이름 또는 비밀번호가 잘못되었습니다. 다시 로그인해 보세요.'
Chat 앱에서 사용자에게 전송하는 메시지 식별
각 상호작용은 Chat 앱에서 사용자에게 보내는 메시지로 끝나야 합니다. Chat 앱에서 사용자의 요청을 완료했음을 확인하는 메시지일 뿐이라도 마찬가지입니다. 예를 들어 '일정 예약 앱에 오신 것을 환영합니다. 캘린더에서 일정을 예약, 재예약 또는 삭제해 드릴 수 있습니다. /checkCalendar
를 입력하여 오늘의 일정을 확인해 보세요."
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-03-06(UTC)
[null,null,["최종 업데이트: 2025-03-06(UTC)"],[[["\u003cp\u003eDefine user journeys with flowcharts to visualize user interactions and potential pain points within your Google Chat app.\u003c/p\u003e\n"],["\u003cp\u003eUtilize user stories (As a \u003cem\u003euser\u003c/em\u003e, I want to \u003cem\u003edo a task\u003c/em\u003e, so I can \u003cem\u003eachieve a goal\u003c/em\u003e) to guide the development of user journeys and ensure alignment with user needs.\u003c/p\u003e\n"],["\u003cp\u003eAccount for all error scenarios within user journeys, crafting actionable error messages to help users recover and continue their workflow.\u003c/p\u003e\n"],["\u003cp\u003eEnsure each user interaction within the journey concludes with a message from the Chat app, providing feedback or guidance to the user.\u003c/p\u003e\n"],["\u003cp\u003eInclude a legend with your user journey flowcharts to clarify the meaning of different shapes and symbols, making them easier to understand.\u003c/p\u003e\n"]]],["Define user journeys as sets of actions between users and a Chat app to achieve goals. Create flowcharts to visualize all interactions, including those with external services. Write user stories in the format: \"As a *user*, I want to *do a task*, so I can *achieve a goal*.\" Include a legend for the flowchart. Map out error scenarios, defining the error, message, and user response. Detail each interaction with a message from the Chat app.\n"],null,["# Define all user journeys\n\nThis page describes how to define and map the user journeys of your\nGoogle Chat app. A *user journey* is a set of actions and\ninteractions between a user and a Chat app that helps\nthe user achieve a goal. Define these journeys before building the\nChat app to identify the following:\n\n- When to provide error messages.\n- When to suggest commands to help users use the Chat app.\n- Where the user flow might be simplified.\n\nCreate a flowchart of all user journeys\n---------------------------------------\n\nFlowcharts are useful tools for both visualizing and thinking through all user\nChat app interactions. If your\nChat app works with other Google services, or\nservices outside of Google, be sure to include these interactions too. Ideally,\nyour flowchart depicts every possible interaction, or for more complicated\nworkflows, a flowchart for every user journey.\n\nThe following flowchart shows the user journey for a\nChat app that helps people manage their\nGoogle Calendar from Chat:\n\nThe preceding diagram shows the following steps of a user wanting to use a\nChat app to check their Calendar:\n\n1. A user adds the Chat app to a space.\n\n2. The Chat app sends a welcome message that prompts\n the user to [authorize access](/workspace/chat/authenticate-authorize).\n\n - If the user refuses to authorize access, the previous welcome message is resent.\n - If the user agrees to authorize access, they click **Sign in**.\n3. The user is asked to sign in from a\n [dialog message](/workspace/chat/dialogs).\n\n - If the user is unable to sign in, an error message is sent asking the user to try signing in again.\n - If the user is able to successfully sign in, an onboarding message is sent that describes how to use the Chat app.\n4. The user types the `/checkCalendar`\n [slash command](/workspace/chat/commands)\n to get today's schedule from Calendar.\n\n - If the Chat app is unable to retrieve the user's calendar, an error message is sent.\n - If successful, the Chat app sends today's schedule in a card message.\n\nWrite user stories to guide your user journeys\n----------------------------------------------\n\nA *user story* represents a user goal, and is written so that the user, task,\nand purpose of the story is clear. User stories are meant to be open-ended\nbecause there's usually more than one way to satisfy the requirements that they\ndescribe. User stories help you set paths for users to follow as they work with\nChat app.\n\nUser stories have the following format: As a *user* , I want to *do a task* , so I\ncan *achieve a goal* . In the previous example, the user story is: As a\n*cross-functional worker* , I want to *check my calendar* so I can\n*collaborate on projects with others*.\n\nMost Chat apps have multiple user stories. For example, another\nuser story for the example Chat app is: As a *manager* ,\nI want to *schedule a weekly meeting that includes all my direct reports* , so we\ncan *collaborate on projects*. For each user story, identify the users' journey\nfor your Chat app and create a flowchart to identify\nall potential interactions with your Chat app.\n\nInclude a legend\n----------------\n\nTo help others read your user journeys, include a legend that describes which\nshape represents which type of interaction. For example, identify a unique shape\nfor user decision points, user input, successful and unsuccessful results from\nyour Chat app, and any messages from the\nChat app.\n\nAccount for all error scenarios\n-------------------------------\n\nTo ensure users never get stuck while working with your\nChat app, include error scenarios in your user journey\nmap. Define how the error occurs,\n[write an actionable error message](/workspace/chat/write-error-messages),\nand identify how the user might respond to the error in order to achieve their\ngoal. For example, \"Wrong username or password. Try signing in again.\"\n\nIdentify the messages your Chat app sends to users\n--------------------------------------------------\n\nEach interaction should end with a message from your\nChat app to the user, even if it's only a message\nconfirming that the Chat app successfully completed the\nuser's request. For example, \"Welcome to the scheduling app. I can schedule,\nreschedule, or remove events from your calendar. Take a look at today's schedule\nby typing `/checkCalendar`.\"\n\nRelated topics\n--------------\n\n- [Set up slash commands to interact with Google Chat users](/workspace/chat/slash-commands)\n- [Write an actionable error message](/workspace/chat/write-error-messages)\n- [Design user interactions](/workspace/chat/interactivity)"]]