IP Library › Granted Patent US 12,737,728
Granted Patent B2
US 12,737,728 · App. 17/831,748 · Granted Sep 15, 2026

Generating collaborative documents for virtual meetings in a communication platform

Inventors: Kevin Marshall (San Francisco, CA); Michael Hahn (San Francisco, CA); Noah Weiss (Austin, TX); Anna Niess (Hastings-on-Hudson, NY); Julie Haynes (Oakland, CA); Pedro Carmo (Brooklyn, NY); Katherine Jane Steigman (San Leandro, CA); Olivia Diane Grace (San Francisco, CA)
Assignee: Salesforce, Inc.
G06Q10/1093G06F16/93
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,728
App. No.
17/831,748
Filed
Jun 3, 2022
Granted
Sep 15, 2026
Kind
B2
Art Unit
3624
USPC
705/7.19
Abstract

Techniques for providing a collaborative document in association with a virtual meeting on a communication platform are discussed herein. Users may communicate within the communication platform via text-based messages, which may include links, documents, videos, etc. Users may request a virtual meeting with audio and/or video capabilities. Responsive to a request, users within the communication channel may be invited to the virtual meeting and the collaborative document. The collaborative document can enable messaging and sharing functionalities attributable to a virtual space. The collaborative document may be populated with communications previously exchanged within the communication channel, such that links, documents, videos, content, etc. that occurred or were shared within the communication channel may be indicated within the collaborative document to provide context to the virtual meeting. Users may engage, within the collaborative document, in audio and/or video communications, as well as share links, documents, screens (i.e., screen-sharing), and the like.

Claims (88)

1 . A method, implemented at least in part by one or more computing devices of a communication system, the method comprising:

receiving a request to create a virtual meeting around a communication shared within a first message thread of a virtual space, wherein the communication is a root object of the first message thread;

determining, by the communication system, contextual data associated with the communication, the contextual data indicating at least a topic to be discussed during the virtual meeting, wherein determining the contextual data comprises analyzing the first message thread to identify thread-specific data associated with the root object;

identifying, by the communication system and based at least in part on the contextual data, one or more objects previously shared in the virtual space, wherein the one or more objects are associated with one or more users of the virtual space, wherein the one or more objects are specifically related to the root object as determined from the contextual data;

generating a document based at least in part on the request to create the virtual meeting, wherein the document is associated with a second message thread that is prepopulated with the root object and the one or more objects previously shared in the virtual space, wherein the document is a collaborative document that is accessible to members of the virtual space from within the virtual space, and wherein the second message thread is a distinct data structure from the first message thread;

automatically populating the document with data that is specifically related to the virtual meeting and that was previously included within the virtual space, wherein the data includes communications previously exchanged within the virtual space and objects related to the virtual meeting, wherein functionalities of the virtual space are imbued in the document such that the document facilitates interactions between participants of the virtual meeting during the virtual meeting, wherein the functionalities imbued in the document include at least messaging functionality, file sharing functionality, and presence-indication functionality that collectively enable the document to operate as a different virtual space;

receiving an indication to initiate the virtual meeting;

in response to receiving the indication to initiate the virtual meeting, causing display of the document in a user interface of the communication system, the document comprising the root object, the one or more objects previously shared in the virtual space, and the data;

receiving, during the virtual meeting and within the second message thread, a plurality of communications, wherein a portion of the plurality of communications comprise one or more replies to the root object;

identifying metadata associated with the portion of the plurality of communications, wherein the metadata includes at least a sending user identifier, a message identifier, and a timestamp associated with the portion of the plurality of communications; and

embedding, after the virtual meeting has been terminated, the metadata associated with the portion of the plurality of communications with the root object such that the one or more replies to the root object received during the virtual meeting persist within the first message thread, thereby updating the first message thread in the virtual space to reflect the plurality of communications that occurred within the second message thread of the document during the virtual meeting without requiring separate user action to transfer the plurality of communications.

2 . The method of claim 1 , wherein causing display of the document comprises:

causing display of a first indication of the root object; and

causing display of a second indication of a second object of the one or more objects.

3 . The method of claim 1 , wherein causing display of the document comprises:

causing display of one or more icons within a first area of the document, individual icons of the one or more icons being associated with individual objects of the one or more objects; and

causing display of content associated with the one or more objects within a second area of the document.

4 . The method of claim 1 , wherein the document is associated with a first user account of a first user, the method further comprising:

receiving a second request to associate the document with a second user account of a second user that is different than the first user;

in response to receiving the second request, associating the document with the second user account; and

in response to associating the document with the second user account, causing display of an identifier associated with the virtual meeting in a second user interface associated with the second user account.

5 . The method of claim 1 , further comprising determining one or more permissions associated with the document, the one or more permissions including at least one of editing abilities of the document or a publicity of the document.

6 . The method of claim 1 , wherein receiving the request to create the virtual meeting around the communication comprises receiving a second indication of a selection of an affordance associated with the communication.

7 . The method of claim 1 , wherein the virtual meeting is a first virtual meeting, the method further comprising:

receiving a second request to terminate the first virtual meeting;

in response to receiving the second request to terminate the first virtual meeting, storing the document in association with the communication shared within the virtual space;

receiving a second indication to create a second virtual meeting around the communication shared within the first message thread of the virtual space;

determining that the second virtual meeting is associated with the first virtual meeting based at least in part on the contextual data; and

in response to determining the second virtual meeting is associated with the first virtual meeting, causing display of the document in association with the second virtual meeting.

8 . The method of claim 1 , the method further comprising:

receiving a second request to terminate the virtual meeting;

generating, based at least in part on receiving the second request to terminate the virtual meeting, an affordance associated with the document, wherein selection of the affordance causes the document to be presented via the user interface; and

embedding the affordance associated with the document with the root object such that the affordance is presented in association with the communication.

9 . The method of claim 1 , wherein generating the document comprises generating a document identifier associated with the document, the document identifier configured to enable a messaging functionality and a sharing functionality within the document.

10 . The method of claim 1 , wherein the document enables multiple users to present content simultaneously within the document and during the virtual meeting, the method further comprising:

receiving, from a first user, a first request to present first content in a first area of the document;

causing the first content to be displayed in the first area of the document;

receiving, from a second user, a second request to present second content via a second area of the document; and

causing the second content to be displayed via the second area of the document in addition to the first content.

11 . The method of claim 1 , wherein the virtual space is a first virtual space and generating the document comprises:

determining first permission data associated with the first virtual space; and

generating second permission data associated with the document, the second permission data enabling the document to be shared to a second virtual space after the virtual meeting is terminated.

12 . The method of claim 1 , wherein automatically populating the document comprises:

generating a document identifier associated with the document that enables the communication system to treat the document as the different virtual space distinct from the virtual space of the first message thread;

associating the document identifier with the one or more objects identified based at least in part on the contextual data; and

transmitting the one or more objects to the document in response to generating the document identifier, thereby reducing a number of separately-running application instances on a user computing device to access the one or more objects during the virtual meeting.

13 . A system, implemented at least in part by one or more computing devices of a communication platform, the system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions that, when executed, cause the system to perform operations comprising:

receiving a request to create a virtual meeting around a communication shared within a first message thread of a virtual space, wherein the communication is a root object of the first message thread;

determining contextual data associated with the communication, the contextual data indicating at least a topic to be discussed during the virtual meeting, wherein determining the contextual data comprises analyzing the first message thread to identify thread-specific data associated with the root object;

identifying, by the one or more computing devices of the communication platform and based at least in part on the contextual data, one or more objects previously shared in the virtual space, wherein the one or more objects are associated with one or more users of the virtual space, wherein the one or more objects are specifically related to the root object as determined from the contextual data;

generating a document based at least in part on the request to create the virtual meeting, wherein the document is associated with a second message thread that is prepopulated with the root object and the one or more objects previously shared in the virtual space, wherein the document is a collaborative document that is accessible to members of the virtual space from within the virtual space, and wherein the second message thread is a distinct data structure from the first message thread;

automatically populating the document with data that is specifically related to the virtual meeting and that was previously included within the virtual space, wherein the data includes communications previously exchanged within the virtual space and objects related to the virtual meeting, wherein functionalities of the virtual space are imbued in the document such that the document facilitates interactions between participants of the virtual meeting during the virtual meeting, wherein the functionalities imbued in the document include at least messaging functionality, file sharing functionality, and presence-indication functionality that collectively enable the document to operate as a different virtual space;

receiving an indication to initiate the virtual meeting;

in response to receiving the indication to initiate the virtual meeting, causing display of the document in a user interface of the communication platform, the document comprising the root object, the one or more objects previously shared in the virtual space, and the data;

receiving, during the virtual meeting and within the second message thread, a plurality of communications, wherein a portion of the plurality of communications comprise one or more replies to the root object;

identifying metadata associated with the portion of the plurality of communications, wherein the metadata includes at least a sending user identifier, a message identifier, and a timestamp associated with the portion of the plurality of communications; and

embedding, after the virtual meeting has been terminated, the metadata associated with the portion of the plurality of communications with the root object such that the one or more replies to the root object received during the virtual meeting persist within the first message thread, thereby updating the first message thread in the virtual space to reflect the plurality of communications that occurred within the second message thread of the document during the virtual meeting without requiring separate user action to transfer the plurality of communications.

14 . The system of claim 13 , wherein causing display of the document comprises:

causing display of a first indication of the root object; and

causing display of a second indication of a second object of the one or more objects.

15 . The system of claim 13 , wherein causing display of the document comprises:

causing display of one or more icons within a first area of the document, individual icons of the one or more icons being associated with individual objects of the one or more objects; and

causing display of content associated with the one or more objects within a second area of the document.

16 . The system of claim 13 , wherein the document is associated with a first user account of a first user, the operations further comprising:

receiving a second request to associate the document with a second user account of a second user that is different than the first user;

in response to receiving the second request, associating the document with the second user account; and

in response to associating the document with the second user account, causing display of an identifier associated with the virtual meeting in a second user interface associated with the second user account.

17 . The system of claim 13 , the operations further comprising:

receiving an interaction associated with a first user in the virtual space; and

presenting, based at least in part on the interaction, an affordance, wherein a selection of the affordance is associated with receiving the request to create the virtual meeting.

18 . The system of claim 13 , the operations further comprising determining one or more permissions associated with the document, the one or more permissions including at least one of editing abilities of the document or a publicity of the document.

19 . One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations comprising:

receiving a request to create a virtual meeting around a communication shared within a first message thread of a virtual space, wherein the communication is a root object of the first message thread;

determining, by a communication system, contextual data associated with the communication, the contextual data indicating at least a topic to be discussed during the virtual meeting, wherein determining the contextual data comprises analyzing the first message thread to identify thread-specific data associated with the root object;

identifying, by the communication system and based at least in part on the contextual data, one or more objects previously shared in the virtual space, wherein the one or more objects are associated with one or more users of the virtual space, wherein the one or more objects are specifically related to the root object as determined from the contextual data;

generating a document based at least in part on the request to create the virtual meeting, wherein the document is associated with a second message thread that is prepopulated with the root object and the one or more objects previously shared in the virtual space, wherein the document is a collaborative document that is accessible to members of the virtual space from within the virtual space, and wherein the second message thread is a distinct data structure from the first message thread;

automatically populating the document with data that is specifically related to the virtual meeting and that was previously included within the virtual space, wherein the data includes communications previously exchanged within the virtual space and objects related to the virtual meeting, wherein functionalities of the virtual space are imbued in the document such that the document facilitates interactions between participants of the virtual meeting during the virtual meeting, wherein the functionalities imbued in the document include at least messaging functionality, file sharing functionality, and presence-indication functionality that collectively enable the document to operate as a different virtual space;

receiving an indication to initiate the virtual meeting;

in response to receiving the indication to initiate the virtual meeting, causing display of the document in a user interface of the communication system, the document comprising the one or more objects previously shared in the virtual space and the data;

receiving, during the virtual meeting and within the second message thread, a plurality of communications, wherein a portion of the plurality of communications comprise one or more replies to the root object;

identifying metadata associated with the portion of the plurality of communications, wherein the metadata includes at least a sending user identifier, a message identifier, and a timestamp associated with the portion of the plurality of communications; and

embedding, after the virtual meeting has been terminated, the metadata associated with the portion of the plurality of communications with the root object such that the one or more replies to the root object received during the virtual meeting persist within the first message thread, thereby updating the first message thread in the virtual space to reflect the plurality of communications that occurred within the second message thread of the document during the virtual meeting without requiring separate user action to transfer the plurality of communications.

20 . The one or more non-transitory computer-readable media of claim 19 , wherein the document is associated with a first user account of a first user, the operations further comprising:

receiving a second request to associate the document with a second user account of a second user that is different than the first user;

in response to receiving the second request, associating the document with the second user account; and

in response to associating the document with the second user account, causing display of an identifier associated with the virtual meeting in a second user interface associated with the second user account.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2024
From: MARSHALL, KEVIN; HAHN, MICHAEL; WEISS, NOAH; NIESS, ANNA; HAYNES, JULIE; CARMO, PEDRO; GRACE, OLIVIA DIANE; STEIGMAN, KATHERINE JANE
To: SALESFORCE, INC.
Reel/Frame 066950/0819 →
Continuity (1)
Related Publication 20230394440A1 · Dec 7, 2023
References Cited (33)
US 20130019320A1 · Ericsson · 2013 [cited by examiner]
US 20140222482A1 · Gautam · 2014 [cited by examiner]
US 20160366082A1 · Ross · 2016 [cited by examiner]
US 20170374425A1 · Disley · 2017 [cited by examiner]
US 20180095940A1 · Meixner · 2018 [cited by examiner]
US 20180287982A1 · Draeger et al. · 2018 [cited by applicant]
US 20190007467A1 · Powell · 2019 [cited by examiner]
US 20200293261A1 · Janamanchi · 2020 [cited by examiner]
US 20230214780A1 · Fong · 2023 [cited by examiner]
US 20230244857A1 · Weiss · 2023 [cited by examiner]
US 20230367617A1 · Maurer · 2023 [cited by examiner]
WO WO2007134305A2 · 2007 [cited by examiner]
WO WO2022153122A1 · 2022 [cited by examiner]
Gharani, Leila. “How to Use Microsoft Teams Effectively | Your Complete Guide.” YouTube, YouTube, Jan. 12, 2021, www.youtube.com/watch?v=z6IUiamE3-U (Year: 2021). [cited by examiner]
Text transcript of Gharani, Leila. “How to Use Microsoft Teams Effectively | Your Complete Guide.” YouTube, YouTube, Jan. 12, 2021, www.youtube.com/watch?v=z6IUiamE3-U (Year: 2021). [cited by examiner]
How to Use Microsoft Teams Effectively | Your Complete Guide. YouTube, YouTube, Jan. 12, 2021, www.youtube.com/watch?v=z6IUiamE3-U. (previously provided transcript) (Year: 2021). [cited by examiner]
PCT Search Report and Written Opinion mailed Aug. 28, 2023 for PCT application No. PCT/US23/22562, 9 pages. [cited by applicant]
Gharani, “How to Use Microsoft Teams Effectively: Your Complete Guide”, Jan. 12, 2021 (Jan. 12, 2021), XP093074845, Retrieved from the Internet: URL:https://www.youtube.com/watch?v=z6IUiamE3-U&Ic=Ugzmud081qXAaJLolWI4AaA… [cited by applicant]
David Auberbach, “Re-Animator. How Stewart Butterfield created Flickr and Slack out of the ashes of failed projects” online retrieved May 9, 2019. Retrieved from the Internet: <URL: https://slate.com/business/2014/05/st… [cited by applicant]
Michael Carney, “Slack is thriving on a cocktail of whimsy and great timing”, Pandodaily, Lexisnexis, https:// advance.lexis.com/api/permalink/dd2d4ee5-2ddf-4d3a-a1d9-3bcee5e38b74/?context=1000516, (dated Feb. 6, 2015, … [cited by applicant]
“Die, Email, Die! A Flickr Cofounder Aims To Cut US All Some Slack”, Readwriteweb, Lexisnexis, https:// advance.lexis.com/api/permalink/33dd79e2-90f5-409d-ae27-5a2c7e86bf31/?context=1000516>. (dated Aug. 14, 2013, 4:15 … [cited by applicant]
Robert Hof, “Stewart Butterfield On How Slack Became A $2.8 Billion Unicorn”, Forbes, [online] [retrieved May 9, 2019]. Retrieved from the Internet: <URL: https://www.forbes.com/sites/roberthof/2015/06/02/stewart-butter… [cited by applicant]
“How Slack changed the way we work by putting the customer experience first”, Repeat Customer Podcast, Episode 3, [online][retrieved May 9, 2019]. Retrieved from the Internet: <URL: https://www.zendesk.com/resources/sla… [cited by applicant]
Matthew Ingram, “Flickr co-founder launches Slack, an all-in-one messaging tool designed to kill email forever”, Gigaom, Lexisnexis, https://advance.lexis.com/api/permalink/0b676b7c-aec3-4560-861e-d030d1dd008c/?context=… [cited by applicant]
Internet Relay Chat, Wikipedia, [online][retrieved May 30, 2019]. Retrieved from the Internet: <URL: https://en.wikipedia.org/wiki/Internet_Relay_Chat> (dated May 28, 2019) 21 pages. [cited by applicant]
Mike Issac, “Slack, a Start-Up With an App to Foster Business Collaboration, Is Valued at $1.1 Billion”, The New York Times Blogs (BITS), Lexisnexis, https://advance.lexis.com/api/permalink/3eb84b34-a8f9-4d7d-9573-89d95… [cited by applicant]
Adrienne LaFrance, “The Triumph of Email”, Atlantic Online, Lexisnexis, https://advance.lexis.com/api/permalink/32d7ddd9-d4c1-4a73-86f7-08ab5842fde6/?context=1000516, (dated Jan. 6, 2016) 6 pages. [cited by applicant]
Matsumoto, T. et al., “Chocoa Communicator—A New Communication System Based on Awareness and Text Communications”, Fujitsu Sci. Tech. J., 36, 2, (Dec. 2000) pp. 154-161. [cited by applicant]
Dikarinen, J. & Reed, D., “Internet Relay Chat Protocol”, Request for Comments: 1459, Network Working Group, [online][retrieved May 30, 2019]. Retrieved from the Internet: <URL: https://www.rfc-editor.org/rfc/rfc1459.tx… [cited by applicant]
Ernie Smith, “Picking Up The Slack”, Tedium, [online][retrieved May 9, 2019]. Retrieved from the Internet: <URL: https://tedium.co/2017/10/17/irc-vs-slack-chat-history/> (dated Oct. 17, 2017) 8 pages. [cited by applicant]
The Big Pivot w/ Slack's Stewart Butterfield, Masters of Scale Podcast, Episode 13 (Aired Nov. 14, 2017), https://mastersofscale.com/#/stewart-butterfield-the-big-pivot/, (dated Jan. 17, 2018) 21 pages. [cited by applicant]
Jonathan Vanian, “Why these startups think chat apps are the next big thing in workplace collaboration”, Gigaom, Lexisnexis, https://advance.lexis.com/api/permalink/e83778c8-09c8-43aa-9ba0-88526283de69/?context=1000516,… [cited by applicant]
Rebecca Walberg, “Email biggest office waste of time: survey”, National Post, At FP10, Lexisnexis, https://advance.lexis.com/api/permalink/96268e3f-26ad-48ac-a98f-6c39804ebded/?context=1000516, (dated Mar. 4, 2014) 3 pa… [cited by applicant]