The Slack component is an application component that allows users to get and send message on Slack. It can carry out the following tasks:
#Release Stage
Alpha
#Configuration
The component definition and tasks are defined in the definition.json and tasks.json files respectively.
#Setup
In order to communicate with Slack, the following connection details need to be
provided. You may specify them directly in a pipeline recipe as key-value pairs
within the component's setup
block, or you can create a Connection from
the Integration Settings
page and reference the whole setup
as setup: ${connection.<my-connection-id>}
.
Field | Field ID | Type | Note |
---|---|---|---|
Bot OAuth Token (required) | bot-token | string | Token associated to the application bot |
User OAuth Token | user-token | string | Token to act on behalf of a Slack user |
#Connecting through a Slack App
The Slack component connects with your workspace via a Slack App. In order to read / write messages from / to Slack, you'll need to:
- Add the app to your workspace.
- Add the app to the channels you want to interact with.
On Instill Cloud, the instill-ai
app will be used fo connect with Slack.
On Instill Core, you can provide the client ID and client secret of your
app in order to connect with your workspace.
#Supported Tasks
#Read Message
Get the latest message since specific date
Input | ID | Type | Description |
---|---|---|---|
Task ID (required) | task | string | TASK_READ_MESSAGE |
Channel Name (required) | channel-name | string | Channel name, as displayed on Slack |
Start to read date | start-to-read-date | string | Date (in YYYY-MM-DD format) from which messages will start to be fetched |
Output | ID | Type | Description |
---|---|---|---|
Conversations | conversations | array[object] | An array of conversations with thread messages |
Output Objects in Read Message
Conversations
Field | Field ID | Type | Note |
---|---|---|---|
Last Date | last-date | string | Date of the last message |
Start Conversation Message | message | string | message to start a conversation |
Start Date | start-date | string | when a conversation starts |
Replied messages | thread-reply-messages | array | replies in a conversation |
User UID | user-id | string | unique id from Slack |
User Name | user-name | string | user name in Slack |
Replied Messages
Field | Field ID | Type | Note |
---|---|---|---|
Replied Time | datetime | string | replied datetime |
Replied Message | message | string | message to reply a conversation |
User UID | user-id | string | unique id from Slack |
User Name | user-name | string | user name in Slack |
#Send Message
send message to a specific channel
Input | ID | Type | Description |
---|---|---|---|
Task ID (required) | task | string | TASK_WRITE_MESSAGE |
Channel Name (required) | channel-name | string | Channel name, as displayed on Slack |
Message (required) | message | string | The message to be sent to the target channel |
Send As User | as-user | boolean | Send the message on behalf of the user identified by the setup.user-token field |
Output | ID | Type | Description |
---|---|---|---|
Result | result | string | Result of the message delivery |