---
title: "Slack"
lang: "en-US"
draft: false
description: "Learn about how to set up a VDP Slack component https://github.com/instill-ai/instill-core"
---
The Slack component is an application component that allows users to get and send message on Slack.
It can carry out the following tasks:
- [Read Message](#read-message)
- [Send Message](#send-message)
## Release Stage
`Alpha`
## Configuration
The component definition and tasks are defined in the [definition.json](https://github.com/instill-ai/component/blob/main/application/slack/v0/config/definition.json) and [tasks.json](https://github.com/instill-ai/component/blob/main/application/slack/v0/config/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**](https://www.instill.tech/docs/vdp/integration)
page and reference the whole `setup` as `setup:
${connection.<my-connection-id>}`.
| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Token (required) | `token` | string | Fill in your Slack app access token. For more information about how to access to create app tokens, please refer to the Slack API documentation. |
## 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 | A channel name display in Slack |
| Start to read date | `start-to-read-date` | string | earliest date in all read messages |
| Output | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| [Conversations](#read-message-conversations) | `conversations` | array[object] | An array of conversations with thread messages |
<details>
<summary> Output Objects in Read Message</summary>
<h4 id="read-message-conversations">Conversations</h4>
| 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](#read-message-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 |
<h4 id="read-message-replied-messages">Replied Messages</h4>
| 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 |
</details>
### 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 | A channel name display in Slack |
| Message (required) | `message` | string | message to be sent to the target channel |
| Output | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Result | `result` | string | result for sending message |