# US 2019/0356700 A1 · Systems and methods for initiating external actions via a group-based communication system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0356700 A1
- Document ID: US20190356700A1
- Status: Published application
- Kind: A1
- Application number: 16/176,883
- Filed: 2018-10-31
- Published: 2019-11-21
- Earliest claimed: 2018-05-21
- Assignees: Slack Technologies, LLC
- Applicants: Slack Technologies, Inc.
- Inventors: Salman Suhail; Bruce Sullivan; Patricia Ang; Hye Jung Choi; Prajna Shetty; Andrew Fong; Michael Deng; Stephen Sowole; Tolga Akin; Pranay Agarwal
- Web page: https://patentgrep.com/patent/US20190356700A1

## CPC

- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- G06Q 10/10: Office automation; Time management
- H04L 12/1859: {adapted to provide push services, e.g. data channels}
- H04L 51/046: Interoperability with other network applications or services
- H04L 51/08: Annexed information, e.g. attachments
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- H04L 65/1045: Proxies, e.g. for session initiation protocol [SIP]
- H04L 65/1063: Application servers providing network services (systems providing special services to telephonic subscribers H04M3/42)
- H04L 65/1096: Supplementary features, e.g. call forwarding or call holding (systems providing special services or facilities to telephony subscribers H04M3/42)
- H04L 65/401: wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A group-based communication platform may be utilized to execute one or more processing actions via respective external application systems based on messages exchanged among client devices via the group-based communication platform. A particular processing action may be executed for a particular message by generating a container including contextual data and payload data, wherein the payload data comprises the message for which the processing action is to be performed. The container is provided to the external application system via a proxy endpoint, thereby causing the external application system to execute the processing action based on the data included within the container.

## Claims

### Claim 1

A computer-implemented method for executing processing actions based on messages within an external application system, the method comprising:
generating, via one or more processors of a group-based communication platform, a container comprising contextual data and payload data, wherein the contextual data is generated based at least in part on a data stored within a processing action table and identifies (1) a processing action to be performed by an external application system and (2) a client token identifying a client device requesting the processing action, and the payload data comprises a message exchanged via the group-based communication platform;
providing, via the one or more processors of the group-based communication platform, the container to a proxy endpoint accessible to the external application system to enable the external application system to retrieve data within the container and to execute the identified processing action based at least in part on the payload data;
receiving, via the one or more processors of the group-based communication platform, a response from the external application system, wherein the response comprises the client token identifying the client device requesting the processing action;
based at least in part on the response, causing the client device to display an interactive dialog;
receiving additional data from the client device via the interactive dialog; and
transmitting the additional data to the proxy endpoint to be associated with the container to enable the external application system to utilize the additional data to execute the processing action.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving a confirmation response from the external application system indicating completion of the requested processing action; and
transmitting a confirmation message to the requesting client device.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the confirmation message is transmitted to the client device as a message.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the message is shared between a plurality of client devices within a communication channel via the group-based communication platform, wherein the communication channel has an associated channel identifier and wherein the method further comprises:
causing the client device to display a curated list of a plurality of processing actions, wherein the processing actions included within the curated list are selected based at least in part on a channel identifier; and
receiving input from the client device selecting the processing action to be performed.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the message is associated with one or more characteristics, and wherein the method further comprises:
causing the client device to display a curated list of a plurality of processing actions, wherein the processing actions included within the curated list are selected based at least in part on the characteristics associated with the message; and
receiving input from the client device selecting the processing action to be performed.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the characteristics associated with a message identifies a sending user identifier of the message, and wherein the processing actions included within the curated list are selected based at least in part on the sending user identifier of the message.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the message comprises at least one of: a text-based message or a file object.

### Claim 8

A system configured for executing a processing action based on a message shared via a group-based communication platform within an external application system, wherein the group-based communication platform comprises:
one or more non-transitory memory storage repositories, wherein the one or more non-transitory memory storage repositories comprise a processing action table identifying one or more processing actions available for one or more messages; and
one or more processors, wherein the one or more processors are collectively configured to:
receive a selection of a message and a processing action for the message from a client device, wherein the processing action is selected from the processing action table;
generate a container comprising contextual data and payload data based upon the selection of the message and the processing action for the message, wherein the contextual data is generated based at least in part on a data stored within a processing action table and identifies (1) a processing action to be performed by an external application system and (2) a client token identifying the client device requesting the processing action, and the payload data comprises a message exchanged via the group-based communication platform;
provide the container to a proxy endpoint accessible to the external application system to enable the external application system to retrieve data within the container and to execute the identified processing action based at least in part on the payload data;
receive, a response from the external application system, wherein the response comprises the client token identifying the client device requesting the processing action;
based at least in part on the response, cause the client device to display an interactive dialog;
receive additional data from the client device via the interactive dialog; and
transmit the additional data to the proxy endpoint to be associated with the container to enable the external application system to utilize the additional data to execute the processing action.

### Claim 9 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to:
receive a confirmation response from the external application system indicating completion of the requested processing action; and
transmit a confirmation message to the requesting client device.

### Claim 10 (depends on 9)

The system of claim 9, wherein the confirmation message is transmitted to the client device as a message.

### Claim 11 (depends on 8)

The system of claim 8, wherein the message is shared between a plurality of client devices within a communication channel via the group-based communication platform, wherein the communication channel has an associated channel identifier and wherein the one or more processors are further configured to:
cause the client device to display a curated list of a plurality of processing actions, wherein the processing actions included within the curated list are selected based at least in part on a channel identifier; and
wherein the selection of the processing action is based at least in part on the curated list of a plurality of processing actions.

### Claim 12 (depends on 8)

The system of claim 8, wherein the message is shared between a plurality of client devices within a communication channel via the group-based communication platform, wherein the communication channel has an associated channel identifier and wherein the one or more processors are further configured to:
cause the client device to display a curated list of a plurality of processing actions, wherein the processing actions included within the curated list are selected based at least in part on characteristics associated with the message; and
wherein the selection of the processing action is based at least in part on the curated list of a plurality of processing actions.

### Claim 13 (depends on 12)

The system of claim 12, wherein the characteristics associated with a message identifies a sending user identifier of the message, and wherein the processing actions included within the curated list are selected based at least in part on the sending user identifier of the message.

### Claim 14 (depends on 8)

The system of claim 8, wherein the message comprises at least one of: a text-based message or a file object.

### Claim 15

A computer program product for executing a processing action based on a message within an external application system, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to:
generate a container comprising contextual data and payload data, wherein the contextual data is generated based at least in part on a data stored within a processing action table and identifies (1) a processing action to be performed by an external application system and (2) a client token identifying a client device requesting the processing action, and the payload data comprises a message exchanged via the group-based communication platform;
provide the container to a proxy endpoint accessible to the external application system to enable the external application system to retrieve data within the container and to execute the identified processing action based at least in part on the payload data;
receive a response from the external application system, wherein the response comprises the client token identifying the client device requesting the processing action;
based at least in part on the response, cause the client device to display an interactive dialog;
receive additional data from the client device via the interactive dialog; and
transmit the additional data to the proxy endpoint to be associated with the container to enable the external application system to utilize the additional data to execute the processing action.

### Claim 16 (depends on 15)

The computer program product of claim 15, further comprising an executable portion configured to:
receive a confirmation response from the external application system indicating completion of the requested processing action; and
transmit a confirmation message to the requesting client device.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the confirmation message is transmitted to the client device as a message.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the message is shared between a plurality of client devices within a communication channel via the group-based communication platform, wherein the communication channel has an associated channel identifier and wherein the computer program product further comprises an executable portion configured to:
cause the client device to display a curated list of a plurality of processing actions, wherein the processing actions included within the curated list are selected based at least in part on a channel identifier; and
receive input from the client device selecting the processing action to be performed.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein the message is associated with characteristics, and wherein the computer program product further comprises an executable portion configured to:
cause the client device to display a curated list of a plurality of processing actions, wherein the processing actions included within the curated list are selected based at least in part on the characteristics associated with the message; and
receive input from the client device selecting the processing action to be performed.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein the characteristics associated with a message identifies a sending user identifier of the message, and wherein the processing actions included within the curated list are selected based at least in part on the sending user identifier of the message.

### Claim 21 (depends on 15)

The computer program product of claim 15, wherein the message comprises at least one of: a text-based message or a file object.
