Slack

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>}.

FieldField IDTypeNote
Bot OAuth Token (required)bot-tokenstringToken associated to the application bot
User OAuth Tokenuser-tokenstringToken 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

InputIDTypeDescription
Task ID (required)taskstringTASK_READ_MESSAGE
Channel Name (required)channel-namestringChannel name, as displayed on Slack
Start to read datestart-to-read-datestringDate (in YYYY-MM-DD format) from which messages will start to be fetched
OutputIDTypeDescription
Conversationsconversationsarray[object]An array of conversations with thread messages
Output Objects in Read Message

Conversations

FieldField IDTypeNote
Last Datelast-datestringDate of the last message
Start Conversation Messagemessagestringmessage to start a conversation
Start Datestart-datestringwhen a conversation starts
Replied messagesthread-reply-messagesarrayreplies in a conversation
User UIDuser-idstringunique id from Slack
User Nameuser-namestringuser name in Slack

Replied Messages

FieldField IDTypeNote
Replied Timedatetimestringreplied datetime
Replied Messagemessagestringmessage to reply a conversation
User UIDuser-idstringunique id from Slack
User Nameuser-namestringuser name in Slack

#Send Message

send message to a specific channel

InputIDTypeDescription
Task ID (required)taskstringTASK_WRITE_MESSAGE
Channel Name (required)channel-namestringChannel name, as displayed on Slack
Message (required)messagestringThe message to be sent to the target channel
Send As Useras-userbooleanSend the message on behalf of the user identified by the setup.user-token field
OutputIDTypeDescription
ResultresultstringResult of the message delivery