IP Library Granted Patent US 12,348,475
Granted Patent B2
US 12,348,475 · App. 18/052,351 · Granted Jul 1, 2025

Smart events framework

Inventors: Mitchell McNeill (Dallas, TX); Monica Carrillo Wilkinson (San Rafael, CA); Neil Brady (Indianapolis, IN)
Assignee: Salesforce, Inc.
H04L51/216H04L51/214H04L51/23
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,348,475
App. No.
18/052,351
Granted
Jul 1, 2025
Kind
B2
Abstract

Techniques for a framework associated with a group-based communication platform for enabling applications to scale events to be distributable to various users over a communication platform are described. For example, a group-based communication platform may receive a message from a first application to send to a second application. The group-based communication platform may identify a topic and an event associated with the message. The group-based communication platform may then send the message to a queue associated with the second application, wherein the queue is associated with the topic and a user of the second application. The group-based communication platform may then cause presentation of the message to the user. In some examples messages may be sent bidirectionally, such that a message may be sent from the second application to the first application.

Claims (89)

1. A method implemented at least in part by one or more computing devices associated with a group-based communication platform, the method comprising:

receiving, at the one or more computing devices, a message from a first application associated with a first queue, wherein the message is configured by the first application to be associated with a message format;

identifying, based at least in part on receiving the message from the first application, the message format associated with the message, wherein the message format comprises at least one of an organization or information indicating an activity stream associated with the message;

determining, based at least in part on comparing the message format to a predetermined message format associated with the group-based communication platform, that the activity stream associated with the message is a same or similar activity stream as an activity stream associated with the group-based communication platform;

determining, based at least in part on determining that the activity stream associated with the message is the same or similar activity stream associated with the group-based communication platform:

a topic associated with the message; and

an event of a user associated with the message;

sending, based at least in part on the event, the message to a second queue associated with the topic, wherein the second queue is further associated with a second application different from the first application;

causing to present, based at least in part on sending the message to the second queue, the message to the user associated with the second application;

receiving, from the user and via the second application, a request to perform an action in association with the group-based communication platform; and

causing performance, based at least in part on receiving the request, of the action.

2. The method of claim 1 , wherein:

the first application is associated with a first organization; and

the second application is associated with a second organization different from the first organization.

3. The method of claim 1 , further comprising:

receiving, from the first application, a request to subscribe to the group-based communication platform;

approving the request from the first application to subscribe to the group-based communication platform; and

associating the first application with the group-based communication platform;

wherein causing presentation of the message to the user associated with the second application is based at least in part on associating the first application with the group-based communication platform.

4. The method of claim 1 , wherein the message is a first message, the topic is a first topic, and the event is a first event, the method further comprising:

receiving, at the one or more computing devices, a second message from the second application;

identifying a second topic associated with the second message;

determining that a second event is associated with the second message;

sending, based at least in part on the second event, the second message to a third queue associated with the first application, wherein the third queue is associated with the second topic;

receiving, from the first application, an indication of a failure to receive the second message; and

sending, to the user via the first application, a notification of the failure to receive the second message, wherein the notification includes a request to manually enter the second message on the first application.

5. The method of claim 1 , further comprising detecting the event based at least in part on a condition that is satisfied by a parameter that matches at least one of data or metadata associated with the message.

6. The method of claim 1 , wherein:

responsive to comparing the message format to the predetermined message format, the method comprises at least one of:

confirming that the message format is a desired format and determining that the activity stream associated with the message is the same or similar activity stream; or

determining that the message format is not a desired format and returning the message to the first application.

7. A system comprising:

one or more processors; and

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

receiving, at one or more computing devices, a message from a first application associated with a first queue;

determining, based at least in part on receiving the message from the first application, a message format associated with the message, wherein the message format comprises an indication of a configuration of the message by the first application;

comparing, as a comparison, the message format to a predetermined message format;

identifying, based at least in part on the comparison, a topic associated with the message;

determining, based at least in part on the message format, that an event is associated with the message;

sending, based at least in part on the event, the message to a second queue associated with a second application, wherein the second queue is associated with the topic and a user of the second application; and

causing presentation, based at least in part on sending the event to the second queue, of the message to the user of the second application.

8. The system of claim 7 , the operations further comprising:

receiving, from the user and via the second application, a request to perform an action in association with a group-based communication platform; and

causing performance, based at least in part on receiving the request, of the action.

9. The system of claim 8 , wherein the message is a first message, the topic is a first topic, and the event is a first event, the operations further comprising:

receiving, at the one or more computing devices, a second message from the second application;

identifying a second topic associated with the second message;

determining that a second event is associated with the second message; and

sending, based at least in part on the second event, the second message to a third queue associated with the first application, wherein the third queue is associated with the second topic.

10. The system of claim 9 , the operations further comprising:

receiving, from the first application, an indication of a failure to receive the second message; and

sending, to the user via the first application, a notification of the failure to receive the second message, wherein the notification includes a request to manually enter the second message on the first application.

11. The system of claim 7 , the operations further comprising:

determining an activity stream associated with the message based at least in part on the message format; and

determining, based at least in part on the comparison, that the activity stream associated with the message is a same or similar activity stream as an activity stream associated with a group-based communication platform;

wherein identifying the topic associated with the message is based at least in part on determining that the activity stream associated with the message is a same or similar activity stream as an activity stream associated with the group-based communication platform.

12. The system of claim 11 , wherein the activity stream represents an open format activity protocol associated with the message, and wherein the activity stream is pre-determined by the group-based communication platform.

13. The system of claim 7 , wherein:

the first application is associated with a first organization; and

the second application is associated with a second organization different from the first organization.

14. The system of claim 7 , the operations further comprising:

receiving, from the first application, a request to subscribe to a group-based communication platform;

approving the request from the first application to subscribe to the group-based communication platform; and

associating the first application with the group-based communication platform;

wherein causing presentation of the message to the user associated with the second application is based at least in part on associating the first application with the group-based communication platform.

15. The system of claim 7 , wherein the message includes a request for the user to submit an approval on the first application.

16. The system of claim 7 , further comprising detecting the event based at least in part on a condition that is satisfied by a parameter that matches at least one of data or metadata associated with the message.

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

receiving, at one or more computing devices associated with a group-based communication platform, a message from a first application associated with a first queue, wherein the message is configured by the first application to be associated with an activity stream;

determining, based at least in part on receiving the message from the first application, a message format associated with the message, wherein the message format comprises at least one of an organization or information indicating the activity stream associated with the message;

comparing, as a comparison, the message format to a predetermined message format;

identifying, based at least in part on the comparison, a topic associated with the message;

determining, based at least in part on the message format, that an event is associated with the message;

sending, based at least in part on the event, the message to a second queue associated with a second application different from the first application, wherein the second queue is associated with the topic and a user of the second application;

causing presentation, based at least in part on sending the event to the second queue, of the message to the user of the second application;

receiving, from the user and via the second application, a request to perform an action in association with the group-based communication platform; and

causing performance, based at least in part on receiving the request, of the action.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the message is a first message, the topic is a first topic, and the event is a first event, the operations further comprising:

receiving, at the one or more computing devices, a second message from the second application;

identifying a second topic associated with the second message;

determining that a second event is associated with the second message; and

sending, based at least in part on the second event, the second message to a third queue associated with the first application, wherein the third queue is associated with the second topic.

19. The one or more non-transitory computer-readable media of claim 18 , the operations further comprising:

receiving, from the first application, an indication of a failure to receive the second message; and

sending, to the user via the first application, a notification of the failure to receive the second message, wherein the notification includes a request to manually enter the second message on the first application.

20. The one or more non-transitory computer-readable media of claim 17 , the operations further comprising:

determining the activity stream associated with the message; and

determining that the activity stream associated with the message is a same or similar activity stream as a predetermined activity stream associated with the group-based communication platform;

wherein identifying the topic associated with the message is based at least in part on determining that the activity stream associated with the message is a same or similar activity stream as the predetermined activity stream associated with the group-based communication platform.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2022
From: MCNEILL, MITCHELL; WILKINSON, MONICA CARRILLO; BRADY, NEIL
To: SALESFORCE, INC.
Reel/Frame 061879/0667 →
Continuity (1)
Related Publication 20240154927A1 · May 9, 2024
References Cited (44)
US 6557027B1 · Cragun · 2003 [cited by examiner]
US 7644144B1 · Horvitz · 2010 [cited by examiner]
US 9940394B1 · Grant · 2018 [cited by examiner]
US 9948739B2 · Spivey · 2018 [cited by examiner]
US 10110523B2 · Badge · 2018 [cited by examiner]
US 10116599B2 · Wu · 2018 [cited by examiner]
US 10268340B2 · Chen · 2019 [cited by examiner]
US 10402371B2 · Johnston · 2019 [cited by examiner]
US 10541825B2 · Jin · 2020 [cited by examiner]
US 10757050B2 · Badge · 2020 [cited by examiner]
US 10775990B1 · Jamison · 2020 [cited by examiner]
US 10880111B2 · Jin · 2020 [cited by examiner]
US 10908801B2 · Fay · 2021 [cited by examiner]
US 10983683B2 · Fay · 2021 [cited by examiner]
US 11099726B1 · Montazeri · 2021 [cited by examiner]
US 11139993B2 · Bourassa-Denis · 2021 [cited by examiner]
US 11223493B2 · Jin · 2022 [cited by examiner]
US 11252537B2 · DeLanghe · 2022 [cited by examiner]
US 11341093B2 · Johnston · 2022 [cited by examiner]
US 11373636B2 · Banko · 2022 [cited by examiner]
US 11481735B1 · Schemers · 2022 [cited by examiner]
US 11522729B2 · Jin · 2022 [cited by examiner]
US 11551001B2 · Banko · 2023 [cited by examiner]
US 11567649B2 · Jamison · 2023 [cited by examiner]
US 11575772B2 · Brito · 2023 [cited by examiner]
US 11586584B2 · Johnston · 2023 [cited by examiner]
US 20180287982A1 · Draeger et al. · 2018 [cited by applicant]
US 20190220541A1 · Meling · 2019 [cited by examiner]
US 20220301551A1 · Banko · 2022 [cited by examiner]
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, 2… [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 P… [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-butterf… [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]
Oikarinen, 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]