# Operations (sample payloads)

## Main operations

### Add reminder

This method creates a reminder.
**Sample Input**
**Sample Output**

```json
{
    "ok": true,
    "reminder": \{
        "id": "Rm12345678",
        "creator": "U9876543210",
        "user": "U1234567890",
        "text": "Team meeting",
        "recurring": false,
        "time": 1623240000,
        "complete_ts": 0
    \}
}
```

### Archive conversation

Archive a conversation in your Slack account.
**Sample Input**

```json
{
    "channel": "C01234ABCDE"
}
```

**Sample Output**

### Conversation exists?

Checks to see whether a conversation exists in Slack.
**Sample Input**

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef",
    "channel": "#general"
\}
```

**Sample Output**

```json
{
    "channel": {
        "id": "C012AB3CD",
        "name": "general",
        "is_channel": true,
        "is_group": false,
        "is_im": false,
        "created": 1449252889,
        "creator": "U012A3CDE",
        "is_archived": false,
        "is_general": true,
        "unlinked": 0,
        "name_normalized": "general",
        "is_read_only": false,
        "is_shared": false,
        "parent_conversation": [],
        "is_ext_shared": false,
        "is_org_shared": false,
        "pending_shared": [],
        "is_pending_ext_shared": false,
        "is_member": true,
        "is_private": false,
        "is_mpim": false,
        "last_read": "1592345678.000200",
        "topic": \{
            "value": "Company-wide announcements and work-based matters",
            "creator": "U012A3CDE",
            "last_set": 1592150772
        \},
        "purpose": \{
            "value": "This channel is for team-wide communication and announcements. All team members are in this channel.",
            "creator": "U012A3CDE",
            "last_set": 1592150772
        \},
        "previous_names": [],
        "locale": "en-US"
    },
    "exists": true
}
```

### Create conversation

Create a public or private channel-based conversation.
**Sample Input**

```json
\{
    "name": "project-updates",
    "is_private": false
\}
```

**Sample Output**

```json
{
    "ok": true,
    "channel": {
        "id": "C01234ABCDE",
        "name": "project-updates",
        "is_channel": true,
        "is_group": false,
        "is_im": false,
        "created": 1609459200,
        "creator": "U9876ZYXWV",
        "is_archived": false,
        "is_general": false,
        "unlinked": 0,
        "name_normalized": "project-updates",
        "is_shared": false,
        "is_ext_shared": false,
        "is_org_shared": false,
        "pending_shared": [],
        "is_pending_ext_shared": false,
        "is_member": true,
        "is_private": false,
        "is_mpim": false,
        "last_read": "0000000000.000000",
        "latest": 1609459200,
        "unread_count": 0,
        "unread_count_display": 0,
        "topic": \{
            "value": "",
            "creator": "",
            "last_set": 0
        \},
        "purpose": \{
            "value": "",
            "creator": "",
            "last_set": 0
        \},
        "previous_names": [],
        "priority": 0
    }
}
```

### Create pin

Pin a message, file, or file comment to a channel.
**Sample Input**

```json
\{
    "channel": "C0123456789",
    "message": "1234567890.123456",
    "file": null,
    "file_comment": null
\}
```

**Sample Output**

```json
{
    "ok": true
}
```

### Delete scheduled message

Delete a pending scheduled message from the queue.
**Sample Input**

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
    "channel": "C0123ABCDEF",
    "scheduled_message_id": "Q01234567890",
    "as_user": true
\}
```

**Sample Output**

```json
{
    "ok": true
}
```

### Generate channel name

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**
**Sample Output**

```json
{
    "channel": "acme-corporation-sales-team"
}
```

### Get conversation info

Retrieve information about a conversation.
**Sample Input**

```json
\{
    "channel": "C0123456789",
    "include_locale": true,
    "include_num_members": true
\}
```

**Sample Output**

```json
{
    "ok": true,
    "channel": {
        "id": "C0123456789",
        "name": "general",
        "is_channel": true,
        "is_group": false,
        "is_im": false,
        "created": 1609459200,
        "creator": "U9876543210",
        "is_archived": false,
        "is_general": true,
        "unlinked": 0,
        "name_normalized": "general",
        "is_read_only": false,
        "is_shared": false,
        "parent_conversation": [],
        "is_ext_shared": false,
        "is_org_shared": false,
        "pending_shared": [],
        "is_pending_ext_shared": false,
        "is_member": true,
        "is_private": false,
        "is_mpim": false,
        "last_read": "1623456789.000200",
        "topic": \{
            "value": "Company-wide announcements and work-based matters",
            "creator": "U9876543210",
            "last_set": 1609459200
        \},
        "purpose": \{
            "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
            "creator": "U9876543210",
            "last_set": 1609459200
        \},
        "previous_names": [],
        "locale": "en-US",
        "num_members": 58
    }
}
```

### Get user

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

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef",
    "user_id": "U0123ABCD",
    "include_locale": true
\}
```

**Sample Output**

### Get user by email

Get a user by their email address.
**Sample Input**

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
    "email": "john.doe@example.com"
\}
```

**Sample Output**

```json
{
    "found": true,
    "user": {
        "id": "U0123ABCD",
        "team_id": "T01234567",
        "name": "johndoe",
        "deleted": false,
        "color": "9f69e7",
        "real_name": "John Doe",
        "tz": "America/Los_Angeles",
        "tz_label": "Pacific Daylight Time",
        "tz_offset": -25200,
        "profile": \{
            "title": "Software Engineer",
            "phone": "+1 (555) 123-4567",
            "skype": "john.doe.skype",
            "real_name": "John Doe",
            "real_name_normalized": "John Doe",
            "display_name": "John",
            "display_name_normalized": "John",
            "status_text": "Working from home",
            "status_emoji": ":house:",
            "status_expiration": 1623456789,
            "avatar_hash": "g1234567890",
            "image_original": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_original.jpg",
            "is_custom_image": true,
            "email": "john.doe@example.com",
            "first_name": "John",
            "last_name": "Doe",
            "image_24": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_24.jpg",
            "image_32": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_32.jpg",
            "image_48": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_48.jpg",
            "image_72": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_72.jpg",
            "image_192": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_192.jpg",
            "image_512": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_512.jpg",
            "image_1024": "https://avatars.slack-edge.com/2021-06-01/1234567890_123456789012345678_1024.jpg",
            "status_text_canonical": "",
            "team": "T01234567"
        \},
        "is_admin": false,
        "is_owner": false,
        "is_primary_owner": false,
        "is_restricted": false,
        "is_ultra_restricted": false,
        "is_bot": false,
        "is_app_user": false,
        "updated": 1623456789,
        "is_email_confirmed": true,
        "has_2fa": true
    }
}
```

### Invite user to conversation

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

```json
\{
    "channel": "C0123ABC456",
    "user": "U9876XYZ543",
    "succeed_on_exists": true
\}
```

**Sample Output**

```json
{
    "ok": true,
    "channel": {
        "id": "C0123ABC456",
        "name": "project-alpha",
        "is_channel": true,
        "is_group": false,
        "is_im": false,
        "created": 1609459200,
        "creator": "U1234567890",
        "is_archived": false,
        "is_general": false,
        "unlinked": 0,
        "name_normalized": "project-alpha",
        "is_read_only": false,
        "is_shared": false,
        "is_ext_shared": false,
        "is_org_shared": false,
        "pending_shared": [],
        "is_pending_ext_shared": false,
        "is_member": true,
        "is_private": false,
        "is_mpim": false,
        "last_read": "1623456789.000200",
        "topic": \{
            "value": "Discuss Project Alpha tasks",
            "creator": "U1234567890",
            "last_set": 1609459300
        \},
        "purpose": \{
            "value": "Collaboration space for Project Alpha team",
            "creator": "U1234567890",
            "last_set": 1609459400
        \},
        "previous_names": [],
        "num_members": 15,
        "locale": "en-US"
    }
}
```

### Leave conversation

Remove yourself (the authenticated user) from a conversation.
**Sample Input**

```json
{
    "channel": "C0123ABCDEF"
}
```

**Sample Output**

### List conversations

List of all channel-like conversations in a workspace.
**Sample Input**
**Sample Output**

```json
{
    "ok": true,
    "channels": [
        {
            "id": "C012AB3CD",
            "name": "general",
            "is_channel": true,
            "is_group": false,
            "is_im": false,
            "created": 1449252889,
            "is_archived": false,
            "is_general": true,
            "unlinked": 0,
            "name_normalized": "general",
            "is_shared": false,
            "creator": "U012A3CDE",
            "is_ext_shared": false,
            "is_org_shared": false,
            "shared_team_ids": [
                "T012AB3C4"
            ],
            "pending_shared": [],
            "pending_connected_team_ids": [],
            "is_pending_ext_shared": false,
            "is_member": true,
            "is_private": false,
            "is_mpim": false,
            "topic": \{
                "value": "Company-wide announcements and work-based matters",
                "creator": "U012A3CDE",
                "last_set": 1449709364
            \},
            "purpose": \{
                "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
                "creator": "U012A3CDE",
                "last_set": 1449709364
            \},
            "previous_names": [],
            "num_members": 4
        },
        {
            "id": "C061EG9T2",
            "name": "random",
            "is_channel": true,
            "is_group": false,
            "is_im": false,
            "created": 1449252889,
            "is_archived": false,
            "is_general": false,
            "unlinked": 0,
            "name_normalized": "random",
            "is_shared": false,
            "creator": "U061F7AUR",
            "is_ext_shared": false,
            "is_org_shared": false,
            "shared_team_ids": [
                "T061EG9R6"
            ],
            "pending_shared": [],
            "pending_connected_team_ids": [],
            "is_pending_ext_shared": false,
            "is_member": true,
            "is_private": false,
            "is_mpim": false,
            "topic": \{
                "value": "Non-work banter and water cooler conversation",
                "creator": "U061F7AUR",
                "last_set": 1449709364
            \},
            "purpose": \{
                "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.",
                "creator": "U061F7AUR",
                "last_set": 1449709364
            \},
            "previous_names": [],
            "num_members": 4
        }
    ],
    "response_metadata": {
        "next_cursor": "dGVhbTpDMDYxRkE1UEI="
    }
}
```

### List scheduled messages

Returns a list of pending scheduled messages.
**Sample Input**
**Sample Output**

```json
{
    "ok": true,
    "scheduled_messages": [
        \{
            "id": "Q1234567890",
            "channel_id": "C0123ABCDEF",
            "post_at": 1683907200,
            "date_created": 1683648000,
            "text": "Reminder: Team meeting at 2 PM today!"
        \},
        \{
            "id": "Q2345678901",
            "channel_id": "C0123ABCDEF",
            "post_at": 1684080000,
            "date_created": 1683734400,
            "text": "Don't forget to submit your weekly reports by EOD."
        \}
    ],
    "response_metadata": {
        "next_cursor": "dXNlcjpVMDYxTkZUVDI="
    }
}
```

### List users

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

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef",
    "cursor": "",
    "limit": 50
\}
```

**Sample Output**

```json
{
    "ok": true,
    "offset": "0",
    "members": [
        {
            "id": "U0123ABCD",
            "team_id": "T01234567",
            "name": "johndoe",
            "deleted": false,
            "profile": \{
                "title": "Software Engineer",
                "phone": "+1 555-123-4567",
                "skype": "john.doe",
                "real_name": "John Doe",
                "real_name_normalized": "John Doe",
                "display_name": "Johnny",
                "display_name_normalized": "Johnny",
                "fields": null,
                "status_text": "Working from home",
                "status_emoji": ":house:",
                "status_expiration": 1623456789,
                "avatar_hash": "g1234567890",
                "email": "john.doe@example.com",
                "image_24": "https://secure.gravatar.com/avatar/123456.jpg?s=24",
                "image_32": "https://secure.gravatar.com/avatar/123456.jpg?s=32",
                "image_48": "https://secure.gravatar.com/avatar/123456.jpg?s=48",
                "image_72": "https://secure.gravatar.com/avatar/123456.jpg?s=72",
                "image_192": "https://secure.gravatar.com/avatar/123456.jpg?s=192",
                "image_512": "https://secure.gravatar.com/avatar/123456.jpg?s=512",
                "status_text_canonical": "",
                "team": "T01234567"
            \},
            "is_bot": false,
            "is_app_user": false,
            "updated": 1623456789
        }
    ],
    "cache_ts": 1623456789,
    "response_metadata": {
        "next_cursor": "dXNlcjpVMEIyOUJQTjY="
    }
}
```

### List users conversations

List conversations the calling user may access
**Sample Input**

```json
\{
    "token": "xoxp-1234567890-abcdefghij-987654321",
    "user": "U1234567890",
    "exclude_archived": true,
    "types": [
        "public_channel",
        "private_channel"
    ],
    "limit": 50,
    "cursor": "dXNlcjpVMEYxMTJCMzI="
\}
```

**Sample Output**

```json
{
    "ok": true,
    "channels": [
        {
            "id": "C012AB3CD",
            "name": "general",
            "is_channel": true,
            "is_group": false,
            "is_im": false,
            "created": 1449252889,
            "is_archived": false,
            "is_general": true,
            "unlinked": 0,
            "name_normalized": "general",
            "is_shared": false,
            "creator": "U012A3CDE",
            "is_ext_shared": false,
            "is_org_shared": false,
            "shared_team_ids": [
                "T012AB3C4"
            ],
            "pending_shared": [],
            "pending_connected_team_ids": [],
            "is_pending_ext_shared": false,
            "is_private": false,
            "is_mpim": false,
            "topic": \{
                "value": "Company-wide announcements and work-based matters",
                "creator": "U012A3CDE",
                "last_set": 1449709364
            \},
            "purpose": \{
                "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
                "creator": "U012A3CDE",
                "last_set": 1449709364
            \},
            "previous_names": []
        },
        {
            "id": "C061EG9T2",
            "name": "random",
            "is_channel": true,
            "is_group": false,
            "is_im": false,
            "created": 1449252889,
            "is_archived": false,
            "is_general": false,
            "unlinked": 0,
            "name_normalized": "random",
            "is_shared": false,
            "creator": "U061F7AUR",
            "is_ext_shared": false,
            "is_org_shared": false,
            "shared_team_ids": [
                "T061EG9R6"
            ],
            "pending_shared": [],
            "pending_connected_team_ids": [],
            "is_pending_ext_shared": false,
            "is_private": false,
            "is_mpim": false,
            "topic": \{
                "value": "Non-work banter and water cooler conversation",
                "creator": "U061F7AUR",
                "last_set": 1449709364
            \},
            "purpose": \{
                "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.",
                "creator": "U061F7AUR",
                "last_set": 1449709364
            \},
            "previous_names": []
        }
    ],
    "response_metadata": {
        "next_cursor": "dXNlcjpVMEYxMTJCMzM="
    }
}
```

### Send ephemeral message

Send a message that only a certain user can see in a public or private channel.
**Sample Input**
**Sample Output**

### Send ephemeral response

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**

```json
{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef",
    "text": "Your request has been processed successfully!",
    "response_url": "https://hooks.slack.com/commands/T1234567/B1234567/abcdefghijklmnopqrstuvwx",
    "attachments": [
        {
            "color": "#36A64F",
            "pretext": "Here are the details of your request:",
            "author_name": "Tray.io Bot",
            "author_link": "https://tray.io",
            "author_icon": "https://tray.io/favicon.ico",
            "title": "Request Summary",
            "title_link": "https://app.tray.io/workflows/123456",
            "text": "Your workflow has completed successfully.",
            "fields": [
                \{
                    "title": "Workflow Name",
                    "value": "Data Processing Workflow",
                    "short": true
                \},
                \{
                    "title": "Execution Time",
                    "value": "2 minutes",
                    "short": true
                \}
            ],
            "image_url": "https://example.com/success-image.png",
            "thumb_url": "https://example.com/success-thumb.png",
            "actions": [
                \{
                    "text": "View Details",
                    "type": "button",
                    "style": "primary"
                \},
                \{
                    "text": "Select Action",
                    "type": "select",
                    "options": [
                        "Rerun workflow",
                        "View logs",
                        "Contact support"
                    ]
                \}
            ],
            "actions_handler_workflow_id": "987654",
            "actions_data": \{
                "workflow_id": "123456",
                "user_id": "U9876543"
            \},
            "fallback": "Your request has been processed successfully",
            "footer": "Powered by Tray.io",
            "footer_icon": "https://s3-eu-west-1.amazonaws.com/static.tray.io/brand/tray-icon.png",
            "ts": 1623456789
        }
    ]
}
```

**Sample Output**

```json
{
    "success": true
}
```

### Send message

Send a message to a user or channel.
**Sample Input**

```json
{
    "token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx",
    "channel": "C0123ABCDEF",
    "text": "Hello, this is a test message!",
    "blocks": {
        "blocks": [
            {
                "type": "section",
                "text": \{
                    "type": "mrkdwn",
                    "text": "*Important Announcement*\nWe have a new team member joining us next week!"
                \}
            },
            {
                "type": "divider"
            },
            {
                "type": "context",
                "elements": [
                    \{
                        "type": "image",
                        "image_url": "https://example.com/profile-pic.jpg",
                        "alt_text": "Profile picture"
                    \},
                    \{
                        "type": "mrkdwn",
                        "text": "*Jane Doe* will be joining our Marketing team as a Senior Content Strategist."
                    \}
                ]
            }
        ]
    },
    "username": "Announcement Bot",
    "icon_emoji": ":loudspeaker:",
    "thread_ts": "1234567890.123456",
    "reply_broadcast": true
}
```

**Sample Output**

```json
{
    "ok": true,
    "channel": "C0123ABCDEF",
    "ts": "1234567890.123457",
    "message": \{
        "text": "Hello, this is a test message!",
        "username": "Announcement Bot",
        "bot_id": "B0123ABCDEF",
        "type": "message",
        "subtype": "bot_message",
        "ts": "1234567890.123457"
    \}
}
```

### Set conversation purpose

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**

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
    "channel": "C0123ABCDEF",
    "purpose": "This channel is for discussing project updates and milestones."
\}
```

**Sample Output**

```json
{
    "ok": true,
    "channel": {
        "id": "C0123ABCDEF",
        "name": "project-updates",
        "is_channel": true,
        "is_group": false,
        "is_im": false,
        "created": 1609459200,
        "is_archived": false,
        "is_general": false,
        "unlinked": 0,
        "name_normalized": "project-updates",
        "is_shared": false,
        "parent_conversation": [],
        "creator": "U9876ZYXWV",
        "is_ext_shared": false,
        "is_org_shared": false,
        "shared_team_ids": [
            "T0123456789"
        ],
        "pending_shared": [],
        "pending_connected_team_ids": [],
        "is_pending_ext_shared": false,
        "is_member": true,
        "is_private": false,
        "is_mpim": false,
        "last_read": "1623456789.000200",
        "is_open": true,
        "topic": \{
            "value": "Project X Updates",
            "creator": "U9876ZYXWV",
            "last_set": 1623456700
        \},
        "purpose": \{
            "value": "This channel is for discussing project updates and milestones.",
            "creator": "U9876ZYXWV",
            "last_set": 1623456800
        \}
    }
}
```

### Set conversation topic

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**

```json
\{
    "token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
    "channel": "C0123ABCDEF",
    "topic": "Q4 Planning Discussion"
\}
```

**Sample Output**

### Set profile

Set the user's presence and status.
**Sample Input**
**Sample Output**

```json
{
    "ok": true,
    "profile": \{
        "status_text": "In a meeting",
        "status_emoji": ":calendar:",
        "status_expiration": 1684160600,
        "display_name": "John Doe",
        "real_name": "John Doe",
        "avatar_hash": "g1234567890",
        "email": "john.doe@example.com",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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"
    \},
    "username": "johndoe"
}
```

### Unfurl message links

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

```json
{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef",
    "message_id": "1234567890.123456",
    "channel_id": "C1234567890",
    "unfurls": [
        {
            "url": "https://www.example.com/article",
            "attachment": {
                "color": "#36A64F",
                "pretext": "Check out this interesting article!",
                "author_name": "John Doe",
                "author_link": "https://www.example.com/author/johndoe",
                "author_icon": "https://www.example.com/author/johndoe/avatar.png",
                "title": "10 Tips for Productivity",
                "title_link": "https://www.example.com/article",
                "text": "Boost your productivity with these 10 simple tips...",
                "fields": [
                    \{
                        "title": "Reading Time",
                        "value": "5 minutes",
                        "short": true
                    \},
                    \{
                        "title": "Category",
                        "value": "Productivity",
                        "short": true
                    \}
                ],
                "image_url": "https://www.example.com/article/image.jpg",
                "thumb_url": "https://www.example.com/article/thumbnail.jpg",
                "actions": [
                    \{
                        "text": "Read More",
                        "type": "button",
                        "style": "primary"
                    \},
                    \{
                        "text": "Share",
                        "type": "select",
                        "options": [
                            "Twitter",
                            "Facebook",
                            "LinkedIn"
                        ]
                    \}
                ],
                "actions_handler_workflow_id": "wf_123456",
                "actions_data": {
                    "article_id": "12345"
                },
                "fallback": "New article: 10 Tips for Productivity",
                "footer": "Published on Example.com",
                "footer_icon": "https://www.example.com/favicon.ico",
                "ts": 1623456789
            }
        }
    ]
}
```

**Sample Output**

```json
{
    "ok": true
}
```

### Update message

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

```json
{
    "token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx",
    "message_id": "1234567890.123456",
    "channel": "C0123ABCDEF",
    "text": "Updated message text",
    "attachments": [
        {
            "color": "#36A64F",
            "title": "Updated Attachment",
            "text": "This is an updated attachment",
            "fields": [
                \{
                    "title": "Priority",
                    "value": "High",
                    "short": true
                \},
                \{
                    "title": "Status",
                    "value": "In Progress",
                    "short": true
                \}
            ]
        }
    ],
    "parse": "full",
    "link_names": true,
    "unfurl_links": true,
    "unfurl_media": true
}
```

**Sample Output**

```json
{
    "ok": true,
    "channel": "C0123ABCDEF",
    "ts": "1234567890.123456",
    "text": "Updated message text",
    "message": \{
        "text": "Updated message text",
        "username": "tray.io",
        "bot_id": "B0123ABCDEF",
        "type": "message",
        "subtype": "bot_message"
    \}
}
```

### Upload file

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**

```json
{
    "token": "xoxp-1234567890-1234567890-1234567890-1234567890abcdef",
    "file": \{
        "content": "Base64EncodedFileContentHere",
        "filename": "report.pdf"
    \},
    "channels": [
        "C1234567890",
        "U0987654321"
    ],
    "filename": "quarterly_report_q2_2023.pdf",
    "filetype": "pdf",
    "initial_comment": "Here's the Q2 2023 quarterly report for review.",
    "title": "Q2 2023 Quarterly Report"
}
```

**Sample Output**

## DDL operations

### List conversations (DDL)

> **Warning:** 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**
**Sample Output**

```json
{
    "options": [
        \{
            "label": "General",
            "value": "C012345ABCDE"
        \},
        \{
            "label": "Random",
            "value": "C0123456FGHI"
        \},
        \{
            "label": "Project-X",
            "value": "C0123457JKLM"
        \},
        \{
            "label": "Team-Updates",
            "value": "C0123458NOPQ"
        \},
        \{
            "label": "Support",
            "value": "C0123459RSTU"
        \}
    ]
}
```

### List conversations non archived (DDL)

> **Warning:** 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**
**Sample Output**

### List filetypes (DDL)

> **Warning:** 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**

```json
{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef"
}
```

**Sample Output**

```json
{
    "filetypes": [
        \{
            "value": "all",
            "label": "All file types"
        \},
        \{
            "value": "spaces",
            "label": "Posts"
        \},
        \{
            "value": "snippets",
            "label": "Snippets"
        \},
        \{
            "value": "images",
            "label": "Images"
        \},
        \{
            "value": "gdocs",
            "label": "Google Docs"
        \},
        \{
            "value": "zips",
            "label": "Zip files"
        \},
        \{
            "value": "pdfs",
            "label": "PDF files"
        \}
    ]
}
```

### List scheduled messages (DDL)

> **Warning:** 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**

```json
{
    "token": "xoxb-1234567890-abcdefghijklmnopqrstuvwx"
}
```

**Sample Output**

```json
{
    "ok": true,
    "scheduled_messages": [
        \{
            "id": "Q1234ABCD",
            "channel_id": "C0123456789",
            "post_at": 1632150000,
            "date_created": 1631545600,
            "text": "Reminder: Team meeting at 2 PM today!"
        \},
        \{
            "id": "Q5678EFGH",
            "channel_id": "C9876543210",
            "post_at": 1632236400,
            "date_created": 1631632000,
            "text": "Don't forget to submit your weekly reports by EOD."
        \}
    ]
}
```

### List users actual (DDL)

> **Warning:** 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**

```json
{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef"
}
```

**Sample Output**

```json
{
    "ok": true,
    "members": [
        {
            "id": "U0123ABCD",
            "team_id": "T01234567",
            "name": "johndoe",
            "deleted": false,
            "color": "9f69e7",
            "real_name": "John Doe",
            "tz": "America/Los_Angeles",
            "tz_label": "Pacific Daylight Time",
            "tz_offset": -25200,
            "profile": \{
                "avatar_hash": "g1234567890",
                "status_text": "Working from home",
                "status_emoji": ":house:",
                "real_name": "John Doe",
                "display_name": "John",
                "real_name_normalized": "John Doe",
                "display_name_normalized": "John",
                "email": "john.doe@example.com",
                "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",
                "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",
                "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",
                "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",
                "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",
                "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",
                "team": "T01234567"
            \},
            "is_admin": true,
            "is_owner": false,
            "is_primary_owner": false,
            "is_restricted": false,
            "is_ultra_restricted": false,
            "is_bot": false,
            "updated": 1609459200,
            "is_app_user": false,
            "has_2fa": true
        }
    ],
    "cache_ts": 1609459200,
    "response_metadata": {
        "next_cursor": ""
    }
}
```

### List users and conversations (DDL)

> **Warning:** 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**
**Sample Output**

```json
{
    "users": [
        \{
            "id": "U0123ABCD",
            "name": "john.doe",
            "real_name": "John Doe",
            "email": "john.doe@example.com"
        \},
        \{
            "id": "U4567EFGH",
            "name": "jane.smith",
            "real_name": "Jane Smith",
            "email": "jane.smith@example.com"
        \}
    ],
    "conversations": [
        \{
            "id": "C0123WXYZ",
            "name": "general",
            "is_channel": true,
            "is_group": false,
            "is_im": false
        \},
        \{
            "id": "G4567LMNO",
            "name": "project-alpha",
            "is_channel": false,
            "is_group": true,
            "is_im": false
        \},
        \{
            "id": "D8901PQRS",
            "user": "U0123ABCD",
            "is_channel": false,
            "is_group": false,
            "is_im": true
        \}
    ]
}
```

### List users (DDL)

> **Warning:** 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**

```json
{
    "token": "xoxp-1234567890-1234567890-1234567890-abcdef"
}
```

**Sample Output**
