Conversations
Fetch conversations (both channels and public/private conversations), send messages to a conversation, and unfurl messages for previews within conversations using Unified APIs for Collaboration Tools.
Get conversations
Returns a list of conversations (eg:channels, direct public) messages, private messages etc.) within the specified team/workspace.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X GET "https://integrate.browserstack.com/api/collaboration-tools/v1/conversations?unique_user_id=steve@acme.com&tool=slack&team_id=X00XXXXXXX0"
- 
  
unique_user_id* String
Unique identifier for user e.g. email ID
 - 
  
tool* String
Name of the tool. Allowed values are
slack,msteams - 
  
team_id* String
Unique identifier for team/workspace e.g. X00XXX!XXX0
 - 
  
as_bot boolean
Indicator that allows you to identify the source/sender of a message as a bot. By using this field, you can attribute messages to a bot entity, distinguishing them from messages originating from user accounts.
 
Response attributes 200 application/json
Response
{
    "success": true,
    "data": {
        "channels": [
            {
                "key": "A00AA0A000A",
                "label": "random",
                "is_private": false,
                "icon": "https://static-assets.browserstack.com/integrate/icons/slack/public_channel.svg"
            },
            {
                "key": "B00AA0A000B",
                "label": "confidential-channel",
                "is_private": true,
                "icon": "https://static-assets.browserstack.com/integrate/icons/slack/private_channel.svg"
            }
        ],
        "users": [
            {
                "key": "U00UU0U000U",
                "label": "demouser1",
                "icon": "https://secure.gravatar.com/avatar/07asdkndjbhfu83asdfd8f677f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2DSguysadS7g%2Favatars%2Fava_0026-32.png",
                "email": "user1@exampleemail.com",
                "display_name": "User 1"
            },
            {
                "key": "Z00UU0U000Z",
                "label": "demouser1",
                "icon": "https://secure.gravatar.com/avatar/07asdkndjbhfu83asdfd8f677f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2DSasdkasadS7g%2Favatars%2Fava_0026-32.png",
                "email": "user1@exampleemail.com",
                "display_name": "User 2"
            }
        ]
    }
}
- 
  
success Boolean
Operation was a success or failure.
 - 
  
data Object
List of all conversations within the team (/workspace)
 
Send message
Post a message to a conversation as a user/bot.
To get the details of the send message /message API itself, refer to the send-message-meta endpoint. It helps you understand how to interact with the send message (/message) endpoint and guides you on how to post messages (with a format, if required) as per your preference.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "https://integrate.browserstack.com/api/collaboration-tools/v1/message?unique_user_id=steve@acme.co&tool=slack"
- 
  
unique_user_id* String
Unique identifier for user e.g. email ID
 - 
  
tool* String
Name of the tool. Allowed values are
slack,msteams - 
  
as_bot boolean
Indicator that allows you to identify the source/sender of a message as a bot. By using this field, you can attribute messages to a bot entity, distinguishing them from messages originating from user accounts.
 
Response attributes 200 application/json
Response
- 
  
success Boolean
Operation was a success or failure.
 - 
  
data Object
Details of the message posted
 
Meta for send message
Get the meta-data of the send message (/message)  endpoint. 
This API returns information about the supported fields and their schema details.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "/api/collaboration-tools/v1/meta-send-message?unique_user_id=steve@acme.com&tool=slack"
- 
  
unique_user_id* String
Unique identifier for user e.g. email ID
 - 
  
tool* String
Name of the tool. Allowed values are
slack,msteams - 
  
team_id String
Unique identifier for the team (/worskpace) e.g. email ID
 
Response attributes 200 application/json
Response
{
    "success": true,
    "data": {
        "fields": [
            {
                "required": true,
                "label": "Channel or Username",
                "key": "conversation_id",
                "options_path": "/api/collaboration-tools/v1/conversations?tool=slack&format=single-value-select&team_id=T00TTTTTTT0",
                "schema": {
                    "field": "single-value-select",
                    "system_field": true,
                    "data_format": {
                        "$type": "string"
                    }
                }
            },
            {
                "required": true,
                "label": "Message",
                "key": "message",
                "schema": {
                    "field": "paragraph",
                    "system_field": true,
                    "data_format": {
                        "$type": "string"
                    }
                }
            },
            {
                "required": false,
                "label": "Attachment",
                "key": "attachment",
                "schema": {
                    "field": "file_url",
                    "system_field": true,
                    "data_format": {
                        "$type": "array",
                        "$items": {
                            "$type": "string"
                        }
                    }
                }
            }
        ]
    }
}
- 
  
success Boolean
Operation was a success or failure.
 - 
  
data Object
Fields to be passed (required and option) for sending a message
 
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.