# Get Messages

> `UiPath.Slack.Activities.Messages.GetMessages`

`UiPath.Slack.Activities.Messages.GetMessages`

## Overview

The **Get Messages** activity uses the Slack [conversations.list](https://api.slack.com/methods/conversations.list) and [conversations.history](https://api.slack.com/methods/conversations.history) APIs to retrieve the most recent messages from a specified conversation (**Conversation**).

After retrieving the messages, the activity returns the properties in a `Message[]` object (**Messages**) that you can use as input property variables in subsequent activities (e.g., `Message(0).Files` in [Download File](https://docs.uipath.com/activities/other/latest/legacy-integrations/slack-download-file), etc.).

## How it works

The following steps and message sequence diagram is an example how the activity works from design time (i.e., the activity dependencies and input/output properties) to run time.

1. Complete the [Setup](https://docs.uipath.com/activities/other/latest/legacy-integrations/slack-setup) steps.
2. Add the [Slack Scope](https://docs.uipath.com/activities/other/latest/legacy-integrations/slack-scope) activity to your project.
3. Add the **Get Messages** activity inside the **Slack Scope** activity.
4. Enter values for the [Input](https://docs.uipath.com/activities/other/latest/legacy-integrations/slack-get-messages#get-messages) properties.
5. Create and enter a `Message[]` variable for your [Output](https://docs.uipath.com/activities/other/latest/legacy-integrations/slack-get-messages#get-messages) property.
6. Run the activity.

## In the Body of the Activity

* **Conversation Type** - The type of conversation you want to get messages from. There are three available options: Channel, Direct Message, Group Message.
* **Channel Name** - The name of the channel to get messages from. `String` or `String` variable
* **Channel ID** - The ID of the channel to get messages from. `String` or `String` variable.
* **MarkAsRead** - Specifies whether you want to mark the retrieved messages as read in your workspace. When selected, all messages that are returned in the `Message` array (**Messages**) are marked as read in your Slack workspace.
* **MaxResults** - The maximum number of messages that you want returned in the `Message` array. Enter a `Int32` or `Int32` variable.
* **Messages** - The messages found based on your specified **Conversation**. Enter a `Message[]` variable. If you plan to use the activity to process the array output, select *UiPath.Slack.Models.Message* as the **TypeArgument**.
* **User Email** - The email of the user who's DM you want to get messages from. Enter a `String` or `String` variable.
* **Conversation Name** - The ID of the Group Direct Message you want to get messages from This field supports only `Strings` or `String` variables. Direct messages between one or more users take the form of "mpdm-Person1--Person2--Person3-1".

## Properties

### Common

* **DisplayName** - The display name of the activity. This field supports only `Strings` or `String` variables.

### Misc

* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level.

### Output

* **ResponseStatus** - The status of the request (success/failure information). Enter a `ResponseStatus` variable (*UiPath.BAF.Models.ResponseStatus*). The `ResponseStatus` object includes three properties that you can use in other activities.
  + **Success** - `Boolean` - Specifies whether the API request was successful.
  + **ErrorCode** - `String` - The response error if the API request is unsuccessful (**Success**=*False*).
  + **Message** - `String` - The error message.
