IP Library › Granted Patent US 12,430,454
Granted Patent B2
US 12,430,454 · App. 17/456,927 · Granted Sep 30, 2025

Database systems and methods for securely sharing a record within a conversation

Inventor: Mihirkumar Shah (Gujarat, IN)
G06F21/6209G06F21/6245
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,430,454
App. No.
17/456,927
Granted
Sep 30, 2025
Kind
B2
Abstract

Systems and methods are provided for securely sharing database records in the context of a conversation at a communication platform using a secure sharing service. The secure sharing service identifies an external system user identifier for a participant in the conversation at the communication platform using an identifier associated with the participant at the communication platform, identifies permissions associated with the data record at the external system, and identifies a subset of fields of the data record viewable by the participant using the external system user identifier. The secure sharing service obtains values for the identified subset of fields of the data record from the external computing system and automatically generates a shared data record message associated with the conversation at the communication platform that includes the obtained values for the identified subset of fields of the data record.

Claims (52)

1. A method of sharing access to a data record at an external system in a conversation at a communication platform, the method comprising:

receiving an indication of the data record to be shared with a message recipient from a participant in the conversation within a graphical user interface (GUI) display comprising a sequence of utterances of the conversation at the communication platform, the conversation including the participant and the message recipient;

identifying a user identifier for the message recipient at the external system using an identifier associated with the message recipient at the communication platform;

identifying field-level permissions associated with the data record at the external system;

identifying a viewable subset of fields of the data record viewable by the message recipient based at least in part on the field-level permissions associated with the data record using the user identifier;

obtaining values for the viewable subset of fields of the data record from the external system;

automatically generating a shared data record message associated with the conversation at the communication platform, wherein the shared data record message comprises the values retrieved from the external system for only the viewable subset of fields of the data record obtained from the external system that the message recipient would be allowed to view if the message recipient were logged into the external system to view the data record at the external system; and

displaying the shared data record message including the values retrieved from the external system for only the viewable subset of fields of the data record within the GUI display as an utterance by the participant within the sequence of utterances of the conversation.

2. The method of claim 1 , further comprising identifying a second user identifier at the external system for the participant in the conversation using a second identifier associated with the participant at the communication platform, wherein identifying the viewable subset of fields comprises:

identifying a first subset of fields of the data record viewable by the message recipient based on the field-level permissions associated with the data record using the user identifier;

identifying a second subset of fields of the data record viewable by the participant based on the field-level permissions associated with the data record using the second user identifier; and

identifying the viewable subset of fields of the data record that are common to both the first subset and the second subset.

3. The method of claim 2 , wherein:

obtaining the values for the viewable subset of fields comprises retrieving, from the external system over a communications network, the values for the viewable subset of fields of the data record that are common to both the first subset of fields of the data record viewable by the message recipient and the second subset of fields of the data record viewable by the participant; and

automatically generating the shared data record message comprises automatically generating the shared data record message including the values retrieved for the viewable subset of fields of the data record within the conversation at the communication platform.

4. The method of claim 1 , further comprising automatically removing the shared data record message from the conversation at the communication platform in response to a change to the field-level permissions associated with the data record at the external system.

5. The method of claim 1 , further comprising automatically removing the shared data record message from the conversation at the communication platform in response to a change to the field-level permissions associated with the user identifier for the message recipient at the external system.

6. The method of claim 1 , wherein automatically generating the shared data record message comprises:

automatically generating a selectable graphical user interface element for viewing the data record within the conversation at the communication platform; and

in response to selection of the selectable graphical user interface element, automatically generating the shared data record message including the values for the viewable subset of fields of the data record obtained from the external system within the conversation at the communication platform.

7. The method of claim 6 , further comprising automatically removing the shared data record message including the values for the viewable subset of fields of the data record obtained from the external system from the conversation at the communication platform after a threshold duration of time.

8. The method of claim 6 , wherein automatically generating the shared data record message comprises automatically generating a user-specific shared data record message for the message recipient in response to selection of the selectable graphical user interface element by the message recipient.

9. The method of claim 1 , wherein identifying the user identifier comprises mapping the identifier associated with the message recipient at the communication platform to the user identifier for the message recipient at the external system using user identification mapping data.

10. The method of claim 1 , wherein identifying the user identifier comprises automatically assigning a guest user identifier at the external system to the message recipient in the absence of an existing user identifier for the participant at the external system.

11. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, are configurable to cause said processor to perform operations comprising:

receiving an indication of a shared data record to be shared with a message recipient from a participant in a conversation within a graphical user interface (GUI) display comprising a sequence of utterances of the conversation at a communication platform, the conversation including the participant and the message recipient;

identifying an external computing system user identifier for the message recipient in the conversation at the communication platform using a communication platform user identifier associated with the message recipient;

identifying field-level permissions associated with the shared data record at an external computing system;

identifying a viewable subset of fields of the shared data record that are viewable by the message recipient based at least in part on the field-level permissions associated with the shared data record using the external computing system user identifier;

obtaining values for the viewable subset of fields of the shared data record from the external computing system over a communications network;

automatically generating a shared data record message within the conversation at the communication platform, wherein the shared data record message includes the values for only the viewable subset of fields of the shared data record obtained from the external computing system that the message recipient would be allowed to view if the message recipient were logged into the external computing system to view the shared data record at the external computing system; and

displaying the shared data record message including the values retrieved from the external computing system for only the viewable subset of fields of the shared data record within the GUI display as an utterance by the participant within the sequence of utterances of the conversation.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause said processor to:

identify a second external computing system user identifier for the participant in the conversation at the communication platform using a second communication platform identifier associated with the participant; and

identify the viewable subset of fields of the shared data record by identifying an intersection of a first subset of fields of the shared data record that are viewable by the message recipient based on the external computing system user identifier and a second subset of fields of the shared data record that are viewable by the participant based on the second external computing system user identifier.

13. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause said processor to automatically remove the shared data record message from the conversation at the communication platform in response to a change to the field-level permissions associated with the shared data record at the external computing system.

14. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause said processor to automatically remove the shared data record message from the conversation at the communication platform in response to a change to second permissions associated with the external computing system user identifier for the participant at the external computing system.

15. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause said processor to automatically generate a selectable graphical user interface element for viewing the shared data record within the conversation at the communication platform and automatically generating the shared data record message that is specific to the message recipient within the conversation at the communication platform in response to selection of the selectable graphical user interface element by the message recipient.

16. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause said processor to automatically remove the shared data record message from within the conversation at the communication platform after a threshold duration of time.

17. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions are configurable to cause said processor to identify the external computing system user identifier for the participant by automatically assigning a guest user identifier at the external computing system to the message recipient in the absence of an existing external computing system user identifier associated with the communication platform user identifier.

18. A system comprising:

at least one non-transitory machine-readable storage medium that stores software; and

at least one processor, coupled to the at least one non-transitory machine-readable storage medium, to execute the software that implements a secure sharing service and that is configurable to share access to a data record at an external computing system coupled to a communications network in a conversation at a communication platform coupled to the communications network by:

receiving an indication of the data record to be shared with a message recipient from a participant in the conversation within a graphical user interface (GUI) display comprising a sequence of utterances of the conversation at the communication platform, the conversation including the participant and the message recipient;

identifying a user identifier for the message recipient at the external computing system using an identifier associated with the message recipient at the communication platform;

identifying field-level permissions associated with the data record at the external computing system;

identifying a viewable subset of fields of the data record viewable by the message recipient based at least in part on the field-level permissions associated with the data record using the user identifier;

obtaining values for the viewable subset of fields of the data record from the external computing system;

automatically generating a shared data record message associated with the conversation at the communication platform, wherein the shared data record message comprises the values for only the viewable subset of fields of the data record obtained from the external computing system that the message recipient would be allowed to view if the message recipient were logged into the external computing system to view the data record at the external computing system; and

displaying the shared data record message including the values retrieved from the external computing system for only the viewable subset of fields of the data record within the GUI display as an utterance by the participant within the sequence of utterances of the conversation.

19. The system of claim 18 , wherein the secure sharing service is configurable to automatically remove the shared data record message from the conversation at the communication platform in response to a change to the field-level permissions associated with the data record at the external computing system.

20. The method of claim 1 , wherein automatically generating the shared data record message comprises automatically generating an ephemeral user-specific shared data record message that does not persist at the communication platform.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: SHAH, MIHIRKUMAR
To: SALESFORCE.COM, INC.
Reel/Frame 058239/0847 →
Continuity (1)
Related Publication 20230169195A1 · Jun 1, 2023
References Cited (157)
US 5577188A · Zhu · 1996 [cited by applicant]
US 5608872A · Schwartz et al. · 1997 [cited by applicant]
US 5649104A · Carleton et al. · 1997 [cited by applicant]
US 5715450A · Ambrose et al. · 1998 [cited by applicant]
US 5761419A · Schwartz et al. · 1998 [cited by applicant]
US 5819038A · Carleton et al. · 1998 [cited by applicant]
US 5821937A · Tonelli et al. · 1998 [cited by applicant]
US 5831610A · Tonelli et al. · 1998 [cited by applicant]
US 5873096A · Lim et al. · 1999 [cited by applicant]
US 5918159A · Fomukong et al. · 1999 [cited by applicant]
US 5963953A · Cram et al. · 1999 [cited by applicant]
US 6092083A · Brodersen et al. · 2000 [cited by applicant]
US 6161149A · Achacoso et al. · 2000 [cited by applicant]
US 6169534B1 · Raffel et al. · 2001 [cited by applicant]
US 6178425B1 · Brodersen et al. · 2001 [cited by applicant]
US 6189011B1 · Lim et al. · 2001 [cited by applicant]
US 6216135B1 · Brodersen et al. · 2001 [cited by applicant]
US 6233617B1 · Rothwein et al. · 2001 [cited by applicant]
US 6266669B1 · Brodersen et al. · 2001 [cited by applicant]
US 6295530B1 · Ritchie et al. · 2001 [cited by applicant]
US 6324568B1 · Diec et al. · 2001 [cited by applicant]
US 6324693B1 · Brodersen et al. · 2001 [cited by applicant]
US 6336137B1 · Lee et al. · 2002 [cited by applicant]
US D454139S · Feldcamp et al. · 2002 [cited by applicant]
US 6367077B1 · Brodersen et al. · 2002 [cited by applicant]
US 6393605B1 · Loomans · 2002 [cited by applicant]
US 6405220B1 · Brodersen et al. · 2002 [cited by applicant]
US 6434550B1 · Warner et al. · 2002 [cited by applicant]
US 6446089B1 · Brodersen et al. · 2002 [cited by applicant]
US 6535909B1 · Rust · 2003 [cited by applicant]
US 6549908B1 · Loomans · 2003 [cited by applicant]
US 6553563B2 · Ambrose et al. · 2003 [cited by applicant]
US 6560461B1 · Fomukong et al. · 2003 [cited by applicant]
US 6574635B2 · Stauber et al. · 2003 [cited by applicant]
US 6577726B1 · Huang et al. · 2003 [cited by applicant]
US 6601087B1 · Zhu et al. · 2003 [cited by applicant]
US 6604117B2 · Lim et al. · 2003 [cited by applicant]
US 6604128B2 · Diec · 2003 [cited by applicant]
US 6609150B2 · Lee et al. · 2003 [cited by applicant]
US 6621834B1 · Scherpbier et al. · 2003 [cited by applicant]
US 6654032B1 · Zhu et al. · 2003 [cited by applicant]
US 6665648B2 · Brodersen et al. · 2003 [cited by applicant]
US 6665655B1 · Warner et al. · 2003 [cited by applicant]
US 6684438B2 · Brodersen et al. · 2004 [cited by applicant]
US 6711565B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6724399B1 · Katchour et al. · 2004 [cited by applicant]
US 6728702B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6728960B1 · Loomans et al. · 2004 [cited by applicant]
US 6732095B1 · Warshavsky et al. · 2004 [cited by applicant]
US 6732100B1 · Brodersen et al. · 2004 [cited by applicant]
US 6732111B2 · Brodersen et al. · 2004 [cited by applicant]
US 6754681B2 · Brodersen et al. · 2004 [cited by applicant]
US 6763351B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6763501B1 · Zhu et al. · 2004 [cited by applicant]
US 6768904B2 · Kim · 2004 [cited by applicant]
US 6772229B1 · Achacoso et al. · 2004 [cited by applicant]
US 6782383B2 · Subramaniam et al. · 2004 [cited by applicant]
US 6804330B1 · Jones et al. · 2004 [cited by applicant]
US 6826565B2 · Ritchie et al. · 2004 [cited by applicant]
US 6826582B1 · Chatterjee et al. · 2004 [cited by applicant]
US 6826745B2 · Coker · 2004 [cited by applicant]
US 6829655B1 · Huang et al. · 2004 [cited by applicant]
US 6842748B1 · Warner et al. · 2005 [cited by applicant]
US 6850895B2 · Brodersen et al. · 2005 [cited by applicant]
US 6850949B2 · Warner et al. · 2005 [cited by applicant]
US 7062502B1 · Kesler · 2006 [cited by applicant]
US 7069231B1 · Cinarkaya et al. · 2006 [cited by applicant]
US 7181758B1 · Chan · 2007 [cited by applicant]
US 7289976B2 · Kihneman et al. · 2007 [cited by applicant]
US 7340411B2 · Cook · 2008 [cited by applicant]
US 7356482B2 · Frankland et al. · 2008 [cited by applicant]
US 7401094B1 · Kesler · 2008 [cited by applicant]
US 7412455B2 · Dillon · 2008 [cited by applicant]
US 7508789B2 · Chan · 2009 [cited by applicant]
US 7620655B2 · Larsson et al. · 2009 [cited by applicant]
US 7698160B2 · Beaven et al. · 2010 [cited by applicant]
US 7730478B2 · Weissman · 2010 [cited by applicant]
US 7779475B2 · Jakobson et al. · 2010 [cited by applicant]
US 8014943B2 · Jakobson · 2011 [cited by applicant]
US 8015495B2 · Achacoso et al. · 2011 [cited by applicant]
US 8032297B2 · Jakobson · 2011 [cited by applicant]
US 8082301B2 · Ahlgren et al. · 2011 [cited by applicant]
US 8095413B1 · Beaven · 2012 [cited by applicant]
US 8095594B2 · Beaven et al. · 2012 [cited by applicant]
US 8209308B2 · Rueben et al. · 2012 [cited by applicant]
US 8275836B2 · Beaven et al. · 2012 [cited by applicant]
US 8457545B2 · Chan · 2013 [cited by applicant]
US 8484111B2 · Frankland et al. · 2013 [cited by applicant]
US 8490025B2 · Jakobson et al. · 2013 [cited by applicant]
US 8504945B2 · Jakobson et al. · 2013 [cited by applicant]
US 8510045B2 · Rueben et al. · 2013 [cited by applicant]
US 8510664B2 · Rueben et al. · 2013 [cited by applicant]
US 8566301B2 · Rueben et al. · 2013 [cited by applicant]
US 8646103B2 · Jakobson et al. · 2014 [cited by applicant]
US 10958600B1 · Annadata · 2021 [cited by examiner]
US 20010044791A1 · Richter et al. · 2001 [cited by applicant]
US 20020072951A1 · Lee et al. · 2002 [cited by applicant]
US 20020082892A1 · Raffel · 2002 [cited by applicant]
US 20020129352A1 · Brodersen et al. · 2002 [cited by applicant]
US 20020140731A1 · Subramanian et al. · 2002 [cited by applicant]
US 20020143997A1 · Huang et al. · 2002 [cited by applicant]
US 20020162090A1 · Parnell et al. · 2002 [cited by applicant]
US 20020165742A1 · Robbins · 2002 [cited by applicant]
US 20030004971A1 · Gong · 2003 [cited by applicant]
US 20030018705A1 · Chen et al. · 2003 [cited by applicant]
US 20030018830A1 · Chen et al. · 2003 [cited by applicant]
US 20030066031A1 · Laane et al. · 2003 [cited by applicant]
US 20030066032A1 · Ramachandran et al. · 2003 [cited by applicant]
US 20030069936A1 · Warner et al. · 2003 [cited by applicant]
US 20030070000A1 · Coker et al. · 2003 [cited by applicant]
US 20030070004A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030070005A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030074418A1 · Coker et al. · 2003 [cited by applicant]
US 20030120675A1 · Stauber et al. · 2003 [cited by applicant]
US 20030151633A1 · George et al. · 2003 [cited by applicant]
US 20030159136A1 · Huang et al. · 2003 [cited by applicant]
US 20030187921A1 · Diec et al. · 2003 [cited by applicant]
US 20030189600A1 · Gune et al. · 2003 [cited by applicant]
US 20030204427A1 · Gune et al. · 2003 [cited by applicant]
US 20030206192A1 · Chen et al. · 2003 [cited by applicant]
US 20030225730A1 · Warner et al. · 2003 [cited by applicant]
US 20040001092A1 · Rothwein et al. · 2004 [cited by applicant]
US 20040010489A1 · Rio et al. · 2004 [cited by applicant]
US 20040015981A1 · Coker et al. · 2004 [cited by applicant]
US 20040027388A1 · Berg et al. · 2004 [cited by applicant]
US 20040128001A1 · Levin et al. · 2004 [cited by applicant]
US 20040186860A1 · Lee et al. · 2004 [cited by applicant]
US 20040193510A1 · Catahan et al. · 2004 [cited by applicant]
US 20040199489A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199536A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199543A1 · Braud et al. · 2004 [cited by applicant]
US 20040249854A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040260534A1 · Pak et al. · 2004 [cited by applicant]
US 20040260659A1 · Chan et al. · 2004 [cited by applicant]
US 20040268299A1 · Lei et al. · 2004 [cited by applicant]
US 20050050555A1 · Exley et al. · 2005 [cited by applicant]
US 20050091098A1 · Brodersen et al. · 2005 [cited by applicant]
US 20060021019A1 · Hinton et al. · 2006 [cited by applicant]
US 20080249972A1 · Dillon · 2008 [cited by applicant]
US 20090063414A1 · White et al. · 2009 [cited by applicant]
US 20090100342A1 · Jakobson · 2009 [cited by applicant]
US 20090177744A1 · Marlow et al. · 2009 [cited by applicant]
US 20110247051A1 · Bulumulla et al. · 2011 [cited by applicant]
US 20120042218A1 · Cinarkaya et al. · 2012 [cited by applicant]
US 20120218958A1 · Rangaiah · 2012 [cited by applicant]
US 20120233137A1 · Jakobson et al. · 2012 [cited by applicant]
US 20130212497A1 · Zelenko et al. · 2013 [cited by applicant]
US 20130218948A1 · Jakobson · 2013 [cited by applicant]
US 20130218949A1 · Jakobson · 2013 [cited by applicant]
US 20130218966A1 · Jakobson · 2013 [cited by applicant]
US 20130247216A1 · Cinarkaya et al. · 2013 [cited by applicant]
US 20160072841A1 · Caporal · 2016 [cited by examiner]
US 20170041296A1 · Ford · 2017 [cited by examiner]
US 20200204675A1 · Zhou · 2020 [cited by examiner]
salesforce.com, Mention Salesforce Records in Microsoft Teams Channels and Chats, webpage, https://help.salesforce.com/s/articleView?id=teams_int_user_mention_records.htm&type=5&language=en_US. [cited by applicant]
salesforce.com, Integration with Microsoft Teams Features, Webpage https://help.salesforce.com/s/articleView?id=sf.teams_int_features.htm&type=5. [cited by applicant]
salesforce.com, Manage the Salesforce Integration with Teams, Webpage, https://help.salesforce.com/s/articleView?id=sf.teams_int_manage_parent.htm&type=5. [cited by applicant]