U.S. patent application number 14/708720 was filed with the patent office on 2016-02-04 for notifying a user of an instant messaging (im) service about a modification made to an opportunity.
This patent application is currently assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION. The applicant listed for this patent is INTERNATIONAL BUSINESS MACHINES CORPORATION. Invention is credited to Jorge A. Arroyo, Stephen P. Kruger, Patrick J. O'Sullivan, Luciano Silva.
Application Number | 20160036738 14/708720 |
Document ID | / |
Family ID | 55180484 |
Filed Date | 2016-02-04 |
United States Patent
Application |
20160036738 |
Kind Code |
A1 |
Arroyo; Jorge A. ; et
al. |
February 4, 2016 |
NOTIFYING A USER OF AN INSTANT MESSAGING (IM) SERVICE ABOUT A
MODIFICATION MADE TO AN OPPORTUNITY
Abstract
Notifying a user of an instant message (IM) service about a
modification made to an opportunity includes receiving at least one
modification to an opportunity stored in a customer relationship
management (CRM) system, the opportunity representing a complex
record structure in the CRM system, identifying a first user
associated with the modification made to the opportunity stored in
the CRM system, determining, from a list of users associated with
the opportunity, a second user associated with the first user
through an IM service, and sending an alert to the second user on
the IM service, the alert indicating to the second user the
modification made to the opportunity by the first user.
Inventors: |
Arroyo; Jorge A.; (Carmel,
IN) ; Kruger; Stephen P.; (Dublin, IE) ;
O'Sullivan; Patrick J.; (Dublin, IE) ; Silva;
Luciano; (Apex, NC) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
INTERNATIONAL BUSINESS MACHINES CORPORATION |
Armonk |
NY |
US |
|
|
Assignee: |
INTERNATIONAL BUSINESS MACHINES
CORPORATION
Armonk
NY
|
Family ID: |
55180484 |
Appl. No.: |
14/708720 |
Filed: |
May 11, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14449738 |
Aug 1, 2014 |
|
|
|
14708720 |
|
|
|
|
Current U.S.
Class: |
709/205 |
Current CPC
Class: |
H04L 51/046 20130101;
H04L 67/26 20130101; G06Q 30/0269 20130101; H04L 51/18 20130101;
H04L 51/26 20130101; G06Q 10/107 20130101; H04W 4/14 20130101; H04W
4/12 20130101 |
International
Class: |
H04L 12/58 20060101
H04L012/58; H04L 29/08 20060101 H04L029/08 |
Claims
1. A method for notifying a user of an instant message (IM) service
about a modification made to an opportunity, the method comprising:
receiving at least one modification made to an opportunity stored
in a customer relationship management (CRM) system, the opportunity
representing a complex record structure in the CRM system, in which
each of the opportunities captures a number of fields of metadata;
identifying a first user associated with the modification made to
the opportunity stored in the CRM system; determining, from a list
of users associated with the opportunity, a second user associated
with the first user through an instant message (IM) service; and
sending an alert to the second user on the IM service, the alert
indicating to the second user the modification made to the
opportunity by the first user.
2. The method of claim 1, in which the alert indicates, via an
icon, the modification the first user made to the opportunity.
3. The method of claim 2, in which the alert further comprises a
summary of the modification that the first user made to the
opportunity.
4. The method of claim 3, in which the alert further comprises a
link, the link allowing the second user to access the opportunity
in the CRM system.
5. The method of claim 1, in which the alert allows the second user
to view other modifications the first user made to other
opportunities stored in the CRM system.
6. The method of claim 1, in which sending the alert to the second
user on the IM service, the alert indicating to the second user the
modification made to the opportunity by the first user comprises
sending the alert via the IM service, a short message service
(SMS), an electronic message (email), or combinations thereof.
7. The method of claim 1, further comprising determining the list
of users associated with the opportunity.
Description
BACKGROUND
[0001] The present invention relates to notifying a user of an
instant messaging (IM) service about modifications, and more
specifically, notifying a user of an IM service about modifications
made to an opportunity.
[0002] A customer relationship management (CRM) system uses
techniques and methods to gather, organize, automate, and
synchronize sales, for marketing, customer service, and technical
support. The CRM system stores this information in a database.
Further, this information is retrieved from the database and
analyzed to allow a company to better target various customers.
BRIEF SUMMARY
[0003] A method for notifying a user of an instant message (IM)
service about a modification made to an opportunity includes
receiving at least one modification to an opportunity stored in a
customer relationship management (CRM) system, the opportunity
representing a complex record structure in the CRM system,
identifying a first user associated with the modification made to
the opportunity stored in the CRM system, determining, from a list
of users associated with the opportunity, a second user associated
with the first user through an IM service, and sending an alert to
the second user on the IM service, the alert indicating to the
second user the modification made to the opportunity by the first
user.
[0004] A system for notifying a user of an IM service about a
modification made to an opportunity includes a receiving engine to
receive at least one modification made to an opportunity stored in
a CRM system, the opportunity representing a complex record
structure in the CRM system, in which each of the opportunities
captures a number of fields of metadata, an identifying engine to
identify a first user associated with the modification made to the
opportunity stored in the CRM system, a list determining engine to
determine a list of users associated with the opportunity, a second
user determining engine to determine, from the list of users
associated with the opportunity, a second user associated with the
first user through an IM service, and a sending engine to send an
alert to the second user of the IM service, the alert indicating to
the second user the modification made to the opportunity by the
first user.
[0005] A computer program product includes a computer readable
storage medium, the computer readable storage medium having
computer readable program code embodied therewith. The computer
readable program code having computer readable program code to
identify a first user associated with a modification made to an
opportunity stored in a CRM system, determine a list of users
associated with the opportunity, determine, from the list of users
associated with the opportunity, a second user associated with the
first user through an IM service, and send an alert to the second
user of the IM service, the alert indicating to the second user the
modification made to the opportunity by the first user.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0006] The accompanying drawings illustrate various examples of the
principles described herein and are a part of the specification.
The examples do not limit the scope of the claims.
[0007] FIG. 1 is a diagram of an example of a system for notifying
a user of an instant messaging (IM) service about a modification
made to an opportunity, according to one example of principles
described herein.
[0008] FIG. 2 is a diagram of an example of a system notifying a
user of an IM service about a modification made to an opportunity,
according to one example of principles described herein.
[0009] FIG. 3 is a flowchart of an example of a method for
notifying a user of an IM service about a modification made to an
opportunity, according to one example of principles described
herein.
[0010] FIG. 4 is a flowchart of an example of a method for
notifying a user of an IM service about a modification made to an
opportunity, according to one example of principles described
herein.
[0011] FIG. 5 is a diagram of an example of a notifying system,
according to the principles described herein.
[0012] FIG. 6 is a diagram of an example of a notifying system,
according to the principles described herein.
[0013] FIG. 7 is a diagram of an example of an alert displayed via
a user interface (UI), according to the principles described
herein.
[0014] Throughout the drawings, identical reference numbers
designate similar, but not necessarily identical, elements.
DETAILED DESCRIPTION
[0015] The present specification describes a method and system for
notifying a user of an instant message (IM) service about a
modification made to an opportunity, such that the user receives an
alert indicating that a modification to the opportunity has been
made.
[0016] The present invention may be a system, a method, and/or a
computer program product. The computer program product may include
a computer readable storage medium (or media) having computer
readable program instructions thereon for causing a processor to
carry out aspects of the present invention.
[0017] The computer readable storage medium can be a tangible
device that can retain and store instructions for use by an
instruction execution device. The computer readable storage medium
may be, for example, but is not limited to, an electronic storage
device, a magnetic storage device, an optical storage device, an
electromagnetic storage device, a semiconductor storage device, or
any suitable combination of the foregoing. A non-exhaustive list of
more specific examples of the computer readable storage medium
includes the following: a portable computer diskette, a hard disk,
a random access memory (RAM), a read-only memory (ROM), an erasable
programmable read-only memory (EPROM or Flash memory), a static
random access memory (SRAM), a portable compact disc read-only
memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a
floppy disk, a mechanically encoded device, such as punch-cards or
raised structures in a groove having instructions recorded thereon,
or any suitable combination of the foregoing. A computer readable
storage medium, as used herein, is not to be construed as being
transitory signals per se, such as radio waves or other freely
propagating electromagnetic waves, electromagnetic waves
propagating through a waveguide or other transmission media (e.g.,
light pulses passing through a fiber-optic cable), or electrical
signals transmitted through a wire.
[0018] Computer readable program instructions described herein can
be downloaded to respective computing/processing devices from a
computer readable storage medium or to an external computer or
external storage device via a network, for example, the Internet, a
local area network, a wide area network and/or a wireless network.
The network may comprise copper transmission cables, optical
transmission fibers, wireless transmission, routers, firewalls,
switches, gateway computers and/or edge servers. A network adapter
card or network interface in each computing/processing device
receives computer readable program instructions from the network
and forwards the computer readable program instructions for storage
in a computer readable storage medium within the respective
computing/processing device.
[0019] Computer readable program instructions for carrying out
operations of the present invention may be assembler instructions,
instruction-set-architecture (ISA) instructions, machine
instructions, machine dependent instructions, microcode, firmware
instructions, state-setting data, or either source code or object
code written in any combination of one or more programming
languages, including an object oriented programming language such
as Smalltalk, C++ or the like, and conventional procedural
programming languages, such as the "C" programming language or
similar programming languages. The computer readable program
instructions may execute entirely on the user's computer, partly on
the user's computer, as a stand-alone software package, partly on
the user's computer and partly on a remote computer or entirely on
the remote computer or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider). In some embodiments, electronic circuitry
including, for example, programmable logic circuitry,
field-programmable gate arrays (FPGA), or programmable logic arrays
(PLA) may execute the computer readable program instructions by
utilizing state information of the computer readable program
instructions to personalize the electronic circuitry, in order to
perform aspects of the present invention.
[0020] Aspects of the present invention are described herein with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems), and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer readable
program instructions.
[0021] These computer readable program instructions may be provided
to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus, to
produce a machine such that the instructions, which execute via the
processor of the computer or other programmable data processing
apparatus, create means for implementing the functions/acts
specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in
a computer readable storage medium that can direct a computer, a
programmable data processing apparatus, and/or other devices to
function in a particular manner, such that the computer readable
storage medium having instructions stored therein comprises an
article of manufacture including instructions which implement
aspects of the function/act specified in the flowchart and/or
blocks or block diagram.
[0022] The computer readable program instructions may also be
loaded onto a computer, other programmable data processing
apparatus, or other device to cause a series of operational steps
to be performed on the computer, other programmable apparatus or
other device to produce a computer implemented process, such that
the instructions which execute on the computer, other programmable
apparatus, or other device implement the functions/acts specified
in the flowchart and/or block diagram block or blocks.
[0023] The flowchart and block diagrams in the Figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods, and computer program products
according to various embodiments of the present invention. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of instructions, which comprises one
or more executable instructions for implementing the specified
logical function(s). In some alternative implementations, the
functions noted in the block may occur out of the order noted in
the figures. For example, two blocks shown in succession may, in
fact, be executed substantially concurrently, or the blocks may
sometimes be executed in the reverse order, depending upon the
functionality involved. It will also be noted that each block of
the block diagrams and/or flowchart illustration, and combinations
of blocks in the block diagrams and/or flowchart illustration, can
be implemented by special purpose hardware-based systems that
perform the specified functions or acts or carry out combinations
of special purpose hardware and computer instructions.
[0024] As noted above, the customer relationship management (CRM)
system uses techniques and methods to organize, automate, and
synchronize sales, for marketing, customer service, and technical
support. This information that the CRM system gathers is stored in
a database. Further, this information may be categorized as
opportunities in the database. A user associated with a company may
view the opportunities gathered by the CRM system to determine
which opportunities have changed and which opportunities may
benefit from further action.
[0025] Further, a user may be associated with a number of the
opportunities. If one of the opportunities is modified, it may be
beneficial for the user to manually take an action regarding the
modification to the opportunities. Manually taking an action may
include approving a transaction for the opportunities, contacting a
customer for the opportunities, reprioritizing activities
associated with the opportunities, terminating the opportunities,
taking other actions, or combinations thereof. Further, the user
that is associated with many opportunities may spend a significant
amount of time manually tracking modifications made to the
opportunities. Manually tracking these modifications may be prone
to oversight. The oversight may result in failing to act on changes
that may advance the development of the opportunities.
[0026] The principles described herein include a system and a
method for notifying a user of an IM service about a modification
made to an opportunity. Such a system and method includes receiving
at least one modification to an opportunity stored in a CRM system,
the opportunity representing a complex record structure in the CRM
system, identifying a first user associated with the modification
made to the opportunity stored in the CRM system, determining, from
a list of users associated with the opportunity, a second user
associated with the first user through an IM service, and sending
an alert to the second user on the IM service, the alert indicating
to the second user the modification made to the opportunity by the
first user. Such a system and method allows a user of an IM service
to be notified of modifications to a number of opportunities. As a
result, the system and method allows a second user to receive an
alert in the IM service indicating that a modification to the
opportunity has occurred
[0027] In the specification and appended claims, the term
"opportunities" is meant to be understood broadly as a complex
record structure in a CRM system, in which each of the
opportunities captures a number of fields of metadata. In one
example, the opportunities may include a business's sales and/or
interaction with current customers, future customers, or
combinations thereof.
[0028] In the specification and appended claims, the term
"metadata" is meant to be understood broadly as information that is
associated with an opportunity. In one example, metadata for each
of the opportunities includes a design specification, a platform
specification, a fixpack specification, a version specification, an
operating system (OS) specification, a time line, a risk, a cost, a
performance result, an integration middleware specification,
members associated with the opportunities, an upgrade, a product, a
staging, other metadata, or combinations thereof. In one example,
the metadata associated with an opportunity may store a list of
users that have registered interest in the opportunity.
[0029] In the specification and appended claims, the term
"modification" is meant to be broadly as a change in metadata that
is associated with an opportunity. In one example, the metadata
associated with an opportunity may be modified. In another example
of a modification, the metadata associated with an opportunity may
change to record a sale associated with the opportunity.
[0030] In the following description, for purposes of explanation,
numerous specific details are set forth in order to provide a
thorough understanding of the present systems and methods. It will
be apparent, however, to one skilled in the art that the present
apparatus, systems, and methods may be practiced without these
specific details. Reference in the specification to "an example" or
similar language means that a particular feature, structure, or
characteristic described in connection with that example is
included as described, but may not be included in other
examples.
[0031] Referring now to the figures, FIG. 1 is a diagram of an
example of a system for notifying a user of an IM service about a
modification made to an opportunity, according to one example of
principles described herein. As will be described below, a
notifying system is in communication with a network to receive at
least one modification to an opportunity stored in a CRM system,
the opportunity representing a complex record structure in the CRM
system. The notifying system identifies a first user associated
with the modification made to the opportunity stored in the CRM
system. Further, the notifying system determines, from a list of
users associated with the opportunity, a second user associated
with the first user through an IM service. The notifying system
sends an alert to the second user on the IM service, the alert
indicating to the second user the modification made to the
opportunity by the first user.
[0032] As illustrated in FIG. 1, the system (100) includes a CRM
system (112). In one example, the CRM system (112) is used as a
model for managing a business's interactions with current and
future customers. The CRM system (112) uses techniques and methods
to organize, automate, and synchronize sales for marketing,
customer service, and technical support. This information that the
CRM system (112) gathers is stored in the CRM system's memory.
Further, this information may be categorized as opportunities in
the CRM system's memory. A first user may make modifications to the
opportunities in the CRM system (112) via a display (104) on a
first user device (102). As will be described below, a second user
may receive an alert of modifications to the opportunities in the
CRM system (112) via a display (105) on a second user device
(103).
[0033] As illustrated in FIG. 1, the system (100) includes a
notifying system (110). The notifying system (110) is in
communication with a network (106) to receive at least one
modification to an opportunity stored in a CRM system (112). In one
example, the opportunity represents a complex record structure in
the CRM system (112). Further, the opportunity may be associated
with a number of fields of metadata. As will be described in other
parts of this specification, hundreds of fields of metadata may be
associated with each opportunity.
[0034] Further, the notifying system (110) identifies a first user
associated with the modification made to the opportunity stored in
the CRM system (112). In one example, the modification may be made
by the first user via the first user device (102). Further, the
first user may be the user who made the modification to the
opportunity stored in the CRM system (112).
[0035] The notifying system (110) further determines, from a list
of users associated with the opportunity, a second user associated
with the first user through an IM service (114). In this example,
the first user and the second user may be associated with the
opportunity. Further, the first user and the second user may be
associated with each other via the IM service (114).
[0036] Further, the notifying system (110) sends an alert to the
second user on the IM service (114), the alert indicating to the
second user the modification made to the opportunity by the first
user. In one example, the alert may be sent from the notifying
system (110) to the second user device (103) such that the second
user receives the alert. For example, the alert may be displayed
via a user interface (UI) on the display (105) of the second user
device (103). The alert may indicate, via an icon or a symbol, that
the first user has made a modification to the opportunity. As a
result, the system (100) allows the second user to receive an alert
via the IM service (114) indicating that a modification to the
opportunity may occur, has occurred, or will occur at a future
time. More information about the notifying system (110) will be
described in later parts of this specification.
[0037] While this example has been described with reference to the
notifying system being located over the network, the notifying
system may be located in any appropriate location. For example, the
notifying system may be located in a user device, a database, a CRM
system, other locations, or combinations thereof.
[0038] FIG. 2 is a diagram of an example of a system for notifying
a user of an IM service about a modification made to an
opportunity, according to one example of principles described
herein. As mentioned above, a notifying system is in communication
with a network to receive at least one modification to an
opportunity stored in a CRM system, the opportunity representing a
complex record structure in the CRM system. The notifying system
identifies a first user associated with the modification made to
the opportunity stored in the CRM system. Further, the notifying
system determines, from a list of users associated with the
opportunity, a second user associated with the first user through
an IM service. The notifying system sends an alert to the second
user on the IM service, the alert indicating to the second user the
modification made to the opportunity by the first user.
[0039] As illustrated in FIG. 2, the system (200) includes a CRM
system (202). In one example, the CRM system (202) is used as a
model for managing a business's interactions with current and
future customers. The CRM system (202) uses techniques and methods
to organize, automate, and synchronize sales, for marketing,
customer service, and technical support. In one example, the CRM
system (202) may be a classical CRM system that monitors sources
such as current customers and potentially future customers to
gather information to better target various customers. The
classical CRM system traditionally includes a one-way communication
between a business and the customer.
[0040] In another example, the CRM system (202) may be a social CRM
system that monitors sources such as social media sources. In this
example, the social CRM system's strategy is based around customer
engagement and interactions, with transactions being a byproduct.
In one example, the Social CRM system may use a philosophy and a
business strategy, supported by a technology platform, business
rules, workflow, processes and social characteristics, designed to
engage the customer in a collaborative conversation in order to
provide mutually beneficial value in a trusted and transparent
business environment. Further, the social CRM system includes
applications in marketing, customer service and sales, including
peer-to-peer customer support, idea management, market research,
product launch, brand reputation management.
[0041] In this example, the social CRM system is a back-end process
and system for managing customer relationships and data in an
efficient and process-centric way. The social CRM system is able to
understand the business's challenges that are to be solved and then
solve the business's challenges. Further, the social CRM system may
be one component of developing a social or collaborative business,
both internally and externally.
[0042] As illustrated in FIG. 2, the CRM system (202) includes a
number of opportunities (206). As mentioned above, the
opportunities represent a complex record structure in the database,
in which each of the opportunities captures a number of fields of
metadata. In this example, the opportunities (206) may include
opportunity A (206-1), opportunity B (206-2), opportunity C
(206-3), and opportunity D (206-4).
[0043] In one example, the opportunities (206) include metadata
that is associated with each of the opportunities (206). For
example, opportunity A (206-1) includes metadata A1 (208-1),
metadata A2 (208-2), and metadata A3 (208-3). Opportunity B (206-2)
includes metadata B1 (210-1), metadata B2 (210-2), and metadata B3
(210-3). Opportunity C (206-3) includes metadata C1 (212-1),
metadata C2 (212-2), and metadata C3 (212-3). Opportunity D (206-1)
includes metadata D1 (214-1), metadata D2 (214-2), and metadata D3
(214-3).
[0044] The metadata (208, 210, 212, 214) for each of the
opportunities (206) may include a design specification, a platform
specification, a fixpack specification, a version specification, an
OS specification, a time line, a risk, a cost, a performance
result, an integration middleware specification, members associated
with the opportunities, an upgrade, a product, a staging, other
metadata, or combinations thereof.
[0045] As illustrated in FIG. 2, the system (200) includes a
notifying system (204). The notifying system (204) includes a
number of engines (216). The engines (216) refer to a combination
of hardware and program instructions to perform a designated
function. Each of the engines (216) may include a processor and
memory. The program instructions are stored in the memory and cause
the processor to execute the designated function of the engine. As
illustrated, the notifying system (204) includes a receiving engine
(216-1), an identifying engine (216-2), a list determining engine
(216-3), a second user determining engine (216-4), and a sending
engine (216-4).
[0046] In one example, opportunity A (206-1) is a sales opportunity
in Siebel that captured a closed deal for a customer that includes
product version eight, enhancement version seven. Associated with
opportunity A (206-1) is metadata (208). In this example, the
metadata (208) includes version information, fixpack information,
platform information, issues discerned and solved and solutions to
these, and areas of potential risk, among others. A first user may
modify opportunity A (206-1). This causes a modification in the
metadata (208) associated with opportunity A (206-1).
[0047] As mentioned above, the notifying system (204) includes a
receiving engine (216-1). The receiving engine (216-1) receives at
least one modification to an opportunity (206) stored in a CRM
system (202). In this example, the receiving engine (216-1)
receives the modification associated with opportunity A (206-1)
stored in a CRM system (202).
[0048] As mentioned above, the notifying system (204) includes the
identifying engine (216-2). In one example, the identifying engine
(216-2) identifies a first user associated with the modification
made to the opportunity (206) stored in the CRM system (202). For
example, the identifying engine (216-2) identifies that the first
user made a modification to opportunity A (206-1) that is stored in
the CRM system (202). As a result, when a modification is received
by the notification system (204), the identifying engine (216-2)
identifies a user who modified the opportunity (206).
[0049] As mentioned above, the notifying system (204) includes a
list determining engine (216-3). In one example, the list
determining engine (216-3) determines a list of users associated
with the opportunity. In one example, the list determining engine
(216-3) determines users (230) associated with metadata (208) for
opportunity A (206-1). The users (230) associated with metadata
(208) may have been assigned responsibility for part of opportunity
A (206-1). Further, the users (230) associated with metadata (208)
may have a skill associated with an area of the metadata (208).
[0050] As mentioned above, the notifying system (204) includes a
second user determining engine (216-4). The second user determining
engine (216-4) determines, from a list of users associated with the
opportunity (206), a second user associated with the first user
through an IM service (225). As illustrated, the IM service (225)
may include a number of users (230). For example, the users (230)
may include a second user (230-2) and a third user (230-3). In one
example, the list determining engine (216-4) may determine that the
second user (230-2) is associated with opportunity A (206-1) and is
associated with the first user through the IM service (225). In one
example, the association between the first user and the second user
(230-2) may allow the users to exchange instant messages. The
association may also provide information about the users to each
other. The information provided may include activity within the IM
system (225), an amount of time since the last activity, or an
indication that a message has been viewed.
[0051] As illustrated, the notifying system (204) includes the
sending engine (216-4). The sending engine (216-4) sends an alert
to the second user (230-2) of the IM (225) service. In one example,
the alert indicates to the second user the modification made to the
opportunity by the first user. In one example, the alert may be
sent to a second user device (233). In this example, the alert
indicates to the second user (230-2) the modification made to
opportunity A (206-1) by the first user.
[0052] Further, the alert may be sent through the IM system (225)
to a user device (222) used by the second user (230-2). In one
example, the alert may change the status information displayed by
the IM system (225). The IM system (225) may display the activity
of a user by changing the color of an icon. A white icon may
indicate that the user is not currently active on the system, while
a green icon may indicate that the user is currently active. The
sending engine (216-4) may send an alert that causes the icon to
display a different color, such as blue, indicating that the user
has modified opportunity A (206-1).
[0053] The alert sent to the second user may include a link, icon,
or other mechanism to invoke the modification to opportunity A
(206-1). The modification to opportunity A (206-1) allows the
second user to perform an operation on opportunity A (206-1) if
necessary. The operation may approve an action initiated by a first
user. The operation may schedule an event to facilitate the second
user making a contact related to opportunity A (206-1). The
operation may inform the first user of additional information
related to opportunity A (206-1). Any number of operations related
to the first user, the second user, and the opportunity may be
allowed to be invoked through the alert message.
[0054] While this example has been described with reference to the
first user modifying opportunity A, the first user may modify other
opportunities stored in the CRM system. For example, the first user
modifying opportunity B and/or opportunity C.
[0055] FIG. 3 is a flowchart of an example of a method for
notifying members of an instant message service about a
modification made to an opportunity, according to one example of
principles described herein. In one example, the method (300) may
be executed by a notifying system (100) of FIG. 1. In other
examples, the method (300) may be executed by another system (i.e.
system 200, system 500, and system 600). In this example, the
method (300) includes receiving (301) at least one modification to
an opportunity stored in a CRM system, the opportunity representing
a complex record structure in the CRM system, identifying (302) a
first user associated with the modification made to the opportunity
stored in the CRM system, determining (303), from a list of users
associated with the opportunity, a second user associated with the
first user through an IM service, and sending (304) an alert to the
second user on the IM service, the alert indicating to the second
user the modification made to the opportunity by the first
user.
[0056] As mentioned above, the method (300) includes receiving
(301) at least one modification to an opportunity stored in a CRM
system, the opportunity representing a complex record structure in
the CRM system. As mentioned above, the CRM system uses techniques
and methods to organize, automate and synchronize sales, for
marketing, customer service, and technical support. The information
used to support the techniques and methods may be stored in
metadata. In one example, a receiving engine receives at least one
modification to an opportunity stored in a CRM system. In one
example, a user may make modifications to the metadata associated
with an opportunity.
[0057] The method (300) may include identifying (302) a first user
associated with the modification made to the opportunity stored in
the CRM system. In one example, the identifying engine of FIG. 2
identifies a first user associated with the modification made to
the opportunity stored in the CRM system. The identifying engine
may include examining the modification received to determine a
number of users that may be responsible for the modification.
[0058] In one example, a first user may be responsible for the
modification if the first user initiated the activity that caused
the modification. Further, a first user may be responsible for the
modification if the modification received indicates that the first
user is responsible for the modification. A first user may be
determined as a result of an indication in the modification
received.
[0059] In one example, a first user may record a transaction
associated with an opportunity. The recording of the transaction
may generate a notice that the transaction has been recorded, and
the first user associated with the transaction. The first user may
then be identified as initiating the transaction.
[0060] In another example, a first user may make a contact related
to an opportunity. The CRM system may facilitate the contact. The
CRM system may record that a contact has been made and that the
first user is responsible for the contact.
[0061] As mentioned above, the method (300) includes determining
(303), from a list of users associated with the opportunity, a
second user associated with the first user through an IM service.
Determining (303), from a list of users associated with the
opportunity, a second user associated with the first user through
an IM service may include examining metadata associated with an
opportunity to construct the list of users associated with the
opportunity. In one example, the list of users may be determined
from a number of users that have worked on the opportunity, users
with skills related to the metadata, users with interests
associated with the metadata, users assigned to work on the
opportunity, or similar relationships between users and the
opportunity or metadata.
[0062] In another example, determining, from a list of users
associated with the opportunity, a second user associated with the
first user through an IM service may include comparing members of
the list with relationships in an IM system. A member of the list
that has a relationship with the first user associated with the
opportunity may be identified as a second user. As mentioned above,
the method (300) includes sending (304) an alert to the second user
on the IM service, the alert indicating to the second user the
modification the first user has made to the opportunity. In one
example, the alert may indicate, via an icon, a symbol indicating
the modification the first user has made to the opportunity. In one
example, the alert may cause the IM service to indicate, via the
icon, the number of modifications the first user has made to the
opportunity.
[0063] The alert may provide to the second user a summary of the
modification made by the first user. The summary may include
information as to the area of the modification, the nature of the
modification, a portion or all of the data associated with the
modification, or a description of the modification, other
summaries, or combinations thereof.
[0064] Further, the alert may provide a link to the second user. In
one example, the link allows the second user to access the
opportunity. The link may provide access to data related to the
opportunity, data related to the modification made by the first
user, or may provide access to perform additional modifications or
operations on the opportunity.
[0065] In one example, the alert may include a link to a script to
operate on the CRM system. The script may perform operations to
approve a transaction or to make modification to the CRM system. In
one example, an approval of a script may complete a transaction
that was initiated by the first user, but may need the permission
of the second user to complete the transaction.
[0066] Further, the alert may allow the second user to view other
modifications the first user made to other opportunities stored in
the CRM database. The alert may include information related to
prior modifications made by the first user, allowing the second
user to observe additional activity by the first user. In one
example, the first user may have completed a number of sales due to
promotional pricing in a product line. The second user may receive
notice of a modification to an opportunity. The second user
receiving the alert may observe that the first user has closed a
number of sales, all for the same product. Upon examining the
product pricing, the second user may be alerted as to promotional
pricing on the product. This information may assist in setting
future pricing, in order to encourage activity within the
opportunities.
[0067] The alert may be delivered using additional protocols, such
as a short message service (SMS), an electronic message such as
electronic mail (email), an IM service, other delivery methods, or
combinations thereof. In one example, the protocol for delivering
the alert may include any protocol transmitting information form a
first user to a second user, where the protocol is capable of
providing status information as to the activity of the first
user.
[0068] FIG. 4 is a flowchart of an example of a method for members
of an instant messaging service about a modification to an
opportunity, according to one example of principles described
herein. In one example, the method (400) may be executed by the
notifying system (100) of FIG. 1. In other examples, the method
(400) may be executed by other systems (i.e. system 200, system
500, and system 600). In this example, the method (400) includes
receiving (401) at least one modification to an opportunity stored
in a CRM system, the opportunity representing a complex record
structure in the CRM system, identifying (402) a first user
associated with the modification made to the opportunity stored in
the CRM system, determining (403) a list of users associated with
the opportunity, determining (404), from a list of users associated
with the opportunity, a second user associated with the first user
through an IM service, and sending (405) an alert to the second
user on the IM service, the alert indicating to the second user the
modification made to the opportunity by the first user.
[0069] As mentioned above, the method (400) includes determining
(403) a list of users associated with the opportunity. In one
example, a list determining engine determines a list of users
associated with the opportunity. For example, the list determining
engine determines users associated with metadata for the
opportunity A as described in FIG. 2. In this example, the users
associated with metadata may have been assigned responsibility for
part of the opportunity. Further, the users associated with
metadata may have skills associated with an area of the
metadata.
[0070] FIG. 5 is a diagram of an example of a notifying system
(500), according to the principles described herein. The notifying
system (500) includes a receiving engine (502), an identifying
engine (504), a second user determining engine (506), and a sending
engine (508). In this example, the notifying system (500) also
includes a list determining engine (510). The engines (502, 504,
506, 508, 510) refer to a combination of hardware and program
instructions to perform a designated function. Each of the engines
(502, 504, 506, 508, 510) may include a processor and memory. The
program instructions are stored in the memory and cause the
processor to execute the designated function of the engine.
[0071] The receiving engine (502) receives at least one
modification made to an opportunity stored in a CRM system, the
opportunity representing a complex record structure in the CRM
system, in which each of the opportunities captures a number of
fields of metadata. In one example, the receiving engine (502)
receives at least one modification made to several opportunities
stored in a CRM system modifying, the modification modifying a
sales engineer assigned to the opportunities. In another example,
the receiving engine (502) receives at least one modification
recording that a sale has occurred related to an opportunity. In
another example, the receiving engine (502) receives at least one
modification to an opportunity in a CRM system, the modification
modifying a product that a customer may be interested in
purchasing.
[0072] The identifying engine (504) identifies a first user
associated with the modification made to the opportunity stored in
the CRM system. In one example, the first user may the user who
made the modification to the opportunity may be identified as the
user responsible for the modification.
[0073] The second user determining engine (506) determines, from
the list of users associated with the opportunity, a second user
associated with the first user through an IM service. In one
example, the second user may a user, a group of users, or
combinations thereof.
[0074] The sending engine (508) sends an alert to the second user
of the IM service, the alert indicating to the second user the
modification made to the opportunity by the first user. In one
example, the alert indicates, via an icon, the modification the
first user made to the opportunity. The alert further includes a
summary of the modification that the first user made to the
opportunity. The alert further includes a link, the link allowing
the second user to access the opportunity in the CRM system.
Further, the alert allows the second user to view other
modifications the first user made to other opportunities stored in
the CRM system. Further, the sending engine (508) sends the alert
to the second user on the IM service by sending the alert via the
IM service, a SMS, an email, or combinations thereof.
[0075] The list determining engine (510) determines a list of users
associated with the opportunity. In one example, the list
determining engine (510) determines a list of users associated with
several opportunities.
[0076] FIG. 6 is a diagram of an example of a notifying system
(600), according to the principles described herein. In this
example, the notifying system (600) includes processing resources
(602) that are in communication with memory resources (604).
Processing resources (602) include at least one processor and other
resources used to process programmed instructions. The memory
resources (604) generally represent any memory capable of storing
data such as programmed instructions or data structures used by the
notifying system (600). The programmed instructions shown stored in
the memory resources (604) include a modification receiver (606), a
first user identifier (608), a list determiner (610), a second user
identifier (612), and an alert sender (614).
[0077] The memory resources (604) include a computer readable
storage medium that contains computer readable program code to
cause tasks to be executed by the processing resources (602). The
computer readable storage medium may be tangible and/or physical
storage medium. The computer readable storage medium may be any
appropriate storage medium that is not a transmission storage
medium. A non-exhaustive list of computer readable storage medium
types includes non-volatile memory, volatile memory, random access
memory, write only memory, flash memory, electrically erasable
program read only memory, or types of memory, or combinations
thereof.
[0078] The modification receiver (606) represents programmed
instructions that, when executed, cause the processing resource
(602) to receive at least one modification to an opportunity stored
in a CRM system, the opportunity representing a complex record
structure in the CRM system. The first user identifier (608)
represents programmed instructions that, when executed, cause the
processing resource (602) to identify a first user associated with
the modification made to the opportunity stored in the CRM
system.
[0079] The list determiner (610) represents programmed instructs
that, when executed by a processor, cause the processing resource
to determine a list of users associated with the opportunity. The
second user determiner (612) represents programmed instructs that,
when executed by a processor, cause the processing resource to
determine, from the list of users associated with the opportunity,
a second user associated with the first user through an IM service.
The alert sender (614) represents programmed instructions that,
when executed by a processor, cause the processing resource to send
an alert to the second user on the IM service, the alert indicating
to the second user the modification made to the opportunity by the
first user.
[0080] Further, the memory resources (604) may be part of an
installation package. In response to installing the installation
package, the programmed instructions of the memory resources (604)
may be downloaded from the installation package's source, such as a
portable medium, a server, a remote network location, another
location, or combinations thereof. Portable memory media that are
compatible with the principles described herein include DVDs, CDs,
flash memory, portable disks, magnetic disks, optical disks, other
forms of portable memory, or combinations thereof. In other
examples, the program instructions are already installed. Here, the
memory resources can include integrated memory such as a hard
drive, a solid state hard drive, or the like.
[0081] In some examples, the processing resources (602) and the
memory resources (604) are located within the same physical
component, such as a server, or a network component. The memory
resources (604) may be part of the physical component's main
memory, caches, registers, non-volatile memory, or elsewhere in the
physical component's memory hierarchy. Alternatively, the memory
resources (604) may be in communication with the processing
resources (602) over a network. Further, the data structures, such
as the libraries, may be accessed from a remote location over a
network connection while the programmed instructions are located
locally. Thus, the notifying system (600) may be implemented on a
user device, on a server, on a collection of servers, or
combinations thereof.
[0082] The notifying system (600) of FIG. 6 may be part of a
general purpose computer. However, in alternative examples, the
notifying system (600) is part of an application specific
integrated circuit.
[0083] FIG. 7 is a diagram of an example of an alert displayed via
a user interface (UI), according to the principles described
herein. As mentioned above, a sending engine of FIG. 2 sends an
alert to the second user on the IM service, the alert indicating to
the second user the modification made to the opportunity by the
first user. As will be described below, the UT may be part of an IM
system.
[0084] As illustrated, the UT (700) includes a number of IM users
(701). In one example, the IM users (701) may be presented to a
second user receiving a message indicating a change to a number of
opportunities. An IM user (701) may have an image (702) associated
with each IM user (701). Further, an IM user (701) may have a name
(703) associated with each IM user (701). An IM user (701) may have
a presence indicator (704) icon associated with the each IM user
(701).
[0085] In one example, an IM user (701) may specify an image A
(702-1) and a name (703-1). Image A (702-1) may be a picture of the
IM user (701), or may be an image selected by the user (701) of
another subject. Image A (702-1) may provide a visual reminder of
the identity of the IM user (701).
[0086] An IM user (701) may also specify a name (703). In this
example, a user has specified a name of user A (703-1). A different
user has specified a name of user B (703-2). Another user has
specified a name of user C (703-3). A final user has specified a
name of user D (703-4)
[0087] In one example, the presence indicators (704) may indicate
when an IM user (701) is active on an IM system. Further, the
presence indicators (704) may indicate how much time has passed
since the IM user (701) was last active on the IM system. The
presence indicators (704) may indicate the nature of a device, such
as a mobile device or a web access device, the IM user (701) uses
to connect to the IM system. In one example, the presence
indicators (704) may be a color, such as green, when the IM user
(701) is active on the IM system. In another example, the presence
indicators (704) may be grey when the IM user (701) is not active
on the IM system. Further, the presence indicator (704) may be a
symbol, such as symbol A (704-1), indicating when a user (701) has
made a modification to an opportunity. Symbol A (704-1), may also
indicate when an IM user (701), is active in the IM system, but has
not recently changed any opportunities. Further, symbol A (704-1)
may be a shape to indicate a user's activity. For example, symbol A
(704-1) may use a circle to indicate presence of a user that is
present but idle, a star to indicate the presence of a user that is
present and active, or a crescent to indicate a user that is not
presence. In one example, the presence indicators (704) may display
different symbols for different users. For example, user A (703-1)
may display symbol A (704-1), user B (703-1) may display symbol B
(704-2), user C (703-3) may display symbol C (704-3), and user D
(703-4) may display symbol D (704-4).
[0088] In one example, an alert engine may send an alert to alter
the display of the presence indicator (704). The presence indicator
(704) may show that a user recently modification to an opportunity.
The presence indicator (704) may display an icon indicating a
modification, or may change colors indicating a modification. For
example, green is used to indicate activity, and grey is used to
indicate inactivity, a third color, such as yellow, may indicate
that the IM user (701) has modified an opportunity.
[0089] In another example, the alert engine may send an alert to
alter the presence indicator (704). In one example the presence
indicator may be green, indicating that the user (701) is active.
The alert engine may send an alert to the IM user (701) that causes
the presence indicator (704) to have a yellow background,
indicating that the user has updated an opportunity. In this
example, a IM user (701) would display both that they are active on
the IM system, and also as that the IM user (701) recently modified
an opportunity.
[0090] In another example, the alert engine may send an alert to
display a symbol as a presence indicator (704) indicating the user
(701) has made a change. For example, the user A (703-1) may
display symbol A (704-1) indicating that User A (703-1) has made a
modification to an opportunity. The user of the user interface
(700) may be provided with a number of opportunities, such as using
a mouse to click on the name user A (703-1) to display additional
details on the change. The users User B (703-2) and User C (703-3)
may display Symbol B (704-2) or Symbol C (704-3) indicating that
the users are active on the IM system. The user (701) may display
Symbol D (703-4) indicating that the user is not currently active
on the IM system.
[0091] When User A (703-1) displays Symbol A (704-1) indicating
that that User A (703-1) has modified an opportunity, the symbol
may also serve to generate a report relating to the modification.
The alert for User A (703-1) may provide additional detail as to
the modification. The alert may be displayed by a number of
mechanisms, such as clicking on the name for User A (703-1) or a
cursor our mouse movement over the name.
[0092] The alert (705) may display an icon (706) indicating the
nature of the modification to the opportunity. The icon (706) may
inform the user of the nature of the change, that action is
requested, or that action may be recommended by the system. The
alert (705) may display a summary (707) describing the nature of
the change that has been made. The alert (705) may display a link
(708) to invoke a change to the opportunity. The link (708) may
invoke changes such as approval to a prior change, a change of
assignment, or second change to the opportunity. The alert (705)
may include a full description of a modification (709) to the
opportunity. The full description of the modification (709) may
provide the entire change to the opportunity.
[0093] The preceding description has been presented to illustrate
and describe examples of the principles described. This description
is not intended to be exhaustive or to limit these principles to
any precise form disclosed. Many modifications and variations are
possible in light of the above teaching.
[0094] The flowchart and block diagrams in the figures illustrate
the architecture, functionality, and operations of possible
implementations of systems, methods, and computer program products.
In this regard, each block in the flowchart or block diagrams may
represent a module, segment, or portion of code, which has a number
of executable instructions for implementing the specific logical
function(s). It should also be noted that, in some alternative
implementations, the functions noted in the block may occur out of
the order noted in the figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or
the blocks may sometimes be executed in the reverse order,
depending upon the functionality involved. It will also be noted
that each block of the block diagrams and/or flowchart illustration
and combination of blocks in the block diagrams and/or flowchart
illustration, can be implemented by special purpose hardware-based
systems that perform the specified functions or acts, or
combinations of special purpose hardware and computer
instructions.
[0095] The terminology used herein is for the purpose of describing
particular examples, and is not intended to be limiting. As used
herein, the singular forms "a," "an" and "the" are intended to
include the plural forms as well, unless the context clearly
indicates otherwise. It will be further understood that the terms
"comprises" and/or "comprising," when used in the specification,
specify the presence of stated features, integers, operations,
elements, and/or components, but do not preclude the presence or
addition of a number of other features, integers, operations,
elements, components, and/or groups thereof.
* * * * *