IP Library Granted Patent US 12,615,317
Granted Patent B2
US 12,615,317 · App. 16/264,292 · Granted Apr 28, 2026

Interactive customized push notifications with customized actions

Inventors: Joshua Schneyer (Monrovia, CA); Nitish Khadiya (Sunnyvale, CA); Aleksandra Zhulina (Woodland Hills, CA); Erik Forsberg (Los Angeles, CA); Nadia Nusrat (Brookhaven, GA); Allan George Thomas (Hayward, CA); Senthilkumar Kosanam Shanmugam (Santa Clara, CA)
Assignee: Salesforce, Inc.
H04L67/55H04L41/06H04L67/306
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,615,317
App. No.
16/264,292
Granted
Apr 28, 2026
Kind
B2
Abstract

Disclosed herein are apparatus, system and method embodiments for sending an interactive customized push notifications with customized actions. An embodiment operates by determining occurrence of an event associated with an object, forming a notification and a list of actions defined by a customer using fields from the object associated with the event, and presenting the notification and the actions to a user device that's associated to the object. Further, the action is executed in response to the user's selection.

Claims (52)

1 . A method, comprising:

forming, by one or more processors, a notification message of an event corresponding to a record change in an object associate with a tenant of a multi-tenant application for presentation to a user of a client application, wherein:

the client application is an instance of the multi-tenant application;

the object includes a record with first and second fields predefined by the tenant;

the notification message includes the event of the record change in the object; and

the notification message includes a first fixed part having a first fixed message and a first variable part defined by the tenant in the multi-tenant application using the first field of the object to manage interactions between the tenant and the user;

forming, by the one or more processors automatically in response to occurrence of the event, an action message comprising a list of actions responsive to the event associated with the notification message, wherein each of the list of actions includes a second fixed text part having a second fixed message and a second variable text part defined by the tenant using the predefined second field from the object associated with the event, and wherein each of the list of actions are formed automatically in response to the event of the record change in the notification message;

associating, by the one or more processors, an action link with the action message, wherein the action link comprises a set of information corresponding to the second variable text part for the user to execute the list of actions according to the action message in response to the event; and

sending, by the one or more processors, the notification message and the action message as a push notification to the client application on a device of the user for the user to respond to the record change, wherein:

the device displays the notification message and the action message on a lock screen of the device automatically in response to receiving the push notification without displaying the client application; and

in response to a user selection of one of the list of actions, the selected action is executed automatically to respond to the record change using information in the action link that is stored in a database and related to the predefined second field of the object.

2 . The method of claim 1 , wherein the occurrence of the event is determined by a criteria defined by the tenant using a third field from the object associated with the event.

3 . The method of claim 1 , wherein the occurrence of the event is determined by the one or more processors using an application programing interface (API).

4 . The method of claim 1 , further comprising receiving an indication of the user selection of the one of the list of actions via the device.

5 . The method of claim 4 , further comprising when receiving the indication executing the selected action with a phone call or an email using the information in the action link corresponding to the second variable text part.

6 . The method of claim 1 , wherein the device is one of a group of devices defined by the tenant according to a rule associated with the object.

7 . A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

form a notification message of an event corresponding to a record change in an object associated with a tenant of a multi-tenant application for presentation to a user of a client application, wherein:

the client application is an instance of the multi-tenant application;

the object includes a record with first and second fields predefined by the tenant;

the notification message includes the event of the record change in the object; and

the notification message includes a first fixed part having a first fixed message and a first variable part defined by the tenant in the multi-tenant application using the first field of the object to manage interactions between the tenant and the user;

form, automatically in response to occurrence of the event, an action message comprising a list of actions responsive to the event associated with the notification message, wherein each of the list of actions includes a second fixed text part having a second fixed message and a second variable text part defined by the tenant using the predefined second field from the object associated with the event, and wherein each of the list of actions are formed automatically in response to the event of the record change in the notification message;

associating, by the at least one processor, an action link with the action message, wherein the action link comprises a set of information corresponding to the second variable text part for the user to execute the list of actions according to the action message in response to the event; and

send the notification message and the action message as a push notification to the client application on a device of the user for the user to respond to the record change, wherein:

the device displays the notification message and the action message on a lock screen of the device automatically in response to receiving the push notification; and

in response to a user selection of one of the list of actions, the selected action is executed automatically to respond to the record change using information in the action link that is stored in a database and related to the predefined second field of the object.

8 . The system of claim 7 , wherein the occurrence of the event is determined when the event satisfies a criteria defined by the tenant using a third field from the object associated with the event.

9 . The system of claim 7 , wherein the occurrence of the event is determined by the at least one processor using an application programing interface (API).

10 . The system of claim 7 , wherein the at least one processor is further configured to receive an indication of the user selection of the one of the list of actions via the device.

11 . The system of claim 10 , wherein the at least one processor is further configured to execute the selected action with a phone call or an email using the information in the action link corresponding to the second variable text part.

12 . The system of claim 7 , wherein the device is one of a group of devices defined by the tenant according to a rule associated with the object.

13 . A non-transitory computer-readable apparatus having instructions stored thereon that, when executed by one or more processors coupled to a memory, cause the one or more processors to perform operations comprising:

forming a notification message of an event corresponding to a record change in an object associated with a tenant of a multi-tenant application for presentation to a user of a client application, wherein:

the client application is an instance of the multi-tenant application;

the object includes a record with first and second fields predefined by the tenant;

the notification message includes the event of the record change in the object; and

the notification message includes a first fixed part having a first fixed message and a first variable part defined by the tenant in the multi-tenant application using the first field of the object to manage interactions between the tenant and the user;

forming, automatically in response to occurrence of the event, an action message comprising a list of actions responsive to the event associated with the notification message, wherein each of the list of actions includes a second fixed text part having a second fixed message and a second variable text part defined by the tenant using the predefined second field from the object associated with the event, and wherein each of the list of actions are formed automatically in response to the event of the record change in the notification message;

associating, by the one or more processors, an action link with the action message, wherein the action link comprises a set of information corresponding to the second variable text part for the user to execute the list of actions according to the action message in response to the event; and

sending the notification message and the action message as a push notification to the client application on a device of the user for the user to respond to the record change, wherein:

the device displays the notification message and the action message on a lock screen of the device automatically in response to receiving the push notification; and

in response to a user selection of one of the list of actions, the selected action is executed automatically to respond to the record change using information in the action link that is stored in a database and related to the predefined second field of the object.

14 . The non-transitory computer-readable apparatus of claim 13 , wherein the occurrence of the event is determined when the event satisfies a criteria defined by the tenant using a third field from the object associated with the event.

15 . The non-transitory computer-readable apparatus of claim 13 , wherein the occurrence of the event is determined by the one or more processors using an application programing interface (API).

16 . The non-transitory computer-readable apparatus of claim 13 , further comprising receiving an indication of the user selection of the one of the list of actions via the device.

17 . The non-transitory computer-readable apparatus of claim 16 , further comprising executing the selected action with a phone call or an email using the information in the action link corresponding to the second variable text part.

18 . The method of claim 1 , wherein the device includes a mobile device, and wherein the notification message and the action message are displayed on the lock screen of the mobile device.

19 . The system of claim 7 , wherein the device includes a mobile device, and wherein the notification message and the action message with the list of actions are displayed on the lock screen of the mobile device.

20 . The non-transitory computer-readable apparatus of claim 13 , wherein the device includes a mobile device, and wherein the notification message and the action message with the list of actions are displayed on the lock screen of the mobile device.

Assignments (2)
CHANGE OF NAME Recorded Nov 20, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069406/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: SCHNEYER, JOSHUA; KHADIYA, NITISH; ZHULINA, ALEKSANDRA; FORSBERG, ERIK; NUSRAT, NADIA; THOMAS, ALLAN GEORGE; SHANMUGAM, SENTHILKUMAR KOSANAM
To: SALESFORCE.COM, INC.
Reel/Frame 048395/0320 →
Continuity (2)
Provisional Application 62735573 · Sep 24, 2018
Related Publication 20200099759A1 · Mar 26, 2020
References Cited (66)
US 6505246B1 · Land et al. · 2003 [cited by applicant]
US 8291490B1 · Ahmed et al. · 2012 [cited by applicant]
US 8321921B1 · Ahmed et al. · 2012 [cited by applicant]
US 8706800B1 · Ahmed et al. · 2014 [cited by applicant]
US 10382445B1 · Mantel et al. · 2019 [cited by applicant]
US 10540063B2 · Firstenberg et al. · 2020 [cited by applicant]
US 20010034769A1 · Rast · 2001 [cited by applicant]
US 20060117336A1 · Dolgin · 2006 [cited by applicant]
US 20080133812A1 · Kaiser et al. · 2008 [cited by applicant]
US 20100198730A1 · Ahmed et al. · 2010 [cited by applicant]
US 20100241696A1 · Matoba · 2010 [cited by applicant]
US 20100325281A1 · Li et al. · 2010 [cited by applicant]
US 20110213870A1 · Cai et al. · 2011 [cited by applicant]
US 20120084663A1 · Momchilov et al. · 2012 [cited by applicant]
US 20120102153A1 · Kemp · 2012 [cited by examiner]
US 20120173483A1 · Hartig et al. · 2012 [cited by applicant]
US 20120173581A1 · Hartig et al. · 2012 [cited by applicant]
US 20120174085A1 · Driesen et al. · 2012 [cited by applicant]
US 20120174113A1 · Pohlmann · 2012 [cited by applicant]
US 20130054714A1 · Bedi · 2013 [cited by applicant]
US 20130091229A1 · Dunn · 2013 [cited by examiner]
US 20130174275A1 · Micucci · 2013 [cited by examiner]
US 20130198652A1 · Dunn et al. · 2013 [cited by applicant]
US 20130325790A1 · Srinivasan · 2013 [cited by applicant]
US 20130346521A1 · Arabo · 2013 [cited by examiner]
US 20140040861A1 · Kim et al. · 2014 [cited by applicant]
US 20140215595A1 · Prasad et al. · 2014 [cited by applicant]
US 20140278716A1 · Nix et al. · 2014 [cited by applicant]
US 20140359476A1 · Wakeford et al. · 2014 [cited by applicant]
US 20140372539A1 · Zaveri · 2014 [cited by applicant]
US 20140376410A1 · Ros et al. · 2014 [cited by applicant]
US 20150019305A1 · Gorawala · 2015 [cited by applicant]
US 20150127819A1 · Cimino et al. · 2015 [cited by applicant]
US 20150207893A1 · Lee · 2015 [cited by applicant]
US 20150212675A1 · Firstenberg et al. · 2015 [cited by applicant]
US 20150288637A1 · Celikyilmaz et al. · 2015 [cited by applicant]
US 20160212020A1 · Gupte et al. · 2016 [cited by applicant]
US 20160217500A1 · Brigham · 2016 [cited by applicant]
US 20160217501A1 · Brigham · 2016 [cited by applicant]
US 20170149720A1 · Castagna et al. · 2017 [cited by applicant]
US 20170180499A1 · Gelfenbeyn et al. · 2017 [cited by applicant]
US 20170192773A1 · Trevathan et al. · 2017 [cited by applicant]
US 20170316216A1 · Kim · 2017 [cited by applicant]
US 20170329467A1 · Chen et al. · 2017 [cited by applicant]
US 20170329478A1 · Chen et al. · 2017 [cited by applicant]
US 20180103004A1 · Demir et al. · 2018 [cited by applicant]
US 20180146013A1 · Moreau et al. · 2018 [cited by applicant]
US 20180288178A1 · Gupta · 2018 [cited by applicant]
US 20180316552A1 · Subramani Nadar et al. · 2018 [cited by applicant]
US 20180373574A1 · Hargrove et al. · 2018 [cited by applicant]
US 20190034403A1 · Pal et al. · 2019 [cited by applicant]
US 20190034982A1 · Kulp et al. · 2019 [cited by applicant]
US 20190166213A1 · Hobson et al. · 2019 [cited by applicant]
US 20190253457A1 · Koul et al. · 2019 [cited by applicant]
US 20190286711A1 · Terry et al. · 2019 [cited by applicant]
US 20190286712A1 · Terry et al. · 2019 [cited by applicant]
US 20190286713A1 · Terry et al. · 2019 [cited by applicant]
US 20200019289A1 · Firstenberg et al. · 2020 [cited by applicant]
US 20200084295A1 · Hayward et al. · 2020 [cited by applicant]
US 20200285464A1 · Brebner · 2020 [cited by applicant]
US 20200285788A1 · Brebner · 2020 [cited by applicant]
US 20200285855A1 · Brebner · 2020 [cited by applicant]
US 20200285912A1 · Brebner · 2020 [cited by applicant]
US 20200285977A1 · Brebner · 2020 [cited by applicant]
Arya, Pradeep Kumar, V. Venkatesakumar, and S. Palaniswami. “Configurability in Saas for an electronic contract management application.” Recent Advances in Networking, VLSI and Signal Processing (2010): 210-216. (Year: … [cited by applicant]
T. Kwok, T. Nguyen and L. Lam, “A Software as a Service with Multi-tenancy Support for an Electronic Contract Management Application,” 2008 IEEE International Conference on Services Computing, Honolulu, HI, 2008, pp. 17… [cited by applicant]