Operations (sample payloads)

Main operations
Copy

Add reminder
Copy

This method creates a reminder.

Sample Input

1
{
2
"text": "Team meeting",
3
"time": "tomorrow at 10am",
4
"user_id": "U1234567890"
5
}

Sample Output

1
{
2
"ok": true,
3
"reminder": {
4
"id": "Rm12345678",
5
"creator": "U9876543210",
6
"user": "U1234567890",
7
"text": "Team meeting",
8
"recurring": false,
9
"time": 1623240000,
10
"complete_ts": 0
11
}
12
}

Archive conversation
Copy

Archive a conversation in your Slack account.

Sample Input

1
{
2
"channel": "C01234ABCDE"
3
}

Sample Output

1
{
2
"ok": true
3
}

Conversation exists?
Copy

Checks to see whether a conversation exists in Slack.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef",
3
"channel": "#general"
4
}

Sample Output

1
{
2
"channel": {
3
"id": "C012AB3CD",
4
"name": "general",
5
"is_channel": true,
6
"is_group": false,
7
"is_im": false,
8
"created": 1449252889,
9
"creator": "U012A3CDE",
10
"is_archived": false,
11
"is_general": true,
12
"unlinked": 0,
13
"name_normalized": "general",
14
"is_read_only": false,
15
"is_shared": false,
16
"parent_conversation": [],
17
"is_ext_shared": false,
18
"is_org_shared": false,
19
"pending_shared": [],
20
"is_pending_ext_shared": false,
21
"is_member": true,
22
"is_private": false,
23
"is_mpim": false,
24
"last_read": "1592345678.000200",
25
"topic": {
26
"value": "Company-wide announcements and work-based matters",
27
"creator": "U012A3CDE",
28
"last_set": 1592150772
29
},
30
"purpose": {
31
"value": "This channel is for team-wide communication and announcements. All team members are in this channel.",
32
"creator": "U012A3CDE",
33
"last_set": 1592150772
34
},
35
"previous_names": [],
36
"locale": "en-US"
37
},
38
"exists": true
39
}

Create conversation
Copy

Create a public or private channel-based conversation.

Sample Input

1
{
2
"name": "project-updates",
3
"is_private": false
4
}

Sample Output

1
{
2
"ok": true,
3
"channel": {
4
"id": "C01234ABCDE",
5
"name": "project-updates",
6
"is_channel": true,
7
"is_group": false,
8
"is_im": false,
9
"created": 1609459200,
10
"creator": "U9876ZYXWV",
11
"is_archived": false,
12
"is_general": false,
13
"unlinked": 0,
14
"name_normalized": "project-updates",
15
"is_shared": false,
16
"is_ext_shared": false,
17
"is_org_shared": false,
18
"pending_shared": [],
19
"is_pending_ext_shared": false,
20
"is_member": true,
21
"is_private": false,
22
"is_mpim": false,
23
"last_read": "0000000000.000000",
24
"latest": 1609459200,
25
"unread_count": 0,
26
"unread_count_display": 0,
27
"topic": {
28
"value": "",
29
"creator": "",
30
"last_set": 0
31
},
32
"purpose": {
33
"value": "",
34
"creator": "",
35
"last_set": 0
36
},
37
"previous_names": [],
38
"priority": 0
39
}
40
}

Create pin
Copy

Pin a message, file, or file comment to a channel.

Sample Input

1
{
2
"channel": "C0123456789",
3
"message": "1234567890.123456",
4
"file": null,
5
"file_comment": null
6
}

Sample Output

1
{
2
"ok": true
3
}

Delete scheduled message
Copy

Delete a pending scheduled message from the queue.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"channel": "C0123ABCDEF",
4
"scheduled_message_id": "Q01234567890",
5
"as_user": true
6
}

Sample Output

1
{
2
"ok": true
3
}

Generate channel name
Copy

Given a piece of text (e.g. an Account name in Salesforce), generate a Slack friendly channel name in the format "my-channel-name". You can then pass this directly to the "Create Channel" operation.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"name": "Acme Corporation Sales Team"
4
}

Sample Output

1
{
2
"channel": "acme-corporation-sales-team"
3
}

Get conversation info
Copy

Retrieve information about a conversation.

Sample Input

1
{
2
"channel": "C0123456789",
3
"include_locale": true,
4
"include_num_members": true
5
}

Sample Output

1
{
2
"ok": true,
3
"channel": {
4
"id": "C0123456789",
5
"name": "general",
6
"is_channel": true,
7
"is_group": false,
8
"is_im": false,
9
"created": 1609459200,
10
"creator": "U9876543210",
11
"is_archived": false,
12
"is_general": true,
13
"unlinked": 0,
14
"name_normalized": "general",
15
"is_read_only": false,
16
"is_shared": false,
17
"parent_conversation": [],
18
"is_ext_shared": false,
19
"is_org_shared": false,
20
"pending_shared": [],
21
"is_pending_ext_shared": false,
22
"is_member": true,
23
"is_private": false,
24
"is_mpim": false,
25
"last_read": "1623456789.000200",
26
"topic": {
27
"value": "Company-wide announcements and work-based matters",
28
"creator": "U9876543210",
29
"last_set": 1609459200
30
},
31
"purpose": {
32
"value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
33
"creator": "U9876543210",
34
"last_set": 1609459200
35
},
36
"previous_names": [],
37
"locale": "en-US",
38
"num_members": 58
39
}
40
}

Get user
Copy

Get details of a user in your Slack channel, using their unique ID.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef",
3
"user_id": "U0123ABCD",
4
"include_locale": true
5
}

Sample Output

1
{
2
"ok": true,
3
"user": {
4
"id": "U0123ABCD",
5
"team_id": "T01234567",
6
"name": "johndoe",
7
"deleted": false,
8
"color": "9f69e7",
9
"real_name": "John Doe",
10
"tz": "America/Los_Angeles",
11
"tz_label": "Pacific Daylight Time",
12
"tz_offset": -25200,
13
"profile": {
14
"title": "Software Engineer",
15
"phone": "+1 (555) 123-4567",
16
"skype": "johndoe_skype",
17
"real_name": "John Doe",
18
"real_name_normalized": "John Doe",
19
"display_name": "johndoe",
20
"display_name_normalized": "johndoe",
21
"fields": null,
22
"status_text": "Working from home",
23
"status_emoji": ":house:",
24
"status_emoji_display_info": [],
25
"status_expiration": 0,
26
"avatar_hash": "g1234567890",
27
"email": "johndoe@example.com",
28
"first_name": "John",
29
"last_name": "Doe",
30
"image_24": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png",
31
"image_32": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png",
32
"image_48": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png",
33
"image_72": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png",
34
"image_192": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png",
35
"image_512": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png",
36
"status_text_canonical": "",
37
"team": "T01234567"
38
},
39
"is_admin": false,
40
"is_owner": false,
41
"is_primary_owner": false,
42
"is_restricted": false,
43
"is_ultra_restricted": false,
44
"is_bot": false,
45
"is_app_user": false,
46
"updated": 1617235678,
47
"is_email_confirmed": true,
48
"has_2fa": true,
49
"who_can_share_contact_card": "EVERYONE",
50
"locale": "en-US"
51
}
52
}

Get user by email
Copy

Get a user by their email address.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"email": "john.doe@example.com"
4
}

Sample Output

1
{
2
"found": true,
3
"user": {
4
"id": "U0123ABCD",
5
"team_id": "T01234567",
6
"name": "johndoe",
7
"deleted": false,
8
"color": "9f69e7",
9
"real_name": "John Doe",
10
"tz": "America/Los_Angeles",
11
"tz_label": "Pacific Daylight Time",
12
"tz_offset": -25200,
13
"profile": {
14
"title": "Software Engineer",
15
"phone": "+1 (555) 123-4567",
16
"skype": "john.doe.skype",
17
"real_name": "John Doe",
18
"real_name_normalized": "John Doe",
19
"display_name": "John",
20
"display_name_normalized": "John",
21
"status_text": "Working from home",
22
"status_emoji": ":house:",
23
"status_expiration": 1623456789,
24
"avatar_hash": "g1234567890",
25
"image_original": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_original.jpg",
26
"is_custom_image": true,
27
"email": "john.doe@example.com",
28
"first_name": "John",
29
"last_name": "Doe",
30
"image_24": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_24.jpg",
31
"image_32": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_32.jpg",
32
"image_48": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_48.jpg",
33
"image_72": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_72.jpg",
34
"image_192": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_192.jpg",
35
"image_512": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_512.jpg",
36
"image_1024": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_1024.jpg",
37
"status_text_canonical": "",
38
"team": "T01234567"
39
},
40
"is_admin": false,
41
"is_owner": false,
42
"is_primary_owner": false,
43
"is_restricted": false,
44
"is_ultra_restricted": false,
45
"is_bot": false,
46
"is_app_user": false,
47
"updated": 1623456789,
48
"is_email_confirmed": true,
49
"has_2fa": true
50
}
51
}

Invite user to conversation
Copy

Invite a user to a conversation in your Slack account. The calling user must be a member of the channel.

Sample Input

1
{
2
"channel": "C0123ABC456",
3
"user": "U9876XYZ543",
4
"succeed_on_exists": true
5
}

Sample Output

1
{
2
"ok": true,
3
"channel": {
4
"id": "C0123ABC456",
5
"name": "project-alpha",
6
"is_channel": true,
7
"is_group": false,
8
"is_im": false,
9
"created": 1609459200,
10
"creator": "U1234567890",
11
"is_archived": false,
12
"is_general": false,
13
"unlinked": 0,
14
"name_normalized": "project-alpha",
15
"is_read_only": false,
16
"is_shared": false,
17
"is_ext_shared": false,
18
"is_org_shared": false,
19
"pending_shared": [],
20
"is_pending_ext_shared": false,
21
"is_member": true,
22
"is_private": false,
23
"is_mpim": false,
24
"last_read": "1623456789.000200",
25
"topic": {
26
"value": "Discuss Project Alpha tasks",
27
"creator": "U1234567890",
28
"last_set": 1609459300
29
},
30
"purpose": {
31
"value": "Collaboration space for Project Alpha team",
32
"creator": "U1234567890",
33
"last_set": 1609459400
34
},
35
"previous_names": [],
36
"num_members": 15,
37
"locale": "en-US"
38
}
39
}

Leave conversation
Copy

Remove yourself (the authenticated user) from a conversation.

Sample Input

1
{
2
"channel": "C0123ABCDEF"
3
}

Sample Output

1
{
2
"ok": true,
3
"not_in_channel": false
4
}

List conversations
Copy

List of all channel-like conversations in a workspace.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"exclude_archived": true,
4
"types": [
5
"public_channel",
6
"private_channel"
7
],
8
"limit": 50,
9
"cursor": ""
10
}

Sample Output

1
{
2
"ok": true,
3
"channels": [
4
{
5
"id": "C012AB3CD",
6
"name": "general",
7
"is_channel": true,
8
"is_group": false,
9
"is_im": false,
10
"created": 1449252889,
11
"is_archived": false,
12
"is_general": true,
13
"unlinked": 0,
14
"name_normalized": "general",
15
"is_shared": false,
16
"creator": "U012A3CDE",
17
"is_ext_shared": false,
18
"is_org_shared": false,
19
"shared_team_ids": [
20
"T012AB3C4"
21
],
22
"pending_shared": [],
23
"pending_connected_team_ids": [],
24
"is_pending_ext_shared": false,
25
"is_member": true,
26
"is_private": false,
27
"is_mpim": false,
28
"topic": {
29
"value": "Company-wide announcements and work-based matters",
30
"creator": "U012A3CDE",
31
"last_set": 1449709364
32
},
33
"purpose": {
34
"value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
35
"creator": "U012A3CDE",
36
"last_set": 1449709364
37
},
38
"previous_names": [],
39
"num_members": 4
40
},
41
{
42
"id": "C061EG9T2",
43
"name": "random",
44
"is_channel": true,
45
"is_group": false,
46
"is_im": false,
47
"created": 1449252889,
48
"is_archived": false,
49
"is_general": false,
50
"unlinked": 0,
51
"name_normalized": "random",
52
"is_shared": false,
53
"creator": "U061F7AUR",
54
"is_ext_shared": false,
55
"is_org_shared": false,
56
"shared_team_ids": [
57
"T061EG9R6"
58
],
59
"pending_shared": [],
60
"pending_connected_team_ids": [],
61
"is_pending_ext_shared": false,
62
"is_member": true,
63
"is_private": false,
64
"is_mpim": false,
65
"topic": {
66
"value": "Non-work banter and water cooler conversation",
67
"creator": "U061F7AUR",
68
"last_set": 1449709364
69
},
70
"purpose": {
71
"value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
72
"creator": "U061F7AUR",
73
"last_set": 1449709364
74
},
75
"previous_names": [],
76
"num_members": 4
77
}
78
],
79
"response_metadata": {
80
"next_cursor": "dGVhbTpDMDYxRkE1UEI="
81
}
82
}

List scheduled messages
Copy

Returns a list of pending scheduled messages.

Sample Input

1
{
2
"token": "xoxp-1234567890-abcdefghij-987654321",
3
"channel": "C0123ABCDEF",
4
"latest": "2023-05-15T12:00:00Z",
5
"oldest": "2023-05-01T00:00:00Z",
6
"limit": 50,
7
"cursor": ""
8
}

Sample Output

1
{
2
"ok": true,
3
"scheduled_messages": [
4
{
5
"id": "Q1234567890",
6
"channel_id": "C0123ABCDEF",
7
"post_at": 1683907200,
8
"date_created": 1683648000,
9
"text": "Reminder: Team meeting at 2 PM today!"
10
},
11
{
12
"id": "Q2345678901",
13
"channel_id": "C0123ABCDEF",
14
"post_at": 1684080000,
15
"date_created": 1683734400,
16
"text": "Don't forget to submit your weekly reports by EOD."
17
}
18
],
19
"response_metadata": {
20
"next_cursor": "dXNlcjpVMDYxTkZUVDI="
21
}
22
}

List users
Copy

Get a list of all of the users in your Slack team.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef",
3
"cursor": "",
4
"limit": 50
5
}

Sample Output

1
{
2
"ok": true,
3
"offset": "0",
4
"members": [
5
{
6
"id": "U0123ABCD",
7
"team_id": "T01234567",
8
"name": "johndoe",
9
"deleted": false,
10
"profile": {
11
"title": "Software Engineer",
12
"phone": "+1 555-123-4567",
13
"skype": "john.doe",
14
"real_name": "John Doe",
15
"real_name_normalized": "John Doe",
16
"display_name": "Johnny",
17
"display_name_normalized": "Johnny",
18
"fields": null,
19
"status_text": "Working from home",
20
"status_emoji": ":house:",
21
"status_expiration": 1623456789,
22
"avatar_hash": "g1234567890",
23
"email": "john.doe@example.com",
24
"image_24": "https://secure.gravatar.com/avatar/123456.jpg?s=24",
25
"image_32": "https://secure.gravatar.com/avatar/123456.jpg?s=32",
26
"image_48": "https://secure.gravatar.com/avatar/123456.jpg?s=48",
27
"image_72": "https://secure.gravatar.com/avatar/123456.jpg?s=72",
28
"image_192": "https://secure.gravatar.com/avatar/123456.jpg?s=192",
29
"image_512": "https://secure.gravatar.com/avatar/123456.jpg?s=512",
30
"status_text_canonical": "",
31
"team": "T01234567"
32
},
33
"is_bot": false,
34
"is_app_user": false,
35
"updated": 1623456789
36
}
37
],
38
"cache_ts": 1623456789,
39
"response_metadata": {
40
"next_cursor": "dXNlcjpVMEIyOUJQTjY="
41
}
42
}

List users conversations
Copy

List conversations the calling user may access

Sample Input

1
{
2
"token": "xoxp-1234567890-abcdefghij-987654321",
3
"user": "U1234567890",
4
"exclude_archived": true,
5
"types": [
6
"public_channel",
7
"private_channel"
8
],
9
"limit": 50,
10
"cursor": "dXNlcjpVMEYxMTJCMzI="
11
}

Sample Output

1
{
2
"ok": true,
3
"channels": [
4
{
5
"id": "C012AB3CD",
6
"name": "general",
7
"is_channel": true,
8
"is_group": false,
9
"is_im": false,
10
"created": 1449252889,
11
"is_archived": false,
12
"is_general": true,
13
"unlinked": 0,
14
"name_normalized": "general",
15
"is_shared": false,
16
"creator": "U012A3CDE",
17
"is_ext_shared": false,
18
"is_org_shared": false,
19
"shared_team_ids": [
20
"T012AB3C4"
21
],
22
"pending_shared": [],
23
"pending_connected_team_ids": [],
24
"is_pending_ext_shared": false,
25
"is_private": false,
26
"is_mpim": false,
27
"topic": {
28
"value": "Company-wide announcements and work-based matters",
29
"creator": "U012A3CDE",
30
"last_set": 1449709364
31
},
32
"purpose": {
33
"value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
34
"creator": "U012A3CDE",
35
"last_set": 1449709364
36
},
37
"previous_names": []
38
},
39
{
40
"id": "C061EG9T2",
41
"name": "random",
42
"is_channel": true,
43
"is_group": false,
44
"is_im": false,
45
"created": 1449252889,
46
"is_archived": false,
47
"is_general": false,
48
"unlinked": 0,
49
"name_normalized": "random",
50
"is_shared": false,
51
"creator": "U061F7AUR",
52
"is_ext_shared": false,
53
"is_org_shared": false,
54
"shared_team_ids": [
55
"T061EG9R6"
56
],
57
"pending_shared": [],
58
"pending_connected_team_ids": [],
59
"is_pending_ext_shared": false,
60
"is_private": false,
61
"is_mpim": false,
62
"topic": {
63
"value": "Non-work banter and water cooler conversation",
64
"creator": "U061F7AUR",
65
"last_set": 1449709364
66
},
67
"purpose": {
68
"value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
69
"creator": "U061F7AUR",
70
"last_set": 1449709364
71
},
72
"previous_names": []
73
}
74
],
75
"response_metadata": {
76
"next_cursor": "dXNlcjpVMEYxMTJCMzM="
77
}
78
}

Send ephemeral message
Copy

Send a message that only a certain user can see in a public or private channel.

Sample Input

1
{
2
"token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx",
3
"channel": "C0123ABCDEF",
4
"user": "U9876ZYXWV",
5
"text": "This is an ephemeral message only visible to you.",
6
"attachments": [
7
{
8
"color": "#36A64F",
9
"title": "Attachment Title",
10
"text": "This is the main text of the attachment.",
11
"fields": [
12
{
13
"title": "Field 1",
14
"value": "Value 1",
15
"short": true
16
},
17
{
18
"title": "Field 2",
19
"value": "Value 2",
20
"short": true
21
}
22
]
23
}
24
],
25
"blocks": {
26
"blocks": [
27
{
28
"type": "section",
29
"text": {
30
"type": "mrkdwn",
31
"text": "This is a section block with a button."
32
},
33
"accessory": {
34
"type": "button",
35
"text": {
36
"type": "plain_text",
37
"text": "Click Me",
38
"emoji": true
39
},
40
"value": "click_me_123",
41
"action_id": "button"
42
}
43
}
44
]
45
},
46
"username": "EphemeralBot",
47
"as_user": false,
48
"icon_emoji": ":ghost:",
49
"parse": "full",
50
"link_names": true
51
}

Sample Output

1
{
2
"ok": true,
3
"message_ts": "1234567890.123456"
4
}

Send ephemeral response
Copy

Send an ephemeral response message using the response_url parameter provided by Slack slash commands and actions. This will only be visible by the user.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef",
3
"text": "Your request has been processed successfully!",
4
"response_url": "https://hooks.slack.com/commands/T1234567/B1234567/abcdefghijklmnopqrstuvwx",
5
"attachments": [
6
{
7
"color": "#36A64F",
8
"pretext": "Here are the details of your request:",
9
"author_name": "Tray.io Bot",
10
"author_link": "https://tray.io",
11
"author_icon": "https://tray.io/favicon.ico",
12
"title": "Request Summary",
13
"title_link": "https://app.tray.io/workflows/123456",
14
"text": "Your workflow has completed successfully.",
15
"fields": [
16
{
17
"title": "Workflow Name",
18
"value": "Data Processing Workflow",
19
"short": true
20
},
21
{
22
"title": "Execution Time",
23
"value": "2 minutes",
24
"short": true
25
}
26
],
27
"image_url": "https://example.com/success-image.png",
28
"thumb_url": "https://example.com/success-thumb.png",
29
"actions": [
30
{
31
"text": "View Details",
32
"type": "button",
33
"style": "primary"
34
},
35
{
36
"text": "Select Action",
37
"type": "select",
38
"options": [
39
"Rerun workflow",
40
"View logs",
41
"Contact support"
42
]
43
}
44
],
45
"actions_handler_workflow_id": "987654",
46
"actions_data": {
47
"workflow_id": "123456",
48
"user_id": "U9876543"
49
},
50
"fallback": "Your request has been processed successfully",
51
"footer": "Powered by Tray.io",
52
"footer_icon": "https://s3-eu-west-1.amazonaws.com/static.tray.io/brand/tray-icon.png",
53
"ts": 1623456789
54
}
55
]
56
}

Sample Output

1
{
2
"success": true
3
}

Send message
Copy

Send a message to a user or channel.

Sample Input

1
{
2
"token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx",
3
"channel": "C0123ABCDEF",
4
"text": "Hello, this is a test message!",
5
"blocks": {
6
"blocks": [
7
{
8
"type": "section",
9
"text": {
10
"type": "mrkdwn",
11
"text": "*Important Announcement*\nWe have a new team member joining us next week!"
12
}
13
},
14
{
15
"type": "divider"
16
},
17
{
18
"type": "context",
19
"elements": [
20
{
21
"type": "image",
22
"image_url": "https://example.com/profile-pic.jpg",
23
"alt_text": "Profile picture"
24
},
25
{
26
"type": "mrkdwn",
27
"text": "*Jane Doe* will be joining our Marketing team as a Senior Content Strategist."
28
}
29
]
30
}
31
]
32
},
33
"username": "Announcement Bot",
34
"icon_emoji": ":loudspeaker:",
35
"thread_ts": "1234567890.123456",
36
"reply_broadcast": true
37
}

Sample Output

1
{
2
"ok": true,
3
"channel": "C0123ABCDEF",
4
"ts": "1234567890.123457",
5
"message": {
6
"text": "Hello, this is a test message!",
7
"username": "Announcement Bot",
8
"bot_id": "B0123ABCDEF",
9
"type": "message",
10
"subtype": "bot_message",
11
"ts": "1234567890.123457"
12
}
13
}

Set conversation purpose
Copy

Set the purpose for a conversation. The calling user must be a member of the conversation. Not all conversation types may have a purpose set.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"channel": "C0123ABCDEF",
4
"purpose": "This channel is for discussing project updates and milestones."
5
}

Sample Output

1
{
2
"ok": true,
3
"channel": {
4
"id": "C0123ABCDEF",
5
"name": "project-updates",
6
"is_channel": true,
7
"is_group": false,
8
"is_im": false,
9
"created": 1609459200,
10
"is_archived": false,
11
"is_general": false,
12
"unlinked": 0,
13
"name_normalized": "project-updates",
14
"is_shared": false,
15
"parent_conversation": [],
16
"creator": "U9876ZYXWV",
17
"is_ext_shared": false,
18
"is_org_shared": false,
19
"shared_team_ids": [
20
"T0123456789"
21
],
22
"pending_shared": [],
23
"pending_connected_team_ids": [],
24
"is_pending_ext_shared": false,
25
"is_member": true,
26
"is_private": false,
27
"is_mpim": false,
28
"last_read": "1623456789.000200",
29
"is_open": true,
30
"topic": {
31
"value": "Project X Updates",
32
"creator": "U9876ZYXWV",
33
"last_set": 1623456700
34
},
35
"purpose": {
36
"value": "This channel is for discussing project updates and milestones.",
37
"creator": "U9876ZYXWV",
38
"last_set": 1623456800
39
}
40
}
41
}

Set conversation topic
Copy

Set the topic for a conversation. The calling user must be a member of the conversation. Not all conversation types may have a purpose set.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"channel": "C0123ABCDEF",
4
"topic": "Q4 Planning Discussion"
5
}

Sample Output

1
{
2
"ok": true,
3
"channel": {
4
"id": "C0123ABCDEF",
5
"name": "general",
6
"is_channel": true,
7
"is_group": false,
8
"is_im": false,
9
"created": 1609459200,
10
"is_archived": false,
11
"is_general": true,
12
"unlinked": 0,
13
"name_normalized": "general",
14
"is_shared": false,
15
"parent_conversation": [],
16
"creator": "U0123ABCDEF",
17
"is_ext_shared": false,
18
"is_org_shared": false,
19
"shared_team_ids": [
20
"T0123ABCDEF"
21
],
22
"pending_shared": [],
23
"pending_connected_team_ids": [],
24
"is_pending_ext_shared": false,
25
"is_member": true,
26
"is_private": false,
27
"is_mpim": false,
28
"last_read": "1609459200.000100",
29
"is_open": true,
30
"topic": {
31
"value": "Q4 Planning Discussion",
32
"creator": "U0123ABCDEF",
33
"last_set": 1609459300
34
},
35
"purpose": {
36
"value": "This channel is for workspace-wide communication and announcements.",
37
"creator": "U0123ABCDEF",
38
"last_set": 1609459200
39
}
40
}
41
}

Set profile
Copy

Set the user's presence and status.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"status_text": "In a meeting",
4
"status_emoji": ":calendar:",
5
"status_expiration": "2023-05-15T14:30:00Z"
6
}

Sample Output

1
{
2
"ok": true,
3
"profile": {
4
"status_text": "In a meeting",
5
"status_emoji": ":calendar:",
6
"status_expiration": 1684160600,
7
"display_name": "John Doe",
8
"real_name": "John Doe",
9
"avatar_hash": "g1234567890",
10
"email": "john.doe@example.com",
11
"image_24": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-24.png",
12
"image_32": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-32.png",
13
"image_48": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-48.png",
14
"image_72": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-72.png",
15
"image_192": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-192.png",
16
"image_512": "https://secure.gravatar.com/avatar/1234567890abcdef.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-512.png"
17
},
18
"username": "johndoe"
19
}

Unfurl one or more links in a Slack message, adding "attachments" that contain additional context to the message.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef",
3
"message_id": "1234567890.123456",
4
"channel_id": "C1234567890",
5
"unfurls": [
6
{
7
"url": "https://www.example.com/article",
8
"attachment": {
9
"color": "#36A64F",
10
"pretext": "Check out this interesting article!",
11
"author_name": "John Doe",
12
"author_link": "https://www.example.com/author/johndoe",
13
"author_icon": "https://www.example.com/author/johndoe/avatar.png",
14
"title": "10 Tips for Productivity",
15
"title_link": "https://www.example.com/article",
16
"text": "Boost your productivity with these 10 simple tips...",
17
"fields": [
18
{
19
"title": "Reading Time",
20
"value": "5 minutes",
21
"short": true
22
},
23
{
24
"title": "Category",
25
"value": "Productivity",
26
"short": true
27
}
28
],
29
"image_url": "https://www.example.com/article/image.jpg",
30
"thumb_url": "https://www.example.com/article/thumbnail.jpg",
31
"actions": [
32
{
33
"text": "Read More",
34
"type": "button",
35
"style": "primary"
36
},
37
{
38
"text": "Share",
39
"type": "select",
40
"options": [
41
"Twitter",
42
"Facebook",
43
"LinkedIn"
44
]
45
}
46
],
47
"actions_handler_workflow_id": "wf_123456",
48
"actions_data": {
49
"article_id": "12345"
50
},
51
"fallback": "New article: 10 Tips for Productivity",
52
"footer": "Published on Example.com",
53
"footer_icon": "https://www.example.com/favicon.ico",
54
"ts": 1623456789
55
}
56
}
57
]
58
}

Sample Output

1
{
2
"ok": true
3
}

Update message
Copy

Update a message that's previously been sent. Useful when reacting to actions like buttons and menus.

Sample Input

1
{
2
"token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx",
3
"message_id": "1234567890.123456",
4
"channel": "C0123ABCDEF",
5
"text": "Updated message text",
6
"attachments": [
7
{
8
"color": "#36A64F",
9
"title": "Updated Attachment",
10
"text": "This is an updated attachment",
11
"fields": [
12
{
13
"title": "Priority",
14
"value": "High",
15
"short": true
16
},
17
{
18
"title": "Status",
19
"value": "In Progress",
20
"short": true
21
}
22
]
23
}
24
],
25
"parse": "full",
26
"link_names": true,
27
"unfurl_links": true,
28
"unfurl_media": true
29
}

Sample Output

1
{
2
"ok": true,
3
"channel": "C0123ABCDEF",
4
"ts": "1234567890.123456",
5
"text": "Updated message text",
6
"message": {
7
"text": "Updated message text",
8
"username": "tray.io",
9
"bot_id": "B0123ABCDEF",
10
"type": "message",
11
"subtype": "bot_message"
12
}
13
}

Upload file
Copy

Uploads or creates a file. Optionally share to users or channels. This operation requires a scope to be enabled in your authentication, either files:write (for new Slack apps) or files:write:user.

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
3
"file": {
4
"content": "Base64EncodedFileContentHere",
5
"filename": "report.pdf"
6
},
7
"channels": [
8
"C1234567890",
9
"U0987654321"
10
],
11
"filename": "quarterly_report_q2_2023.pdf",
12
"filetype": "pdf",
13
"initial_comment": "Here's the Q2 2023 quarterly report for review.",
14
"title": "Q2 2023 Quarterly Report"
15
}

Sample Output

1
{
2
"ok": true,
3
"file": {
4
"id": "F1234567890",
5
"created": 1623456789,
6
"timestamp": 1623456789,
7
"name": "quarterly_report_q2_2023.pdf",
8
"title": "Q2 2023 Quarterly Report",
9
"mimetype": "application/pdf",
10
"filetype": "pdf",
11
"pretty_type": "PDF",
12
"user": "U1234567890",
13
"editable": false,
14
"size": 2048000,
15
"mode": "hosted",
16
"is_external": false,
17
"external_type": "",
18
"is_public": false,
19
"public_url_shared": false,
20
"display_as_bot": false,
21
"username": "",
22
"url_private": "https://files.slack.com/files-pri/T1234567890-F1234567890/quarterly_report_q2_2023.pdf",
23
"url_private_download": "https://files.slack.com/files-pri/T1234567890-F1234567890/download/quarterly_report_q2_2023.pdf",
24
"thumb_64": "https://files.slack.com/files-tmb/T1234567890-F1234567890-64/quarterly_report_q2_2023_64.png",
25
"thumb_80": "https://files.slack.com/files-tmb/T1234567890-F1234567890-80/quarterly_report_q2_2023_80.png",
26
"thumb_360": "https://files.slack.com/files-tmb/T1234567890-F1234567890-360/quarterly_report_q2_2023_360.png",
27
"thumb_360_w": 360,
28
"thumb_360_h": 280,
29
"thumb_480": "https://files.slack.com/files-tmb/T1234567890-F1234567890-480/quarterly_report_q2_2023_480.png",
30
"thumb_480_w": 480,
31
"thumb_480_h": 373,
32
"thumb_160": "https://files.slack.com/files-tmb/T1234567890-F1234567890-160/quarterly_report_q2_2023_160.png",
33
"thumb_720": "https://files.slack.com/files-tmb/T1234567890-F1234567890-720/quarterly_report_q2_2023_720.png",
34
"thumb_720_w": 720,
35
"thumb_720_h": 560,
36
"original_w": 1920,
37
"original_h": 1080,
38
"thumb_tiny": "AwAQADC0UUUAFFFFABRRRQAUUUUAf//Z",
39
"permalink": "https://myworkspace.slack.com/files/U1234567890/F1234567890/quarterly_report_q2_2023.pdf",
40
"permalink_public": "https://slack-files.com/T1234567890-F1234567890-8a9b2c3d4e",
41
"comments_count": 0,
42
"is_starred": false,
43
"shares": {},
44
"channels": [
45
"C1234567890"
46
],
47
"groups": [],
48
"ims": [
49
"D0987654321"
50
],
51
"has_rich_preview": false
52
}
53
}

DDL operations
Copy

List conversations (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx"
3
}

Sample Output

1
{
2
"options": [
3
{
4
"label": "General",
5
"value": "C012345ABCDE"
6
},
7
{
8
"label": "Random",
9
"value": "C0123456FGHI"
10
},
11
{
12
"label": "Project-X",
13
"value": "C0123457JKLM"
14
},
15
{
16
"label": "Team-Updates",
17
"value": "C0123458NOPQ"
18
},
19
{
20
"label": "Support",
21
"value": "C0123459RSTU"
22
}
23
]
24
}

List conversations non archived (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx"
3
}

Sample Output

1
{
2
"options": [
3
{
4
"label": "general",
5
"value": "C012345ABCD"
6
},
7
{
8
"label": "random",
9
"value": "C0123456EFG"
10
},
11
{
12
"label": "project-alpha",
13
"value": "C0123457HIJ"
14
},
15
{
16
"label": "team-marketing",
17
"value": "C0123458KLM"
18
},
19
{
20
"label": "support",
21
"value": "C0123459NOP"
22
}
23
]
24
}

List filetypes (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef"
3
}

Sample Output

1
{
2
"filetypes": [
3
{
4
"value": "all",
5
"label": "All file types"
6
},
7
{
8
"value": "spaces",
9
"label": "Posts"
10
},
11
{
12
"value": "snippets",
13
"label": "Snippets"
14
},
15
{
16
"value": "images",
17
"label": "Images"
18
},
19
{
20
"value": "gdocs",
21
"label": "Google Docs"
22
},
23
{
24
"value": "zips",
25
"label": "Zip files"
26
},
27
{
28
"value": "pdfs",
29
"label": "PDF files"
30
}
31
]
32
}

List scheduled messages (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx"
3
}

Sample Output

1
{
2
"ok": true,
3
"scheduled_messages": [
4
{
5
"id": "Q1234ABCD",
6
"channel_id": "C0123456789",
7
"post_at": 1632150000,
8
"date_created": 1631545600,
9
"text": "Reminder: Team meeting at 2 PM today!"
10
},
11
{
12
"id": "Q5678EFGH",
13
"channel_id": "C9876543210",
14
"post_at": 1632236400,
15
"date_created": 1631632000,
16
"text": "Don't forget to submit your weekly reports by EOD."
17
}
18
]
19
}

List users actual (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef"
3
}

Sample Output

1
{
2
"ok": true,
3
"members": [
4
{
5
"id": "U0123ABCD",
6
"team_id": "T01234567",
7
"name": "johndoe",
8
"deleted": false,
9
"color": "9f69e7",
10
"real_name": "John Doe",
11
"tz": "America/Los_Angeles",
12
"tz_label": "Pacific Daylight Time",
13
"tz_offset": -25200,
14
"profile": {
15
"avatar_hash": "g1234567890",
16
"status_text": "Working from home",
17
"status_emoji": ":house:",
18
"real_name": "John Doe",
19
"display_name": "John",
20
"real_name_normalized": "John Doe",
21
"display_name_normalized": "John",
22
"email": "john.doe@example.com",
23
"image_24": "https://secure.gravatar.com/avatar/1234567890abcdef?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png",
24
"image_32": "https://secure.gravatar.com/avatar/1234567890abcdef?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png",
25
"image_48": "https://secure.gravatar.com/avatar/1234567890abcdef?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png",
26
"image_72": "https://secure.gravatar.com/avatar/1234567890abcdef?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png",
27
"image_192": "https://secure.gravatar.com/avatar/1234567890abcdef?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png",
28
"image_512": "https://secure.gravatar.com/avatar/1234567890abcdef?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png",
29
"team": "T01234567"
30
},
31
"is_admin": true,
32
"is_owner": false,
33
"is_primary_owner": false,
34
"is_restricted": false,
35
"is_ultra_restricted": false,
36
"is_bot": false,
37
"updated": 1609459200,
38
"is_app_user": false,
39
"has_2fa": true
40
}
41
],
42
"cache_ts": 1609459200,
43
"response_metadata": {
44
"next_cursor": ""
45
}
46
}

List users and conversations (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef"
3
}

Sample Output

1
{
2
"users": [
3
{
4
"id": "U0123ABCD",
5
"name": "john.doe",
6
"real_name": "John Doe",
7
"email": "john.doe@example.com"
8
},
9
{
10
"id": "U4567EFGH",
11
"name": "jane.smith",
12
"real_name": "Jane Smith",
13
"email": "jane.smith@example.com"
14
}
15
],
16
"conversations": [
17
{
18
"id": "C0123WXYZ",
19
"name": "general",
20
"is_channel": true,
21
"is_group": false,
22
"is_im": false
23
},
24
{
25
"id": "G4567LMNO",
26
"name": "project-alpha",
27
"is_channel": false,
28
"is_group": true,
29
"is_im": false
30
},
31
{
32
"id": "D8901PQRS",
33
"user": "U0123ABCD",
34
"is_channel": false,
35
"is_group": false,
36
"is_im": true
37
}
38
]
39
}

List users (DDL)
Copy

Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

Sample Input

1
{
2
"token": "xoxp-1234567890-1234567890-1234567890-abcdef"
3
}

Sample Output

1
{
2
"users": [
3
{
4
"id": "U0123ABCD",
5
"name": "johndoe",
6
"real_name": "John Doe",
7
"email": "john.doe@example.com",
8
"is_admin": false,
9
"is_owner": false,
10
"is_primary_owner": false,
11
"is_restricted": false,
12
"is_ultra_restricted": false,
13
"is_bot": false,
14
"updated": 1609459200,
15
"is_app_user": false,
16
"has_2fa": true,
17
"tz": "America/Los_Angeles",
18
"tz_label": "Pacific Standard Time",
19
"tz_offset": -28800,
20
"profile": {
21
"avatar_hash": "g1234567890",
22
"status_text": "Working from home",
23
"status_emoji": ":house:",
24
"real_name": "John Doe",
25
"display_name": "John",
26
"real_name_normalized": "John Doe",
27
"display_name_normalized": "John",
28
"email": "john.doe@example.com",
29
"image_24": "https://secure.gravatar.com/avatar/1234567890abcdef?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-24.png",
30
"image_32": "https://secure.gravatar.com/avatar/1234567890abcdef?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-32.png",
31
"image_48": "https://secure.gravatar.com/avatar/1234567890abcdef?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-48.png",
32
"image_72": "https://secure.gravatar.com/avatar/1234567890abcdef?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-72.png",
33
"image_192": "https://secure.gravatar.com/avatar/1234567890abcdef?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-192.png",
34
"image_512": "https://secure.gravatar.com/avatar/1234567890abcdef?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0002-512.png",
35
"team": "T0123ABCD"
36
},
37
"is_email_confirmed": true,
38
"who_can_share_contact_card": "EVERYONE"
39
},
40
{
41
"id": "U0123EFGH",
42
"name": "janedoe",
43
"real_name": "Jane Doe",
44
"email": "jane.doe@example.com",
45
"is_admin": true,
46
"is_owner": false,
47
"is_primary_owner": false,
48
"is_restricted": false,
49
"is_ultra_restricted": false,
50
"is_bot": false,
51
"updated": 1609459200,
52
"is_app_user": false,
53
"has_2fa": true,
54
"tz": "Europe/London",
55
"tz_label": "British Summer Time",
56
"tz_offset": 3600,
57
"profile": {
58
"avatar_hash": "h1234567890",
59
"status_text": "In a meeting",
60
"status_emoji": ":calendar:",
61
"real_name": "Jane Doe",
62
"display_name": "Jane",
63
"real_name_normalized": "Jane Doe",
64
"display_name_normalized": "Jane",
65
"email": "jane.doe@example.com",
66
"image_24": "https://secure.gravatar.com/avatar/0987654321fedcba?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png",
67
"image_32": "https://secure.gravatar.com/avatar/0987654321fedcba?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png",
68
"image_48": "https://secure.gravatar.com/avatar/0987654321fedcba?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png",
69
"image_72": "https://secure.gravatar.com/avatar/0987654321fedcba?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png",
70
"image_192": "https://secure.gravatar.com/avatar/0987654321fedcba?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png",
71
"image_512": "https://secure.gravatar.com/avatar/0987654321fedcba?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png",
72
"team": "T0123ABCD"
73
},
74
"is_email_confirmed": true,
75
"who_can_share_contact_card": "EVERYONE"
76
}
77
]
78
}