Email system with action required and follow-up features

A computer-implemented method includes: receiving, by a computing device, input from a sender of an email, the input defining the email as having a task associated with it; inserting, by the computing device, code into the email, the code defining a selectable object in the email; sending, by the computing device, the email to one or more recipients; receiving, by the computing device, input indicating a selection of the selectable object by one of the one or more recipients; assigning, by the computing device, the one of the one or more recipients as an owner of the task; and sending, by the computing device, a notification email to the sender and the one or more recipients, the notification email indicating the owner of the task.

BACKGROUND

Aspects of the present invention relate generally to email systems and, more particularly, to email systems having action required and follow-up features.

Email is an important method of business communication that is fast, inexpensive, accessible, and easily replicated. Using email can greatly benefit businesses because it provides efficient and effective ways to transmit many kinds of electronic data. One of the main advantages of email is that a user can quickly and easily send electronic files such as text documents, photos, and data sheets to several contacts simultaneously by attaching a file to an email.

SUMMARY

In a first aspect of the invention, there is a computer-implemented method including: receiving, by a computing device, input from a sender of an email, the input defining the email as having a task associated with it; inserting, by the computing device, code into the email, the code defining a selectable object in the email; sending, by the computing device, the email to one or more recipients; receiving, by the computing device, input indicating a selection of the selectable object by one of the one or more recipients; assigning, by the computing device, the one of the one or more recipients as an owner of the task; and sending, by the computing device, a notification email to the sender and the one or more recipients, the notification email indicating the owner of the task.

In another aspect of the invention, there is a computer program product including one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: receive input from a sender of an email, the input defining the email as having a task associated with it; insert code into the email, the code defining a selectable object in the email; send the email to one or more recipients; receive input indicating a selection of the selectable object by one of the one or more recipients; assign the one of the one or more recipients as an owner of the task; and send a notification email to the sender and the one or more recipients, the notification email indicating the owner of the task.

In another aspect of the invention, there is system including a processor, a computer readable memory, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: receive input from a sender of an email, the input defining the email as having a task associated with it; insert code into the email, the code defining a selectable object in the email; send the email to one or more recipients; receive input indicating a selection of the selectable object by one of the one or more recipients; assign the one of the one or more recipients as an owner of the task; and send a notification email to the sender and the one or more recipients, the notification email indicating the owner of the task.

DETAILED DESCRIPTION

Aspects of the present invention relate generally to email systems and, more particularly, to email systems having action required and follow-up features. Because email has become ubiquitous in daily work and life, many users find themselves overwhelmed with keeping track of the many emails they have sent and received. As a result, following up on all emails becomes nearly impossible and the user can lose information in this situation. Aspects of the invention address this problem by providing an email system that permits an email recipient to assume ownership of an email-related task, where the system tracks completion of the email-related task and provides follow-ups to both the sender and the recipient when the email-related task has not been completed in a predefined amount of time. In embodiments, the system receives a sender input that defines an email as including an email-related task. In embodiments, in response to this input by the sender, the system injects code into the email that is sent to one or more recipients, the code defining a selectable object in the email that is received by the one or more recipients. In embodiments, in response to receiving input from one of the recipients selecting the selectable object in the email, the system defines that recipient as an owner of the email-related task and monitors the email for completion of the email-related task. In embodiments, in response to determining the owner has not completed the email-related task within a predefined amount of time, the system automatically sends a follow-up to both the sender and the owner to remind the owner, the follow-up indicating that the email-related task is awaiting completion. In this manner, implementations of the invention provide for automated following up of email-related tasks.

According to an aspect of the invention, there is a computer-implemented process for managing tasks, the computer-implemented method including: in response to sending an email including an associated task to complete, receiving from a recipient of the email an indication of acceptance of responsibility to complete a required action for the associated task; in response to a determination the email is a type requiring a response, initiating follow up tracking for the associated task; in response to a determination a required action for the associated task was not taken within a predetermined time, sending a notification to the recipient to complete the required action; in response to a determination the required action was taken within the predetermined time, closing the task; and terminating the follow up tracking for the associated task.

Implementations of the invention provide an improvement in the technical field of email systems by providing a practical application of automatically monitoring an email for completion of an email-related task for which a user has assumed ownership, and automatically sending a follow-up to both the sender and the owner when the owner has not completed the task within a predefined amount of time. Implementations of the invention also change the state of an email by adding a selectable object to the email that does not otherwise exist, and only add the object in response to receiving input from the sender of the email.

It should be understood that, to the extent implementations of the invention collect, store, or employ personal information provided by, or obtained from, individuals (for example, emails and related information), such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

Implementations of the invention may include a computer system/server12ofFIG.1in which one or more of the program modules42are configured to perform (or cause the computer system/server12to perform) one of more functions of the email task monitoring96ofFIG.3. For example, the one or more of the program modules42may be configured to: receive input from a sender of an email, the input defining the email as having a task associated with it; insert code into the email, the code defining a selectable object in the email; send the email to one or more recipients; receive input indicating a selection of the selectable object by one of the one or more recipients; assign the one of the one or more recipients as an owner of the task; and send a notification email to the sender and the one or more recipients, the notification email indicating the owner of the task.

FIG.4shows a block diagram of an exemplary environment in accordance with aspects of the invention. In embodiments, the environment includes a network405providing communication between an email server410and plural user devices430a,430b,430c,. . . ,430n. The network405may be any one or more communication networks such as a LAN, WAN, and the Internet, and combinations thereof.

In one example, the email server410comprises a computing device including one or more elements of the computer system/server12ofFIG.1. In another example, the email server410comprises a virtual machine (VM). In embodiments, and in both examples, the email server410comprises an email server application415and a task monitoring module420. The email server application415may be a program/utility40as described with respect toFIG.1, and the task monitoring module420may comprise one or more program modules such as program modules42described with respect toFIG.1. The email server410may include additional or fewer modules than those shown inFIG.4. In embodiments, separate modules may be integrated into a single module. Additionally, or alternatively, a single module may be implemented as multiple modules. Moreover, the quantity of devices and/or networks in the environment is not limited to what is shown inFIG.4. In practice, the environment may include additional devices and/or networks; fewer devices and/or networks; different devices and/or networks; or differently arranged devices and/or networks than illustrated inFIG.4.

There may be any number “n” of user devices430a-n. Each user device430a-ncomprises a computing device such as a smartphone, desktop computer, laptop computer, tablet computer, etc., and may comprise one or more elements of the computer system/server12ofFIG.1. In embodiments, each user device430a-ncomprises an email client application435that communicates with the email server application415to provide email functionality to the users of the user devices430a-n. In one example, the email client application435comprises a program (e.g., program/utility40ofFIG.1) that is specifically related to the email server application415, e.g., as part of a same email software product. In another example, the email client application435is a browser application that provides web-based email via the email server application415. In embodiments, and in both examples, the email client application435and the email server application415communicate with each other to provide a user with email functions including but not limited to: logging in to an email account, creating an email, sending an email, receiving an email, responding to an email, and forwarding an email.

In a cloud implementation, the network405comprises or is part of the cloud environment50ofFIG.2, the email server comprises410one or more cloud computing nodes10ofFIG.2, and each of the user devices430a-ncomprises one of the local computing devices54A-N ofFIG.2.

With continued reference toFIG.4, in embodiments the task monitoring module420is configured to perform one or more functions described herein, including but not limited to: receive a sender input (via one of the user devices430a-n) that defines an email as including an email-related task; inject code into this email that is then sent to one or more recipients (by the email server application415), the code defining a selectable object in the email that is received by the one or more recipients; receive input from one of the recipients (via one of the user devices430a-n) selecting the selectable object in the email; define that one of the recipients as an owner of the email-related task; monitor the email server application415and the email client application435for completion of the email-related task; close the email-related task in response to detecting the owner has completed the task; send a follow-up (via the email server application415) to both the sender and the owner in response to determining the owner has not completed the email-related task within a predefined amount of time. In additional embodiments, the task monitoring module420is configured to generate a dashboard for the sender, the sender dashboard being displayed via the email client application435on one of the user devices430a-nand showing emails that have been sent by the sender and a status of the email-related task associated with each of the emails contained in the sender dashboard. In additional embodiments, the task monitoring module420is configured to generate a dashboard for the owner, the owner dashboard being displayed via the email client application435on one of the user devices430a-nand showing emails that this recipient has assumed ownership of and a status of the email-related task associated with each of the emails contained in the owner dashboard. These functions are described with respect to an exemplary use case shown inFIGS.5-11.

FIGS.5-11show examples of various user interfaces displayed on user devices by the email client application435in accordance with aspects of the invention.FIG.5shows an example of an email interface500usable for creating and sending an email in accordance with aspects of the invention. In embodiments, the interface500is displayed on one of the user devices430a-nby the email client application435using information from the email server application415. In embodiments, the interface500includes a To field505, Cc field510, Bcc field515, and Subject field520that all function in a conventional manner. The interface500includes a body area525in which the sender of the email may enter (e.g., type, paste, etc.) a message530in a conventional manner. The interface500also includes an object535(e.g., a Send button) that a user may select to send the email in a conventional manner.

In accordance with aspects of the invention, and still referring toFIG.5, the interface500includes a first object (e.g., an “Action Required” button)540that the user creating the email may select, prior to sending the email, to indicate that an email-related task is associated with this email. In accordance with aspects of the invention, and still referring toFIG.5, the interface500also includes a second object (e.g., an “Enable Follow-up” button)545that the user creating the email may select, prior to sending the email, to initiate a follow-up procedure with this email. The objects540and545are shown with exemplary labels (e.g., Action Required and Enable Follow-up) and these labels are used herein for describing aspects of the invention; however, implementations are not limited to these labels, and other labels may be used.

FIG.6continues the example fromFIG.5and shows the interface500after the user has selected the Action Required object button540. In accordance with aspects of the invention, the system inserts a selectable object (e.g., an “I will take care of” button)550into the email, e.g., in the body area525, in response to the user clicking the Action Required button540. In embodiments, the task monitoring module420adds the “I will take care of” button550as an HTML code button that is embedded in the body of the email, such that a recipient of the email will see and be able to select the “I will take care of” button550when the email is displayed on their user device by the email client application. As with the exemplary labels used with objects540and545, the label “I will take care of” shown on object550is exemplary and not limiting, and other labels may be used.

FIG.7continues the example fromFIGS.5and6and shows an interface700illustrating a received email that corresponds to the email that was created and sent in the example ofFIGS.5and6, after the email is sent by the sender and received by the recipients. As shown in the interface700, the received email includes the message530and “I will take care of” button550in the body of the email. In accordance with aspects of the invention, the first one of the recipients that selects (e.g., clicks) the “I will take care of” button550becomes the owner of the task associated with this email. In embodiments, the email client applications435monitor the user inputs at the interface700of all the recipients of this email and detects when one of the recipients selects (e.g., clicks) the “I will take care of” button550. In response to this monitoring and detecting, the email client application435transmits data to the task monitoring module420indicating that a particular user has selected the “I will take care of” button550. In embodiments, the first user to select the “I will take care of” button550is deemed the owner of the task for this email. In embodiments, the task monitoring module420determines the first user to select the “I will take care of” button550for a particular email based on the order that the indications are received from the email client applications435.

FIG.8continues the example fromFIGS.5-7and shows an interface800illustrating an email that the system sends after one of the recipients selects the “I will take care of” button550in accordance with aspects of the invention. In embodiments, in response to receiving the indication (from one of the email client applications435) that one of the users selected the “I will take care of” button550, the task monitoring module420causes the email server application415to automatically send an email notifying all recipients of the task owner. In the example shown inFIG.8, the user with the email address “Recipient1@recipient1.com” is the user that first clicked on the “I will take care of” button550amongst all the recipients of the email. As a result, in this example the email server application415automatically sends the email shown inFIG.8to the other recipients (e.g., “Recipient2@recipient2.com” and “Recipient3@recipient3.com”) and the sender of the original email (e.g., “Sender@sender.com”). In embodiments, the automated email includes a message805that identifies the owner of the task, i.e., the recipient that first selected the “I will take care of” button550(“Recipient1@recipient1.com” in this example). In the example shown inFIG.8, the email also includes the message530from the previous emails to provide context for the message805.

FIG.9continues the example fromFIGS.5-8and shows an interface900illustrating an email the system sends in response to determining that the owner of the task associated with this email has not completed the task within a predefined amount of time. In embodiments, in response to receiving the indication (from one of the email client applications435) that one of the users selected the “I will take care of” button550, the task monitoring module420determines whether the task associated with this particular email has been completed within a predefined amount of time. In one example, the task for this email is deemed complete when the owner replies to the sender. In this example, the task monitoring module420monitors email traffic in the email system (via the email server application415) and detects when the owner (“Recipient1@recipient1.com” in this example) sends a reply email to the sender (“Sender@sender.com” in this example), the reply email being a reply from any of the emails in this conversation (e.g., the email shown inFIG.7or the email shown inFIG.8). In another example, the task for this email is deemed complete when the owner or sender provides input to their respective dashboard indicating the task is complete. In this example, the task monitoring module420monitors information from the email client applications435for user input to the respective user dashboards (described atFIGS.10and11), the user input indicating that the task for this email is complete. In embodiments, including both examples, the task monitoring module420determines whether the task is completed within a predefined amount of time. In the event the task monitoring module420determines the task is not completed within the predefined amount of time, then the task monitoring module420causes the email server application415to send a follow-up (e.g., reminder) email to at least the owner. In the example shown inFIG.9, the email server application415sends the follow-up email to both the owner (“Recipient1@recipient1.com” in this example) and the sender (“Sender@sender.com” in this example). In embodiments, the follow-up email includes a message905that provides a reminder to the owner to complete the task. In the example shown inFIG.9, the follow-up email also includes the messages530,805from the previous emails to provide context for the message905.

In embodiments, the predefined amount of time is a configurable value that the sender can set via their email client application435. Examples of the configurable predefined amount of time include a number of hours or a number of days indicated by the sender. In one example, the predefined amount of time is measured starting from the time that the initial email was sent (e.g., the email ofFIG.6). In another example, the predefined amount of time is measured starting from the time that one of the recipients selects the “I will take care of” button550(e.g., the email ofFIG.6) and thereby becomes the owner.

In embodiments, the system determines whether the task associated with this particular email has been completed within a predefined amount of time only in response to the sender selecting the “Enable Follow up”545button when creating the email, e.g., as inFIGS.5and6. In these embodiments, the system does not determine whether the task associated with this particular email has been completed within a predefined amount of time when the sender did not select the “Enable Follow up”545button. In this manner, the sender may selectively control applying the follow up feature for each email sent, as there might be situations when the follow up feature is not wanted.

FIG.10shows an interface1000including a sender dashboard in accordance with aspects of the invention. The interface1000may be shown on one of the user devices430a-nby the email client application435using information received from the task monitoring module420for a particular user. In embodiments, the sender dashboard is a user interface that shows the status of emails that this user has sent with the task monitoring feature by selecting the “Action Required”540button when creating and sending. In this example, the dashboard includes a first area1005that shows emails for which the task has been completed, a second area1010that shows emails for which the task has not yet been completed, and a third area1015that shows emails for which a reminder has been sent (e.g., for emails for which the user has also selected the “Enable Follow up” button545and for which the predefined time has passed). In embodiments, the emails in the first area1005are marked with an icon1020that indicates the task for this email is complete. In embodiments, the emails in the second area1010include a selectable object1025that the sender may select (e.g., via mouse click or other input) to provide input indicating that the task for this email is complete. For example, the sender may become aware, via one or more channels outside of the email conversation associated with this particular email, that the owner has taken action that completes the task. In this situation, the sender may use the object1025to manually mark this task as complete. In embodiments, marking the task as complete moves the particular email from the second area1010to the first area1005. The sender dashboard thus provides a user with a visual interface to quickly see the status of emails this user has sent with a task, who has accepted ownership of the task for each such email, and the status of the task for each such email.

FIG.11shows an interface1100including an owner dashboard in accordance with aspects of the invention. The interface1100may be shown on one of the user devices430a-nby the email client application435using information received from the task monitoring module420for a particular user. In embodiments, the owner dashboard is a user interface that shows the status of emails that this user has received and taken ownership of, e.g., by selecting the “I will take care of” button550in the received email. In this example, the dashboard includes a first area1105that shows emails for which the task has been completed, a second area1110that shows emails for which the task has not yet been completed, and a third area1115that shows emails for which a reminder has been sent (e.g., for emails for which the sender selected the “Enable Follow up” button545and for which the predefined time has passed). In embodiments, the emails in the first area1105are marked with an icon1120that indicates the task for this email is complete. In embodiments, the emails in the second area1110include a selectable object1125that the user may select (e.g., via mouse click) to provide input indicating that the task for this email is complete. For example, this user may have completed the task for a particular email in a manner that does not involve sending a reply email to the sender of the email. In this situation, the user may use the object1125to manually mark this task as complete. In embodiments, marking the task as complete moves the particular email from the second area1110to the first area1105. The owner dashboard thus provides a user with a visual interface to quickly see the status of emails for which this user has assumed ownership of a task, and the status of the task for each such email.

FIG.12shows a flowchart of an exemplary method in accordance with aspects of the present invention. Steps of the method may be carried out in the environment ofFIG.4and are described with reference to elements depicted inFIGS.4-11.

At step1205, the system receives input from a sender of an email. In embodiments, and as described with respect toFIGS.4-11, the sender uses their email client application435to create an email and provide input that indicates a task is associated with the email. In embodiments, the input comprises the sender selecting an “Action Required” button540. In embodiments, the task monitoring module420receives data from the email client application435that defines the email and that indicates the user selected the “Action Required” button. Step1205may also include the sender selecting the “Enable Follow up” button545, and the task monitoring module420receiving data from the email client application435indicating this selection.

At step1210, the system inserts code into the email (from step1205), the code defining a selectable object in the email. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420inserts code into the email, the code defining an “I will take care of” button550.

At step1215, the system sends the email (from step1210) to recipients. In embodiments, and as described with respect toFIGS.4-11, the sender provides input via their email client application435to send the email. The email server application415receives the input from the email client application435and sends the email to the recipients included in the email. Step1215my include the recipient user devices430a-nreceiving the email and displaying the email, with the “I will take care of” button550via email client applications435.

At step1220, the system receives input indicating a selection of the selectable object from one of the recipients. In embodiments, and as described with respect toFIGS.4-11, one of the recipients selects the “I will take care of” button550in the email that is displayed in their email client application435, the task monitoring module420receives an indication of this input, and the task monitoring module420assigns this recipient as the owner of the task associated with this email.

At step1225, the system sends a notification to the recipients and sender, the notification indicating the owner of the task. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420causes the email server application415to send an email to the recipients and owner, e.g., as shown inFIG.8.

At step1230, the system generates a sender dashboard including the email of step1220and the owner as indicated at step1225. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420generates the sender dashboard, e.g., as shown inFIG.10. The generating may include adding the email to an already existing sender dashboard. The generating may include generating a new sender dashboard including the email. The sender dashboard may be included in a user interface of the email client application435, such that a user who is logged into the email client application435may view their personalized sender dashboard showing emails that they have sent and recipients who have assumed ownership of the tasks in those emails.

At step1235, the system generates an owner dashboard including the email of step1220and the owner as indicated at step1225. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420generates the owner dashboard, e.g., as shown inFIG.11. The generating may include adding the email to an already existing owner dashboard. The generating may include generating a new owner dashboard including the email. The owner dashboard may be included in a user interface of the email client application435, such that a user who is logged into the email client application435may view their personalized owner dashboard showing emails associated with tasks for which the user has assumed ownership.

At step1240, the system starts a timer. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420determines whether the task associated with this particular email has been completed within a predefined amount of time. In embodiments, the task monitoring module starts a timer at step1240to measure when the predefined amount of time has elapsed. In one example, the task monitoring module420starts the timer when the initial email is sent, e.g., at step1215, such that the predefined amount of time is measured starting from the time that the initial email was sent. In another example, the task monitoring module420starts the timer when one of the recipients selects the “I will take care of” button550, e.g., at step1220, such that the predefined amount of time is measured starting from the time when one of the recipients becomes the owner. In another example, the task monitoring module420starts the timer when the notification is sent at step1225, such that the predefined amount of time is measured starting from the time when the sender and recipients are notified of which recipient assumed ownership of this email.

At step1245, the system determines whether the task associated with this email has been completed. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420determines whether the task associated with this particular email has been completed based on one of: detecting the owner sends a reply email to the sender for this email; detecting the sender provides manual input (e.g., via the sender dashboard) that the task is complete; and detecting the owner provides manual input (e.g., via the owner dashboard) that the task is complete. The detecting in each of these three alternatives may be performed by the task monitoring module420monitoring the email server application415and/or the email client applications435.

In response to the system determining at step1245that the task is completed, then at step1250the system marks the task as complete. In embodiments, the task monitoring module420updates a running list of open tasks in the email system to mark this particular task as complete. At step1255, the system updates the dashboards. In embodiments, the task monitoring module420updates the sender dashboard and the owner dashboard to mark this task as complete, e.g., as described with respect toFIGS.10and11.

In response to the system determining at step1245that the task is not completed, then at step1260the system determines whether the timer (from step1240) exceeds the predefined amount of time. In embodiments, the task monitoring module420compares the value of the timer to the predefined amount of time.

In response to the system determining at step1260that the timer does not exceed the predefined amount of time, then the process returns to step1245with the timer still running. In this manner, the system continues to check whether the task is completed until one of two things occurs: either the system determines the task is completed or the system determines the timer exceeds the predefined amount of time.

In response to the system determining at step1265that the timer does exceed the predefined amount of time, then at step1265the system sends a reminder to the owner of the task of this email. In embodiments, and as described with respect toFIGS.4-11, the task monitoring module420causes the email server application415to send a reminder email, e.g., as shown inFIG.9. The reminder email can be sent to the owner only, or to the owner and sender, or to the owner, the sender, and all other recipients. In embodiments, after sending the reminder email, the process returns to step1240where the system restarts the timer and enters the loop again.