Gemini Addon
Gemini Addon
This document serves as a template for conducting user needs analysis, specifically tailored for applic
personas, core requirements, a user story template, and example user stories, to facilitate the gather
Overview features of Gemini for google workspace
List of calendar features currently support by Gemini
List of calendar features Gemini not support, can develop by custom BOT
List of gmail features support by Gemini
This document contains user stories, acceptance criteria, and additional requirements for email featur
focus on improving user productivity through natural language interaction with their Gmail account.
User Needs Analysis
Core Requirements:
1. Personal Calendar Management
View and query calendar
Create/edit/cancel events
Receive suitable time suggestions → Immediately available with Gemini
2. Group Interactions
Group chat communication
Meeting content summarization
Important task tracking → Requires additional development
3. Meeting Room Management
Check room availability
Room booking based on requirements
Room suggestions based on capacity → Requires integration with room management system
2 Can the chatbot create, edit, and cancel events on the calendar?
3 Can the chatbot check the availability of meeting rooms for a specific time?
6 Can the chatbot query and analyze content from files in Gmail?
8 Can the chatbot support multiple input types (text, voice, images)?
9 Can the chatbot understand user requests even when the question is unclear?
18 Does the chatbot manage access permissions to prevent sensitive data exposure?
19 Does the chatbot have a mechanism to delete user data after a certain period?
21 Can the chatbot process and synthesize information from multiple sources?
24 Can the chatbot create events and automatically add all members in a group chat?
25 Can the chatbot check multiple users' schedules simultaneously to find a suitable time slot?
26 Can the chatbot suggest an appropriate meeting room based on the number of participants?
27 Can the chatbot categorize important content in a group chat for easier tracking?
比較基準 Gemini Add-on
チャットボットは Googleカレンダーから予定を照会できますか?
TRUE
チャットボットはカレンダー上の予定を作成、編集、キャンセルできますか?
TRUE
チャットボットは特定の時間に会議室の空き状況を確認できますか?
FALSE
チャットボットはユーザーが入力した情報に基づいて会議室を予約できますか?
FALSE
チャットボットは過去チャットをもとに問答をサポートしていますか?
TRUE
チャットボットはGmail内のファイルからのコンテンツを照会して解析できますか?
FALSE
チャットボットは以前のやり取りから学習できますか?
TRUE
チャットボットは複数の入力タイプ(テキスト、音声、画像)をサポートしていますか?
TRUE
質問が曖昧の場合でも、チャットボットはユーザーのリクエストを理解できますか?
TRUE
チャットボットは複数の予定を含む複雑なリクエストを処理できますか?
FALSE
予定をクエリする際にチャットボットの応答時間はどれくらいですか?
FALSE
チャットボットは予約時に適切な時間帯を提案できますか?
FALSE
チャットボットはマルチターンのリクエストを処理できますか?
TRUE
予定が重複している場合、チャットボットは競合を解除できますか?
FALSE
チャットボットはカレンダー情報にアクセスする前にユーザーを認証しますか?
FALSE
ユーザーの個人データは送信中に暗号化されますか? FALSE
チャットボットは機密データの漏洩を防ぐためにアクセスを管理していますか?
FALSE
チャットボットには、一定期間後にユーザーデータを削除する仕組みがありますか?
FALSE
AIモデルはユーザーデータに基づいて微調整されますか? FALSE
チャットボットは複数のソースからの情報を統合・処理できますか?
TRUE
チャットボットの運用コスト
FALSE
チャットボットはグループチャットの内容を要約できますか?
FALSE
チャットボットは予定を作成し、グループチャットのすべてのメンバーを自動的に追加できますか?
FALSE
チャットボットは複数の人の予定をチェックして、適切な空き時間枠を見つけることができますか?
FALSE
チャットボットは出席者の数に基づいて適切な会議室を提案できますか?
FALSE
チャットボットは、グループチャット内の重要なコンテンツを分類し、簡単に追跡できるようにできますか?
FALSE
Email features
Input Types
Can Gemini search emails based on sender, recipient, subject, keywords, date range? 1
Can Gemini extract key information from emails (dates, times, locations, names, attachments)? 1
Can Gemini identify the purpose or intent of an email (e.g., meeting request, task assignment)? 1
Can Gemini query and analyze content from files within Gmail? 0
Can Gemini draft email replies based on the content of the original email? 1
Does Gemini have access control mechanisms to prevent unauthorized data access? 0
Is the underlying AI model fine-tuned on user data (and if so, are there privacy safeguards)? 0
Does Gemini have any mechanism to detect and flag phishing or spam emails? 0
Can Gemini handle multiple types of input data (text, voice, image) 0
Can Gemini handle information from multiple sources (e.g., calendar, email, documents)? 0
Can Gemini integrate with other email providers (Outlook, Yahoo, etc.)? 0
Can Gemini summarize the content of a group chat? 0
Can Gemini classify important content in a group chat for easy tracking? 0
Can Gemini access mail via Group Chat? 0
Notes Drive features
Strong integration with Gmail is expected. Basic File Access & Management
Not good
Integration between email and other productivity tools. Intelligent Assistance & Automation
Refer
Gmail to Google's
already hasprivacy policies.
strong spam/phishing detection; Gemini
likely leverages this.
Gemini is designed to be multi-modal.
Key feature
Depends onof Gemini.
API availability and Google's integration Integration & Multi-Source
strategy.
LLM text summarization
Depends capability.
on the sophistication of the classification Group Chat Drive Features
algorithms.
Depends on specific group chat integrations.
Features check list Gemini app
Can Gemini open and display the content of files (e.g., Docs, Sheets, Slides)? 0
Can Gemini extract key information from files (e.g., headings, summaries, specific data points)? 0
Can Gemini summarize the content of a document? 0
Can Gemini identify the type and purpose of a file (e.g., report, presentation, contract)? 0
Can Gemini suggest relevant files based on a user's current task or context? 0
Can Gemini automate tasks involving Drive files (e.g., "Move all invoices from last month to a folde 0
Can Gemini generate reports or summaries based on data from multiple files? 0
Does Gemini remember previous interactions and context within a conversation about Drive files? 0
Does Gemini have access control mechanisms to prevent unauthorized access to Drive files? 0
Is there a data retention policy (how long is user data/access logs stored)? 0
Is the underlying AI model fine-tuned on user data (and if so, are there privacy safeguards)? 0
Can Gemini handle information from multiple sources (e.g., Drive, email, calendar)? 0
Can Gemini work with files from other cloud storage services (Dropbox, OneDrive, etc.)? 0
Can Gemini share a file to all members in a group chat? 0
Can Gemini answer questions from a file shared in the group chat? 0
Can Gemini access Drive via group chat? 0
Notes
Help me write
Smart Compose (Enh.)
Smart Reply (Enh.)
Summarization
Gmail Contextual Assistance
Help me write
Summarization
Proofreading & Editing
Q&A
Docs Content from Outlines
Help me organize
Data Analysis (Basic)
Formula Generation
Sheets Data Cleaning
Help me visualize
Image Generation
Slide Summaries
Slides Speaker notes
Meeting Summaries
Real-time Translation
Studio Look & Lighting
Generate email drafts from short prompts, specifying tone, length, and key points.
Provides more sophisticated suggestions as you type.
Offers more relevant and complete quick replies.
Condenses long email threads into concise summaries.
Provides grammar, spelling, and tone suggestions tailored to the email context.
Generate text for various document types based on prompts, outlines, or keywords.
Creates summaries of long documents.
Offers advanced suggestions for grammar, style, and clarity.
Generates formulas, creates tables, and organizes data from natural language descriptions.
Answers simple questions about your data (e.g., averages, sums).
Suggests formulas based on descriptions of the desired calculation.
Format and clean up datasets automatically.
Generates presentations from outlines or prompts, including text, layouts, and image suggestions.
Provides live captions and translations during video calls (in supported languages).
Automatically enhances video quality.
Enhances visual appeal and eliminates the need for external image tools.
Helps audience quickly understand the main takeaways.
Saving time to write speaker notes.
Integrate Gemini.
- Analyze incoming email
Respond to common email queries more content.
quickly. - Generate suggested replies.
Integrate Gemini.
- Perform real-time analysis as
users type.
- Compare against grammar
Enhance the quality and professionalism of rules, spelling, and tone
emails. patterns.
User Story
As a project manager, I want to quickly find emails with specific attachments using natural language i
chat, so that I can easily locate important documents without manually searching through my inbox.
Acceptance Criteria:
Additional Requirements:
As a customer support representative, I want to ask Gemini questions about the content of emails in c
so that I can quickly get information and respond to customer inquiries efficiently.
Acceptance Criteria:
Additional Requirements:
As a researcher, I want to download email attachments directly from the chat interface, so that I can s
important files to my local storage without needing to open my email client.
Acceptance Criteria:
Additional Requirements:
As a team leader, I want to be able to forward emails by giving a natural language command in the ch
interface. So that I can share information quickly and efficiently with relevant parties without needing
manually forward through my email client.
Acceptance Criteria:
Additional Requirements: * Response time under 3 seconds * Integration with Gmail and company
directory (or contact list). * Natural Language processing for names/aliases.
5. User Story: Q&A on Attachment Content
As an analyst, I want to ask Gemini questions about the content of file attachments in emails via chat
that I can quickly extract specific information from attachments without needing to open and manuall
read each file.
Acceptance Criteria:
Additional Requirements:
Given I am in the chat interface, When I type "Find emails from Sarah with PDF attachments from last
a list of emails from Sarah sent last week that contain PDF attachments.
Given I am in the chat interface, When I type "Show me emails with the 'Project Proposal' attachment"
of all emails containing an attachment named "Project Proposal", regardless of sender or date.
Given I am in the chat interface, When I ask "Did John send me any spreadsheets?", Then the system
spreadsheet attachments (e.g., .xls, .xlsx, .csv).
Given I am in the chat interface, When I type "What was the order number in the latest email from [em
should accurately provide the order number mentioned in the email.
Given I have an email thread with multiple replies, When I ask "What was the original question in the
Then Gemini should identify and display the initial question from the beginning of the thread.
Given I am in the chat interface, When I ask "Summarize the last email from my manager", Then the s
Given I have an email with an attachment displayed in the chat, When I click a "Download" button or t
the system should download the attachment to my default download location.
Given I have an email with multiple attachments, When I type "Download all attachments from the em
system should download all attachments from that specific email in a ZIP file (or individually, with clea
Given an email has not attachment, When I type"Download all attachments from the email about the
return message file has not attachment.
Response time under 3 seconds (excluding file download time, which depends on network speed).
Secure download mechanism.
Integration with Gmail.
Clear indication of download progress.
Support download file bigger 25MB.
Given I am in the chat interface, When I type "Forward the latest email from Sarah to the marketing te
the most recent email from Sarah to the designated recipients for the marketing team.
Given the system knows my predefined group aliases, when I Type "Forward project update to team a
alias team.
Given I have not specified a recipient. When I type "Forward this email".,Then the system should ask c
content.
Given I am in the chat interface and have identified an email with a PDF attachment, When I type "Wh
the attached report?", Then Gemini should accurately provide the total revenue figure from the PDF.
Given I am in the chat interface and have identified an email with a spreadsheet attachment, When I
the attached spreadsheet?", Then Gemini should calculate and return the correct average sale price f
Given I am in the chat interface, and an email contains multiple attachments, When I type, "Summariz
document attachment." Then, the system should provide the summary from correct file.
Given I am in the chat interface, When I ask question about a image/ unsupported file. Then system s
support that action.
Handle Event Details from Other Apps Can process and add event details copied from other apps like Docs or Gmail.
To access the calendar integration, enable the Google Workspace extension in
Enable Google Workspace Extension
the Gemini app settings.
Create Events Based on Conversation Can create events based on the context of your conversation with Gemini.
2. Create Events (Enhanced) 2.1 Voice & Text Input with Rich Details
4. Edit Events (Expanded Editing) 4.1 Edit Date and Time (Existing)
4.2 Edit Event Name - Potential Expansion
"Show me the email that John sent about the marketing meeting. Add the
event to my calendar." 4
"Create an itinerary for a 1-day trip in San Francisco with times. Add them to
my calendar." 4
Description
Seamlessly connects and synchronizes with Google Calendar accounts.
Enhanced ability to recognize intent for more complex scheduling tasks, like
creating itineraries or multi-day events from conversational input.
Advantages
Flexibility and convenience for users with multiple devices and platforms.
Time-saving automation . 7
Example
"Connect my Google Calendar"
"Create meeting tomorrow 3 PM 'Project Review' at office, invite John [email address removed]
and Sarah"
"Invite John to the dentist appointment event"
"Cancel meeting with John" (Cancellation likely triggers guest notifications automatically)
"Add this meeting info from the website to my calendar." (Copies more complex formatted text)
"Gemini, access my calendar" (Might prompt with a simplified enablement flow if not already
enabled).
User: "Schedule a meeting next week." Gemini: "What day and time next week?" User:
"Tuesday afternoon." Gemini: "Around what time? And what's the meeting about?" ...
May sometimes fail to see items on the calendar due to ongoing development . 2
VertexAI
Handle mulitple edge case, specific time, range time, create recurrent event, event all day,
create task.
Find next events, events in history, future, specific range of time, specific time, recurrent
event
Get meeting link, location, room information with range of time, specific time, next
meetting
Check available meeting room, booking room with conversation, search with multiple
parameter
Calendar features overview
Feature Name Description
1. Guest Management Allow users to add or invite guests to events directly through Gemini.
Enable users to edit all event details, including location, description, and
2. Event Detail Editing
reminders, through voice or text commands.
Develop smart scheduling capabilities that can analyze user preferences,
3. Intelligent Scheduling suggest optimal meeting times, and automatically resolve scheduling
conflicts.
Integrate meeting room booking functionality, allowing users to find and
4. Meeting Room Booking
reserve available rooms directly through Gemini.
4. Meeting Room Booking 4.1 Search Available Rooms (by Capacity, Amenities)
"Change the location of my meeting with John to Conference Room A and add a reminder to bring the presentation
slides."
"Schedule a meeting with the marketing team next week, considering everyone's availability and preferred meeting
times."
"Find an available meeting room for tomorrow at 10 AM that can accommodate 10 people."
"Find a time when John, Sarah, and I are all free for a meeting next week." 9
Allow direct email input for guests not in contacts or for explicit specification.
Set guest permissions (modify event, invite others, view guest list).
Change the event title or subject line via chat.
Learn user preferences (time of day, day of week) to suggest optimal meeting times proactively.
Automatically resolve minor scheduling conflicts (e.g., slight overlaps) or assist user in resolving major conflicts.
Intelligently handle and display time zones when scheduling across different locations.
Find available meeting rooms based on capacity, equipment (projector, whiteboard), etc.
Check the availability of a specific meeting room for a given time and date.
Display the features and amenities of available meeting rooms (capacity, equipment).
Remind users to schedule recurring events (e.g., weekly team meetings).
Proactively suggest meeting times based on user's historical meeting patterns and free time.
(Advanced) Set smart reminders that factor in travel time to the event location (if location is specified and user
location permissions granted).
Proactively remind users to prepare for upcoming meetings a certain time in advance.
Initiate a poll among attendees to find the best meeting time when no common free slot is immediately apparent.
Provide a summary of past meetings with the same group of attendees to recall context or previous discussions.
Easily share meeting agendas, pre-reading documents, or collaborative documents with all invited guests through the
chatbot.
Monitor attendee RSVPs (Accept, Decline, Maybe) and send reminders to those who haven't responded.
Schedule meetings at times that align with user's typical work patterns and preferences.
Avoid time zone confusion for both organizer and guests in different locations.
Help users choose the best room based on their needs by providing room details.
Ensure regular meetings are not forgotten to be scheduled.
Avoid late arrivals by proactively reminding users to leave with travel time in mind.
Help refresh context and improve meeting continuity for recurring meetings or when
meeting with the same group frequently.
Ensure all attendees are well-prepared and have necessary information before the
meeting.
ase
Detail Use Case
Quickly invite known individuals without needing to remember emails, especially on
mobile.
Handle cases where multiple people share the same name in contacts. Avoids inviting the
wrong
User can person.
quickly add new contacts directly from the chatbot flow if the person isn't in their
list yet.
Ensure correct email format and prevent typos in email addresses, leading to failed
invitations.
Efficiently add multiple external or non-contact guests at once.
Accurately identify and retrieve members of specified groups for invitations.
Handle cases where the user misspells group names or refers to non-existent groups.
Correctly interpret user intent for guest types from natural language input.
Provide flexibility for users to set their preferred default guest designation behavior.
Correctly interpret user intent for guest permission levels from natural language.
Guide users to choose appropriate permission levels if their initial input is unclear or
incomplete.
Quickly gather availability data for all attendees to analyze for optimal meeting times.
Provide intelligent meeting time suggestions that minimize scheduling conflicts and
consider guest availability.
Avoid time zone confusion in scheduling suggestions.
Enable users to easily initiate guest list viewing.
Provide clear visibility into guest attendance status for meeting organizers.
Allow dynamic modification of guest lists after event creation, directly within the chat
interface.
Simplify follow-up with guests who haven't responded to invitations or to ensure everyone
has the latest event details.
Understand time zone specifications provided by the user during scheduling.
Provide clear and localized time information to all participants, avoiding confusion.
Show consideration for guest's work preferences and minimize scheduling conflicts.
Propose meeting lengths that are likely to be more suitable and efficient based on
historical interactions.
Accurately interpret user requests to assign roles from chat input.
Ensure guests have easy access to meeting agendas and pre-reading material,
improving meeting feature)
(Future, advanced preparedness.
Further enhance meeting preparation and role clarity through
role-specific communication.
Example Chatbot Interaction
User: "Schedule meeting with John and Sarah." Chatbot: "Okay, inviting John
[Resolves to [email address removed]] and Sarah [Resolves to [email address
removed]]. Correct?"
User: "Invite [email address removed] and project team." Chatbot: "Inviting [email
address removed] and members of 'project team' Google Group. Proceed?"
User: "Invite marketing department group." Chatbot: "Inviting all members of the
'marketing department' Google Group. Group has 30 members. Confirm?"
User: "Meeting next week, John required, team optional." Chatbot: "John marked as
required, team as optional. Inviting John and team. Confirm?"
User: "Presenters can modify event, attendees view only." Chatbot: "Presenters
given 'can modify' permissions, attendees 'view only'. Correct?"
User: "Edit meeting title to 'Q3 Planning Session'." Chatbot: "Event title changed to
'Q3 Planning Session'. Updated event details."
User: "Find room for 10 people with projector for next Tuesday 2 PM." Chatbot:
"Checking room availability for 10 people with projector... Suggesting 'Conference
Room C' available next Tuesday 2 PM - 3 PM. Book it?"
Chatbot: "Book 'Conference Room C' for next Tuesday 2 PM - 3 PM? " User: "Yes,
book it." Chatbot: "Booking 'Conference Room C' for next Tuesday 2 PM - 3 PM.
Room booked and added to meeting invite."
User: "Is 'Main Auditorium' available next Friday morning?" Chatbot: "Checking
availability for 'Main Auditorium' next Friday morning... 'Main Auditorium' is available
9 AM - 12 PM and 2 PM - 5 PM next Friday."
Chatbot: "No fully overlapping free time slots found with John and Sarah next week.
Would you like me to send a poll to John and Sarah with a few time options to find
the best time that works for most?"
Chatbot (when scheduling meeting with John and Sarah again): "Quick reminder:
Your last meeting with John and Sarah on [Date] was about [Topic Summary - if
available from meeting notes/agenda]. Does this context help for scheduling this
new meeting?"
User: "Share agenda 'Q3 Plan Agenda Doc' with meeting guests." Chatbot:
"Sharing 'Q3 Plan Agenda Doc' with all guests invited to the meeting. Confirmation
sent."
Chatbot (day before meeting): "Reminder: 3 guests haven't RSVP'd to 'Project
Kickoff Meeting' yet. Would you like me to send a reminder to pending guests?"
Example Chatbot
User: "Schedule Interaction
meeting with John and Sarah." Chatbot: "Okay, scheduling with
John [Resolves to [email address removed]] and Sarah [Resolves to [email address
User: "Meeting
removed]]. with John Smith." Chatbot: "I found multiple 'John Smith' contacts. Is
Correct?"
User:
it John"Meeting with Alex
Smith ([email Johnson."
address Chatbot:
removed]) "Contact
or John Smith'Alex Johnson'
([email address not found. Did
removed])?"
you mean to invite someone else, or would you like to add 'Alex
User: "Event with [email address removed] and team." Chatbot: "Event withJohnson' to [email
your
contacts?"
address removed]
User: "Invite [emailand team.removed],
address Team group name
[email resolve
address failed. Please
removed], [emailinput
addressteam
member emails " (Handles both email parsing and group resolve fallback)
removed]" Chatbot: "Inviting [email address removed], [email address removed],
User:
[email"Invite
addressmarketing
removed].team." Chatbot: "Inviting members of the 'marketing team'
Correct?"
Google Group. Group has 25 members. Proceed?" team' Google Group not found.
User: "Invite marketting team." Chatbot: "'marketting
Did you
User: mean 'marketing
"Meeting team'Sarah
John required, or would you like
optional." to list team
Chatbot: members
"John marked individually?"
required,
(Configuration setting: Default guest type:
Sarah optional. Inviting both. Confirm?" Required) User: "Meeting with team."
Chatbot: "Meeting with team members, all marked as 'required'. Correct?" (Based
on default setting)
User: "Speakers can edit, attendees view only." Chatbot: "Speakers given 'can edit'
User: "Meeting
permission, permissions
attendees 'view for speakers..."
only'. Correct?" Chatbot: "For speakers, do you want to
grant 'can edit event', 'can invite others', 'can see guest list' permissions? Please
specify."
(Internal process - no direct user interaction shown here)
Chatbot: "Suggesting Wednesday 2 PM - 3 PM as best time when all required
guests
Chatbot:are available. Alternatives:
"Suggesting Wednesday Thursday
2 PM PST10 (5 AM
PM or Friday
EST, 1 PM."
10 PM London) as best
time..."
User: "Show guest list for Project Meeting." Chatbot: "Showing guest list for 'Project
Meeting'
Chatbot: event..."
"Guest List: John (Accepted), Sarah (Pending), [Team Member 1]
User: "Add Peter to Project Meeting." Chatbot: "Adding Peter to 'Project Meeting'.
(Declined)..."
Confirm?" or User: "Remove John from event." Chatbot: "Removing John from
User:
'event'."Resend invites for Project Meeting." Chatbot: "Resending invitations to all
Confirm?"
guests for 'Project
User: "Meeting 3 PM Meeting'. Confirm?"
PST with John in London." Chatbot: "Scheduling for 3 PM
PST (11 PM
Chatbot: London
"Meeting at time)..."
3 PM PST (11 PM London, 7 AM Tokyo next day) with John
and Sarah. Correct?"
(Internal Logic - No direct
Chatbot (Suggesting time user chat example,
with John): this is prefers
"John usually background analysis)
shorter meetings.
Suggesting a 30-minute slot at 2 PM. Does that work or should I look for longer
User: "John Presenter, Sarah Note-taker." Chatbot: "John assigned as Presenter,
duration?"
Sarah
Chatbot:as "Agenda:
Note-taker.
'Q3Correct?"
Plans Discussion' will be added to the event description and
shared with guests, especially John (Presenter) and Sarah (Note-taker)."
(Beyond current scope - Future consideration)