IP Library Granted Patent US 12,412,039
Granted Patent B2
US 12,412,039 · App. 17/849,228 · Granted Sep 9, 2025

Natural language understanding for creating automation rules for processing communications

Inventors: Kuleen Mehta (Sammamish, WA); Matheus Camasmie Pavan (Sao Paulo, BR); Alan Thomas (Woodstock, GA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/30G06F16/3329G06F16/3344G06F40/55
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,412,039
App. No.
17/849,228
Granted
Sep 9, 2025
Kind
B2
Abstract

Methods and systems for generating automation rules based on natural language inputs. In an example, the technology relates to a computer-implemented method for generating automation rules from natural language input. The method includes receiving a natural language input into a communications application for performing an action on communications received by the communications application; providing the natural language input into a trained machine learning model; receiving, as output from the trained machine learning model, a tagged primitive and an identified action from the natural language input; generating an automation rule for performing the action on a subset of communications received by the communications application, the subset of communications corresponding to the tagged primitives; and executing the generated automation rule to perform action on the subset of communications.

Claims (59)

1. A computer-implemented method, the method comprising:

receiving a natural language input, into an email application, for performing an action on emails received by the email application;

providing the natural language input to a trained machine learning model;

receiving, as output from the trained machine learning model, a tagged primitive and an identified action from the natural language input;

generating an automation rule for performing the action on a subset of emails previously received by the email application, the subset of emails corresponding to the tagged primitives, wherein generating the automation rule comprises:

based on the identified action, identifying a rule template from a plurality of rule templates available from the email application, the identified rule template having a predefined filter slot for the tagged primitive; and

filling the filter slot of the identified rule template with the tagged primitive; and

executing the generated automation rule to perform the action on the subset of emails.

2. The method of claim 1 , further comprising:

causing a display of the generated automation rule;

receiving an edit to the automation rule; and

storing the edited automation rule as a recurrent automation rule.

3. The method of claim 1 , wherein the tagged primitive includes an entity from the natural language input and a primitive tag.

4. The method of claim 3 , wherein the primitive tag is one of a to tag, a from tag, an invite tag, an update tag, a read tag, a flag tag, a date-span tag, or a folder tag.

5. The method of claim 1 , wherein the action is one of a move action, a flag action, a mark-as-read action, a mark-as-unread action, a delete action, or a show action.

6. The method of claim 1 , further comprising:

based on a value of the tagged primitive, querying a remote database to resolve the value of the tagged primitive;

receiving a result to the query; and

wherein generating the automation rule includes using the result to the query.

7. A system for generating email automation rules, comprising:

a processor; and

memory storing instructions that, when executed by the processor, are configured to cause the system to perform operations comprising:

receive a natural language input to an email application for performing an action on emails stored by the email application;

provide the natural language input into a trained machine learning model;

receive, as output from the trained machine learning model, tagged primitives and an identified action from the natural language input;

generate an automation rule for performing the action on a subset of previously received emails received by the email application, the subset of emails corresponding to the tagged primitives, wherein generating the automation rule comprises:

based on the identified action, identifying a rule template from a plurality of rule templates, the identified rule template having one or more predefined filter slots for the tagged primitives; and

filling the filter slots of the identified rule template with the tagged primitives;

execute the generated automation rule to perform the action on the subset of emails;

store the generated automation rule as a recurring rule;

receive a new email; and

execute the recurring rule to perform the action on the new email.

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

cause a display of the generated automation rule;

receive an edit to the automation rule; and

store the edited automation rule as a recurrent automation rule.

9. The system of claim 7 , wherein each of the tagged primitives includes an entity from the natural language input and a primitive tag.

10. The system of claim 9 , wherein the primitive tags include at least one of a topic tag, a category tag, a task tag, or an urgency tag.

11. The system of claim 7 , wherein the action is one of a move action, a flag action, a mark-as-read action, a mark-as-unread action, a delete action, or a show action.

12. The system of claim 7 , further comprising:

based on a value of at least one of the tagged primitives, querying a remote database to resolve the value of the tagged primitive;

receiving a result to the query; and

wherein generating the automation rule includes using the result to the query.

13. A computer-implemented method for generating email automation rules, the method comprising:

receiving, by an email application, a natural language input for performing an action on emails received by the email application;

providing the natural language input into a trained machine learning model;

receiving, as output from the trained machine learning model, a tagged email primitive and an identified action from the natural language input;

generating an automation rule by identifying a rule template based on the identified action and filling filter slots of the identified rule template with the tagged email primitive;

executing the generated automation rule, wherein executing the generated automation rule causes:

filtering the emails received by the email application based on the tagged primitive to generate a filtered set of emails;

performing the action on the filtered set of emails.

14. The method of claim 13 , further comprising:

based on a value of the tagged primitive, querying a remote database to resolve the value of the tagged primitive;

receiving a result to the query; and

filling one or more of the filter slots with the received result to the query to generate the automation rule.

15. The method of claim 14 , further comprising:

storing the automation rule as a recurring rule;

receiving a new email; and

based on the new email satisfying a value of the one or more filter slots, performing the action on the new email.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2022
From: MEHTA, KULEEN; PAVAN, MATHEUS CAMASMIE; THOMAS, ALAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061483/0184 →
Continuity (1)
Related Publication 20230419041A1 · Dec 28, 2023
References Cited (16)
US 5917489A · Goodhand et al. · 1999 [cited by applicant]
US 9495129B2 · Fleizach et al. · 2016 [cited by applicant]
US 10068008B2 · Udupa et al. · 2018 [cited by applicant]
US 20040088359A1 · Simpson · 2004 [cited by applicant]
US 20070174350A1 · Pell et al. · 2007 [cited by applicant]
US 20120290662A1 · Weber et al. · 2012 [cited by applicant]
US 20150281155A1 · Cue et al. · 2015 [cited by applicant]
US 20160188599A1 · Maarek et al. · 2016 [cited by applicant]
US 20180233141A1 · Solomon · 2018 [cited by examiner]
US 20180260445A1 · Aravamudan et al. · 2018 [cited by applicant]
US 20190042561A1 · Kakirwar · 2019 [cited by examiner]
US 20200380389A1 · Eldeeb et al. · 2020 [cited by applicant]
US 20210034821A1 · Choi · 2021 [cited by examiner]
“Natural Language Search in Outlook”, Retrieved from: https://support.microsoft.com/en-us/office/natural-language-search-in-outlook-0c819cb0-980c-47c3-8e67-5c4fec6b6b87, May 5, 2021, 4 Pages. [cited by applicant]
“Search for Emails in Mail on Mac”, Retrieved from: https://support.apple.com/en-gb/guide/mail/mlhlp1003/mac, Mar. 29, 2022, 3 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/021617”, Mailed Date: Sep. 1, 2023, 11 Pages. [cited by applicant]