> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parable.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack

> Sync channels, users, and messages from Slack

Sync channels, users, and messages from Slack.

<Tabs>
  <Tab title="Overview">
    Connect Parable to Slack using a custom Slack App with bot permissions for secure workspace data access.

    #### Users

    User profiles

    #### Conversations

    Public channels and private channels where the bot is a member; messages and threads in those channels only. No DMs or group DMs.

    ## Data streams

    This Provider Plugin defines 9 data streams.

    | Stream                  | Description                     | Sync        |
    | ----------------------- | ------------------------------- | ----------- |
    | `users`                 | Workspace members               | incremental |
    | `conversations`         | Public channels                 | incremental |
    | `conversations_members` | Members of a channel            | full        |
    | `conversations_history` | Messages in a channel           | incremental |
    | `replies`               | Thread replies to a message     | incremental |
    | `files`                 | Files uploaded to the workspace | incremental |
    | `user_groups`           | User groups in the workspace    | incremental |
    | `emoji`                 | Custom emoji in the workspace   | full        |
    | `team_info`             | Workspace team information      | full        |
  </Tab>

  <Tab title="Setup Guide">
    ### Bot Token

    #### What You'll Need

    | Credential | What it is                            |
    | ---------- | ------------------------------------- |
    | **Token**  | `xoxb-` prefixed bot token from Slack |

    > **Info:** **Setup access in Slack.** These steps require **Workspace Owner or Workspace Admin (must be allowed to install apps to the workspace)**, or a colleague with equivalent permissions who can create credentials for you.
    >
    > If that is not you, ask your Slack administrator.

    #### Step 1: Create Slack App

    1. Go to <a href="https://api.slack.com/apps" target="_blank" rel="noopener noreferrer">Slack API Apps</a>
    2. Click **Create New App** → **From scratch**
    3. Name: `Parable Integration`
    4. Select your workspace
    5. Click **Create App**

    #### Step 2: Configure Bot Scopes

    1. Go to **OAuth & Permissions** in the sidebar
    2. Scroll to **Bot Token Scopes**
    3. Add these scopes:

    | Scope              | Purpose                                         |
    | ------------------ | ----------------------------------------------- |
    | `channels:history` | Read public channel messages                    |
    | `channels:read`    | List public channels                            |
    | `groups:history`   | Read messages in private channels the bot is in |
    | `groups:read`      | List private channels the bot is a member of    |
    | `users:read`       | Read user profiles                              |
    | `users:read.email` | Read user email addresses                       |
    | `team:read`        | Read workspace info                             |

    #### Step 3: Install to Workspace

    1. Scroll up to **OAuth Tokens for Your Workspace**
    2. Click **Install to Workspace**
    3. Review permissions and click **Allow**

    > **Tip:** Slack opens an approval screen in the same browser tab. After you click **Allow**, use the browser back button if needed, then copy the **Bot User OAuth Token** from **OAuth & Permissions** in Slack.

    #### Step 4: Add App to Channels

    Parable can only read messages from channels where **Parable Integration** is a member. This is required for **both public and private channels**.

    For each channel Parable should consume:

    1. Open the channel in Slack
    2. Add the app using one of these methods:
       * Type `/invite @Parable Integration` in the message box and send
       * Click the channel name → **Integrations** → **Add apps** → select **Parable Integration**

    > **Warning:** If you skip this step, those channels will be missing or empty in Parable after sync.

    #### Step 5: Copy Bot Token

    After installation, copy the **Bot User OAuth Token**

    It starts with `xoxb-`

    > **Info:** The token is persistently visible on the **OAuth & Permissions** page of your app at any time — return to <a href="https://api.slack.com/apps" target="_blank" rel="noopener noreferrer">api.slack.com/apps</a>, select the app, and copy it again if needed. The token only becomes invalid if you uninstall and reinstall the app, or explicitly revoke it.

    #### Step 6: Enter values in the form

    1. **Connection name** (optional): A friendly label for this workspace in Parable.
    2. **Token**: Paste the **Bot User OAuth Token** (`xoxb-...`).
    3. Click **Save & test connection**.

    ```bash Test Authentication theme={null}
    curl -H "Authorization: Bearer xoxb-YOUR-TOKEN" \
      "https://slack.com/api/auth.test"
    ```

    ```bash List Users theme={null}
    curl -H "Authorization: Bearer xoxb-YOUR-TOKEN" \
      "https://slack.com/api/users.list?limit=5"
    ```

    > **Success:** If you received a `200 OK` response with valid data, your credentials are configured correctly. You can now configure this Provider in Parable.

    > **Tip:** **Rate Limits:** Slack enforces rate limits of **tier-based limits; typically 20-100 requests/minute per method**.
    >
    > Parable handles rate limiting automatically with exponential backoff, but initial syncs of large datasets may take longer due to these limits.
  </Tab>

  <Tab title="Permissions">
    <AccordionGroup>
      <Accordion id="provider-permission-tap-slack-conversations-01e4e1c46cf7" title="Conversations" icon="comment-dots" iconType="sharp-duotone-solid">
        Developer identifier: `conversations`

        **Conversations.** Public channels.

        * **Enables:** Inventory public channels by identifier, name, archival state, sharing state, creator, topic, and purpose.
        * **Scope:** Reads the records selected by Slack's `/conversations.list` operation as a snapshot stream using incremental synchronization. Visibility is limited to resources the Slack bot token can read in its installed Workspace. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. This stream supplies no reliable deletion signal.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-conversations-connected-limited-team-ids-af56db76e997" title="Connected Limited Team IDs" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.connected_limited_team_ids`

            **Connected Limited Team IDs.** List of team IDs connected with limited access via Slack Connect. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Connect the parent conversation to every referenced connected limited team ID value in `conversations.connected_limited_team_ids`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns connected limited team IDs as an array of connected limited team ID value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-connected-team-ids-3e249a921d60" title="Connected Team IDs" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.connected_team_ids`

            **Connected Team IDs.** List of team IDs connected via Slack Connect. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Connect the parent conversation to every referenced connected team ID value in `conversations.connected_team_ids`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns connected team IDs as an array of connected team ID value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-context-team-id-a787dd7eff53" title="Context Team ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.context_team_id`

            **Context Team ID.** Team ID of the workspace context for this channel. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each conversation in Conversations to the referenced context team through `conversations.context_team_id`; flag context team ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports context team ID as an identifier in its context team namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-conversation-host-id-36ff2e91f9b3" title="Conversation Host ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.conversation_host_id`

            **Conversation Host ID.** Team ID of the workspace hosting this shared conversation. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each conversation in Conversations to the referenced conversation host through `conversations.conversation_host_id`; flag conversation host ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports conversation host ID as an identifier in its conversation host namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-created-1a79d955a74c" title="Created" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.created`

            **Created.** Unix timestamp (seconds) when the channel was created. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by created in `conversations.created` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports created as a Unix timestamp in seconds on each conversation; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-creator-71a32b204e12" title="Creator" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.creator`

            **Creator.** User ID of the channel creator (e.g., U024BE7LH). It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related creator in `conversations.creator` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports creator as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-id-dd0e3b0d34b9" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.id`

            **ID.** Unique identifier for the channel (e.g., C024BE91L). It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Match repeated conversation entries on ID in `conversations.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its conversation namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-internal-team-ids-2640e4822a45" title="Internal Team IDs" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.internal_team_ids`

            **Internal Team IDs.** List of internal team IDs associated with this channel. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Connect the parent conversation to every referenced internal team ID value in `conversations.internal_team_ids`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns internal team IDs as an array of internal team ID value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-archived-5b2add8b5a99" title="Is Archived" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_archived`

            **Is Archived.** Whether the channel has been archived. It distinguishes the provider-defined is archived state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel has been archived in `conversations.is_archived`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel has been archived as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-channel-717608bbaf4a" title="Is Channel" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_channel`

            **Is Channel.** Whether this is a public channel. It distinguishes the provider-defined is channel state or classification for the conversation.

            * **Enables:** Filter Conversations by whether this is a public channel in `conversations.is_channel`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is a public channel as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-ext-shared-57058db30c9b" title="Is Ext Shared" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_ext_shared`

            **Is Ext Shared.** Whether the channel is shared with an external organization (Slack Connect). It distinguishes the provider-defined is ext shared state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is shared with an external organization (Slack connect) in `conversations.is_ext_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is shared with an external organization (Slack connect) as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-general-85fee9877f6a" title="Is General" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_general`

            **Is General.** Whether this is the workspace-wide #general channel. It distinguishes the provider-defined is general state or classification for the conversation.

            * **Enables:** Filter Conversations by whether this is the workspace-wide #general channel in `conversations.is_general`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is the workspace-wide #general channel as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-global-shared-435a9b13411a" title="Is Global Shared" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_global_shared`

            **Is Global Shared.** Whether the channel is globally shared across multiple organizations. It distinguishes the provider-defined is global shared state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is globally shared across multiple organizations in `conversations.is_global_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is globally shared across multiple organizations as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-group-04fb0c20a486" title="Is Group" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_group`

            **Is Group.** Whether this is a private channel (legacy group). It distinguishes the provider-defined is group state or classification for the conversation.

            * **Enables:** Filter Conversations by whether this is a private channel (legacy group) in `conversations.is_group`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is a private channel (legacy group) as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-im-6756cc4ec392" title="Is Im" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_im`

            **Is Im.** Whether this is a direct message (1:1 IM). It distinguishes the provider-defined is im state or classification for the conversation.

            * **Enables:** Filter Conversations by whether this is a direct message (1:1 im) in `conversations.is_im`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is a direct message (1:1 im) as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-member-746e26db5c64" title="Is Member" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_member`

            **Is Member.** Whether the authenticated user is a member of this channel. It distinguishes the provider-defined is member state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the authenticated user is a member of this channel in `conversations.is_member`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user is a member of this channel as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-moved-e1c67bdac90e" title="Is Moved" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_moved`

            **Is Moved.** Indicates if the channel was moved. 0 if not moved. It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related is moved in `conversations.is_moved` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports is moved as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-mpim-6a0e9b600564" title="Is Mpim" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_mpim`

            **Is Mpim.** Whether this is a multi-party instant message. It distinguishes the provider-defined is mpim state or classification for the conversation.

            * **Enables:** Filter Conversations by whether this is a multi-party instant message in `conversations.is_mpim`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is a multi-party instant message as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-non-threadable-a4574a7423ab" title="Is Non Threadable" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_non_threadable`

            **Is Non Threadable.** Whether the channel does not support threading. It distinguishes the provider-defined is non threadable state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel does not support threading in `conversations.is_non_threadable`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel does not support threading as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-open-19813667147d" title="Is Open" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_open`

            **Is Open.** Whether the IM or MPIM is currently open for the authenticated user. It distinguishes the provider-defined is open state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the im or mpim is currently open for the authenticated user in `conversations.is_open`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the im or mpim is currently open for the authenticated user as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-org-default-d9b945421733" title="Is Org Default" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_org_default`

            **Is Org Default.** Whether the channel is the default channel for the organization. It distinguishes the provider-defined is org default state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is the default channel for the organization in `conversations.is_org_default`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is the default channel for the organization as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-org-mandatory-881de70a81ec" title="Is Org Mandatory" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_org_mandatory`

            **Is Org Mandatory.** Whether the channel is mandatory for all org members. It distinguishes the provider-defined is org mandatory state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is mandatory for all org members in `conversations.is_org_mandatory`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is mandatory for all org members as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-org-shared-3e259e21d4c8" title="Is Org Shared" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_org_shared`

            **Is Org Shared.** Whether the channel is shared across an Enterprise Grid organization. It distinguishes the provider-defined is org shared state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is shared across an enterprise grid organization in `conversations.is_org_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is shared across an enterprise grid organization as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-pending-ext-shared-109b6dadc20c" title="Is Pending Ext Shared" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_pending_ext_shared`

            **Is Pending Ext Shared.** Whether there is a pending Slack Connect invitation for this channel. It distinguishes the provider-defined is pending ext shared state or classification for the conversation.

            * **Enables:** Filter Conversations by whether there is a pending Slack connect invitation for this channel in `conversations.is_pending_ext_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports there is a pending Slack connect invitation for this channel as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-private-aa7e545bbf18" title="Is Private" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_private`

            **Is Private.** Whether this is a private channel or group. It distinguishes the provider-defined is private state or classification for the conversation.

            * **Enables:** Filter Conversations by whether this is a private channel or group in `conversations.is_private`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is a private channel or group as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-read-only-20d5aa24c5c7" title="Is Read Only" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_read_only`

            **Is Read Only.** Whether the channel is read-only for non-admin members. It distinguishes the provider-defined is read only state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is read-only for non-admin members in `conversations.is_read_only`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is read-only for non-admin members as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-shared-6f4917ac0b1c" title="Is Shared" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_shared`

            **Is Shared.** Whether the channel is shared with another workspace. It distinguishes the provider-defined is shared state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel is shared with another workspace in `conversations.is_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel is shared with another workspace as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-starred-8897b62a7eb7" title="Is Starred" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_starred`

            **Is Starred.** Whether the authenticated user has starred this channel. It distinguishes the provider-defined is starred state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the authenticated user has starred this channel in `conversations.is_starred`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user has starred this channel as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-is-thread-only-f9827e59d773" title="Is Thread Only" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.is_thread_only`

            **Is Thread Only.** Whether the channel only allows threaded messages. It distinguishes the provider-defined is thread only state or classification for the conversation.

            * **Enables:** Filter Conversations by whether the channel only allows threaded messages in `conversations.is_thread_only`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the channel only allows threaded messages as a boolean on each conversation; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-last-read-ce540426eb49" title="Last Read" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.last_read`

            **Last Read.** Timestamp of the last message read by the authenticated user (e.g., 1502126650.228446). It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by last read in `conversations.last_read` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last read as a timestamp on each conversation; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-ce7ed8453a7f" title="Latest" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest`

            **Latest.** The latest message posted in the channel. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute latest in `conversations.latest` to the parent conversation; identify parent records where that nested latest object is absent.
            * **Interpretation:** Slack reports latest as a nested object on each conversation; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-attachments-e13a3427511f" title="Attachments" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.attachments`

            **Attachments.** Legacy message attachments. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Associate each returned attachment metadata entry in `conversations.SlackConversationLatestMessage.attachments` with the parent conversation; inventory the reference without assuming file, recording, or attachment bytes are present.
            * **Interpretation:** Slack returns attachments as file, recording, or attachment metadata on each Slack conversation latest message; the array does not imply that binary content was collected. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-blocks-406df1b73d41" title="Blocks" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.blocks`

            **Blocks.** Block Kit layout blocks in the message. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Search the returned blocks content in `conversations.SlackConversationLatestMessage.blocks` while preserving element order and attribution to the parent conversation.
            * **Interpretation:** Slack returns blocks as ordered content or provider-generated content metadata on each Slack conversation latest message; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-id-9e590ef7aa28" title="Bot ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_id`

            **Bot ID.** Bot ID if the message was posted by a bot. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each Slack conversation latest message in Conversations to the referenced bot through `conversations.SlackConversationLatestMessage.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-cfdef23a404d" title="Bot Profile" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile`

            **Bot Profile.** Bot profile information if the message was posted by a bot. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute bot profile in `conversations.SlackConversationLatestMessage.bot_profile` to the parent conversation; identify parent records where that nested bot profile object is absent.
            * **Interpretation:** Slack reports bot profile as a nested object on each Slack conversation latest message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-app-id-ea2d33b8cbae" title="App ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.app_id`

            **App ID.** The Slack app ID associated with this bot. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each Slack bot profile in Conversations to the referenced app through `conversations.SlackBotProfile.app_id`; flag app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports app ID as an identifier in its app namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-deleted-4a112eb7a4db" title="Deleted" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.deleted`

            **Deleted.** Whether the bot has been deleted. It distinguishes the provider-defined deleted state or classification for the Slack bot profile.

            * **Enables:** Filter Conversations by whether the bot has been deleted in `conversations.SlackBotProfile.deleted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the bot has been deleted as a boolean on each Slack bot profile; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-icons-8fa763e679e3" title="Icons" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.icons`

            **Icons.** Icon images for the bot profile. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute icons in `conversations.SlackBotProfile.icons` to the parent conversation; identify parent records where that nested icons object is absent.
            * **Interpretation:** Slack reports icons as a nested object on each Slack bot profile; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-icons-ima-7ad07e216946" title="Image 36" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.icons.image_36`

            **Image 36.** 36x36 pixel icon URL. It locates the provider resource or path associated with the Slack bot icon.

            * **Enables:** Associate each Slack bot icon with the resource identified by image 36 in `conversations.SlackBotIcons.image_36`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 36 as a resource locator for each Slack bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-icons-ima-44514c0ed4f7" title="Image 48" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.icons.image_48`

            **Image 48.** 48x48 pixel icon URL. It locates the provider resource or path associated with the Slack bot icon.

            * **Enables:** Associate each Slack bot icon with the resource identified by image 48 in `conversations.SlackBotIcons.image_48`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 48 as a resource locator for each Slack bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-icons-ima-4f08284aab16" title="Image 72" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.icons.image_72`

            **Image 72.** 72x72 pixel icon URL. It locates the provider resource or path associated with the Slack bot icon.

            * **Enables:** Associate each Slack bot icon with the resource identified by image 72 in `conversations.SlackBotIcons.image_72`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 72 as a resource locator for each Slack bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-id-c3a64e962f8e" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.id`

            **ID.** Unique bot profile ID. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each Slack bot profile in Conversations to the referenced Slack bot profile through `conversations.SlackBotProfile.id`; flag ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports ID as an identifier in its Slack bot profile namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-name-1d14aad855ae" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.name`

            **Name.** Display name of the bot. It gives the Slack bot profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack bot profile with name from `conversations.SlackBotProfile.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each Slack bot profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-team-id-53611375493c" title="Team ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.team_id`

            **Team ID.** The team ID the bot belongs to. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each Slack bot profile in Conversations to the referenced team through `conversations.SlackBotProfile.team_id`; flag team ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports team ID as an identifier in its team namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-bot-profile-updated-a87d24c86889" title="Updated" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.bot_profile.updated`

            **Updated.** Unix timestamp when the bot profile was last updated. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by updated in `conversations.SlackBotProfile.updated` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports updated as a Unix timestamp in a unit not declared by this field on each Slack bot profile; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-latest-reply-e7b191ddd042" title="Latest Reply" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.latest_reply`

            **Latest Reply.** Timestamp of the latest reply in the thread. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by latest reply in `conversations.SlackConversationLatestMessage.latest_reply` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports latest reply as a timestamp on each Slack conversation latest message; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-reply-count-5901e7d31a7e" title="Reply Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.reply_count`

            **Reply Count.** Number of replies in the thread. It supplies the reply count measure for the Slack conversation latest message at the provider's declared unit and grain.

            * **Enables:** Measure reply count through `conversations.SlackConversationLatestMessage.reply_count` for each Slack conversation latest message and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply count as a measure on each Slack conversation latest message; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-reply-users-099336f5fdcf" title="Reply Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.reply_users`

            **Reply Users.** List of user IDs who replied in the thread. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Match every returned reply user value in `conversations.SlackConversationLatestMessage.reply_users` to the parent conversation; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns reply users as an array of reply user value entries on each Slack conversation latest message; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-reply-users-count-9c5e0548e51a" title="Reply Users Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.reply_users_count`

            **Reply Users Count.** Number of unique users who replied in the thread. It supplies the reply users count measure for the Slack conversation latest message at the provider's declared unit and grain.

            * **Enables:** Measure reply users count through `conversations.SlackConversationLatestMessage.reply_users_count` for each Slack conversation latest message and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply users count as a measure on each Slack conversation latest message; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-subtype-33cc318dbd9f" title="Subtype" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.subtype`

            **Subtype.** Message subtype (e.g., channel\_join, bot\_message). It supplies the returned subtype text needed to understand the Slack conversation latest message in context.

            * **Enables:** Search the returned subtype text in `conversations.SlackConversationLatestMessage.subtype` and attribute each match to its parent conversation and reported author when available.
            * **Interpretation:** Slack supplies subtype as returned text on each Slack conversation latest message; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-text-35bdbb5b4c78" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.text`

            **Text.** The message text content. It defines the content surface available for this conversation.

            * **Enables:** Locate Slack conversation latest message records by text in `conversations.SlackConversationLatestMessage.text`; attribute each text match to its parent conversation and, when present, its reported author.
            * **Interpretation:** Slack supplies text as text on each Slack conversation latest message; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-thread-ts-f885f8daf9c2" title="Thread Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.thread_ts`

            **Thread Ts.** Thread parent timestamp if this message is part of a thread. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by thread ts in `conversations.SlackConversationLatestMessage.thread_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports thread ts as a timestamp on each Slack conversation latest message; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-ts-384d4349f56d" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.ts`

            **Ts.** Unique message timestamp identifier (e.g., 1503435956.000247). It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by ts in `conversations.SlackConversationLatestMessage.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a timestamp on each Slack conversation latest message; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-type-25edd56064fc" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.type`

            **Type.** The message type (typically 'message'). It supplies the returned type text needed to understand the Slack conversation latest message in context.

            * **Enables:** Segment Slack conversation latest message entries in Conversations by type in `conversations.SlackConversationLatestMessage.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack conversation latest message; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-latest-user-d6d094062a84" title="User" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.latest.user`

            **User.** User ID of the message author. It identifies the related provider object that gives the Slack conversation latest message its parent, owner, or container context.

            * **Enables:** Connect each Slack conversation latest message to the related user in `conversations.SlackConversationLatestMessage.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each Slack conversation latest message; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-locale-1f1ae5c957a8" title="Locale" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.locale`

            **Locale.** Locale of the channel, if set. It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related locale in `conversations.locale` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports locale as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-name-b3717a45bd32" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.name`

            **Name.** Human-readable channel name (e.g., general). Empty for DMs/IMs. It gives the conversation a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each conversation with name from `conversations.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each conversation; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-name-normalized-ecbb75f2fba6" title="Name Normalized" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.name_normalized`

            **Name Normalized.** Normalized lowercase version of the channel name. It gives the conversation a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each conversation with name normalized from `conversations.name_normalized`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name normalized as display text for each conversation; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-num-members-264887c5e04a" title="Num Members" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.num_members`

            **Num Members.** Approximate number of members in the channel. It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related num members in `conversations.num_members` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports num members as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-parent-conversation-26b7b862226f" title="Parent Conversation" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.parent_conversation`

            **Parent Conversation.** ID of the parent conversation, if this is a sub-conversation. It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related parent conversation in `conversations.parent_conversation` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports parent conversation as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-pending-connected-team-ids-b3377738ac24" title="Pending Connected Team IDs" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.pending_connected_team_ids`

            **Pending Connected Team IDs.** List of team IDs with pending Slack Connect invitations. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Connect the parent conversation to every referenced pending connected team ID value in `conversations.pending_connected_team_ids`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns pending connected team IDs as an array of pending connected team ID value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-pending-shared-c9c7570729fe" title="Pending Shared" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.pending_shared`

            **Pending Shared.** List of team IDs with pending shared channel invitations. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Connect the parent conversation to every referenced pending shared value in `conversations.pending_shared`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns pending shared as an array of pending shared value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-previous-names-d6a7208803e1" title="Previous Names" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.previous_names`

            **Previous Names.** List of previous names the channel has had. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Reconcile each returned previous name value in `conversations.previous_names` with the parent conversation's provider profile; preserve distinct aliases, contact points, and organization attributes.
            * **Interpretation:** Slack returns previous names as an array of previous name value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-priority-c1c98d892151" title="Priority" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.priority`

            **Priority.** Priority value for sorting or display purposes. It supplies the priority measure for the conversation at the provider's declared unit and grain.

            * **Enables:** Segment conversation entries in Conversations by priority in `conversations.priority`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports priority as a label from its own taxonomy on each conversation; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-d41f84e79c74" title="Properties" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties`

            **Properties.** Additional channel properties such as canvas and tabs. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute properties in `conversations.properties` to the parent conversation; identify parent records where that nested properties object is absent.
            * **Interpretation:** Slack reports properties as a nested object on each conversation; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-canvas-0cd065e7f9ab" title="Canvas" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.canvas`

            **Canvas.** Canvas associated with the channel. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute canvas in `conversations.SlackConversationProperties.canvas` to the parent conversation; identify parent records where that nested canvas object is absent.
            * **Interpretation:** Slack reports canvas as a nested object on each Slack conversation property; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-canvas-file-id-d94cc43a886c" title="File ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.canvas.file_id`

            **File ID.** File ID of the canvas document. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each Slack conversation canva in Conversations to the referenced file through `conversations.SlackConversationCanvas.file_id`; flag file ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports file ID as an identifier in its file namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-canvas-is-empty-67069254ff5d" title="Is Empty" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.canvas.is_empty`

            **Is Empty.** Whether the canvas is empty. It distinguishes the provider-defined is empty state or classification for the Slack conversation canva.

            * **Enables:** Filter Conversations by whether the canvas is empty in `conversations.SlackConversationCanvas.is_empty`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the canvas is empty as a boolean on each Slack conversation canva; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-canvas-quip-threa-07c16b322049" title="Quip Thread ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.canvas.quip_thread_id`

            **Quip Thread ID.** Quip thread ID if the canvas is backed by Quip. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Connect each Slack conversation canva in Conversations to the referenced quip thread through `conversations.SlackConversationCanvas.quip_thread_id`; flag quip thread ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports quip thread ID as an identifier in its quip thread namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-tabs-14cdc6d3e929" title="Tabs" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.tabs`

            **Tabs.** Tabs configured for the channel. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Compare the exact Slack-configured tabs set in `conversations.SlackConversationProperties.tabs` for each Slack conversation property; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns tabs as an array of Slack conversation tab entries on each Slack conversation property; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-tabs-data-f0cbeda2925e" title="Data" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.tabs.data`

            **Data.** Additional data associated with the tab. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute data in `conversations.SlackConversationTab.data` to the parent conversation; identify parent records where that nested data object is absent.
            * **Interpretation:** Slack reports data as a nested object on each Slack conversation tab; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-tabs-id-e89c8ec1f6b9" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.tabs.id`

            **ID.** Unique identifier for the tab. It provides the reference needed to connect the conversation to the corresponding provider object.

            * **Enables:** Match repeated Slack conversation tab entries on ID in `conversations.SlackConversationTab.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its Slack conversation tab namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-tabs-label-a7f3f245c17a" title="Label" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.tabs.label`

            **Label.** Display label for the tab. It gives the Slack conversation tab a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack conversation tab with label from `conversations.SlackConversationTab.label`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports label as display text for each Slack conversation tab; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-tabs-type-ec074deb592d" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.tabs.type`

            **Type.** Type of the tab (e.g., files, bookmarks). It distinguishes the provider-defined type state or classification for the Slack conversation tab.

            * **Enables:** Segment Slack conversation tab entries in Conversations by type in `conversations.SlackConversationTab.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack conversation tab; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-tabz-0ebcd37cde43" title="Tabz" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.tabz`

            **Tabz.** Additional tab configuration metadata. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute tabz in `conversations.SlackConversationProperties.tabz` to the parent conversation; identify parent records where that nested tabz object is absent.
            * **Interpretation:** Slack reports tabz as a nested object on each Slack conversation property; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-properties-use-case-a0c09c2c8aa6" title="Use Case" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.properties.use_case`

            **Use Case.** The intended use case for the channel. It identifies the related provider object that gives the Slack conversation property its parent, owner, or container context.

            * **Enables:** Connect each Slack conversation property to the related use case in `conversations.SlackConversationProperties.use_case` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports use case as relationship context on each Slack conversation property; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-purpose-1eae87a1d498" title="Purpose" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.purpose`

            **Purpose.** The channel purpose. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute purpose in `conversations.purpose` to the parent conversation; identify parent records where that nested purpose object is absent.
            * **Interpretation:** Slack reports purpose as a nested object on each conversation; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-purpose-creator-2b4e7b3d1c0f" title="Creator" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.purpose.creator`

            **Creator.** User ID of the person who set the purpose. It identifies the related provider object that gives the Slack conversation purpose its parent, owner, or container context.

            * **Enables:** Connect each Slack conversation purpose to the related creator in `conversations.SlackConversationPurpose.creator` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports creator as relationship context on each Slack conversation purpose; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-purpose-last-set-41b8891bb357" title="Last Set" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.purpose.last_set`

            **Last Set.** Unix timestamp when the purpose was last set. 0 if never set. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by last set in `conversations.SlackConversationPurpose.last_set` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last set as a Unix timestamp in a unit not declared by this field on each Slack conversation purpose; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-purpose-value-0a49198e3fc3" title="Value" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.purpose.value`

            **Value.** The purpose text content. It supplies the returned purpose text needed to understand the Slack conversation purpose in context.

            * **Enables:** Search the returned purpose text in `conversations.SlackConversationPurpose.value` and attribute each match to its parent conversation and reported author when available.
            * **Interpretation:** Slack supplies purpose as returned text on each Slack conversation purpose; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-shared-team-ids-7b653d8ada44" title="Shared Team IDs" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.shared_team_ids`

            **Shared Team IDs.** List of team IDs that share this channel. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Connect the parent conversation to every referenced shared team ID value in `conversations.shared_team_ids`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns shared team IDs as an array of shared team ID value entries on each conversation; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-topic-0a0f8f7f5164" title="Topic" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.topic`

            **Topic.** The channel topic. It preserves the nested context needed to interpret the parent conversation.

            * **Enables:** Attribute topic in `conversations.topic` to the parent conversation; identify parent records where that nested topic object is absent.
            * **Interpretation:** Slack reports topic as a nested object on each conversation; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-topic-creator-10b75e6eb931" title="Creator" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.topic.creator`

            **Creator.** User ID of the person who set the topic. It identifies the related provider object that gives the Slack conversation topic its parent, owner, or container context.

            * **Enables:** Connect each Slack conversation topic to the related creator in `conversations.SlackConversationTopic.creator` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports creator as relationship context on each Slack conversation topic; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-topic-last-set-6476db1a0e14" title="Last Set" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.topic.last_set`

            **Last Set.** Unix timestamp when the topic was last set. 0 if never set. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by last set in `conversations.SlackConversationTopic.last_set` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last set as a Unix timestamp in a unit not declared by this field on each Slack conversation topic; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-topic-value-4171f9eb384e" title="Value" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.topic.value`

            **Value.** The topic text content. It supplies the returned topic text needed to understand the Slack conversation topic in context.

            * **Enables:** Search the returned topic text in `conversations.SlackConversationTopic.value` and attribute each match to its parent conversation and reported author when available.
            * **Interpretation:** Slack supplies topic as returned text on each Slack conversation topic; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-unlinked-d251cc43c39b" title="Unlinked" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.unlinked`

            **Unlinked.** Number of times the channel has been unlinked from a shared channel. It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related unlinked in `conversations.unlinked` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports unlinked as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-unread-count-143fbb8f4805" title="Unread Count" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.unread_count`

            **Unread Count.** Number of unread messages for the authenticated user. It supplies the unread count measure for the conversation at the provider's declared unit and grain.

            * **Enables:** Measure unread count through `conversations.unread_count` for each conversation and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports unread count as a measure on each conversation; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-unread-count-display-5d4e34ae0c79" title="Unread Count Display" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.unread_count_display`

            **Unread Count Display.** Number of unread messages to display (excludes join/leave messages). It distinguishes the provider-defined unread count display state or classification for the conversation.

            * **Enables:** Filter Conversations by the exact Slack-defined unread count display in `conversations.unread_count_display` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies unread count display from its own taxonomy on each conversation; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-updated-7f48b06361bd" title="Updated" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.updated`

            **Updated.** Unix timestamp (milliseconds) of the last channel metadata update. It anchors the conversation on the provider's reported timeline.

            * **Enables:** Order Conversations by updated in `conversations.updated` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports updated as a Unix timestamp in milliseconds on each conversation; derive timezone display separately and do not guess an undeclared unit. A connector directive uses this field to order records for latest-state or incremental processing.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-user-313cde9eef09" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations.user`

            **User.** For IMs, the user ID of the other party in the direct message. It identifies the related provider object that gives the conversation its parent, owner, or container context.

            * **Enables:** Connect each conversation to the related user in `conversations.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each conversation; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-conversations-history-d1af0bfec61d" title="Conversations History" icon="comment-dots" iconType="sharp-duotone-solid">
        Developer identifier: `conversations_history`

        **Conversations History.** Messages in a channel.

        * **Enables:** Attribute visible public-channel messages to their channel, author, thread, reactions, and Slack timestamp.
        * **Scope:** Reads the records selected by Slack's `/conversations.history` operation as an event stream using incremental synchronization. Visibility is limited to resources the Slack bot token can read in its installed Workspace. Only public channels enumerated by this connector are traversed; private channels, direct messages, and file bytes are excluded. This stream supplies no reliable deletion signal.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-conversations-history-app-id-00a6f7e459b6" title="App ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.app_id`

            **App ID.** Slack app ID if the message was sent by an app. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each channel message in channel message to the referenced app through `conversations_history.app_id`; flag app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports app ID as an identifier in its app namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-607db771b2d2" title="Attachments" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments`

            **Attachments.** Array of legacy secondary attachments on the message. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Associate each returned attachment metadata entry in `conversations_history.attachments` with the parent channel message; inventory the reference without assuming file, recording, or attachment bytes are present.
            * **Interpretation:** Slack returns attachments as file, recording, or attachment metadata on each channel message; the array does not imply that binary content was collected. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-actions-b761c3154ab0" title="Actions" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.actions`

            **Actions.** Interactive action elements in the attachment. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Compare the exact Slack-configured actions set in `conversations_history.Attachment.actions` for each attachment; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns actions as an array of action entries on each attachment; missing, empty, and permission-redacted arrays are not equivalent. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-app-id-ac5887dae335" title="App ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.app_id`

            **App ID.** App ID if the attachment was generated by an app. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each attachment in channel message to the referenced app through `conversations_history.Attachment.app_id`; flag app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports app ID as an identifier in its app namespace; it is not a universal identity outside Slack. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-app-unfu-f01b40d638ba" title="App Unfurl URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.app_unfurl_url`

            **App Unfurl URL.** URL for app unfurl. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by app unfurl URL in `conversations_history.Attachment.app_unfurl_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports app unfurl URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-author-i-da8210f1ee96" title="Author Icon" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.author_icon`

            **Author Icon.** URL of the author icon image. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by author icon in `conversations_history.Attachment.author_icon`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports author icon as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-author-l-0c13fcbfb144" title="Author Link" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.author_link`

            **Author Link.** URL linked from the author name. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by author link in `conversations_history.Attachment.author_link`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports author link as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-author-n-38e2a2e6222b" title="Author Name" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.author_name`

            **Author Name.** Author name displayed in the attachment. It identifies the file, document, recording, or attachment metadata associated with the attachment.

            * **Enables:** Label each attachment with author name from `conversations_history.Attachment.author_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports author name as display text for each attachment; names are mutable and are not stable identities. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-author-s-f17f03620191" title="Author Subname" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.author_subname`

            **Author Subname.** Secondary author name. It identifies the related provider object that gives the attachment its parent, owner, or container context.

            * **Enables:** Connect each attachment to the related author subname in `conversations_history.Attachment.author_subname` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports author subname as relationship context on each attachment; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-bot-id-1b49f9c22f9b" title="Bot ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.bot_id`

            **Bot ID.** Bot ID if the attachment was generated by a bot. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each attachment in channel message to the referenced bot through `conversations_history.Attachment.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-callback-777272b80d79" title="Callback ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.callback_id`

            **Callback ID.** Callback ID for interactive attachments. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each attachment in channel message to the referenced callback through `conversations_history.Attachment.callback_id`; flag callback ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports callback ID as an identifier in its callback namespace; it is not a universal identity outside Slack. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-color-e81e05325547" title="Color" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.color`

            **Color.** Hex color code for the attachment sidebar (without #). It identifies the file, document, recording, or attachment metadata associated with the attachment.

            * **Enables:** Associate the color in `conversations_history.Attachment.color` with its parent channel message; inventory the artifact reference without assuming binary content is present.
            * **Interpretation:** Slack reports color as file, document, recording, or attachment metadata on each attachment; binary bytes are not implied. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-fallback-66e9d040a0f2" title="Fallback" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.fallback`

            **Fallback.** Plain text summary of the attachment for clients that cannot render it. It supplies the returned fallback text needed to understand the attachment in context.

            * **Enables:** Search the returned fallback text in `conversations_history.Attachment.fallback` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies fallback as returned text on each attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-fields-460e6417b21c" title="Fields" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.fields`

            **Fields.** Array of key-value fields displayed in the attachment. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Compare the exact Slack-configured fields set in `conversations_history.Attachment.fields` for each attachment; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns fields as an array of attachment field entries on each attachment; missing, empty, and permission-redacted arrays are not equivalent. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-fields-s-b3860ebc9c7a" title="Short" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.fields.short`

            **Short.** Whether the field is short enough to display side-by-side with other fields. It distinguishes the provider-defined short state or classification for the attachment field.

            * **Enables:** Filter channel message by whether the field is short enough to display side-by-side with other fields in `conversations_history.AttachmentField.short`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the field is short enough to display side-by-side with other fields as a boolean on each attachment field; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-fields-t-15a6cccd12be" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.fields.title`

            **Title.** Field title/label. It gives the attachment field a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each attachment field with title from `conversations_history.AttachmentField.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each attachment field; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-fields-v-b2f4405e9e95" title="Value" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.fields.value`

            **Value.** Field value. It must be interpreted with the enclosing provider field name, type, or custom schema for the attachment field.

            * **Enables:** Interpret `conversations_history.AttachmentField.value` with the enclosing custom field name, declared type, and provider schema; compare only records that share that contract.
            * **Interpretation:** Slack reports value under the enclosing custom or typed field contract on each attachment field; compare it only with values from the same provider key and type.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-footer-c57f77af2db7" title="Footer" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.footer`

            **Footer.** Footer text displayed at the bottom of the attachment. It supplies the returned footer text needed to understand the attachment in context.

            * **Enables:** Search the returned footer text in `conversations_history.Attachment.footer` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies footer as returned text on each attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-footer-i-6803c76bd66d" title="Footer Icon" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.footer_icon`

            **Footer Icon.** URL of the footer icon image. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by footer icon in `conversations_history.Attachment.footer_icon`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports footer icon as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-from-url-1883f7dab39d" title="From URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.from_url`

            **From URL.** URL that generated this attachment via unfurling. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by from URL in `conversations_history.Attachment.from_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports from URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-id-5ede7ce4d399" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.id`

            **ID.** Numeric attachment ID within the message. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Match repeated attachment entries on ID in `conversations_history.Attachment.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its attachment namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-image-by-7a6bf011a199" title="Image Bytes" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.image_bytes`

            **Image Bytes.** Size of the attachment image in bytes. It identifies the file, document, recording, or attachment metadata associated with the attachment.

            * **Enables:** Associate the image bytes in `conversations_history.Attachment.image_bytes` with its parent channel message; inventory the artifact reference without assuming binary content is present.
            * **Interpretation:** Slack reports image bytes as file, document, recording, or attachment metadata on each attachment; binary bytes are not implied. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-image-he-1855f906e45d" title="Image Height" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.image_height`

            **Image Height.** Height of the attachment image. It supplies the image height measure for the attachment at the provider's declared unit and grain.

            * **Enables:** Measure image height through `conversations_history.Attachment.image_height` for each attachment and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image height as a measure on each attachment; compare only records with the same unit and aggregation grain. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-image-ur-cbab2540d897" title="Image URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.image_url`

            **Image URL.** URL of an image to display in the attachment. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by image URL in `conversations_history.Attachment.image_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-image-wi-4f580e76e742" title="Image Width" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.image_width`

            **Image Width.** Width of the attachment image. It supplies the image width measure for the attachment at the provider's declared unit and grain.

            * **Enables:** Measure image width through `conversations_history.Attachment.image_width` for each attachment and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image width as a measure on each attachment; compare only records with the same unit and aggregation grain. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-is-app-u-d02540ae4613" title="Is App Unfurl" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.is_app_unfurl`

            **Is App Unfurl.** Whether this attachment is an app unfurl. It distinguishes the provider-defined is app unfurl state or classification for the attachment.

            * **Enables:** Filter channel message by whether this attachment is an app unfurl in `conversations_history.Attachment.is_app_unfurl`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this attachment is an app unfurl as a boolean on each attachment; a missing field is unknown, not false. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-is-threa-b0c9993c80c4" title="Is Thread Root Unfurl" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.is_thread_root_unfurl`

            **Is Thread Root Unfurl.** Whether this attachment is a thread root unfurl. It distinguishes the provider-defined is thread root unfurl state or classification for the attachment.

            * **Enables:** Filter channel message by whether this attachment is a thread root unfurl in `conversations_history.Attachment.is_thread_root_unfurl`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this attachment is a thread root unfurl as a boolean on each attachment; a missing field is unknown, not false. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--05f2f27911d7" title="Message Blocks" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks`

            **Message Blocks.** Block Kit blocks within the attachment. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Search the returned message blocks content in `conversations_history.Attachment.message_blocks` while preserving element order and attribution to the parent channel message.
            * **Interpretation:** Slack returns message blocks as ordered content or provider-generated content metadata on each attachment; truncation, omission, and inaccessible source media can limit completeness. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--896d3b687fd1" title="Accessory" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.accessory`

            **Accessory.** Accessory element for section blocks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute accessory in `conversations_history.Block.accessory` to the parent channel message; identify parent records where that nested accessory object is absent.
            * **Interpretation:** Slack reports accessory as a nested object on each block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--632a9adaaaf4" title="Alt Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.alt_text`

            **Alt Text.** Alt text for image blocks. It defines the content surface available for this channel message.

            * **Enables:** Locate block records by alt text in `conversations_history.Block.alt_text`; attribute each text match to its parent channel message and, when present, its reported author.
            * **Interpretation:** Slack supplies alt text as text on each block; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--4b1a6c3cce58" title="Author Name" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.author_name`

            **Author Name.** Author name for video blocks. It gives the block a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each block with author name from `conversations_history.Block.author_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports author name as display text for each block; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--369f0850714a" title="Block ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.block_id`

            **Block ID.** Unique identifier for this block within the message. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Match repeated block entries on block ID in `conversations_history.Block.block_id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports block ID as an identifier in its block namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--9fde0852dce4" title="Description" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.description`

            **Description.** Description text object for video blocks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute description in `conversations_history.Block.description` to the parent channel message; identify parent records where that nested description object is absent.
            * **Interpretation:** Slack reports description as a nested object on each block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--1aee68cc7954" title="Dispatch Action" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.dispatch_action`

            **Dispatch Action.** Whether the input block dispatches actions on interaction. It distinguishes the provider-defined dispatch action state or classification for the block.

            * **Enables:** Filter channel message by whether the input block dispatches actions on interaction in `conversations_history.Block.dispatch_action`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the input block dispatches actions on interaction as a boolean on each block; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--40dde1629316" title="Element" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.element`

            **Element.** Input element for input blocks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute element in `conversations_history.Block.element` to the parent channel message; identify parent records where that nested element object is absent.
            * **Interpretation:** Slack reports element as a nested object on each block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--234cf47317c2" title="Elements" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.elements`

            **Elements.** Array of block elements (for actions, context, rich\_text blocks). It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Search the returned elements content in `conversations_history.Block.elements` while preserving element order and attribution to the parent channel message.
            * **Interpretation:** Slack returns elements as ordered content or provider-generated content metadata on each block; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--8ad22a426702" title="External ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.external_id`

            **External ID.** External ID for file blocks. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each block in channel message to the referenced external through `conversations_history.Block.external_id`; flag external ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports external ID as an identifier in its external namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--ed4059796a1b" title="Fallback" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.fallback`

            **Fallback.** Fallback text for the block. It supplies the returned fallback text needed to understand the block in context.

            * **Enables:** Search the returned fallback text in `conversations_history.Block.fallback` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies fallback as returned text on each block; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--3b20d7e89bc3" title="Fields" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.fields`

            **Fields.** Array of text composition objects for section blocks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Compare the exact Slack-configured fields set in `conversations_history.Block.fields` for each block; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns fields as an array of field entries on each block; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--0150132bd703" title="File ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.file_id`

            **File ID.** File ID for file blocks. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each block in channel message to the referenced file through `conversations_history.Block.file_id`; flag file ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports file ID as an identifier in its file namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--49c4413f8fca" title="Image Bytes" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.image_bytes`

            **Image Bytes.** Size of the image in bytes. It supplies the image bytes measure for the block at the provider's declared unit and grain.

            * **Enables:** Measure image bytes through `conversations_history.Block.image_bytes` for each block and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image bytes as a measure on each block; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--52e0f4900861" title="Image Height" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.image_height`

            **Image Height.** Height of the image. It supplies the image height measure for the block at the provider's declared unit and grain.

            * **Enables:** Measure image height through `conversations_history.Block.image_height` for each block and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image height as a measure on each block; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--0e222a07b8a6" title="Image URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.image_url`

            **Image URL.** URL of the image for image blocks. It locates the provider resource or path associated with the block.

            * **Enables:** Associate each block with the resource identified by image URL in `conversations_history.Block.image_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image URL as a resource locator for each block; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--0f7bc57483da" title="Image Width" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.image_width`

            **Image Width.** Width of the image. It supplies the image width measure for the block at the provider's declared unit and grain.

            * **Enables:** Measure image width through `conversations_history.Block.image_width` for each block and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image width as a measure on each block; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--5ff3c206d533" title="Label" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.label`

            **Label.** Label text object for input blocks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute label in `conversations_history.Block.label` to the parent channel message; identify parent records where that nested label object is absent.
            * **Interpretation:** Slack reports label as a nested object on each block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--e7b376a37271" title="Provider Icon URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.provider_icon_url`

            **Provider Icon URL.** Video provider icon URL. It locates the provider resource or path associated with the block.

            * **Enables:** Associate each block with the resource identified by provider icon URL in `conversations_history.Block.provider_icon_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports provider icon URL as a resource locator for each block; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--03b0e7795fb2" title="Provider Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.provider_name`

            **Provider Name.** Video provider name. It gives the block a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each block with provider name from `conversations_history.Block.provider_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports provider name as display text for each block; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--873c711ee373" title="Source" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.source`

            **Source.** Source for file blocks (e.g., 'remote'). It distinguishes the provider-defined source state or classification for the block.

            * **Enables:** Filter Conversations History by the exact Slack-defined source in `conversations_history.Block.source` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies source from its own taxonomy on each block; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--1525a7a12d9c" title="Text" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.text`

            **Text.** Text composition object for the block. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute text in `conversations_history.Block.text` to the parent channel message; identify parent records where that nested text object is absent.
            * **Interpretation:** Slack reports text as a nested object on each block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--63c22327b0dd" title="Thumbnail URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.thumbnail_url`

            **Thumbnail URL.** Thumbnail URL for video blocks. It locates the provider resource or path associated with the block.

            * **Enables:** Associate each block with the resource identified by thumbnail URL in `conversations_history.Block.thumbnail_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumbnail URL as a resource locator for each block; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--d7ca87fa4127" title="Title" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.title`

            **Title.** Title text object for image or video blocks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute title in `conversations_history.Block.title` to the parent channel message; identify parent records where that nested title object is absent.
            * **Interpretation:** Slack reports title as a nested object on each block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--2085e3a05292" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.type`

            **Type.** Block type (e.g., 'section', 'divider', 'image', 'actions', 'context', 'header', 'rich\_text', 'video', 'file', 'input'). It supplies the returned type text needed to understand the block in context.

            * **Enables:** Segment block entries in channel message by type in `conversations_history.Block.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each block; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-message--58a2fb9fae6b" title="Video URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.message_blocks.video_url`

            **Video URL.** URL of the video for video blocks. It locates the provider resource or path associated with the block.

            * **Enables:** Associate each block with the resource identified by video URL in `conversations_history.Block.video_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports video URL as a resource locator for each block; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-mrkdwn-i-1389251b18fb" title="Mrkdwn In" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.mrkdwn_in`

            **Mrkdwn In.** List of fields that should be parsed as mrkdwn. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Search the returned mrkdwn in content in `conversations_history.Attachment.mrkdwn_in` while preserving element order and attribution to the parent channel message.
            * **Interpretation:** Slack returns mrkdwn in as ordered content or provider-generated content metadata on each attachment; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-original-ff65651f7194" title="Original URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.original_url`

            **Original URL.** Original URL before any redirects. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by original URL in `conversations_history.Attachment.original_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports original URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-pretext-026de3c8c7c2" title="Pretext" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.pretext`

            **Pretext.** Text displayed above the attachment block. It supplies the returned pretext text needed to understand the attachment in context.

            * **Enables:** Search the returned pretext text in `conversations_history.Attachment.pretext` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies pretext as returned text on each attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-service--9fe53bb74d53" title="Service Icon" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.service_icon`

            **Service Icon.** URL of the service icon. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by service icon in `conversations_history.Attachment.service_icon`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports service icon as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-service--337a92a6fe41" title="Service Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.service_name`

            **Service Name.** Name of the service that generated the attachment. It identifies the file, document, recording, or attachment metadata associated with the attachment.

            * **Enables:** Label each attachment with service name from `conversations_history.Attachment.service_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports service name as display text for each attachment; names are mutable and are not stable identities. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-service--d67a22606342" title="Service URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.service_url`

            **Service URL.** URL of the service. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by service URL in `conversations_history.Attachment.service_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports service URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-text-8d10892628d8" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.text`

            **Text.** Main text body of the attachment. It defines the content surface available for this channel message.

            * **Enables:** Locate attachment records by text in `conversations_history.Attachment.text`; attribute each text match to its parent channel message and, when present, its reported author.
            * **Interpretation:** This is attachment or file metadata; it does not by itself include the referenced file bytes. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-thumb-he-15022eecb02e" title="Thumb Height" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.thumb_height`

            **Thumb Height.** Height of the thumbnail. It supplies the thumb height measure for the attachment at the provider's declared unit and grain.

            * **Enables:** Measure thumb height through `conversations_history.Attachment.thumb_height` for each attachment and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb height as a measure on each attachment; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-thumb-ur-d4ee23ee3367" title="Thumb URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.thumb_url`

            **Thumb URL.** URL of a thumbnail image for the attachment. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by thumb URL in `conversations_history.Attachment.thumb_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-thumb-wi-9eaef4014006" title="Thumb Width" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.thumb_width`

            **Thumb Width.** Width of the thumbnail. It supplies the thumb width measure for the attachment at the provider's declared unit and grain.

            * **Enables:** Measure thumb width through `conversations_history.Attachment.thumb_width` for each attachment and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb width as a measure on each attachment; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-title-35db2d53a726" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.title`

            **Title.** Title of the attachment. It identifies the file, document, recording, or attachment metadata associated with the attachment.

            * **Enables:** Label each attachment with title from `conversations_history.Attachment.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each attachment; names are mutable and are not stable identities. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-title-li-32fb7ba88525" title="Title Link" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.title_link`

            **Title Link.** URL linked from the title. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by title link in `conversations_history.Attachment.title_link`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports title link as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-ts-f36ebfb3c739" title="Ts" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.ts`

            **Ts.** Unix timestamp displayed as the attachment's date. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by ts in `conversations_history.Attachment.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a Unix timestamp in a unit not declared by this field on each attachment; derive timezone display separately and do not guess an undeclared unit. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-video-ht-0872fd74ebd5" title="Video HTML" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.video_html`

            **Video HTML.** HTML for embedded video. It supplies the returned video html text needed to understand the attachment in context.

            * **Enables:** Search the returned video html text in `conversations_history.Attachment.video_html` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies video html as returned text on each attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-video-ht-6118e88d53a2" title="Video HTML Height" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.video_html_height`

            **Video HTML Height.** Height of the embedded video. It supplies the video html height measure for the attachment at the provider's declared unit and grain.

            * **Enables:** Measure video html height through `conversations_history.Attachment.video_html_height` for each attachment and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports video html height as a measure on each attachment; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-video-ht-105bf0fa5d97" title="Video HTML Width" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.video_html_width`

            **Video HTML Width.** Width of the embedded video. It supplies the video html width measure for the attachment at the provider's declared unit and grain.

            * **Enables:** Measure video html width through `conversations_history.Attachment.video_html_width` for each attachment and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports video html width as a measure on each attachment; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-attachments-video-ur-08df1e1eeb3a" title="Video URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.attachments.video_url`

            **Video URL.** Direct URL to the video. It locates the provider resource or path associated with the attachment.

            * **Enables:** Associate each attachment with the resource identified by video URL in `conversations_history.Attachment.video_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports video URL as a resource locator for each attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-blocks-bacc28701b65" title="Blocks" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.blocks`

            **Blocks.** Array of Block Kit layout blocks composing the message. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Search the returned blocks content in `conversations_history.blocks` while preserving element order and attribution to the parent channel message.
            * **Interpretation:** Slack returns blocks as ordered content or provider-generated content metadata on each channel message; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-id-3bd902a591b3" title="Bot ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_id`

            **Bot ID.** Bot ID if the message was sent by a bot integration. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each channel message in channel message to the referenced bot through `conversations_history.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-8304d519a15c" title="Bot Profile" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile`

            **Bot Profile.** Bot profile information if the message was sent by a bot. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute bot profile in `conversations_history.bot_profile` to the parent channel message; identify parent records where that nested bot profile object is absent.
            * **Interpretation:** Slack reports bot profile as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-app-id-48c9e9e5ffbf" title="App ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.app_id`

            **App ID.** Associated Slack app ID. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each bot profile in channel message to the referenced app through `conversations_history.BotProfile.app_id`; flag app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports app ID as an identifier in its app namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-deleted-53033836b3b8" title="Deleted" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.deleted`

            **Deleted.** Whether the bot has been deleted. It distinguishes the provider-defined deleted state or classification for the bot profile.

            * **Enables:** Filter channel message by whether the bot has been deleted in `conversations_history.BotProfile.deleted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the bot has been deleted as a boolean on each bot profile; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-icons-4b62f885ebcc" title="Icons" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.icons`

            **Icons.** Bot icon images at various sizes. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute icons in `conversations_history.BotProfile.icons` to the parent channel message; identify parent records where that nested icons object is absent.
            * **Interpretation:** Slack reports icons as a nested object on each bot profile; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-icons-im-74ba866e88f9" title="Image 36" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.icons.image_36`

            **Image 36.** URL for 36px bot icon. It locates the provider resource or path associated with the bot icon.

            * **Enables:** Associate each bot icon with the resource identified by image 36 in `conversations_history.BotIcons.image_36`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 36 as a resource locator for each bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-icons-im-dbba0643b8f4" title="Image 48" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.icons.image_48`

            **Image 48.** URL for 48px bot icon. It locates the provider resource or path associated with the bot icon.

            * **Enables:** Associate each bot icon with the resource identified by image 48 in `conversations_history.BotIcons.image_48`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 48 as a resource locator for each bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-icons-im-ff976355433e" title="Image 72" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.icons.image_72`

            **Image 72.** URL for 72px bot icon. It locates the provider resource or path associated with the bot icon.

            * **Enables:** Associate each bot icon with the resource identified by image 72 in `conversations_history.BotIcons.image_72`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 72 as a resource locator for each bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-id-03c45b230eb4" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.id`

            **ID.** Bot ID. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each bot profile in channel message to the referenced bot profile through `conversations_history.BotProfile.id`; flag ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports ID as an identifier in its bot profile namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-name-a9599a5777e4" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.name`

            **Name.** Bot display name. It gives the bot profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each bot profile with name from `conversations_history.BotProfile.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each bot profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-team-id-9312dd2dacac" title="Team ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.team_id`

            **Team ID.** Team ID the bot belongs to. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each bot profile in channel message to the referenced team through `conversations_history.BotProfile.team_id`; flag team ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports team ID as an identifier in its team namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-bot-profile-updated-69e7fa06b96d" title="Updated" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.bot_profile.updated`

            **Updated.** Unix timestamp when the bot profile was last updated. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by updated in `conversations_history.BotProfile.updated` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports updated as a Unix timestamp in a unit not declared by this field on each bot profile; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-channel-id-695adb16b85c" title="Channel ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.channel_id`

            **Channel ID.** Parent channel reference copied into each channel message because the child operation does not return that relationship. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each channel message in channel message to the referenced channel through `conversations_history.channel_id`; flag channel ID values that do not resolve in that provider namespace.
            * **Interpretation:** Parable copies channel ID from the parent traversal record into each channel message; the child Slack operation does not return it.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-client-msg-id-93d2b488c9b1" title="Client Msg ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.client_msg_id`

            **Client Msg ID.** The provider-reported client msg ID for each channel message in channel message. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each channel message in channel message to the referenced client msg through `conversations_history.client_msg_id`; flag client msg ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports client msg ID as an identifier in its client msg namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-display-as-bot-89a0e233336a" title="Display As Bot" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.display_as_bot`

            **Display As Bot.** Whether the message should be displayed as sent by a bot. It distinguishes the provider-defined display as bot state or classification for the channel message.

            * **Enables:** Filter channel message by whether the message should be displayed as sent by a bot in `conversations_history.display_as_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the message should be displayed as sent by a bot as a boolean on each channel message; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-edited-81702257f0d6" title="Edited" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.edited`

            **Edited.** Edit metadata if the message has been edited. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute edited in `conversations_history.edited` to the parent channel message; identify parent records where that nested edited object is absent.
            * **Interpretation:** Slack reports edited as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-edited-ts-8b155fca9c6b" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.edited.ts`

            **Ts.** Timestamp when the edit was made. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by ts in `conversations_history.Edited.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a timestamp on each edited; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-edited-user-0f05e2a9d754" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.edited.user`

            **User.** User ID of the person who edited the message. It identifies the related provider object that gives the edited its parent, owner, or container context.

            * **Enables:** Connect each edited to the related user in `conversations_history.Edited.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each edited; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-61acda6254c5" title="Files" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files`

            **Files.** Array of file attachments shared in the message. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Associate each returned file metadata entry in `conversations_history.files` with the parent channel message; inventory the reference without assuming file, recording, or attachment bytes are present.
            * **Interpretation:** Slack returns files as file, recording, or attachment metadata on each channel message; the array does not imply that binary content was collected. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-channels-a8ce4f522093" title="Channels" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.channels`

            **Channels.** Channel IDs where the file has been shared. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Connect the parent channel message to every referenced channel value in `conversations_history.File.channels`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns channels as an array of channel value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-created-ddff8bdc70ee" title="Created" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.created`

            **Created.** Unix timestamp when the file was created. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by created in `conversations_history.File.created` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports created as a Unix timestamp in a unit not declared by this field on each file; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-display-as-bot-695d5c6d6aa1" title="Display As Bot" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.display_as_bot`

            **Display As Bot.** Whether the file should display as uploaded by a bot. It distinguishes the provider-defined display as bot state or classification for the file.

            * **Enables:** Filter channel message by whether the file should display as uploaded by a bot in `conversations_history.File.display_as_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file should display as uploaded by a bot as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-editable-e7965b6a1082" title="Editable" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.editable`

            **Editable.** Whether the file content is editable (e.g., snippets, posts). It distinguishes the provider-defined editable state or classification for the file.

            * **Enables:** Filter channel message by whether the file content is editable (e.g., snippets, posts) in `conversations_history.File.editable`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file content is editable (e.g., snippets, posts) as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-external-type-802812b47e42" title="External Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.external_type`

            **External Type.** External service type if the file is externally hosted. It distinguishes the provider-defined external type state or classification for the file.

            * **Enables:** Segment file entries in channel message by external type in `conversations_history.File.external_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports external type as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-filetype-8ced70d0f733" title="Filetype" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.filetype`

            **Filetype.** Slack file type identifier (e.g., 'png', 'pdf'). It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related filetype in `conversations_history.File.filetype` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports filetype as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-groups-673c6013919e" title="Groups" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.groups`

            **Groups.** Private channel IDs where the file has been shared. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Connect the parent channel message to every referenced group value in `conversations_history.File.groups`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns groups as an array of group value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-has-rich-previ-2c9ddc7d7f0d" title="Has Rich Preview" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.has_rich_preview`

            **Has Rich Preview.** Whether the file has a rich preview. It distinguishes the provider-defined has rich preview state or classification for the file.

            * **Enables:** Filter channel message by whether the file has a rich preview in `conversations_history.File.has_rich_preview`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file has a rich preview as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-id-9efdc977d86b" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.id`

            **ID.** Unique file identifier. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Match repeated file entries on ID in `conversations_history.File.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its file namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-image-exif-rot-cf055996c04b" title="Image Exif Rotation" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.image_exif_rotation`

            **Image Exif Rotation.** EXIF rotation value for images. It supplies the image exif rotation measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure image exif rotation through `conversations_history.File.image_exif_rotation` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image exif rotation as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-ims-7d9dd3dcc75d" title="Ims" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.ims`

            **Ims.** DM channel IDs where the file has been shared. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Connect the parent channel message to every referenced im value in `conversations_history.File.ims`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns ims as an array of im value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-is-external-b9b597fd4d92" title="Is External" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.is_external`

            **Is External.** Whether the file is externally hosted. It distinguishes the provider-defined is external state or classification for the file.

            * **Enables:** Filter channel message by whether the file is externally hosted in `conversations_history.File.is_external`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file is externally hosted as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-is-public-dc441882a2c8" title="Is Public" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.is_public`

            **Is Public.** Whether the file is public. It distinguishes the provider-defined is public state or classification for the file.

            * **Enables:** Filter channel message by whether the file is public in `conversations_history.File.is_public`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file is public as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-lines-9c364f02f700" title="Lines" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.lines`

            **Lines.** Number of lines in the file (for text files). It supplies the returned lines text needed to understand the file in context.

            * **Enables:** Search the returned lines text in `conversations_history.File.lines` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies lines as returned text on each file; truncation, formatting, and access boundaries can limit completeness. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-lines-more-e98438e521e0" title="Lines More" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.lines_more`

            **Lines More.** Number of additional lines beyond the preview. It supplies the lines more measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure lines more through `conversations_history.File.lines_more` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports lines more as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-media-display--330999ab890c" title="Media Display Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.media_display_type`

            **Media Display Type.** How the media should be displayed (e.g., 'audio', 'video'). It distinguishes the provider-defined media display type state or classification for the file.

            * **Enables:** Segment file entries in channel message by media display type in `conversations_history.File.media_display_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports media display type as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-mimetype-5eace994812c" title="Mimetype" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.mimetype`

            **Mimetype.** MIME type of the file (e.g., 'image/png'). It identifies the file, document, recording, or attachment metadata associated with the file.

            * **Enables:** Associate the mimetype in `conversations_history.File.mimetype` with its parent channel message; inventory the artifact reference without assuming binary content is present.
            * **Interpretation:** Slack reports mimetype as file, document, recording, or attachment metadata on each file; binary bytes are not implied. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-mode-d975176cc0f2" title="Mode" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.mode`

            **Mode.** File mode (e.g., 'hosted', 'external', 'snippet', 'post'). It distinguishes the provider-defined mode state or classification for the file.

            * **Enables:** Segment file entries in channel message by mode in `conversations_history.File.mode`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports mode as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-name-88de291ec15f" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.name`

            **Name.** Filename including extension. It identifies the file, document, recording, or attachment metadata associated with the file.

            * **Enables:** Label each file with name from `conversations_history.File.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-original-h-5f96c8034c1b" title="Original H" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.original_h`

            **Original H.** Original image height in pixels. It supplies the original h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure original h through `conversations_history.File.original_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports original h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-original-w-c17fb2236149" title="Original W" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.original_w`

            **Original W.** Original image width in pixels. It supplies the original w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure original w through `conversations_history.File.original_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports original w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-permalink-3b8b88b6047c" title="Permalink" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.permalink`

            **Permalink.** Permanent link to the file in Slack. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by permalink in `conversations_history.File.permalink`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-permalink-publ-67d97e2139d4" title="Permalink Public" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.permalink_public`

            **Permalink Public.** Public permanent link to the file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by permalink public in `conversations_history.File.permalink_public`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink public as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-pretty-type-c7da02796be2" title="Pretty Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.pretty_type`

            **Pretty Type.** Human-readable file type label. It identifies the file, document, recording, or attachment metadata associated with the file.

            * **Enables:** Segment file entries in channel message by pretty type in `conversations_history.File.pretty_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports pretty type as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-preview-22eafc5e26f8" title="Preview" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.preview`

            **Preview.** Text preview of the file content (for snippets/posts). It defines the content surface available for this channel message.

            * **Enables:** Locate channel message records whose preview in `conversations_history.File.preview` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-preview-highli-22fb800a965b" title="Preview Highlight" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.preview_highlight`

            **Preview Highlight.** Syntax-highlighted HTML preview of the file content. It defines the content surface available for this channel message.

            * **Enables:** Locate channel message records whose preview highlight in `conversations_history.File.preview_highlight` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-public-url-sha-c2c6c9ba3029" title="Public URL Shared" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.public_url_shared`

            **Public URL Shared.** Whether the public URL has been shared. It distinguishes the provider-defined public URL shared state or classification for the file.

            * **Enables:** Filter channel message by whether the public URL has been shared in `conversations_history.File.public_url_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the public URL has been shared as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-shares-de60553b7584" title="Shares" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.shares`

            **Shares.** Object mapping channel types to channel IDs with share details. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute shares in `conversations_history.File.shares` to the parent channel message; identify parent records where that nested shares object is absent.
            * **Interpretation:** Slack reports shares as a nested object on each file; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-size-80e83a37521a" title="Size" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.size`

            **Size.** File size in bytes. It supplies the size measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure size through `conversations_history.File.size` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports size as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-1024-afba0b1af2b2" title="Thumb 1024" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_1024`

            **Thumb 1024.** URL for 1024px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 1024 in `conversations_history.File.thumb_1024`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 1024 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-1024-h-7d77baafa115" title="Thumb 1024 H" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_1024_h`

            **Thumb 1024 H.** Height of the 1024px thumbnail. It supplies the thumb 1024 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 1024 h through `conversations_history.File.thumb_1024_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 1024 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-1024-w-52feff553444" title="Thumb 1024 W" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_1024_w`

            **Thumb 1024 W.** Width of the 1024px thumbnail. It supplies the thumb 1024 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 1024 w through `conversations_history.File.thumb_1024_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 1024 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-160-ec68d62ffea4" title="Thumb 160" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_160`

            **Thumb 160.** URL for 160px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 160 in `conversations_history.File.thumb_160`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 160 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-360-d632f116ee56" title="Thumb 360" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_360`

            **Thumb 360.** URL for 360px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 360 in `conversations_history.File.thumb_360`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 360 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-360-h-df6876b66de1" title="Thumb 360 H" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_360_h`

            **Thumb 360 H.** Height of the 360px thumbnail. It supplies the thumb 360 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 360 h through `conversations_history.File.thumb_360_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 360 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-360-w-1c2dcdc1dadf" title="Thumb 360 W" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_360_w`

            **Thumb 360 W.** Width of the 360px thumbnail. It supplies the thumb 360 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 360 w through `conversations_history.File.thumb_360_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 360 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-480-cd20986ca6f3" title="Thumb 480" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_480`

            **Thumb 480.** URL for 480px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 480 in `conversations_history.File.thumb_480`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 480 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-480-h-d31bfdf55539" title="Thumb 480 H" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_480_h`

            **Thumb 480 H.** Height of the 480px thumbnail. It supplies the thumb 480 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 480 h through `conversations_history.File.thumb_480_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 480 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-480-w-05815b245f9a" title="Thumb 480 W" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_480_w`

            **Thumb 480 W.** Width of the 480px thumbnail. It supplies the thumb 480 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 480 w through `conversations_history.File.thumb_480_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 480 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-64-134631760564" title="Thumb 64" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_64`

            **Thumb 64.** URL for 64px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 64 in `conversations_history.File.thumb_64`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 64 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-720-fd2c08b4a00d" title="Thumb 720" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_720`

            **Thumb 720.** URL for 720px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 720 in `conversations_history.File.thumb_720`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 720 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-720-h-d9ac76e0a537" title="Thumb 720 H" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_720_h`

            **Thumb 720 H.** Height of the 720px thumbnail. It supplies the thumb 720 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 720 h through `conversations_history.File.thumb_720_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 720 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-720-w-2a4c9bf1f0bd" title="Thumb 720 W" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_720_w`

            **Thumb 720 W.** Width of the 720px thumbnail. It supplies the thumb 720 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 720 w through `conversations_history.File.thumb_720_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 720 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-80-9fc3d32b8709" title="Thumb 80" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_80`

            **Thumb 80.** URL for 80px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 80 in `conversations_history.File.thumb_80`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 80 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-800-bb6f0e6e4099" title="Thumb 800" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_800`

            **Thumb 800.** URL for 800px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 800 in `conversations_history.File.thumb_800`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 800 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-960-61e4dd23cb54" title="Thumb 960" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_960`

            **Thumb 960.** URL for 960px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 960 in `conversations_history.File.thumb_960`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 960 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-960-h-08ef30ac086c" title="Thumb 960 H" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_960_h`

            **Thumb 960 H.** Height of the 960px thumbnail. It supplies the thumb 960 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 960 h through `conversations_history.File.thumb_960_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 960 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-thumb-960-w-f089e137cc26" title="Thumb 960 W" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.thumb_960_w`

            **Thumb 960 W.** Width of the 960px thumbnail. It supplies the thumb 960 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 960 w through `conversations_history.File.thumb_960_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 960 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-timestamp-0bc37e78e8d5" title="Timestamp" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.timestamp`

            **Timestamp.** Unix timestamp of the file. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by timestamp in `conversations_history.File.timestamp` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports timestamp as a Unix timestamp in a unit not declared by this field on each file; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-title-f6dad6f3f0c1" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.title`

            **Title.** Display title of the file. It gives the file a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each file with title from `conversations_history.File.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-transcription-535593721e31" title="Transcription" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.transcription`

            **Transcription.** Transcription data for audio/video files. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute transcription in `conversations_history.File.transcription` to the parent channel message; identify parent records where that nested transcription object is absent.
            * **Interpretation:** Slack reports transcription as a nested object on each file; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-transcription--c78822fd68ad" title="Locale" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.transcription.locale`

            **Locale.** Locale of the transcription. It supplies the locale profile facet used to reconcile or attribute the file transcription.

            * **Enables:** Reconcile the channel message's locale in `conversations_history.FileTranscription.locale` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports locale as a mutable profile or directory attribute on each file transcription; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-transcription--d0f71b3ee43f" title="Status" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.transcription.status`

            **Status.** Transcription status (e.g., 'complete', 'processing', 'error'). It distinguishes the provider-defined status state or classification for the file transcription.

            * **Enables:** Segment file transcription entries in channel message by status in `conversations_history.FileTranscription.status`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports status as a label from its own taxonomy on each file transcription; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-url-private-04cbe236f635" title="URL Private" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.url_private`

            **URL Private.** Private URL to access the file (requires auth). It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by URL private in `conversations_history.File.url_private`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL private as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-url-private-do-9093bed22523" title="URL Private Download" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.url_private_download`

            **URL Private Download.** Private download URL for the file (requires auth). It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by URL private download in `conversations_history.File.url_private_download`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL private download as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-user-10d1996b21ea" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.user`

            **User.** User ID of the file uploader. It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related user in `conversations_history.File.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-user-team-a57ca370050e" title="User Team" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.user_team`

            **User Team.** Team ID of the file uploader. It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related user team in `conversations_history.File.user_team` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user team as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-files-username-4a98fd0c5dfc" title="User Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.files.username`

            **User Name.** Username associated with the file upload. It gives the file a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each file with user name from `conversations_history.File.username`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports user name as display text for each file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-hidden-ab6540324ff9" title="Hidden" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.hidden`

            **Hidden.** Whether the message is hidden (e.g., tombstone for deleted messages). It distinguishes the provider-defined hidden state or classification for the channel message.

            * **Enables:** Filter channel message by whether the message is hidden (e.g., tombstone for deleted messages) in `conversations_history.hidden`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the message is hidden (e.g., tombstone for deleted messages) as a boolean on each channel message; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-icons-8e1997be1be7" title="Icons" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.icons`

            **Icons.** Custom icon overrides used by bots or incoming webhooks. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute icons in `conversations_history.icons` to the parent channel message; identify parent records where that nested icons object is absent.
            * **Interpretation:** Slack reports icons as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-icons-emoji-93161886b964" title="Emoji" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.icons.emoji`

            **Emoji.** Emoji used as the message icon (e.g., ':robot\_face:'). It supplies the returned emoji text needed to understand the message icon in context.

            * **Enables:** Search the returned emoji text in `conversations_history.MessageIcons.emoji` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies emoji as returned text on each message icon; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-icons-image-36-a8a5192be1db" title="Image 36" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.icons.image_36`

            **Image 36.** URL for 36px icon. It locates the provider resource or path associated with the message icon.

            * **Enables:** Associate each message icon with the resource identified by image 36 in `conversations_history.MessageIcons.image_36`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 36 as a resource locator for each message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-icons-image-48-78f668bb4aaa" title="Image 48" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.icons.image_48`

            **Image 48.** URL for 48px icon. It locates the provider resource or path associated with the message icon.

            * **Enables:** Associate each message icon with the resource identified by image 48 in `conversations_history.MessageIcons.image_48`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 48 as a resource locator for each message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-icons-image-64-a8219aa30235" title="Image 64" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.icons.image_64`

            **Image 64.** URL for 64px icon. It locates the provider resource or path associated with the message icon.

            * **Enables:** Associate each message icon with the resource identified by image 64 in `conversations_history.MessageIcons.image_64`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 64 as a resource locator for each message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-icons-image-72-f565f091a79c" title="Image 72" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.icons.image_72`

            **Image 72.** URL for 72px icon. It locates the provider resource or path associated with the message icon.

            * **Enables:** Associate each message icon with the resource identified by image 72 in `conversations_history.MessageIcons.image_72`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 72 as a resource locator for each message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-inviter-95b542662afe" title="Inviter" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.inviter`

            **Inviter.** User ID of the person who invited a user (present on channel\_join subtypes). It identifies the related provider object that gives the channel message its parent, owner, or container context.

            * **Enables:** Connect each channel message to the related inviter in `conversations_history.inviter` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports inviter as relationship context on each channel message; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-is-locked-3d66ed6bab26" title="Is Locked" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.is_locked`

            **Is Locked.** Whether the thread is locked preventing further replies. It distinguishes the provider-defined is locked state or classification for the channel message.

            * **Enables:** Filter channel message by whether the thread is locked preventing further replies in `conversations_history.is_locked`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the thread is locked preventing further replies as a boolean on each channel message; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-is-starred-74f015b01e31" title="Is Starred" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.is_starred`

            **Is Starred.** Whether the authenticated user has starred this message. It distinguishes the provider-defined is starred state or classification for the channel message.

            * **Enables:** Filter channel message by whether the authenticated user has starred this message in `conversations_history.is_starred`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user has starred this message as a boolean on each channel message; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-last-read-572b366b612d" title="Last Read" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.last_read`

            **Last Read.** Timestamp of the last message read by the authenticated user in this thread. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by last read in `conversations_history.last_read` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last read as a timestamp on each channel message; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-latest-reply-3e8205e0c154" title="Latest Reply" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.latest_reply`

            **Latest Reply.** Timestamp of the latest reply in the thread. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by latest reply in `conversations_history.latest_reply` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports latest reply as a timestamp on each channel message; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-metadata-ddcaa882b0f8" title="Metadata" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.metadata`

            **Metadata.** Structured message metadata attached via the metadata API. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute metadata in `conversations_history.metadata` to the parent channel message; identify parent records where that nested metadata object is absent.
            * **Interpretation:** Slack reports metadata as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-metadata-event-paylo-f0ebe872e8a2" title="Event Payload" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.metadata.event_payload`

            **Event Payload.** The metadata event payload object. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute event payload in `conversations_history.MessageMetadata.event_payload` to the parent channel message; identify parent records where that nested event payload object is absent.
            * **Interpretation:** Slack reports event payload as a nested object on each message metadata; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-metadata-event-type-e2e87c019198" title="Event Type" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.metadata.event_type`

            **Event Type.** The metadata event type identifier. It distinguishes the provider-defined event type state or classification for the message metadata.

            * **Enables:** Segment message metadata entries in channel message by event type in `conversations_history.MessageMetadata.event_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports event type as a label from its own taxonomy on each message metadata; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-name-eb24c6c2ec33" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.name`

            **Name.** New channel name (present on channel\_name subtypes). It gives the channel message a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each channel message with name from `conversations_history.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each channel message; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-old-name-f300a0a132d3" title="Old Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.old_name`

            **Old Name.** Previous channel name (present on channel\_name subtypes). It gives the channel message a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each channel message with old name from `conversations_history.old_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports old name as display text for each channel message; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-parent-user-id-549b82850166" title="Parent User ID" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.parent_user_id`

            **Parent User ID.** User ID of the parent message author when this is a threaded reply. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each channel message in channel message to the referenced parent user through `conversations_history.parent_user_id`; flag parent user ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports parent user ID as an identifier in its parent user namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-permalink-39a8ba5a467f" title="Permalink" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.permalink`

            **Permalink.** Permanent URL link to this specific message. It locates the provider resource or path associated with the channel message.

            * **Enables:** Associate each channel message with the resource identified by permalink in `conversations_history.permalink`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink as a resource locator for each channel message; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-pinned-info-6da4b64ca63c" title="Pinned Info" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.pinned_info`

            **Pinned Info.** Information about when and by whom the message was pinned. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute pinned info in `conversations_history.pinned_info` to the parent channel message; identify parent records where that nested pinned info object is absent.
            * **Interpretation:** Slack reports pinned info as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-pinned-info-channel-31fda5a38904" title="Channel" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.pinned_info.channel`

            **Channel.** Channel ID where the message is pinned. It supplies the returned channel text needed to understand the pinned info in context.

            * **Enables:** Search the returned channel text in `conversations_history.PinnedInfo.channel` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies channel as returned text on each pinned info; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-pinned-info-pinned-b-910afaace5b2" title="Pinned By" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.pinned_info.pinned_by`

            **Pinned By.** User ID of the person who pinned the message. It identifies the related provider object that gives the pinned info its parent, owner, or container context.

            * **Enables:** Connect each pinned info to the related pinned by in `conversations_history.PinnedInfo.pinned_by` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports pinned by as relationship context on each pinned info; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-pinned-info-pinned-t-35d421bc8b4e" title="Pinned Ts" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.pinned_info.pinned_ts`

            **Pinned Ts.** Unix timestamp when the message was pinned. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by pinned ts in `conversations_history.PinnedInfo.pinned_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports pinned ts as a Unix timestamp in a unit not declared by this field on each pinned info; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-pinned-to-c52668972fb5" title="Pinned To" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.pinned_to`

            **Pinned To.** Array of channel IDs where this message is pinned. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute each returned pinned to value in `conversations_history.pinned_to` to the parent channel message; preserve whether the field represents an attendee, To, Cc, or Bcc relationship.
            * **Interpretation:** Slack returns pinned to as an array of pinned to value entries on each channel message; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-purpose-67dbdee5722b" title="Purpose" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.purpose`

            **Purpose.** New channel purpose text (present on channel\_purpose subtypes). It supplies the returned purpose text needed to understand the channel message in context.

            * **Enables:** Search the returned purpose text in `conversations_history.purpose` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies purpose as returned text on each channel message; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reactions-5d1f87d53cbb" title="Reactions" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reactions`

            **Reactions.** Array of emoji reactions on the message with user lists and counts. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute each returned reaction in `conversations_history.reactions` to the parent channel message and reconcile the reacting or mentioned users and provider symbol.
            * **Interpretation:** Slack returns reactions as an array of reaction entries on each channel message; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reactions-count-9c6b7d97c981" title="Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reactions.count`

            **Count.** Total number of users who reacted with this emoji. It supplies the count measure for the reaction at the provider's declared unit and grain.

            * **Enables:** Measure count through `conversations_history.Reaction.count` for each reaction and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports count as a measure on each reaction; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reactions-name-77634f09f837" title="Name" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reactions.name`

            **Name.** Emoji name without colons (e.g., 'thumbsup'). It gives the reaction a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Match repeated reaction entries on name in `conversations_history.Reaction.name`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports name as display text for each reaction; names are mutable and are not stable identities. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reactions-users-7296fd2e4fae" title="Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reactions.users`

            **Users.** Array of user IDs who reacted with this emoji. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Match every returned user value in `conversations_history.Reaction.users` to the parent channel message; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns users as an array of user value entries on each reaction; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reply-count-e16c0401cb77" title="Reply Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reply_count`

            **Reply Count.** Number of replies in the thread (present on parent messages). It supplies the reply count measure for the channel message at the provider's declared unit and grain.

            * **Enables:** Measure reply count through `conversations_history.reply_count` for each channel message and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply count as a measure on each channel message; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reply-users-511fac8a3ce9" title="Reply Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reply_users`

            **Reply Users.** Array of user IDs who replied in the thread (present on parent messages). It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Match every returned reply user value in `conversations_history.reply_users` to the parent channel message; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns reply users as an array of reply user value entries on each channel message; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-reply-users-count-49c234f9a3c8" title="Reply Users Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.reply_users_count`

            **Reply Users Count.** Number of unique users who replied in the thread. It supplies the reply users count measure for the channel message at the provider's declared unit and grain.

            * **Enables:** Measure reply users count through `conversations_history.reply_users_count` for each channel message and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply users count as a measure on each channel message; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-d8f3be502516" title="Room" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room`

            **Room.** Huddle room information if the message is related to a huddle. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute room in `conversations_history.room` to the parent channel message; identify parent records where that nested room object is absent.
            * **Interpretation:** Slack reports room as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-background-id-718456d3d7fe" title="Background ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.background_id`

            **Background ID.** Background image ID for the huddle. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each huddle room in channel message to the referenced background through `conversations_history.HuddleRoom.background_id`; flag background ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports background ID as an identifier in its background namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-canvas-thread-t-433793c0fbfc" title="Canvas Thread Ts" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.canvas_thread_ts`

            **Canvas Thread Ts.** Thread timestamp for the huddle canvas. It is needed to place the huddle room on the provider timeline at the field's stated precision.

            * **Enables:** Order Conversations History by the provider-reported instant in `conversations_history.HuddleRoom.canvas_thread_ts` and isolate records inside the same time window and precision.
            * **Interpretation:** Slack reports canvas thread ts as a time value for each huddle room; format, timezone, precision, and absolute-versus-relative meaning follow this field's contract.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-channels-a4edbb3b5692" title="Channels" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.channels`

            **Channels.** Array of channel IDs associated with the huddle. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Connect the parent channel message to every referenced channel value in `conversations_history.HuddleRoom.channels`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns channels as an array of channel value entries on each huddle room; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-created-by-999c2295dded" title="Created By" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.created_by`

            **Created By.** User ID who created the huddle. It identifies the related provider object that gives the huddle room its parent, owner, or container context.

            * **Enables:** Connect each huddle room to the related created by in `conversations_history.HuddleRoom.created_by` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports created by as relationship context on each huddle room; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-date-end-7c93bcefd6a9" title="Date End" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.date_end`

            **Date End.** Unix timestamp when the huddle ended. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Filter channel message by date end in `conversations_history.HuddleRoom.date_end`; pair that boundary with the corresponding start before measuring elapsed time.
            * **Interpretation:** Slack reports date end as a Unix timestamp in a unit not declared by this field on each huddle room; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-date-start-7ba4fbfc3786" title="Date Start" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.date_start`

            **Date Start.** Unix timestamp when the huddle started. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Filter channel message by date start in `conversations_history.HuddleRoom.date_start`; pair that boundary with the corresponding end before measuring elapsed time.
            * **Interpretation:** Slack reports date start as a Unix timestamp in a unit not declared by this field on each huddle room; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-has-ended-a055aad05afa" title="Has Ended" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.has_ended`

            **Has Ended.** Whether the huddle has ended. It distinguishes the provider-defined has ended state or classification for the huddle room.

            * **Enables:** Filter channel message by whether the huddle has ended in `conversations_history.HuddleRoom.has_ended`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the huddle has ended as a boolean on each huddle room; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-id-b8e1e550ae89" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.id`

            **ID.** Huddle room ID. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each huddle room in channel message to the referenced huddle room through `conversations_history.HuddleRoom.id`; flag ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports ID as an identifier in its huddle room namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-is-dm-call-3f003c660f92" title="Is Dm Call" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.is_dm_call`

            **Is Dm Call.** Whether the huddle is a DM call. It distinguishes the provider-defined is dm call state or classification for the huddle room.

            * **Enables:** Filter channel message by whether the huddle is a dm call in `conversations_history.HuddleRoom.is_dm_call`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the huddle is a dm call as a boolean on each huddle room; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-media-server-aca4b1877ab8" title="Media Server" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.media_server`

            **Media Server.** Media server identifier. It identifies the related provider object that gives the huddle room its parent, owner, or container context.

            * **Enables:** Connect each huddle room to the related media server in `conversations_history.HuddleRoom.media_server` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports media server as relationship context on each huddle room; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-name-09e860acab14" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.name`

            **Name.** Huddle room name. It gives the huddle room a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each huddle room with name from `conversations_history.HuddleRoom.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each huddle room; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-participant-his-c9fbfa4d5256" title="Participant History" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.participant_history`

            **Participant History.** Array of user IDs who have participated in the huddle. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Match every returned participant history value in `conversations_history.HuddleRoom.participant_history` to the parent channel message; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns participant history as an array of participant history value entries on each huddle room; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-participants-d60705d203df" title="Participants" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.participants`

            **Participants.** Array of user IDs participating in the huddle. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Match every returned participant value in `conversations_history.HuddleRoom.participants` to the parent channel message; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns participants as an array of participant value entries on each huddle room; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-thread-root-ts-f02be36eb09d" title="Thread Root Ts" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.thread_root_ts`

            **Thread Root Ts.** Root thread timestamp for the huddle. It is needed to place the huddle room on the provider timeline at the field's stated precision.

            * **Enables:** Order Conversations History by the provider-reported instant in `conversations_history.HuddleRoom.thread_root_ts` and isolate records inside the same time window and precision.
            * **Interpretation:** Slack reports thread root ts as a time value for each huddle room; format, timezone, precision, and absolute-versus-relative meaning follow this field's contract.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-was-accepted-fd9c6ae0693e" title="Was Accepted" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.was_accepted`

            **Was Accepted.** Whether the huddle was accepted. It distinguishes the provider-defined was accepted state or classification for the huddle room.

            * **Enables:** Filter channel message by whether the huddle was accepted in `conversations_history.HuddleRoom.was_accepted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the huddle was accepted as a boolean on each huddle room; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-was-missed-7176875c09b4" title="Was Missed" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.was_missed`

            **Was Missed.** Whether the huddle was missed. It distinguishes the provider-defined was missed state or classification for the huddle room.

            * **Enables:** Filter channel message by whether the huddle was missed in `conversations_history.HuddleRoom.was_missed`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the huddle was missed as a boolean on each huddle room; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-room-was-rejected-b2dcb4890d43" title="Was Rejected" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.room.was_rejected`

            **Was Rejected.** Whether the huddle was rejected. It distinguishes the provider-defined was rejected state or classification for the huddle room.

            * **Enables:** Filter channel message by whether the huddle was rejected in `conversations_history.HuddleRoom.was_rejected`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the huddle was rejected as a boolean on each huddle room; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-8d7f40a9a842" title="Root" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root`

            **Root.** Root message summary when this message is a thread broadcast. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Attribute root in `conversations_history.root` to the parent channel message; identify parent records where that nested root object is absent.
            * **Interpretation:** Slack reports root as a nested object on each channel message; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-bot-id-f7adabd3b9ef" title="Bot ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.bot_id`

            **Bot ID.** Bot ID if the root message was sent by a bot. It provides the reference needed to connect the channel message to the corresponding provider object.

            * **Enables:** Connect each thread root in channel message to the referenced bot through `conversations_history.ThreadRoot.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-last-read-325e9af13a27" title="Last Read" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.last_read`

            **Last Read.** Timestamp of the last read message in this thread. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by last read in `conversations_history.ThreadRoot.last_read` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last read as a timestamp on each thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-latest-reply-a6619c2edfca" title="Latest Reply" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.latest_reply`

            **Latest Reply.** Timestamp of the latest reply. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by latest reply in `conversations_history.ThreadRoot.latest_reply` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports latest reply as a timestamp on each thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-reply-count-161b1f5df1c3" title="Reply Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.reply_count`

            **Reply Count.** Number of replies in the thread. It supplies the reply count measure for the thread root at the provider's declared unit and grain.

            * **Enables:** Measure reply count through `conversations_history.ThreadRoot.reply_count` for each thread root and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply count as a measure on each thread root; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-reply-users-cd1b0fa26774" title="Reply Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.reply_users`

            **Reply Users.** Array of user IDs who replied. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Match every returned reply user value in `conversations_history.ThreadRoot.reply_users` to the parent channel message; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns reply users as an array of reply user value entries on each thread root; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-reply-users-cou-f25e14323e0f" title="Reply Users Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.reply_users_count`

            **Reply Users Count.** Number of unique users who replied. It supplies the reply users count measure for the thread root at the provider's declared unit and grain.

            * **Enables:** Measure reply users count through `conversations_history.ThreadRoot.reply_users_count` for each thread root and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply users count as a measure on each thread root; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-subscribed-165cbc327795" title="Subscribed" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.subscribed`

            **Subscribed.** Whether the authenticated user is subscribed to this thread. It distinguishes the provider-defined subscribed state or classification for the thread root.

            * **Enables:** Filter channel message by whether the authenticated user is subscribed to this thread in `conversations_history.ThreadRoot.subscribed`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user is subscribed to this thread as a boolean on each thread root; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-subtype-9572f897860f" title="Subtype" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.subtype`

            **Subtype.** Subtype of the root message. It supplies the returned subtype text needed to understand the thread root in context.

            * **Enables:** Search the returned subtype text in `conversations_history.ThreadRoot.subtype` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies subtype as returned text on each thread root; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-text-9e36b4294711" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.text`

            **Text.** Text content of the root message. It defines the content surface available for this channel message.

            * **Enables:** Locate thread root records by text in `conversations_history.ThreadRoot.text`; attribute each text match to its parent channel message and, when present, its reported author.
            * **Interpretation:** Slack supplies text as text on each thread root; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-thread-ts-9e086ac7b90e" title="Thread Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.thread_ts`

            **Thread Ts.** Thread timestamp of the root message. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by thread ts in `conversations_history.ThreadRoot.thread_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports thread ts as a timestamp on each thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-ts-cc900cca6237" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.ts`

            **Ts.** Timestamp of the root message. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by ts in `conversations_history.ThreadRoot.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a timestamp on each thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-type-e6016b68c531" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.type`

            **Type.** Message type of the root message. It supplies the returned type text needed to understand the thread root in context.

            * **Enables:** Segment thread root entries in channel message by type in `conversations_history.ThreadRoot.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each thread root; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-root-user-cd8e0c2c1843" title="User" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.root.user`

            **User.** User ID of the root message author. It identifies the related provider object that gives the thread root its parent, owner, or container context.

            * **Enables:** Connect each thread root to the related user in `conversations_history.ThreadRoot.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each thread root; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-source-team-11767591a53f" title="Source Team" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.source_team`

            **Source Team.** Team ID the message originated from (differs from team for shared channels). It distinguishes the provider-defined source team state or classification for the channel message.

            * **Enables:** Filter Conversations History by the exact Slack-defined source team in `conversations_history.source_team` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies source team from its own taxonomy on each channel message; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-subscribed-48c750da1a43" title="Subscribed" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.subscribed`

            **Subscribed.** Whether the authenticated user is subscribed to this thread. It distinguishes the provider-defined subscribed state or classification for the channel message.

            * **Enables:** Filter channel message by whether the authenticated user is subscribed to this thread in `conversations_history.subscribed`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user is subscribed to this thread as a boolean on each channel message; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-subtype-28272ed742f7" title="Subtype" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.subtype`

            **Subtype.** Message subtype indicating special message kinds (e.g., 'channel\_join', 'bot\_message', 'file\_share', 'me\_message', 'thread\_broadcast'). It supplies the returned subtype text needed to understand the channel message in context.

            * **Enables:** Search the returned subtype text in `conversations_history.subtype` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies subtype as returned text on each channel message; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-team-4dc19cb4c269" title="Team" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.team`

            **Team.** Workspace (team) ID where the message was posted. It supplies the returned team text needed to understand the channel message in context.

            * **Enables:** Search the returned team text in `conversations_history.team` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies team as returned text on each channel message; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-text-d8a5e7178ab1" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.text`

            **Text.** The message text content, may contain Slack mrkdwn formatting and mentions. It defines the content surface available for this channel message.

            * **Enables:** Locate channel message records by text in `conversations_history.text`; attribute each text match to its parent channel message and, when present, its reported author.
            * **Interpretation:** Slack supplies text as text on each channel message; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-thread-ts-6fa0c58cd27c" title="Thread Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.thread_ts`

            **Thread Ts.** Timestamp of the parent message if this message is part of a thread. It anchors the channel message on the provider's reported timeline.

            * **Enables:** Order channel message by thread ts in `conversations_history.thread_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports thread ts as a timestamp on each channel message; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-topic-4b5cbe948ca5" title="Topic" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.topic`

            **Topic.** New channel topic text (present on channel\_topic subtypes). It supplies the returned topic text needed to understand the channel message in context.

            * **Enables:** Search the returned topic text in `conversations_history.topic` and attribute each match to its parent channel message and reported author when available.
            * **Interpretation:** Slack supplies topic as returned text on each channel message; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-ts-39709d4f4bcc" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.ts`

            **Ts.** Unique message timestamp serving as both ID and ordering key (e.g., '1503435956.000247'). It anchors the channel message on the provider's reported timeline.

            * **Enables:** Match repeated channel message entries on ts in `conversations_history.ts`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ts as a timestamp on each channel message; timezone and precision follow this API field, and absence is not an inferred event time. The connector explicitly marks this field as a transform deduplication key. A connector directive uses this field to order records for latest-state or incremental processing. The schema designates this field as the event timestamp.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-type-342b931d3a56" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.type`

            **Type.** Message type, typically 'message'. It supplies the returned type text needed to understand the channel message in context.

            * **Enables:** Segment channel message entries in channel message by type in `conversations_history.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each channel message; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-upload-34cf04e45b08" title="Upload" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.upload`

            **Upload.** Whether the message is a file upload. It distinguishes the provider-defined upload state or classification for the channel message.

            * **Enables:** Filter channel message by whether the message is a file upload in `conversations_history.upload`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the message is a file upload as a boolean on each channel message; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-user-3f8f992fa4ac" title="User" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.user`

            **User.** Slack user ID of the message author (e.g., 'U061F7AUR'). It identifies the related provider object that gives the channel message its parent, owner, or container context.

            * **Enables:** Connect each channel message to the related user in `conversations_history.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each channel message; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-user-team-8118593790bc" title="User Team" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.user_team`

            **User Team.** Team ID of the message author. It identifies the related provider object that gives the channel message its parent, owner, or container context.

            * **Enables:** Connect each channel message to the related user team in `conversations_history.user_team` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user team as relationship context on each channel message; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-username-292c563379b5" title="User Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.username`

            **User Name.** Display name override used by bots or incoming webhooks. It gives the channel message a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each channel message with user name from `conversations_history.username`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports user name as display text for each channel message; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-history-x-files-f4782aad7a83" title="X Files" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_history.x_files`

            **X Files.** File IDs referenced by the message when full file objects are omitted. It preserves the nested context needed to interpret the parent channel message.

            * **Enables:** Connect the parent channel message to every referenced x file value in `conversations_history.x_files`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns x files as an array of x file value entries on each channel message; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-conversations-members-45fadc7bf7bb" title="Conversations Members" icon="comment-dots" iconType="sharp-duotone-solid">
        Developer identifier: `conversations_members`

        **Conversations Members.** Members of a channel.

        * **Enables:** Match each enumerated public channel to the Slack member identifiers returned by its membership operation.
        * **Scope:** Reads the records selected by Slack's `/conversations.members` operation as a snapshot stream using full synchronization. Visibility is limited to resources the Slack bot token can read in its installed Workspace. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. This stream supplies no reliable deletion signal.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-conversations-members-channel-id-fbef9d6223e8" title="Channel ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_members.channel_id`

            **Channel ID.** Parent channel reference copied into each channel-membership page because the child operation does not return that relationship. It provides the reference needed to connect the channel-membership page to the corresponding provider object.

            * **Enables:** Match repeated channel-membership page entries on channel ID in `conversations_members.channel_id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Parable copies channel ID from the parent traversal record into each channel-membership page; the child Slack operation does not return it. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-conversations-members-members-74ed7154983e" title="Members" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `conversations_members.members`

            **Members.** Slack user IDs returned by conversations.members for the parent channel page. It preserves the nested context needed to interpret the parent channel-membership page.

            * **Enables:** Match every returned member value in `conversations_members.members` to the parent channel-membership page; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns members as an array of member value entries on each channel-membership page; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-emoji-1aed9bb58d54" title="Emoji" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `emoji`

        **Emoji.** Custom emoji in the workspace.

        * **Enables:** Inventory custom emoji names and aliases and resolve each returned name to its provider image URL or alias target.
        * **Scope:** Reads the records selected by Slack's `/emoji.list` operation as a snapshot stream using full synchronization. This stream is opt-in. Visibility is limited to resources the Slack bot token can read in its installed Workspace. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. A later complete read can treat a previously seen record that is absent as removed.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-emoji-alias-for-aeb72b6ae1f6" title="Alias For" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `emoji.alias_for`

            **Alias For.** If this emoji is an alias, the name of the original emoji it references. Null or absent if the emoji is not an alias. It supplies the alias for profile facet used to reconcile or attribute the emoji.

            * **Enables:** Reconcile the emoji's alias for in `emoji.alias_for` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports alias for as a mutable profile or directory attribute on each emoji; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-emoji-is-alias-10ca3a7d6e4d" title="Is Alias" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `emoji.is_alias`

            **Is Alias.** Indicates whether this emoji is an alias for another custom emoji. True if the value starts with 'alias:', false if it is a direct image URL. It distinguishes the provider-defined is alias state or classification for the emoji.

            * **Enables:** Filter Emoji by whether this emoji is an alias for another custom emoji in `emoji.is_alias`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this emoji is an alias for another custom emoji as a boolean on each emoji; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-emoji-name-513abdbe5bdd" title="Name" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `emoji.name`

            **Name.** The name of the custom emoji, used as :name: in Slack messages. This is derived from the key in the emoji map returned by the API. It gives the emoji a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Match repeated emoji entries on name in `emoji.name`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports name as display text for each emoji; names are mutable and are not stable identities. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-emoji-url-eba72fea185b" title="URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `emoji.url`

            **URL.** The URL of the custom emoji image. For standard custom emoji, this is an HTTPS URL pointing to the hosted image file. For alias emoji, this field may contain an alias reference string in the format 'alias:original\_emoji\_name'. It locates the provider resource or path associated with the emoji.

            * **Enables:** Associate each emoji with the resource identified by URL in `emoji.url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL as a resource locator for each emoji; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-files-b36f18cfcb81" title="Files" icon="file-code" iconType="sharp-duotone-solid">
        Developer identifier: `files`

        **Files.** Files uploaded to the workspace.

        * **Enables:** Inventory Slack file metadata and associate each file with its uploader, channels, and message context.
        * **Scope:** Reads the records selected by Slack's `/files.list` operation as a snapshot stream using incremental synchronization. This stream is opt-in. Visibility is limited to resources the Slack bot token can read in its installed Workspace. This stream records file metadata and URLs; it does not download file bytes or extract document text. This stream supplies no reliable deletion signal.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-files-aac-ee66f2624efc" title="Aac" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.aac`

            **Aac.** URL for AAC audio version of the file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by aac in `files.aac`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports aac as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-audio-wave-samples-2c957cde3444" title="Audio Wave Samples" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.audio_wave_samples`

            **Audio Wave Samples.** Array of audio waveform sample values for visualization. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Measure each returned audio wave sample value in `files.audio_wave_samples` at its element and time grain; compare values only when Slack reports the same unit and aggregation.
            * **Interpretation:** Slack returns audio wave samples as an array of audio wave sample value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-bot-id-99ef74f2a4e1" title="Bot ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.bot_id`

            **Bot ID.** Bot ID if the file was uploaded by a bot. It provides the reference needed to connect the file to the corresponding provider object.

            * **Enables:** Connect each file in Files to the referenced bot through `files.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-cc-8b41a3048286" title="Cc" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.cc`

            **Cc.** Array of CC recipient objects (for email-type files). It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute each returned file email address in `files.cc` to the parent file; preserve whether the field represents an attendee, To, Cc, or Bcc relationship.
            * **Interpretation:** Slack returns cc as an array of file email address entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-cc-address-e8ca936a9250" title="Address" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.cc.address`

            **Address.** Email/contact address returned for this recipient or account; needed to attribute it to the corresponding Microsoft 365 identity.

            * **Enables:** Match repeated file email address entries on address in `files.FileEmailAddress.address`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports address as an address on each file email address; aliases, casing, and unverified addresses can prevent a one-to-one person match. The connector explicitly marks this field as a transform deduplication key. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-cc-name-f98998b1ad5d" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.cc.name`

            **Name.** Display name associated with the email address. It supplies the provider-reported address or location facet for the file email address, not a residency determination.

            * **Enables:** Label each file email address with name from `files.FileEmailAddress.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each file email address; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-cc-original-fbbcb17fa782" title="Original" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.cc.original`

            **Original.** Original email header string. It supplies the returned original text needed to understand the file email address in context.

            * **Enables:** Search the returned original text in `files.FileEmailAddress.original` and attribute each match to its parent file and reported author when available.
            * **Interpretation:** Slack supplies original as returned text on each file email address; truncation, formatting, and access boundaries can limit completeness. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-channels-4be55639e271" title="Channels" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.channels`

            **Channels.** Array of channel IDs where the file was shared. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Connect the parent file to every referenced channel value in `files.channels`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns channels as an array of channel value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-comments-count-5d4dd3f77589" title="Comments Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.comments_count`

            **Comments Count.** Number of comments on the file. It supplies the comments count measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure comments count through `files.comments_count` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports comments count as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-converted-pdf-2887dc99ecea" title="Converted PDF" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.converted_pdf`

            **Converted PDF.** URL for a converted PDF version of the file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by converted pdf in `files.converted_pdf`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports converted pdf as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-created-1ef4c04f4034" title="Created" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `files.created`

            **Created.** Unix timestamp when the file was created/uploaded. It anchors the file on the provider's reported timeline.

            * **Enables:** Order Files by created in `files.created` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports created as a Unix timestamp in a unit not declared by this field on each file; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-deanimate-3c9f56730ab5" title="Deanimate" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.deanimate`

            **Deanimate.** URL for a de-animated version of an animated image. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by deanimate in `files.deanimate`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports deanimate as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-deanimate-gif-034f30df7163" title="Deanimate Gif" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.deanimate_gif`

            **Deanimate Gif.** URL for a de-animated GIF version. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by deanimate gif in `files.deanimate_gif`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports deanimate gif as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-display-as-bot-9fc6c1064c3e" title="Display As Bot" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.display_as_bot`

            **Display As Bot.** Whether the file should be displayed as uploaded by a bot. It distinguishes the provider-defined display as bot state or classification for the file.

            * **Enables:** Filter Files by whether the file should be displayed as uploaded by a bot in `files.display_as_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file should be displayed as uploaded by a bot as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-duration-ms-b0488abbd8c4" title="Duration Ms" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `files.duration_ms`

            **Duration Ms.** Duration of audio/video file in milliseconds. It supplies the duration ms measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure duration ms through `files.duration_ms` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports duration ms as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-editable-5550e74b284a" title="Editable" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.editable`

            **Editable.** Whether the file content is editable in Slack (e.g., snippets, posts). It distinguishes the provider-defined editable state or classification for the file.

            * **Enables:** Filter Files by whether the file content is editable in Slack (e.g., snippets, posts) in `files.editable`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file content is editable in Slack (e.g., snippets, posts) as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-editor-ea7cdac7b57c" title="Editor" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.editor`

            **Editor.** User ID of the last person who edited the file. It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related editor in `files.editor` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports editor as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-external-type-ed9c9d4465e6" title="External Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.external_type`

            **External Type.** Type of external file integration (e.g., gdrive, dropbox). Empty string if not external. It distinguishes the provider-defined external type state or classification for the file.

            * **Enables:** Segment file entries in Files by external type in `files.external_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports external type as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-file-access-9ebf928e5e60" title="File Access" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.file_access`

            **File Access.** Access level for the file (e.g., visible, file\_not\_found). It distinguishes the provider-defined file access state or classification for the file.

            * **Enables:** Filter Files by the exact Slack-defined file access in `files.file_access` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies file access from its own taxonomy on each file; preserve unknown and newly introduced labels. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-filetype-74bbf1035524" title="Filetype" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.filetype`

            **Filetype.** File type identifier (e.g., pdf, png, csv). It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related filetype in `files.filetype` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports filetype as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-from-fb6875b56188" title="From" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.from`

            **From.** Array of sender objects (for email-type files). It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute each returned file email address in `files.from` to the parent file; preserve whether the field represents an attendee, To, Cc, or Bcc relationship.
            * **Interpretation:** Slack returns from as an array of file email address entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-groups-f038501b448a" title="Groups" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.groups`

            **Groups.** Array of private channel/group IDs where the file was shared. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Connect the parent file to every referenced group value in `files.groups`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns groups as an array of group value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-has-rich-preview-7c4a12816c6a" title="Has Rich Preview" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.has_rich_preview`

            **Has Rich Preview.** Whether the file has a rich preview available. It distinguishes the provider-defined has rich preview state or classification for the file.

            * **Enables:** Filter Files by whether the file has a rich preview available in `files.has_rich_preview`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file has a rich preview available as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-headers-f3cfad2d6d59" title="Headers" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.headers`

            **Headers.** Email headers (for email-type files). It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute headers in `files.headers` to the parent file; identify parent records where that nested headers object is absent.
            * **Interpretation:** Slack reports headers as a nested object on each file; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-hls-422a94447f00" title="Hls" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.hls`

            **Hls.** URL for HLS streaming version of a video file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by hls in `files.hls`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports hls as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-hls-embed-14868bfad273" title="Hls Embed" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.hls_embed`

            **Hls Embed.** URL for embeddable HLS streaming version. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by hls embed in `files.hls_embed`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports hls embed as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-id-382e7efdf099" title="ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.id`

            **ID.** Unique file identifier. It provides the reference needed to connect the file to the corresponding provider object.

            * **Enables:** Match repeated file entries on ID in `files.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its file namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-image-exif-rotation-786a36da001e" title="Image Exif Rotation" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.image_exif_rotation`

            **Image Exif Rotation.** EXIF rotation value for images. It supplies the image exif rotation measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure image exif rotation through `files.image_exif_rotation` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image exif rotation as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-ims-8b66997f2828" title="Ims" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.ims`

            **Ims.** Array of direct message channel IDs where the file was shared. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Connect the parent file to every referenced im value in `files.ims`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns ims as an array of im value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-6aec861ac146" title="Initial Comment" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment`

            **Initial Comment.** The initial comment attached to the file when uploaded. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute initial comment in `files.initial_comment` to the parent file; identify parent records where that nested initial comment object is absent.
            * **Interpretation:** Slack reports initial comment as a nested object on each file; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-channel-f9b9ef51e581" title="Channel" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.channel`

            **Channel.** Channel ID where the comment was made. It supplies the returned channel text needed to understand the file comment in context.

            * **Enables:** Search the returned channel text in `files.FileComment.channel` and attribute each match to its parent file and reported author when available.
            * **Interpretation:** Slack supplies channel as returned text on each file comment; truncation, formatting, and access boundaries can limit completeness. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-comment-d2617bee3b58" title="Comment" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.comment`

            **Comment.** Text content of the comment. It defines the content surface available for this file.

            * **Enables:** Locate file comment records by comment in `files.FileComment.comment`; attribute each text match to its parent file and, when present, its reported author.
            * **Interpretation:** Slack supplies metadata and URLs for the file; this connector does not download the file bytes. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-created-101f77141255" title="Created" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.created`

            **Created.** Unix timestamp when the comment was created. It anchors the file on the provider's reported timeline.

            * **Enables:** Order Files by created in `files.FileComment.created` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports created as a Unix timestamp in a unit not declared by this field on each file comment; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-id-1edd5881ede7" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.id`

            **ID.** Unique identifier for the comment. It provides the reference needed to connect the file to the corresponding provider object.

            * **Enables:** Connect each file comment in Files to the referenced file comment through `files.FileComment.id`; flag ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports ID as an identifier in its file comment namespace; it is not a universal identity outside Slack. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-is-intro-b3bb618e23ec" title="Is Intro" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.is_intro`

            **Is Intro.** Whether this is the introductory comment. It distinguishes the provider-defined is intro state or classification for the file comment.

            * **Enables:** Filter Files by whether this is the introductory comment in `files.FileComment.is_intro`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is the introductory comment as a boolean on each file comment; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-timestamp-535179dfdc43" title="Timestamp" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.timestamp`

            **Timestamp.** Unix timestamp of the comment. It anchors the file on the provider's reported timeline.

            * **Enables:** Order Files by timestamp in `files.FileComment.timestamp` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports timestamp as a Unix timestamp in a unit not declared by this field on each file comment; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-initial-comment-user-1c7d114fa8d2" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.initial_comment.user`

            **User.** User ID of the commenter. It identifies the related provider object that gives the file comment its parent, owner, or container context.

            * **Enables:** Connect each file comment to the related user in `files.FileComment.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each file comment; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-is-external-a78ddd10c19c" title="Is External" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.is_external`

            **Is External.** Whether the file is hosted externally. It distinguishes the provider-defined is external state or classification for the file.

            * **Enables:** Filter Files by whether the file is hosted externally in `files.is_external`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file is hosted externally as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-is-public-f2fba64dbde5" title="Is Public" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.is_public`

            **Is Public.** Whether the file is shared in a public channel. It distinguishes the provider-defined is public state or classification for the file.

            * **Enables:** Filter Files by whether the file is shared in a public channel in `files.is_public`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file is shared in a public channel as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-is-starred-88f4eb178fa3" title="Is Starred" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.is_starred`

            **Is Starred.** Whether the authenticated user has starred this file. It distinguishes the provider-defined is starred state or classification for the file.

            * **Enables:** Filter Files by whether the authenticated user has starred this file in `files.is_starred`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user has starred this file as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-is-tombstoned-66f487369558" title="Is Tombstoned" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.is_tombstoned`

            **Is Tombstoned.** Whether the file has been tombstoned (soft-deleted). It distinguishes the provider-defined is tombstoned state or classification for the file.

            * **Enables:** Filter Files by whether the file has been tombstoned (soft-deleted) in `files.is_tombstoned`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file has been tombstoned (soft-deleted) as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-last-editor-a9c0bfa73894" title="Last Editor" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.last_editor`

            **Last Editor.** User ID of the last editor of the file. It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related last editor in `files.last_editor` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports last editor as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-lines-879554f2a1c1" title="Lines" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.lines`

            **Lines.** Number of lines in the file (for text/snippet files). It supplies the returned lines text needed to understand the file in context.

            * **Enables:** Search the returned lines text in `files.lines` and attribute each match to its parent file and reported author when available.
            * **Interpretation:** Slack supplies lines as returned text on each file; truncation, formatting, and access boundaries can limit completeness. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-lines-more-9299575f5747" title="Lines More" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.lines_more`

            **Lines More.** Number of additional lines beyond the preview (for text/snippet files). It supplies the returned lines more text needed to understand the file in context.

            * **Enables:** Search the returned lines more text in `files.lines_more` and attribute each match to its parent file and reported author when available.
            * **Interpretation:** Slack supplies lines more as returned text on each file; truncation, formatting, and access boundaries can limit completeness. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-media-display-type-b5867d3922b5" title="Media Display Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.media_display_type`

            **Media Display Type.** How the media should be displayed (e.g., audio, video, unknown). It distinguishes the provider-defined media display type state or classification for the file.

            * **Enables:** Segment file entries in Files by media display type in `files.media_display_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports media display type as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-mimetype-ec060de5b13b" title="Mimetype" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.mimetype`

            **Mimetype.** MIME type of the file (e.g., application/pdf, image/png). It identifies the file, document, recording, or attachment metadata associated with the file.

            * **Enables:** Associate the mimetype in `files.mimetype` with its parent file; inventory the artifact reference without assuming binary content is present.
            * **Interpretation:** Slack reports mimetype as file, document, recording, or attachment metadata on each file; binary bytes are not implied. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-mode-5f82996913a2" title="Mode" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.mode`

            **Mode.** The mode/type of the file object. It distinguishes the provider-defined mode state or classification for the file.

            * **Enables:** Segment file entries in Files by mode in `files.mode`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports mode as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-mp4-e2530991e5d5" title="Mp4" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.mp4`

            **Mp4.** URL for MP4 version of a video file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by mp4 in `files.mp4`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports mp4 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-mp4-low-7b4bcc32e849" title="Mp4 Low" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.mp4_low`

            **Mp4 Low.** URL for low-quality MP4 version of a video file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by mp4 low in `files.mp4_low`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports mp4 low as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-name-65b53850fdf4" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.name`

            **Name.** Filename as uploaded. It identifies the file, document, recording, or attachment metadata associated with the file.

            * **Enables:** Label each file with name from `files.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-non-owner-editable-11127f932a7c" title="Non Owner Editable" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.non_owner_editable`

            **Non Owner Editable.** Whether non-owners can edit this file. It distinguishes the provider-defined non owner editable state or classification for the file.

            * **Enables:** Filter Files by whether non-owners can edit this file in `files.non_owner_editable`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports non-owners can edit this file as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-num-stars-8804fd1c7d05" title="Num Stars" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.num_stars`

            **Num Stars.** Number of users who have starred this file. It supplies the num stars measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure num stars through `files.num_stars` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports num stars as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-original-h-b8525dc4421f" title="Original H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.original_h`

            **Original H.** Original height of the file in pixels (for images/videos). It supplies the original h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure original h through `files.original_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports original h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-original-w-4832e21488f0" title="Original W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.original_w`

            **Original W.** Original width of the file in pixels (for images/videos). It supplies the original w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure original w through `files.original_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports original w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-permalink-d771ffa8b980" title="Permalink" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.permalink`

            **Permalink.** Permanent link to the file within Slack. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by permalink in `files.permalink`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-permalink-public-8ca3bea7be63" title="Permalink Public" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.permalink_public`

            **Permalink Public.** Public permanent link to the file (if publicly shared). It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by permalink public in `files.permalink_public`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink public as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-pinned-to-3060dc62e66c" title="Pinned To" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.pinned_to`

            **Pinned To.** Array of channel IDs where the file is pinned. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute each returned pinned to value in `files.pinned_to` to the parent file; preserve whether the field represents an attendee, To, Cc, or Bcc relationship.
            * **Interpretation:** Slack returns pinned to as an array of pinned to value entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-pjpeg-958bef1048e1" title="Pjpeg" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.pjpeg`

            **Pjpeg.** URL for progressive JPEG version of the image. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by pjpeg in `files.pjpeg`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports pjpeg as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-plain-text-7d8a268d22d2" title="Plain Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.plain_text`

            **Plain Text.** Plain text content of the file (for email-type files). It defines the content surface available for this file.

            * **Enables:** Locate file records by plain text in `files.plain_text`; attribute each text match to its parent file and, when present, its reported author.
            * **Interpretation:** Slack supplies metadata and URLs for the file; this connector does not download the file bytes. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-pretty-type-527603115e75" title="Pretty Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.pretty_type`

            **Pretty Type.** Human-readable file type label (e.g., PDF, PNG Image). It identifies the file, document, recording, or attachment metadata associated with the file.

            * **Enables:** Segment file entries in Files by pretty type in `files.pretty_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports pretty type as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-preview-98d40805ac53" title="Preview" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.preview`

            **Preview.** Text preview of the file content (for text/snippet files). It defines the content surface available for this file.

            * **Enables:** Locate file records whose preview in `files.preview` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-preview-highlight-011b21f25af0" title="Preview Highlight" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.preview_highlight`

            **Preview Highlight.** Syntax-highlighted HTML preview of the file content. It defines the content surface available for this file.

            * **Enables:** Locate file records whose preview highlight in `files.preview_highlight` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-preview-is-truncated-dd7d1f76860f" title="Preview Is Truncated" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.preview_is_truncated`

            **Preview Is Truncated.** Whether the preview content was truncated. It distinguishes the provider-defined preview is truncated state or classification for the file.

            * **Enables:** Filter Files by whether the preview content was truncated in `files.preview_is_truncated`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the preview content was truncated as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-preview-plain-text-6d9854ed4406" title="Preview Plain Text" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `files.preview_plain_text`

            **Preview Plain Text.** Plain text preview of the file content. It defines the content surface available for this file.

            * **Enables:** Locate file records whose preview plain text in `files.preview_plain_text` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-public-url-shared-79566fe0f7dc" title="Public URL Shared" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.public_url_shared`

            **Public URL Shared.** Whether the public URL has been explicitly shared. It distinguishes the provider-defined public URL shared state or classification for the file.

            * **Enables:** Filter Files by whether the public URL has been explicitly shared in `files.public_url_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the public URL has been explicitly shared as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-quip-thread-id-6fb92a5d00bd" title="Quip Thread ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.quip_thread_id`

            **Quip Thread ID.** Associated Quip thread ID if linked to Quip. It provides the reference needed to connect the file to the corresponding provider object.

            * **Enables:** Connect each file in Files to the referenced quip thread through `files.quip_thread_id`; flag quip thread ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports quip thread ID as an identifier in its quip thread namespace; it is not a universal identity outside Slack. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-reactions-9b2c5ea9ed99" title="Reactions" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.reactions`

            **Reactions.** Array of reactions added to the file. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute each returned file reaction in `files.reactions` to the parent file and reconcile the reacting or mentioned users and provider symbol.
            * **Interpretation:** Slack returns reactions as an array of file reaction entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-reactions-count-f70af19025d3" title="Count" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.reactions.count`

            **Count.** Number of users who added this reaction. It supplies the count measure for the file reaction at the provider's declared unit and grain.

            * **Enables:** Measure count through `files.FileReaction.count` for each file reaction and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports count as a measure on each file reaction; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-reactions-name-75a0b5650cfe" title="Name" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.reactions.name`

            **Name.** Emoji name of the reaction (without colons). It gives the file reaction a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Match repeated file reaction entries on name in `files.FileReaction.name`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports name as display text for each file reaction; names are mutable and are not stable identities. The connector explicitly marks this field as a transform deduplication key. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-reactions-users-5b94430a9ceb" title="Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.reactions.users`

            **Users.** Array of user IDs who added this reaction. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Match every returned user value in `files.FileReaction.users` to the parent file; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns users as an array of user value entries on each file reaction; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-sent-to-self-1be4c70e2bb9" title="Sent To Self" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.sent_to_self`

            **Sent To Self.** Whether the file was sent to the user themselves. It distinguishes the provider-defined sent to self state or classification for the file.

            * **Enables:** Filter Files by whether the file was sent to the user themselves in `files.sent_to_self`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file was sent to the user themselves as a boolean on each file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-shares-015fb55079b4" title="Shares" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.shares`

            **Shares.** Detailed sharing information organized by share type and channel. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute shares in `files.shares` to the parent file; identify parent records where that nested shares object is absent.
            * **Interpretation:** Slack reports shares as a nested object on each file; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-shares-private-43f683d3965b" title="Private" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.shares.private`

            **Private.** Map of channel IDs to arrays of share details for private channels/groups. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute private in `files.FileShares.private` to the parent file; identify parent records where that nested private object is absent.
            * **Interpretation:** Slack reports private as a nested object on each file share; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-shares-public-951fe0871c17" title="Public" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.shares.public`

            **Public.** Map of channel IDs to arrays of share details for public channels. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute public in `files.FileShares.public` to the parent file; identify parent records where that nested public object is absent.
            * **Interpretation:** Slack reports public as a nested object on each file share; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-size-632736c69156" title="Size" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.size`

            **Size.** File size in bytes. It supplies the size measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure size through `files.size` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports size as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-source-team-c90407a5e683" title="Source Team" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.source_team`

            **Source Team.** Team ID of the workspace where the file originated. It distinguishes the provider-defined source team state or classification for the file.

            * **Enables:** Filter Files by the exact Slack-defined source team in `files.source_team` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies source team from its own taxonomy on each file; preserve unknown and newly introduced labels. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-state-a02a31f5a681" title="State" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.state`

            **State.** State of the file (e.g., active). It distinguishes the provider-defined state state or classification for the file.

            * **Enables:** Segment file entries in Files by state in `files.state`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports state as a label from its own taxonomy on each file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-subject-1f7f858adf5e" title="Subject" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.subject`

            **Subject.** Subject of the file (for email-type files). It defines the content surface available for this file.

            * **Enables:** Locate file records by subject in `files.subject`; attribute each text match to its parent file and, when present, its reported author.
            * **Interpretation:** Slack supplies metadata and URLs for the file; this connector does not download the file bytes. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-subtype-5ecc8b4f5370" title="Subtype" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.subtype`

            **Subtype.** Subtype of the file (e.g., slack\_audio). It distinguishes the provider-defined subtype state or classification for the file.

            * **Enables:** Filter Files by the exact Slack-defined subtype in `files.subtype` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies subtype from its own taxonomy on each file; preserve unknown and newly introduced labels. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-1024-fb06a77f96d9" title="Thumb 1024" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_1024`

            **Thumb 1024.** URL for 1024px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 1024 in `files.thumb_1024`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 1024 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-1024-h-f5ffa054cedf" title="Thumb 1024 H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_1024_h`

            **Thumb 1024 H.** Height of the 1024px thumbnail in pixels. It supplies the thumb 1024 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 1024 h through `files.thumb_1024_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 1024 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-1024-w-7a7b933cdd0b" title="Thumb 1024 W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_1024_w`

            **Thumb 1024 W.** Width of the 1024px thumbnail in pixels. It supplies the thumb 1024 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 1024 w through `files.thumb_1024_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 1024 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-160-145b4285ba2c" title="Thumb 160" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_160`

            **Thumb 160.** URL for 160px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 160 in `files.thumb_160`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 160 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-360-ac517d00b969" title="Thumb 360" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_360`

            **Thumb 360.** URL for 360px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 360 in `files.thumb_360`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 360 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-360-h-8873e9129333" title="Thumb 360 H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_360_h`

            **Thumb 360 H.** Height of the 360px thumbnail in pixels. It supplies the thumb 360 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 360 h through `files.thumb_360_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 360 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-360-w-601a8c26afab" title="Thumb 360 W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_360_w`

            **Thumb 360 W.** Width of the 360px thumbnail in pixels. It supplies the thumb 360 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 360 w through `files.thumb_360_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 360 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-480-b85dba74359a" title="Thumb 480" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_480`

            **Thumb 480.** URL for 480px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 480 in `files.thumb_480`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 480 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-480-h-ac8873e331c5" title="Thumb 480 H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_480_h`

            **Thumb 480 H.** Height of the 480px thumbnail in pixels. It supplies the thumb 480 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 480 h through `files.thumb_480_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 480 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-480-w-9de0249100e6" title="Thumb 480 W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_480_w`

            **Thumb 480 W.** Width of the 480px thumbnail in pixels. It supplies the thumb 480 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 480 w through `files.thumb_480_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 480 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-64-a96ee9547d94" title="Thumb 64" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_64`

            **Thumb 64.** URL for 64px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 64 in `files.thumb_64`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 64 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-720-43e96994cf7b" title="Thumb 720" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_720`

            **Thumb 720.** URL for 720px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 720 in `files.thumb_720`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 720 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-720-h-306e4eb6b9be" title="Thumb 720 H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_720_h`

            **Thumb 720 H.** Height of the 720px thumbnail in pixels. It supplies the thumb 720 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 720 h through `files.thumb_720_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 720 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-720-w-666d3b01c620" title="Thumb 720 W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_720_w`

            **Thumb 720 W.** Width of the 720px thumbnail in pixels. It supplies the thumb 720 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 720 w through `files.thumb_720_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 720 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-80-83b68c6f7c06" title="Thumb 80" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_80`

            **Thumb 80.** URL for 80px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 80 in `files.thumb_80`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 80 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-800-0e6b554d8ce7" title="Thumb 800" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_800`

            **Thumb 800.** URL for 800px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 800 in `files.thumb_800`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 800 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-800-h-43f2c1f15de7" title="Thumb 800 H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_800_h`

            **Thumb 800 H.** Height of the 800px thumbnail in pixels. It supplies the thumb 800 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 800 h through `files.thumb_800_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 800 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-800-w-70791dae70f2" title="Thumb 800 W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_800_w`

            **Thumb 800 W.** Width of the 800px thumbnail in pixels. It supplies the thumb 800 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 800 w through `files.thumb_800_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 800 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-960-d97f32e633cc" title="Thumb 960" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_960`

            **Thumb 960.** URL for 960px thumbnail. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb 960 in `files.thumb_960`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 960 as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-960-h-cd3499713166" title="Thumb 960 H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_960_h`

            **Thumb 960 H.** Height of the 960px thumbnail in pixels. It supplies the thumb 960 h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 960 h through `files.thumb_960_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 960 h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-960-w-f5425669b41a" title="Thumb 960 W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_960_w`

            **Thumb 960 W.** Width of the 960px thumbnail in pixels. It supplies the thumb 960 w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb 960 w through `files.thumb_960_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb 960 w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-pdf-9d2609f68d70" title="Thumb PDF" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_pdf`

            **Thumb PDF.** URL for PDF thumbnail image. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb pdf in `files.thumb_pdf`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb pdf as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-pdf-h-42ed2c836276" title="Thumb PDF H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_pdf_h`

            **Thumb PDF H.** Height of the PDF thumbnail in pixels. It supplies the thumb pdf h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb pdf h through `files.thumb_pdf_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb pdf h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-pdf-w-e593155f456e" title="Thumb PDF W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_pdf_w`

            **Thumb PDF W.** Width of the PDF thumbnail in pixels. It supplies the thumb pdf w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb pdf w through `files.thumb_pdf_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb pdf w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-video-8cac137a4c2d" title="Thumb Video" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_video`

            **Thumb Video.** URL for video thumbnail image. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by thumb video in `files.thumb_video`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb video as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-video-h-48b9fed6601e" title="Thumb Video H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_video_h`

            **Thumb Video H.** Height of the video thumbnail in pixels. It supplies the thumb video h measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb video h through `files.thumb_video_h` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb video h as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-thumb-video-w-3d093726e411" title="Thumb Video W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `files.thumb_video_w`

            **Thumb Video W.** Width of the video thumbnail in pixels. It supplies the thumb video w measure for the file at the provider's declared unit and grain.

            * **Enables:** Measure thumb video w through `files.thumb_video_w` for each file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports thumb video w as a measure on each file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-timestamp-5c10cdab68fb" title="Timestamp" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `files.timestamp`

            **Timestamp.** Unix timestamp when the file was created/uploaded (same as created). It anchors the file on the provider's reported timeline.

            * **Enables:** Order Files by timestamp in `files.timestamp` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports timestamp as a Unix timestamp in a unit not declared by this field on each file; derive timezone display separately and do not guess an undeclared unit. A connector directive uses this field to order records for latest-state or incremental processing. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-title-73d9fce53799" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.title`

            **Title.** User-provided title for the file. It gives the file a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each file with title from `files.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-to-9c586bbb9bf5" title="To" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.to`

            **To.** Array of recipient objects (for email-type files). It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute each returned file email address in `files.to` to the parent file; preserve whether the field represents an attendee, To, Cc, or Bcc relationship.
            * **Interpretation:** Slack returns to as an array of file email address entries on each file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-transcription-b47ea09e9fbb" title="Transcription" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.transcription`

            **Transcription.** Transcription data for audio/video files. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute transcription in `files.transcription` to the parent file; identify parent records where that nested transcription object is absent.
            * **Interpretation:** Slack reports transcription as a nested object on each file; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-transcription-locale-1ed9363f5b79" title="Locale" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.transcription.locale`

            **Locale.** Locale/language of the transcription. It supplies the locale profile facet used to reconcile or attribute the file transcription.

            * **Enables:** Reconcile the file's locale in `files.FileTranscription.locale` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports locale as a mutable profile or directory attribute on each file transcription; it may be absent, shared, or non-unique. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-transcription-preview-8d192a6be7b1" title="Preview" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.transcription.preview`

            **Preview.** Preview of the transcription content. It preserves the nested context needed to interpret the parent file.

            * **Enables:** Attribute preview in `files.FileTranscription.preview` to the parent file; identify parent records where that nested preview object is absent.
            * **Interpretation:** Slack reports preview as a nested object on each file transcription; optional children may be absent from a valid response. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-transcription-preview-content-d6a37dd6ed42" title="Content" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.transcription.preview.content`

            **Content.** Transcription preview text. It defines the content surface available for this file.

            * **Enables:** Locate file records whose content in `files.TranscriptionPreview.content` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-transcription-preview-has-more-f647cfdcf3e9" title="Has More" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.transcription.preview.has_more`

            **Has More.** Whether there is more transcription content beyond the preview. It is needed to continue the provider result set without skipping or repeating a page.

            * **Enables:** Filter Files by whether there is more transcription content beyond the preview in `files.TranscriptionPreview.has_more`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports there is more transcription content beyond the preview as a boolean on each transcription preview; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-transcription-status-aea401d4cb38" title="Status" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.transcription.status`

            **Status.** Status of the transcription process. It distinguishes the provider-defined status state or classification for the file transcription.

            * **Enables:** Segment file transcription entries in Files by status in `files.FileTranscription.status`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports status as a label from its own taxonomy on each file transcription; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-updated-275251633a87" title="Updated" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `files.updated`

            **Updated.** Unix timestamp when the file was last updated. It anchors the file on the provider's reported timeline.

            * **Enables:** Order Files by updated in `files.updated` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports updated as a Unix timestamp in a unit not declared by this field on each file; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-url-private-b02340c59ace" title="URL Private" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.url_private`

            **URL Private.** Private URL to access the file (requires authentication). It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by URL private in `files.url_private`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL private as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-url-private-download-fde143511a05" title="URL Private Download" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.url_private_download`

            **URL Private Download.** Private URL to download the file (requires authentication). It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by URL private download in `files.url_private_download`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL private download as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-url-static-preview-36ace95fdf8b" title="URL Static Preview" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.url_static_preview`

            **URL Static Preview.** URL for a static preview of the file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by URL static preview in `files.url_static_preview`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL static preview as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-user-52bb0441793b" title="User" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.user`

            **User.** User ID of the person who uploaded the file. It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related user in `files.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-user-team-6151bbda7f55" title="User Team" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `files.user_team`

            **User Team.** Team ID of the user who uploaded the file. It identifies the related provider object that gives the file its parent, owner, or container context.

            * **Enables:** Connect each file to the related user team in `files.user_team` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user team as relationship context on each file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-username-10e10a5e0b1f" title="User Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `files.username`

            **User Name.** Display username of the uploader, if applicable. It gives the file a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each file with user name from `files.username`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports user name as display text for each file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-files-vtt-b39c35978820" title="Vtt" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `files.vtt`

            **Vtt.** URL for VTT subtitle/caption file. It locates the provider resource or path associated with the file.

            * **Enables:** Associate each file with the resource identified by vtt in `files.vtt`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports vtt as a resource locator for each file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-replies-7902e5c58563" title="Replies" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `replies`

        **Replies.** Thread replies to a message.

        * **Enables:** Attribute public-channel thread replies to their root message, channel, author, and Slack timestamp.
        * **Scope:** Reads the records selected by Slack's `/conversations.replies` operation as an event stream using incremental synchronization. This stream is opt-in. Visibility is limited to resources the Slack bot token can read in its installed Workspace. Only replies reachable from enumerated public-channel messages are read; private channels, direct messages, and file bytes are excluded. This stream supplies no reliable deletion signal.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-replies-app-id-b9fba93e8678" title="App ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.app_id`

            **App ID.** App ID if the message was posted by an app/bot. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each reply in Replies to the referenced app through `replies.app_id`; flag app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports app ID as an identifier in its app namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-78ea27f4fadf" title="Attachments" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments`

            **Attachments.** Legacy secondary attachments on the message. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Associate each returned Slack attachment metadata entry in `replies.attachments` with the parent reply; inventory the reference without assuming file, recording, or attachment bytes are present.
            * **Interpretation:** Slack returns attachments as file, recording, or attachment metadata on each reply; the array does not imply that binary content was collected. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-4daa6b08df16" title="Actions" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions`

            **Actions.** Legacy interactive message actions/buttons. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Compare the exact Slack-configured actions set in `replies.SlackAttachment.actions` for each Slack attachment; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns actions as an array of Slack attachment action entries on each Slack attachment; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-id-aa324e8e77ef" title="ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.id`

            **ID.** Action element ID. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Match repeated Slack attachment action entries on ID in `replies.SlackAttachmentAction.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its Slack attachment action namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-name-075116c5a31e" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.name`

            **Name.** Action name identifier. It identifies the related provider object that gives the Slack attachment action its parent, owner, or container context.

            * **Enables:** Label each Slack attachment action with name from `replies.SlackAttachmentAction.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each Slack attachment action; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-style-bea78df6be6f" title="Style" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.style`

            **Style.** Visual style (e.g., 'default', 'primary', 'danger'). It distinguishes the provider-defined style state or classification for the Slack attachment action.

            * **Enables:** Filter Replies by the exact Slack-defined style in `replies.SlackAttachmentAction.style` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies style from its own taxonomy on each Slack attachment action; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-text-e1528d327973" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.text`

            **Text.** Display text for the action. It defines the content surface available for this reply.

            * **Enables:** Locate Slack attachment action records by text in `replies.SlackAttachmentAction.text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** This is attachment or file metadata; it does not by itself include the referenced file bytes.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-type-205db7915e5b" title="Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.type`

            **Type.** Action type (e.g., 'button', 'select'). It distinguishes the provider-defined type state or classification for the Slack attachment action.

            * **Enables:** Segment Slack attachment action entries in Replies by type in `replies.SlackAttachmentAction.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack attachment action; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-url-f4efdbb84d2c" title="URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.url`

            **URL.** URL opened when the action is triggered. It locates the provider resource or path associated with the Slack attachment action.

            * **Enables:** Associate each Slack attachment action with the resource identified by URL in `replies.SlackAttachmentAction.url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL as a resource locator for each Slack attachment action; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-actions-value-4842027d6b3d" title="Value" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.actions.value`

            **Value.** Value sent when the action is triggered. It must be interpreted with the enclosing provider field name, type, or custom schema for the Slack attachment action.

            * **Enables:** Interpret `replies.SlackAttachmentAction.value` with the enclosing custom field name, declared type, and provider schema; compare only records that share that contract.
            * **Interpretation:** Slack reports value under the enclosing custom or typed field contract on each Slack attachment action; compare it only with values from the same provider key and type.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-author-icon-4ada0aa4ac8b" title="Author Icon" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.author_icon`

            **Author Icon.** URL for the author icon image. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by author icon in `replies.SlackAttachment.author_icon`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports author icon as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-author-link-a5e940217100" title="Author Link" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.author_link`

            **Author Link.** URL for the author name link. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by author link in `replies.SlackAttachment.author_link`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports author link as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-author-name-435fce291e6b" title="Author Name" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.author_name`

            **Author Name.** Author display name. It gives the Slack attachment a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack attachment with author name from `replies.SlackAttachment.author_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports author name as display text for each Slack attachment; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-callback-id-ec810561d34f" title="Callback ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.callback_id`

            **Callback ID.** Callback ID for legacy interactive message actions. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each Slack attachment in Replies to the referenced callback through `replies.SlackAttachment.callback_id`; flag callback ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports callback ID as an identifier in its callback namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-color-bcf60af8a2f0" title="Color" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.color`

            **Color.** Hex color code for the attachment sidebar. It identifies the file, document, recording, or attachment metadata associated with the Slack attachment.

            * **Enables:** Associate the color in `replies.SlackAttachment.color` with its parent reply; inventory the artifact reference without assuming binary content is present.
            * **Interpretation:** Slack reports color as file, document, recording, or attachment metadata on each Slack attachment; binary bytes are not implied. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-fallback-3538c58e625e" title="Fallback" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.fallback`

            **Fallback.** Plain text summary/fallback for the attachment. It supplies the returned fallback text needed to understand the Slack attachment in context.

            * **Enables:** Search the returned fallback text in `replies.SlackAttachment.fallback` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies fallback as returned text on each Slack attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-fields-99b35f0406d4" title="Fields" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.fields`

            **Fields.** Structured key-value fields within the attachment. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Compare the exact Slack-configured fields set in `replies.SlackAttachment.fields` for each Slack attachment; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns fields as an array of Slack attachment field entries on each Slack attachment; missing, empty, and permission-redacted arrays are not equivalent. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-fields-short-1749007ed053" title="Short" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.fields.short`

            **Short.** Whether the field is short enough to display side-by-side. It distinguishes the provider-defined short state or classification for the Slack attachment field.

            * **Enables:** Filter Replies by whether the field is short enough to display side-by-side in `replies.SlackAttachmentField.short`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the field is short enough to display side-by-side as a boolean on each Slack attachment field; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-fields-title-2e1c8b9be744" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.fields.title`

            **Title.** Field title/label. It gives the Slack attachment field a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack attachment field with title from `replies.SlackAttachmentField.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each Slack attachment field; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-fields-value-db2654e3a9c6" title="Value" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.fields.value`

            **Value.** Field value text. It supplies the returned value text needed to understand the Slack attachment field in context.

            * **Enables:** Search the returned value text in `replies.SlackAttachmentField.value` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies value as returned text on each Slack attachment field; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-footer-0c1ebf52ec09" title="Footer" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.footer`

            **Footer.** Footer text for the attachment. It supplies the returned footer text needed to understand the Slack attachment in context.

            * **Enables:** Search the returned footer text in `replies.SlackAttachment.footer` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies footer as returned text on each Slack attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-footer-icon-c2e7f3e91030" title="Footer Icon" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.footer_icon`

            **Footer Icon.** URL for the footer icon. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by footer icon in `replies.SlackAttachment.footer_icon`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports footer icon as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-from-url-d394aa726678" title="From URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.from_url`

            **From URL.** The original URL that generated this unfurled attachment. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by from URL in `replies.SlackAttachment.from_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports from URL as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-id-2f0cfb503fb4" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.id`

            **ID.** Numeric attachment ID within the message. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Match repeated Slack attachment entries on ID in `replies.SlackAttachment.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its Slack attachment namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-image-url-b392a0859c86" title="Image URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.image_url`

            **Image URL.** URL of an image to display in the attachment. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by image URL in `replies.SlackAttachment.image_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image URL as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-is-msg-unfurl-1f8d675c3649" title="Is Msg Unfurl" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.is_msg_unfurl`

            **Is Msg Unfurl.** Whether this attachment is an unfurled Slack message. It distinguishes the provider-defined is msg unfurl state or classification for the Slack attachment.

            * **Enables:** Filter Replies by whether this attachment is an unfurled Slack message in `replies.SlackAttachment.is_msg_unfurl`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this attachment is an unfurled Slack message as a boolean on each Slack attachment; a missing field is unknown, not false. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-9849c500642a" title="Message Blocks" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks`

            **Message Blocks.** Block Kit blocks within an unfurled message attachment. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Search the returned message blocks content in `replies.SlackAttachment.message_blocks` while preserving element order and attribution to the parent reply.
            * **Interpretation:** Slack returns message blocks as ordered content or provider-generated content metadata on each Slack attachment; truncation, omission, and inaccessible source media can limit completeness. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-21f5b5a53074" title="Accessory" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory`

            **Accessory.** The structured accessory details attached to each Slack block in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute accessory in `replies.SlackBlock.accessory` to the parent reply; identify parent records where that nested accessory object is absent.
            * **Interpretation:** Slack reports accessory as a nested object on each Slack block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-315b1df2462e" title="Action ID" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.action_id`

            **Action ID.** Unique action identifier for interactive elements. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each Slack block element in Replies to the referenced action through `replies.SlackBlockElement.action_id`; flag action ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports action ID as an identifier in its action namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-b43fe22fa0cc" title="Alt Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.alt_text`

            **Alt Text.** Alt text for image elements. It defines the content surface available for this reply.

            * **Enables:** Locate Slack block element records by alt text in `replies.SlackBlockElement.alt_text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** Slack supplies alt text as text on each Slack block element; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-326fec644e46" title="Border" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.border`

            **Border.** Border setting for rich text quote blocks. It supplies the returned border text needed to understand the Slack block element in context.

            * **Enables:** Search the returned border text in `replies.SlackBlockElement.border` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies border as returned text on each Slack block element; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-24ae916c7424" title="Elements" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.elements`

            **Elements.** Nested child elements (for rich\_text\_section, rich\_text\_list, etc.). It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Search the returned elements content in `replies.SlackBlockElement.elements` while preserving element order and attribution to the parent reply.
            * **Interpretation:** Slack returns elements as ordered content or provider-generated content metadata on each Slack block element; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-d6ac764bd853" title="Image URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.image_url`

            **Image URL.** Image URL for image elements. It locates the provider resource or path associated with the Slack block element.

            * **Enables:** Associate each Slack block element with the resource identified by image URL in `replies.SlackBlockElement.image_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image URL as a resource locator for each Slack block element; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-71b5ce331c76" title="Indent" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.indent`

            **Indent.** Indentation level for rich text list items. It supplies the returned indent text needed to understand the Slack block element in context.

            * **Enables:** Search the returned indent text in `replies.SlackBlockElement.indent` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies indent as returned text on each Slack block element; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-f7b960a679d4" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.name`

            **Name.** Emoji name or element name. It gives the Slack block element a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack block element with name from `replies.SlackBlockElement.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each Slack block element; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-ab5ba3695884" title="Skin Tone" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.skin_tone`

            **Skin Tone.** Skin tone modifier for emoji elements. It supplies the skin tone measure for the Slack block element at the provider's declared unit and grain.

            * **Enables:** Measure skin tone through `replies.SlackBlockElement.skin_tone` for each Slack block element and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports skin tone as a measure on each Slack block element; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-3a23a56d185d" title="Style" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.style`

            **Style.** Text style flags for rich-text elements (bold, italic, strike, code). Slack returns this as an object for rich\_text elements, not a string. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute style in `replies.SlackBlockElement.style` to the parent reply; identify parent records where that nested style object is absent.
            * **Interpretation:** Slack reports style as a nested object on each Slack block element; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-c7b41b124c8f" title="Bold" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.style.bold`

            **Bold.** Whether the text is bold. It distinguishes the provider-defined bold state or classification for the style.

            * **Enables:** Filter Replies by whether the text is bold in `replies.SlackBlockElement.style.bold`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the text is bold as a boolean on each style; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-966dee8fe0b2" title="Code" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.style.code`

            **Code.** Whether the text is inline code. It distinguishes the provider-defined code state or classification for the style.

            * **Enables:** Filter Replies by whether the text is inline code in `replies.SlackBlockElement.style.code`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the text is inline code as a boolean on each style; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-fec9cc554f4a" title="Italic" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.style.italic`

            **Italic.** Whether the text is italic. It distinguishes the provider-defined italic state or classification for the style.

            * **Enables:** Filter Replies by whether the text is italic in `replies.SlackBlockElement.style.italic`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the text is italic as a boolean on each style; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-95aa5143914d" title="Strike" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.style.strike`

            **Strike.** Whether the text is struck through. It distinguishes the provider-defined strike state or classification for the style.

            * **Enables:** Filter Replies by whether the text is struck through in `replies.SlackBlockElement.style.strike`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the text is struck through as a boolean on each style; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-1fbe7cba2309" title="Text" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.text`

            **Text.** The structured text details attached to each Slack block element in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute text in `replies.SlackBlockElement.text` to the parent reply; identify parent records where that nested text object is absent.
            * **Interpretation:** Slack reports text as a nested object on each Slack block element; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-ddbc3ca317fd" title="Emoji" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.text.emoji`

            **Emoji.** Whether emoji should be escaped into colon format (plain\_text only). It distinguishes the provider-defined emoji state or classification for the Slack text object.

            * **Enables:** Filter Replies by whether emoji should be escaped into colon format (plain\_text only) in `replies.SlackTextObject.emoji`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports emoji should be escaped into colon format (plain\_text only) as a boolean on each Slack text object; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-336691e5d136" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.text.text`

            **Text.** The text content. It defines the content surface available for this reply.

            * **Enables:** Locate Slack text object records by text in `replies.SlackTextObject.text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** Slack supplies text as text on each Slack text object; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-6bcb195885b8" title="Type" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.text.type`

            **Type.** Text type: 'plain\_text' or 'mrkdwn'. It supplies the returned type text needed to understand the Slack text object in context.

            * **Enables:** Segment Slack text object entries in Replies by type in `replies.SlackTextObject.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack text object; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-5e4a91eec5cf" title="Verbatim" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.text.verbatim`

            **Verbatim.** Whether to skip preprocessing/auto-linking (mrkdwn only). It distinguishes the provider-defined verbatim state or classification for the Slack text object.

            * **Enables:** Filter Replies by whether to skip preprocessing/auto-linking (mrkdwn only) in `replies.SlackTextObject.verbatim`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports to skip preprocessing/auto-linking (mrkdwn only) as a boolean on each Slack text object; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-1f1c9538f149" title="Type" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.type`

            **Type.** Element type (e.g., 'button', 'image', 'static\_select', 'overflow', 'datepicker', 'rich\_text\_section', 'rich\_text\_list', 'user', 'link', 'emoji', 'text'). It locates the provider resource or path associated with the Slack block element.

            * **Enables:** Segment Slack block element entries in Replies by type in `replies.SlackBlockElement.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack block element; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-33372b3e73ec" title="Unicode" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.unicode`

            **Unicode.** Unicode codepoint for emoji elements. It distinguishes the provider-defined unicode state or classification for the Slack block element.

            * **Enables:** Filter Replies by the exact Slack-defined unicode in `replies.SlackBlockElement.unicode` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies unicode from its own taxonomy on each Slack block element; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-0f8764ccb3b2" title="URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.url`

            **URL.** URL for link or button elements. It locates the provider resource or path associated with the Slack block element.

            * **Enables:** Associate each Slack block element with the resource identified by URL in `replies.SlackBlockElement.url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL as a resource locator for each Slack block element; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-3ace9d2bed8c" title="User ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.user_id`

            **User ID.** User ID referenced by a user element. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each Slack block element in Replies to the referenced user through `replies.SlackBlockElement.user_id`; flag user ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports user ID as an identifier in its user namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-accesso-9fdb3c5cf883" title="Value" icon="money-check-dollar" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.accessory.value`

            **Value.** Value payload for interactive elements. It must be interpreted with the enclosing provider field name, type, or custom schema for the Slack block element.

            * **Enables:** Interpret `replies.SlackBlockElement.value` with the enclosing custom field name, declared type, and provider schema; compare only records that share that contract.
            * **Interpretation:** Slack reports value under the enclosing custom or typed field contract on each Slack block element; compare it only with values from the same provider key and type.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-alt-tex-a6ad2e28a5b5" title="Alt Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.alt_text`

            **Alt Text.** Alt text for image blocks. It defines the content surface available for this reply.

            * **Enables:** Locate Slack block records by alt text in `replies.SlackBlock.alt_text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** Slack supplies alt text as text on each Slack block; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-block-i-c6ed1ac83461" title="Block ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.block_id`

            **Block ID.** Unique identifier for this block within the message. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Match repeated Slack block entries on block ID in `replies.SlackBlock.block_id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports block ID as an identifier in its block namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-dispatc-e014a5ff9d46" title="Dispatch Action" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.dispatch_action`

            **Dispatch Action.** Whether the block dispatches actions. It distinguishes the provider-defined dispatch action state or classification for the Slack block.

            * **Enables:** Filter Replies by whether the block dispatches actions in `replies.SlackBlock.dispatch_action`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the block dispatches actions as a boolean on each Slack block; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-element-b03749ab2acc" title="Elements" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.elements`

            **Elements.** Child elements within the block. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Search the returned elements content in `replies.SlackBlock.elements` while preserving element order and attribution to the parent reply.
            * **Interpretation:** Slack returns elements as ordered content or provider-generated content metadata on each Slack block; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-fields-b834d2e5c0f2" title="Fields" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.fields`

            **Fields.** Array of text objects for multi-column section blocks. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Compare the exact Slack-configured fields set in `replies.SlackBlock.fields` for each Slack block; preserve provider labels and unknown entries.
            * **Interpretation:** Slack returns fields as an array of Slack text object entries on each Slack block; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-image-u-2807b06a3fe6" title="Image URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.image_url`

            **Image URL.** URL of the image (for image blocks). It locates the provider resource or path associated with the Slack block.

            * **Enables:** Associate each Slack block with the resource identified by image URL in `replies.SlackBlock.image_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image URL as a resource locator for each Slack block; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-label-ddb538324925" title="Label" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.label`

            **Label.** The structured label details attached to each Slack block in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute label in `replies.SlackBlock.label` to the parent reply; identify parent records where that nested label object is absent.
            * **Interpretation:** Slack reports label as a nested object on each Slack block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-text-a399e5512f3e" title="Text" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.text`

            **Text.** The structured text details attached to each Slack block in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute text in `replies.SlackBlock.text` to the parent reply; identify parent records where that nested text object is absent.
            * **Interpretation:** Slack reports text as a nested object on each Slack block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-title-68399a771431" title="Title" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.title`

            **Title.** The structured title details attached to each Slack block in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute title in `replies.SlackBlock.title` to the parent reply; identify parent records where that nested title object is absent.
            * **Interpretation:** Slack reports title as a nested object on each Slack block; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-message-blocks-type-b6e8f5b75bbe" title="Type" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.message_blocks.type`

            **Type.** Block type (e.g., 'section', 'divider', 'image', 'actions', 'context', 'rich\_text', 'header', 'input'). It supplies the returned type text needed to understand the Slack block in context.

            * **Enables:** Segment Slack block entries in Replies by type in `replies.SlackBlock.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack block; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-mrkdwn-in-376bc60e73e1" title="Mrkdwn In" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.mrkdwn_in`

            **Mrkdwn In.** List of fields that should be rendered with mrkdwn formatting. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Search the returned mrkdwn in content in `replies.SlackAttachment.mrkdwn_in` while preserving element order and attribution to the parent reply.
            * **Interpretation:** Slack returns mrkdwn in as ordered content or provider-generated content metadata on each Slack attachment; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-original-url-71719aad2c89" title="Original URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.original_url`

            **Original URL.** Original URL before unfurling. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by original URL in `replies.SlackAttachment.original_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports original URL as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-pretext-9e3d72ade746" title="Pretext" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.pretext`

            **Pretext.** Text displayed above the attachment block. It supplies the returned pretext text needed to understand the Slack attachment in context.

            * **Enables:** Search the returned pretext text in `replies.SlackAttachment.pretext` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies pretext as returned text on each Slack attachment; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-service-icon-cca3597ca676" title="Service Icon" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.service_icon`

            **Service Icon.** Icon URL for the service. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by service icon in `replies.SlackAttachment.service_icon`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports service icon as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-service-name-325e37954f36" title="Service Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.service_name`

            **Service Name.** Name of the service that generated the attachment. It identifies the file, document, recording, or attachment metadata associated with the Slack attachment.

            * **Enables:** Label each Slack attachment with service name from `replies.SlackAttachment.service_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports service name as display text for each Slack attachment; names are mutable and are not stable identities. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-text-a09103489bc7" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.text`

            **Text.** Main body text of the attachment. It defines the content surface available for this reply.

            * **Enables:** Locate Slack attachment records by text in `replies.SlackAttachment.text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** This is attachment or file metadata; it does not by itself include the referenced file bytes. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-thumb-url-07afbdf1dd8b" title="Thumb URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.thumb_url`

            **Thumb URL.** URL of a thumbnail image. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by thumb URL in `replies.SlackAttachment.thumb_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb URL as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-title-3b4b5432bee5" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.title`

            **Title.** Attachment title text. It supplies the returned title text needed to understand the Slack attachment in context.

            * **Enables:** Label each Slack attachment with title from `replies.SlackAttachment.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each Slack attachment; names are mutable and are not stable identities. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-title-link-7f2e3d10969c" title="Title Link" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.title_link`

            **Title Link.** URL for the title link. It locates the provider resource or path associated with the Slack attachment.

            * **Enables:** Associate each Slack attachment with the resource identified by title link in `replies.SlackAttachment.title_link`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports title link as a resource locator for each Slack attachment; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-attachments-ts-56fed3561dbe" title="Ts" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.attachments.ts`

            **Ts.** Unix timestamp displayed in the attachment footer. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by ts in `replies.SlackAttachment.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a Unix timestamp in a unit not declared by this field on each Slack attachment; derive timezone display separately and do not guess an undeclared unit. This field is metadata or a reference for the file or attachment; it does not by itself include binary content.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-blocks-62d8967dcbe5" title="Blocks" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.blocks`

            **Blocks.** Block Kit layout blocks composing the rich message content. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Search the returned blocks content in `replies.blocks` while preserving element order and attribution to the parent reply.
            * **Interpretation:** Slack returns blocks as ordered content or provider-generated content metadata on each reply; truncation, omission, and inaccessible source media can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-id-285a5b6ba069" title="Bot ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_id`

            **Bot ID.** Bot ID if the message was posted by a bot. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each reply in Replies to the referenced bot through `replies.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-c862d7be5f4a" title="Bot Profile" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile`

            **Bot Profile.** The structured bot profile details attached to each reply in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute bot profile in `replies.bot_profile` to the parent reply; identify parent records where that nested bot profile object is absent.
            * **Interpretation:** Slack reports bot profile as a nested object on each reply; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-app-id-2f6856493f5e" title="App ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.app_id`

            **App ID.** The app ID associated with this bot. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each Slack bot profile in Replies to the referenced app through `replies.SlackBotProfile.app_id`; flag app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports app ID as an identifier in its app namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-deleted-85fc5960d4a5" title="Deleted" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.deleted`

            **Deleted.** Whether the bot has been deleted. It distinguishes the provider-defined deleted state or classification for the Slack bot profile.

            * **Enables:** Filter Replies by whether the bot has been deleted in `replies.SlackBotProfile.deleted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the bot has been deleted as a boolean on each Slack bot profile; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-icons-eb5fd80500dc" title="Icons" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.icons`

            **Icons.** The structured icons details attached to each Slack bot profile in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute icons in `replies.SlackBotProfile.icons` to the parent reply; identify parent records where that nested icons object is absent.
            * **Interpretation:** Slack reports icons as a nested object on each Slack bot profile; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-icons-image-36-42e707261d2e" title="Image 36" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.icons.image_36`

            **Image 36.** 36x36 pixel bot icon URL. It locates the provider resource or path associated with the Slack bot icon.

            * **Enables:** Associate each Slack bot icon with the resource identified by image 36 in `replies.SlackBotIcons.image_36`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 36 as a resource locator for each Slack bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-icons-image-48-64faa38fadfd" title="Image 48" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.icons.image_48`

            **Image 48.** 48x48 pixel bot icon URL. It locates the provider resource or path associated with the Slack bot icon.

            * **Enables:** Associate each Slack bot icon with the resource identified by image 48 in `replies.SlackBotIcons.image_48`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 48 as a resource locator for each Slack bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-icons-image-72-4a00dc91d93b" title="Image 72" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.icons.image_72`

            **Image 72.** 72x72 pixel bot icon URL. It locates the provider resource or path associated with the Slack bot icon.

            * **Enables:** Associate each Slack bot icon with the resource identified by image 72 in `replies.SlackBotIcons.image_72`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 72 as a resource locator for each Slack bot icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-id-b27766660c4e" title="ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.id`

            **ID.** Unique bot profile ID. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each Slack bot profile in Replies to the referenced Slack bot profile through `replies.SlackBotProfile.id`; flag ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports ID as an identifier in its Slack bot profile namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-name-66605e1066f6" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.name`

            **Name.** Display name of the bot. It gives the Slack bot profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack bot profile with name from `replies.SlackBotProfile.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each Slack bot profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-team-id-b958c7c3abe7" title="Team ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.team_id`

            **Team ID.** Team ID the bot belongs to. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each Slack bot profile in Replies to the referenced team through `replies.SlackBotProfile.team_id`; flag team ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports team ID as an identifier in its team namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-bot-profile-updated-8fa6c49c6570" title="Updated" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `replies.bot_profile.updated`

            **Updated.** Unix timestamp when the bot profile was last updated. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by updated in `replies.SlackBotProfile.updated` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports updated as a Unix timestamp in a unit not declared by this field on each Slack bot profile; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-channel-id-b3026bed215e" title="Channel ID" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `replies.channel_id`

            **Channel ID.** Parent channel reference copied into each reply because the child operation does not return that relationship. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each reply in Replies to the referenced channel through `replies.channel_id`; flag channel ID values that do not resolve in that provider namespace.
            * **Interpretation:** Parable copies channel ID from the parent traversal record into each reply; the child Slack operation does not return it.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-client-msg-id-741e22962e08" title="Client Msg ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.client_msg_id`

            **Client Msg ID.** Client-generated unique message ID (UUID format). It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each reply in Replies to the referenced client msg through `replies.client_msg_id`; flag client msg ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports client msg ID as an identifier in its client msg namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-display-as-bot-d50596179356" title="Display As Bot" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.display_as_bot`

            **Display As Bot.** Whether the message should be displayed as if from a bot. It distinguishes the provider-defined display as bot state or classification for the reply.

            * **Enables:** Filter Replies by whether the message should be displayed as if from a bot in `replies.display_as_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the message should be displayed as if from a bot as a boolean on each reply; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-edited-9281d7334efd" title="Edited" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.edited`

            **Edited.** The structured edited details attached to each reply in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute edited in `replies.edited` to the parent reply; identify parent records where that nested edited object is absent.
            * **Interpretation:** Slack reports edited as a nested object on each reply; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-edited-ts-2360c8e6a583" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.edited.ts`

            **Ts.** Timestamp of the last edit. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by ts in `replies.SlackEdited.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a timestamp on each Slack edited; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-edited-user-ae936501140c" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.edited.user`

            **User.** User ID who last edited the message. It identifies the related provider object that gives the Slack edited its parent, owner, or container context.

            * **Enables:** Connect each Slack edited to the related user in `replies.SlackEdited.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each Slack edited; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-1ea6c0d280ec" title="Files" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files`

            **Files.** Files shared in this message. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Associate each returned Slack file metadata entry in `replies.files` with the parent reply; inventory the reference without assuming file, recording, or attachment bytes are present.
            * **Interpretation:** Slack returns files as file, recording, or attachment metadata on each reply; the array does not imply that binary content was collected.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-channels-19bbf80ed6f1" title="Channels" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.channels`

            **Channels.** Channel IDs where the file has been shared. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Connect the parent reply to every referenced channel value in `replies.SlackFile.channels`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns channels as an array of channel value entries on each Slack file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-created-e30883949c11" title="Created" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.created`

            **Created.** Unix timestamp when the file was created. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by created in `replies.SlackFile.created` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports created as a Unix timestamp in a unit not declared by this field on each Slack file; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-display-as-bot-5cf29d190de7" title="Display As Bot" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.display_as_bot`

            **Display As Bot.** Whether the file upload should display as a bot. It distinguishes the provider-defined display as bot state or classification for the Slack file.

            * **Enables:** Filter Replies by whether the file upload should display as a bot in `replies.SlackFile.display_as_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file upload should display as a bot as a boolean on each Slack file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-editable-cacad980cba0" title="Editable" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.editable`

            **Editable.** Whether the file content is editable in Slack. It distinguishes the provider-defined editable state or classification for the Slack file.

            * **Enables:** Filter Replies by whether the file content is editable in Slack in `replies.SlackFile.editable`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file content is editable in Slack as a boolean on each Slack file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-external-type-b009d2d40657" title="External Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.external_type`

            **External Type.** External hosting service type. It distinguishes the provider-defined external type state or classification for the Slack file.

            * **Enables:** Segment Slack file entries in Replies by external type in `replies.SlackFile.external_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports external type as a label from its own taxonomy on each Slack file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-filetype-fa7f266f52a2" title="Filetype" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.filetype`

            **Filetype.** Slack file type identifier (e.g., 'png', 'pdf', 'snippet'). It identifies the related provider object that gives the Slack file its parent, owner, or container context.

            * **Enables:** Connect each Slack file to the related filetype in `replies.SlackFile.filetype` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports filetype as relationship context on each Slack file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-groups-223d845e7584" title="Groups" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.groups`

            **Groups.** Private channel IDs where the file has been shared. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Connect the parent reply to every referenced group value in `replies.SlackFile.groups`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns groups as an array of group value entries on each Slack file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-has-rich-preview-0d5ae2a5f2b7" title="Has Rich Preview" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.has_rich_preview`

            **Has Rich Preview.** Whether the file has a rich preview. It distinguishes the provider-defined has rich preview state or classification for the Slack file.

            * **Enables:** Filter Replies by whether the file has a rich preview in `replies.SlackFile.has_rich_preview`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file has a rich preview as a boolean on each Slack file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-id-c9accc9447c4" title="ID" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.id`

            **ID.** Unique file identifier. It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Match repeated Slack file entries on ID in `replies.SlackFile.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its Slack file namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-image-exif-rotation-0d4523b7b8d7" title="Image Exif Rotation" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.image_exif_rotation`

            **Image Exif Rotation.** EXIF rotation value for image files. It supplies the image exif rotation measure for the Slack file at the provider's declared unit and grain.

            * **Enables:** Measure image exif rotation through `replies.SlackFile.image_exif_rotation` for each Slack file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports image exif rotation as a measure on each Slack file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-ims-f513a0881061" title="Ims" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.ims`

            **Ims.** DM channel IDs where the file has been shared. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Connect the parent reply to every referenced im value in `replies.SlackFile.ims`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns ims as an array of im value entries on each Slack file; missing, empty, and permission-redacted arrays are not equivalent. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-is-external-8831a68963bc" title="Is External" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.is_external`

            **Is External.** Whether the file is externally hosted. It distinguishes the provider-defined is external state or classification for the Slack file.

            * **Enables:** Filter Replies by whether the file is externally hosted in `replies.SlackFile.is_external`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file is externally hosted as a boolean on each Slack file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-is-public-a093cf2fd18a" title="Is Public" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.is_public`

            **Is Public.** Whether the file is public. It distinguishes the provider-defined is public state or classification for the Slack file.

            * **Enables:** Filter Replies by whether the file is public in `replies.SlackFile.is_public`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the file is public as a boolean on each Slack file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-lines-b80132e8b3b9" title="Lines" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.lines`

            **Lines.** Number of lines in a text/snippet file. It supplies the returned lines text needed to understand the Slack file in context.

            * **Enables:** Search the returned lines text in `replies.SlackFile.lines` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies lines as returned text on each Slack file; truncation, formatting, and access boundaries can limit completeness. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-lines-more-efb9a8e92fad" title="Lines More" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.lines_more`

            **Lines More.** Number of additional lines beyond the preview. It supplies the lines more measure for the Slack file at the provider's declared unit and grain.

            * **Enables:** Measure lines more through `replies.SlackFile.lines_more` for each Slack file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports lines more as a measure on each Slack file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-media-display-type-2322a210b636" title="Media Display Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.media_display_type`

            **Media Display Type.** How the media should be displayed (e.g., 'audio', 'video'). It distinguishes the provider-defined media display type state or classification for the Slack file.

            * **Enables:** Segment Slack file entries in Replies by media display type in `replies.SlackFile.media_display_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports media display type as a label from its own taxonomy on each Slack file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-mimetype-a609735c8917" title="Mimetype" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.mimetype`

            **Mimetype.** MIME type of the file. It identifies the file, document, recording, or attachment metadata associated with the Slack file.

            * **Enables:** Associate the mimetype in `replies.SlackFile.mimetype` with its parent reply; inventory the artifact reference without assuming binary content is present.
            * **Interpretation:** Slack reports mimetype as file, document, recording, or attachment metadata on each Slack file; binary bytes are not implied. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-mode-38ea544347b8" title="Mode" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.mode`

            **Mode.** File mode (e.g., 'hosted', 'external', 'snippet', 'post'). It distinguishes the provider-defined mode state or classification for the Slack file.

            * **Enables:** Segment Slack file entries in Replies by mode in `replies.SlackFile.mode`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports mode as a label from its own taxonomy on each Slack file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-name-1e83f74dff8c" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.name`

            **Name.** Filename including extension. It identifies the file, document, recording, or attachment metadata associated with the Slack file.

            * **Enables:** Label each Slack file with name from `replies.SlackFile.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each Slack file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-original-h-71e5dbacfb00" title="Original H" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.original_h`

            **Original H.** Original image height in pixels. It supplies the original h measure for the Slack file at the provider's declared unit and grain.

            * **Enables:** Measure original h through `replies.SlackFile.original_h` for each Slack file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports original h as a measure on each Slack file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-original-w-29e7b9cb23b8" title="Original W" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.original_w`

            **Original W.** Original image width in pixels. It supplies the original w measure for the Slack file at the provider's declared unit and grain.

            * **Enables:** Measure original w through `replies.SlackFile.original_w` for each Slack file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports original w as a measure on each Slack file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-permalink-9d64e78e8163" title="Permalink" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.permalink`

            **Permalink.** Permanent link to the file in Slack. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by permalink in `replies.SlackFile.permalink`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-permalink-public-c50b5b3e98fa" title="Permalink Public" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.permalink_public`

            **Permalink Public.** Public permanent link to the file. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by permalink public in `replies.SlackFile.permalink_public`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink public as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-pretty-type-93ff881db820" title="Pretty Type" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.pretty_type`

            **Pretty Type.** Human-readable file type label. It identifies the file, document, recording, or attachment metadata associated with the Slack file.

            * **Enables:** Segment Slack file entries in Replies by pretty type in `replies.SlackFile.pretty_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports pretty type as a label from its own taxonomy on each Slack file; preserve unknown labels rather than mapping them by assumption. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-preview-cfbfcab9f5b1" title="Preview" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.preview`

            **Preview.** Text preview/snippet of the file content. It defines the content surface available for this reply.

            * **Enables:** Locate reply records whose preview in `replies.SlackFile.preview` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-preview-highlight-d0066eaa5746" title="Preview Highlight" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.preview_highlight`

            **Preview Highlight.** Syntax-highlighted HTML preview of the file content. It defines the content surface available for this reply.

            * **Enables:** Locate reply records whose preview highlight in `replies.SlackFile.preview_highlight` contains the search term; open the Slack record when the excerpt lacks needed context.
            * **Interpretation:** This is an excerpt supplied by the provider, not the complete body or an attachment. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-public-url-shared-7df749b8c652" title="Public URL Shared" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.public_url_shared`

            **Public URL Shared.** Whether the public URL has been shared. It distinguishes the provider-defined public URL shared state or classification for the Slack file.

            * **Enables:** Filter Replies by whether the public URL has been shared in `replies.SlackFile.public_url_shared`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the public URL has been shared as a boolean on each Slack file; a missing field is unknown, not false. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-size-8a2ea3dc347a" title="Size" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.size`

            **Size.** File size in bytes. It supplies the size measure for the Slack file at the provider's declared unit and grain.

            * **Enables:** Measure size through `replies.SlackFile.size` for each Slack file and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports size as a measure on each Slack file; compare only records with the same unit and aggregation grain. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-1024-1c0e1f64745c" title="Thumb 1024" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_1024`

            **Thumb 1024.** 1024px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 1024 in `replies.SlackFile.thumb_1024`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 1024 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-160-1a2fff65e21b" title="Thumb 160" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_160`

            **Thumb 160.** 160px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 160 in `replies.SlackFile.thumb_160`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 160 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-360-73f7d67a6ae4" title="Thumb 360" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_360`

            **Thumb 360.** 360px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 360 in `replies.SlackFile.thumb_360`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 360 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-480-3828e4df9831" title="Thumb 480" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_480`

            **Thumb 480.** 480px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 480 in `replies.SlackFile.thumb_480`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 480 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-64-39fb540b4435" title="Thumb 64" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_64`

            **Thumb 64.** 64px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 64 in `replies.SlackFile.thumb_64`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 64 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-720-655446279644" title="Thumb 720" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_720`

            **Thumb 720.** 720px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 720 in `replies.SlackFile.thumb_720`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 720 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-80-3b8931110c62" title="Thumb 80" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_80`

            **Thumb 80.** 80px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 80 in `replies.SlackFile.thumb_80`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 80 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-thumb-960-b9215eafb1db" title="Thumb 960" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.thumb_960`

            **Thumb 960.** 960px thumbnail URL. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by thumb 960 in `replies.SlackFile.thumb_960`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports thumb 960 as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-timestamp-7c24ccc9bf33" title="Timestamp" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.timestamp`

            **Timestamp.** Unix timestamp of the file. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by timestamp in `replies.SlackFile.timestamp` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports timestamp as a Unix timestamp in a unit not declared by this field on each Slack file; derive timezone display separately and do not guess an undeclared unit. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-title-9297e68f6d09" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.title`

            **Title.** Display title of the file. It gives the Slack file a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack file with title from `replies.SlackFile.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each Slack file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-url-private-744357e18f17" title="URL Private" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.url_private`

            **URL Private.** Private URL to access the file. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by URL private in `replies.SlackFile.url_private`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL private as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-url-private-download-838a2955e305" title="URL Private Download" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.url_private_download`

            **URL Private Download.** Private URL to download the file. It locates the provider resource or path associated with the Slack file.

            * **Enables:** Associate each Slack file with the resource identified by URL private download in `replies.SlackFile.url_private_download`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL private download as a resource locator for each Slack file; access still depends on viewer permissions and the URL may expire or change. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-user-63389dbfae22" title="User" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.user`

            **User.** User ID who uploaded the file. It identifies the related provider object that gives the Slack file its parent, owner, or container context.

            * **Enables:** Connect each Slack file to the related user in `replies.SlackFile.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each Slack file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-user-team-baf75ca1739e" title="User Team" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.user_team`

            **User Team.** Team ID of the user who uploaded the file. It identifies the related provider object that gives the Slack file its parent, owner, or container context.

            * **Enables:** Connect each Slack file to the related user team in `replies.SlackFile.user_team` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user team as relationship context on each Slack file; resolve it in the named provider namespace rather than by display text alone. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-files-username-22f49786513b" title="User Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.files.username`

            **User Name.** Username override for the file upload. It gives the Slack file a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack file with user name from `replies.SlackFile.username`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports user name as display text for each Slack file; names are mutable and are not stable identities. This stream treats the file or attachment as metadata and references; binary bytes are not included.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-hidden-ca9b49a6ffee" title="Hidden" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.hidden`

            **Hidden.** Whether the message is hidden (e.g., tombstoned or system-hidden). It distinguishes the provider-defined hidden state or classification for the reply.

            * **Enables:** Filter Replies by whether the message is hidden (e.g., tombstoned or system-hidden) in `replies.hidden`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the message is hidden (e.g., tombstoned or system-hidden) as a boolean on each reply; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-icons-17ccc59565da" title="Icons" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.icons`

            **Icons.** The structured icons details attached to each reply in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute icons in `replies.icons` to the parent reply; identify parent records where that nested icons object is absent.
            * **Interpretation:** Slack reports icons as a nested object on each reply; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-icons-emoji-563308a2876a" title="Emoji" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.icons.emoji`

            **Emoji.** Emoji used as the message icon. It supplies the returned emoji text needed to understand the Slack message icon in context.

            * **Enables:** Search the returned emoji text in `replies.SlackMessageIcons.emoji` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies emoji as returned text on each Slack message icon; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-icons-image-36-4d0feaf4d176" title="Image 36" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.icons.image_36`

            **Image 36.** 36px custom icon image URL. It locates the provider resource or path associated with the Slack message icon.

            * **Enables:** Associate each Slack message icon with the resource identified by image 36 in `replies.SlackMessageIcons.image_36`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 36 as a resource locator for each Slack message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-icons-image-48-1dffa2a1b311" title="Image 48" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.icons.image_48`

            **Image 48.** 48px custom icon image URL. It locates the provider resource or path associated with the Slack message icon.

            * **Enables:** Associate each Slack message icon with the resource identified by image 48 in `replies.SlackMessageIcons.image_48`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 48 as a resource locator for each Slack message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-icons-image-64-004a7d2c7af7" title="Image 64" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.icons.image_64`

            **Image 64.** 64px custom icon image URL. It locates the provider resource or path associated with the Slack message icon.

            * **Enables:** Associate each Slack message icon with the resource identified by image 64 in `replies.SlackMessageIcons.image_64`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 64 as a resource locator for each Slack message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-icons-image-72-3f9d3f7e7ff2" title="Image 72" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.icons.image_72`

            **Image 72.** 72px custom icon image URL. It locates the provider resource or path associated with the Slack message icon.

            * **Enables:** Associate each Slack message icon with the resource identified by image 72 in `replies.SlackMessageIcons.image_72`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 72 as a resource locator for each Slack message icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-inviter-885ed702fc51" title="Inviter" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.inviter`

            **Inviter.** User ID of the person who invited a user (for channel\_join subtypes). It identifies the related provider object that gives the reply its parent, owner, or container context.

            * **Enables:** Connect each reply to the related inviter in `replies.inviter` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports inviter as relationship context on each reply; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-is-locked-a126e77a025a" title="Is Locked" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.is_locked`

            **Is Locked.** Whether the thread is locked and no further replies can be posted. It distinguishes the provider-defined is locked state or classification for the reply.

            * **Enables:** Filter Replies by whether the thread is locked and no further replies can be posted in `replies.is_locked`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the thread is locked and no further replies can be posted as a boolean on each reply; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-last-read-bec968af05b3" title="Last Read" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.last_read`

            **Last Read.** Timestamp of the last message the authenticated user has read in this thread. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by last read in `replies.last_read` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last read as a timestamp on each reply; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-latest-reply-3d0bf2c9e24a" title="Latest Reply" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.latest_reply`

            **Latest Reply.** Timestamp of the latest reply in the thread (present only on the parent/root message). It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by latest reply in `replies.latest_reply` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports latest reply as a timestamp on each reply; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-metadata-11c15b069d8c" title="Metadata" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.metadata`

            **Metadata.** The structured metadata details attached to each reply in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute metadata in `replies.metadata` to the parent reply; identify parent records where that nested metadata object is absent.
            * **Interpretation:** Slack reports metadata as a nested object on each reply; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-metadata-event-payload-123a21e08ddc" title="Event Payload" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.metadata.event_payload`

            **Event Payload.** Arbitrary key-value payload for the metadata event. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute event payload in `replies.SlackMessageMetadata.event_payload` to the parent reply; identify parent records where that nested event payload object is absent.
            * **Interpretation:** Slack reports event payload as a nested object on each Slack message metadata; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-metadata-event-type-c3956b5db462" title="Event Type" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.metadata.event_type`

            **Event Type.** The metadata event type identifier. It distinguishes the provider-defined event type state or classification for the Slack message metadata.

            * **Enables:** Segment Slack message metadata entries in Replies by event type in `replies.SlackMessageMetadata.event_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports event type as a label from its own taxonomy on each Slack message metadata; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-parent-user-id-5434c9b6e83e" title="Parent User ID" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.parent_user_id`

            **Parent User ID.** User ID of the parent message author (present on threaded replies). It provides the reference needed to connect the reply to the corresponding provider object.

            * **Enables:** Connect each reply in Replies to the referenced parent user through `replies.parent_user_id`; flag parent user ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports parent user ID as an identifier in its parent user namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-permalink-44d498ed941b" title="Permalink" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.permalink`

            **Permalink.** Permanent URL link to this specific message. It locates the provider resource or path associated with the reply.

            * **Enables:** Associate each reply with the resource identified by permalink in `replies.permalink`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports permalink as a resource locator for each reply; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reactions-8974a362957f" title="Reactions" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reactions`

            **Reactions.** Emoji reactions added to this message. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute each returned Slack reaction in `replies.reactions` to the parent reply and reconcile the reacting or mentioned users and provider symbol.
            * **Interpretation:** Slack returns reactions as an array of Slack reaction entries on each reply; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reactions-count-587dc91bd14a" title="Count" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reactions.count`

            **Count.** Number of users who reacted with this emoji. It supplies the count measure for the Slack reaction at the provider's declared unit and grain.

            * **Enables:** Measure count through `replies.SlackReaction.count` for each Slack reaction and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports count as a measure on each Slack reaction; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reactions-name-09e74b7eb83b" title="Name" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reactions.name`

            **Name.** Emoji name (without colons). It gives the Slack reaction a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Match repeated Slack reaction entries on name in `replies.SlackReaction.name`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports name as display text for each Slack reaction; names are mutable and are not stable identities. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reactions-users-e4224f072e81" title="Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reactions.users`

            **Users.** List of user IDs who reacted with this emoji. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Match every returned user value in `replies.SlackReaction.users` to the parent reply; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns users as an array of user value entries on each Slack reaction; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reply-count-0de82ed88d84" title="Reply Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reply_count`

            **Reply Count.** Number of replies in the thread (present only on the parent/root message). It supplies the reply count measure for the reply at the provider's declared unit and grain.

            * **Enables:** Measure reply count through `replies.reply_count` for each reply and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply count as a measure on each reply; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reply-users-f0bd61d67812" title="Reply Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reply_users`

            **Reply Users.** List of user IDs who replied in the thread (present only on the parent/root message). It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Match every returned reply user value in `replies.reply_users` to the parent reply; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns reply users as an array of reply user value entries on each reply; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-reply-users-count-465e1a91bfca" title="Reply Users Count" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.reply_users_count`

            **Reply Users Count.** Number of unique users who replied in the thread (present only on the parent/root message). It supplies the reply users count measure for the reply at the provider's declared unit and grain.

            * **Enables:** Measure reply users count through `replies.reply_users_count` for each reply and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply users count as a measure on each reply; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-87d0b1c080ef" title="Root" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root`

            **Root.** The structured root details attached to each reply in Replies. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Attribute root in `replies.root` to the parent reply; identify parent records where that nested root object is absent.
            * **Interpretation:** Slack reports root as a nested object on each reply; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-last-read-913480a4816b" title="Last Read" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.last_read`

            **Last Read.** Timestamp of the last read message in the thread. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by last read in `replies.SlackThreadRoot.last_read` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports last read as a timestamp on each Slack thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-latest-reply-a8ff24dad081" title="Latest Reply" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.latest_reply`

            **Latest Reply.** Timestamp of the latest reply. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by latest reply in `replies.SlackThreadRoot.latest_reply` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports latest reply as a timestamp on each Slack thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-reply-count-5944885e1594" title="Reply Count" icon="chart-line" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.reply_count`

            **Reply Count.** Number of replies in the thread. It supplies the reply count measure for the Slack thread root at the provider's declared unit and grain.

            * **Enables:** Measure reply count through `replies.SlackThreadRoot.reply_count` for each Slack thread root and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply count as a measure on each Slack thread root; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-reply-users-953b2a468e0d" title="Reply Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.reply_users`

            **Reply Users.** User IDs of thread participants. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Match every returned reply user value in `replies.SlackThreadRoot.reply_users` to the parent reply; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns reply users as an array of reply user value entries on each Slack thread root; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-reply-users-count-17568560ef57" title="Reply Users Count" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.reply_users_count`

            **Reply Users Count.** Number of unique reply users. It supplies the reply users count measure for the Slack thread root at the provider's declared unit and grain.

            * **Enables:** Measure reply users count through `replies.SlackThreadRoot.reply_users_count` for each Slack thread root and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports reply users count as a measure on each Slack thread root; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-subscribed-012f983c6e55" title="Subscribed" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.subscribed`

            **Subscribed.** Whether the authenticated user is subscribed. It distinguishes the provider-defined subscribed state or classification for the Slack thread root.

            * **Enables:** Filter Replies by whether the authenticated user is subscribed in `replies.SlackThreadRoot.subscribed`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user is subscribed as a boolean on each Slack thread root; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-subtype-e6718bd184a9" title="Subtype" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.subtype`

            **Subtype.** Message subtype if applicable. It supplies the returned subtype text needed to understand the Slack thread root in context.

            * **Enables:** Search the returned subtype text in `replies.SlackThreadRoot.subtype` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies subtype as returned text on each Slack thread root; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-text-14dcfe1aedfc" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.text`

            **Text.** Text content of the root message. It defines the content surface available for this reply.

            * **Enables:** Locate Slack thread root records by text in `replies.SlackThreadRoot.text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** Slack supplies text as text on each Slack thread root; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-thread-ts-c587d31f4244" title="Thread Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.thread_ts`

            **Thread Ts.** Thread timestamp (same as ts for root). It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by thread ts in `replies.SlackThreadRoot.thread_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports thread ts as a timestamp on each Slack thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-ts-bc740d4aac40" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.ts`

            **Ts.** Timestamp of the root message. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by ts in `replies.SlackThreadRoot.ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports ts as a timestamp on each Slack thread root; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-type-e3c910514297" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.type`

            **Type.** Object type, typically 'message'. It supplies the returned type text needed to understand the Slack thread root in context.

            * **Enables:** Segment Slack thread root entries in Replies by type in `replies.SlackThreadRoot.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each Slack thread root; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-root-user-575197e15376" title="User" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.root.user`

            **User.** User ID of the root message author. It identifies the related provider object that gives the Slack thread root its parent, owner, or container context.

            * **Enables:** Connect each Slack thread root to the related user in `replies.SlackThreadRoot.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each Slack thread root; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-source-team-0378b1a99195" title="Source Team" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.source_team`

            **Source Team.** Team ID the message originated from (differs from team for shared channels). It distinguishes the provider-defined source team state or classification for the reply.

            * **Enables:** Filter Replies by the exact Slack-defined source team in `replies.source_team` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies source team from its own taxonomy on each reply; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-subscribed-2af8a782ca5d" title="Subscribed" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.subscribed`

            **Subscribed.** Whether the authenticated user is subscribed to this thread. It distinguishes the provider-defined subscribed state or classification for the reply.

            * **Enables:** Filter Replies by whether the authenticated user is subscribed to this thread in `replies.subscribed`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the authenticated user is subscribed to this thread as a boolean on each reply; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-subtype-d3d87ae6425d" title="Subtype" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.subtype`

            **Subtype.** Message subtype if applicable (e.g., 'bot\_message', 'channel\_join', 'thread\_broadcast'). It supplies the returned subtype text needed to understand the reply in context.

            * **Enables:** Search the returned subtype text in `replies.subtype` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies subtype as returned text on each reply; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-team-fcdba8e3b261" title="Team" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.team`

            **Team.** Team/workspace ID where the message was posted. It supplies the returned team text needed to understand the reply in context.

            * **Enables:** Search the returned team text in `replies.team` and attribute each match to its parent reply and reported author when available.
            * **Interpretation:** Slack supplies team as returned text on each reply; truncation, formatting, and access boundaries can limit completeness.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-text-ececacb47a9c" title="Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.text`

            **Text.** The plain text content of the reply, with mrkdwn formatting. It defines the content surface available for this reply.

            * **Enables:** Locate reply records by text in `replies.text`; attribute each text match to its parent reply and, when present, its reported author.
            * **Interpretation:** Slack supplies text as text on each reply; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-thread-ts-615279a32c7b" title="Thread Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.thread_ts`

            **Thread Ts.** Timestamp of the parent thread message. Matches ts for the root message of the thread. It anchors the reply on the provider's reported timeline.

            * **Enables:** Order Replies by thread ts in `replies.thread_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports thread ts as a timestamp on each reply; timezone and precision follow this API field, and absence is not an inferred event time.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-ts-f7f8e70b9719" title="Ts" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.ts`

            **Ts.** Unique timestamp identifier of this message/reply. Serves as the primary key. It anchors the reply on the provider's reported timeline.

            * **Enables:** Match repeated reply entries on ts in `replies.ts`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ts as a timestamp on each reply; timezone and precision follow this API field, and absence is not an inferred event time. The connector explicitly marks this field as a transform deduplication key. A connector directive uses this field to order records for latest-state or incremental processing. The schema designates this field as the event timestamp.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-type-a6ae87f817ee" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.type`

            **Type.** The type of the object, typically 'message'. It supplies the returned type text needed to understand the reply in context.

            * **Enables:** Segment reply entries in Replies by type in `replies.type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports type as a label from its own taxonomy on each reply; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-upload-00b05d31e53f" title="Upload" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `replies.upload`

            **Upload.** Whether this message is a file upload message. It distinguishes the provider-defined upload state or classification for the reply.

            * **Enables:** Filter Replies by whether this message is a file upload message in `replies.upload`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this message is a file upload message as a boolean on each reply; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-user-8db977751de4" title="User" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.user`

            **User.** User ID of the reply author (e.g., U01ABC123). It identifies the related provider object that gives the reply its parent, owner, or container context.

            * **Enables:** Connect each reply to the related user in `replies.user` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user as relationship context on each reply; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-user-team-291c31f34c63" title="User Team" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.user_team`

            **User Team.** Team ID of the message author. It identifies the related provider object that gives the reply its parent, owner, or container context.

            * **Enables:** Connect each reply to the related user team in `replies.user_team` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports user team as relationship context on each reply; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-username-d221371bcc98" title="User Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `replies.username`

            **User Name.** Display username override, often set by bots or integrations. It gives the reply a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each reply with user name from `replies.username`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports user name as display text for each reply; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-replies-x-files-6ace426e7a6f" title="X Files" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `replies.x_files`

            **X Files.** File IDs referenced by the message when full file objects are omitted. It preserves the nested context needed to interpret the parent reply.

            * **Enables:** Connect the parent reply to every referenced x file value in `replies.x_files`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns x files as an array of x file value entries on each reply; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-team-info-75607bc072b3" title="Team Info" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `team_info`

        **Team Info.** Workspace team information.

        * **Enables:** Inventory Workspace identity, domain, email domain, icon metadata, and enterprise association reported by Slack.
        * **Scope:** Reads the records selected by Slack's `/team.info` operation as a snapshot stream using full synchronization. This stream is opt-in. Visibility is limited to resources the Slack bot token can read in its installed Workspace. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. A later complete read can treat a previously seen record that is absent as removed.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-team-info-avatar-base-url-99861e4fffc5" title="Avatar Base URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.avatar_base_url`

            **Avatar Base URL.** Base URL for workspace avatar images. It locates the provider resource or path associated with the team info.

            * **Enables:** Associate each team info with the resource identified by avatar base URL in `team_info.avatar_base_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports avatar base URL as a resource locator for each team info; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-discoverable-c935486b0ec3" title="Discoverable" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.discoverable`

            **Discoverable.** Discoverability setting for the workspace within an Enterprise Grid. It distinguishes the provider-defined discoverable state or classification for the team info.

            * **Enables:** Filter Team Info by the exact Slack-defined discoverable in `team_info.discoverable` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies discoverable from its own taxonomy on each team info; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-domain-b3bf67f13bda" title="Domain" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.domain`

            **Domain.** Slack subdomain for the workspace (e.g., example in example.Slack.com). It supplies the domain profile facet used to reconcile or attribute the team info.

            * **Enables:** Reconcile the team info's domain in `team_info.domain` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports domain as a mutable profile or directory attribute on each team info; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-email-domain-c02d46815778" title="Email Domain" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.email_domain`

            **Email Domain.** Email domain associated with the workspace for signup restrictions. It supplies the email domain profile facet used to reconcile or attribute the team info.

            * **Enables:** Attribute each team info to a person or account by the exact email domain in `team_info.email_domain`; identify addresses that do not match the Slack directory.
            * **Interpretation:** Slack reports email domain as an address on each team info; aliases, casing, and unverified addresses can prevent a one-to-one person match.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-enterprise-domain-d10c6ace7eaa" title="Enterprise Domain" icon="file-code" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.enterprise_domain`

            **Enterprise Domain.** Enterprise Grid organization domain. It supplies the enterprise domain profile facet used to reconcile or attribute the team info.

            * **Enables:** Reconcile the team info's enterprise domain in `team_info.enterprise_domain` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports enterprise domain as a mutable profile or directory attribute on each team info; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-enterprise-id-c37a9608787b" title="Enterprise ID" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.enterprise_id`

            **Enterprise ID.** Enterprise Grid organization ID if the workspace belongs to one. It provides the reference needed to connect the team info to the corresponding provider object.

            * **Enables:** Connect each team info in Team Info to the referenced enterprise through `team_info.enterprise_id`; flag enterprise ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports enterprise ID as an identifier in its enterprise namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-enterprise-name-d0f2b8c58a21" title="Enterprise Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.enterprise_name`

            **Enterprise Name.** Enterprise Grid organization name if the workspace belongs to one. It gives the team info a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each team info with enterprise name from `team_info.enterprise_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports enterprise name as display text for each team info; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-221b8bdaefbc" title="Icon" icon="chart-line" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon`

            **Icon.** Workspace icon/avatar images at various sizes. It preserves the nested context needed to interpret the parent team info.

            * **Enables:** Attribute icon in `team_info.icon` to the parent team info; identify parent records where that nested icon object is absent.
            * **Interpretation:** Slack reports icon as a nested object on each team info; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-102-36929a94fe5a" title="Image 102" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_102`

            **Image 102.** 102x102 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 102 in `team_info.TeamIcon.image_102`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 102 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-132-aa891d51f88a" title="Image 132" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_132`

            **Image 132.** 132x132 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 132 in `team_info.TeamIcon.image_132`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 132 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-230-b70b610e84ba" title="Image 230" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_230`

            **Image 230.** 230x230 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 230 in `team_info.TeamIcon.image_230`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 230 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-34-02f76af8a6a7" title="Image 34" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_34`

            **Image 34.** 34x34 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 34 in `team_info.TeamIcon.image_34`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 34 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-44-56a466917b90" title="Image 44" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_44`

            **Image 44.** 44x44 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 44 in `team_info.TeamIcon.image_44`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 44 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-68-37d0b5483eb9" title="Image 68" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_68`

            **Image 68.** 68x68 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 68 in `team_info.TeamIcon.image_68`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 68 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-88-683900798aa8" title="Image 88" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_88`

            **Image 88.** 88x88 pixel workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image 88 in `team_info.TeamIcon.image_88`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 88 as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-default-da6c013bf5c5" title="Image Default" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_default`

            **Image Default.** Whether the workspace is using the default Slack icon. It distinguishes the provider-defined image default state or classification for the team icon.

            * **Enables:** Filter Team Info by whether the workspace is using the default Slack icon in `team_info.TeamIcon.image_default`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the workspace is using the default Slack icon as a boolean on each team icon; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-icon-image-original-507281006669" title="Image Original" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.icon.image_original`

            **Image Original.** Original resolution workspace icon URL. It locates the provider resource or path associated with the team icon.

            * **Enables:** Associate each team icon with the resource identified by image original in `team_info.TeamIcon.image_original`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image original as a resource locator for each team icon; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-id-761121f861cf" title="ID" icon="diagram-project" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.id`

            **ID.** Unique workspace/team identifier (e.g., T0123456). It provides the reference needed to connect the team info to the corresponding provider object.

            * **Enables:** Match repeated team info entries on ID in `team_info.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its team info namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-is-enterprise-f4cebb042b92" title="Is Enterprise" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.is_enterprise`

            **Is Enterprise.** Whether this team is part of an Enterprise Grid (0 or 1). It distinguishes the provider-defined is enterprise state or classification for the team info.

            * **Enables:** Filter Team Info by the exact Slack-defined is enterprise in `team_info.is_enterprise` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies is enterprise from its own taxonomy on each team info; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-is-verified-9ffc64673fe0" title="Is Verified" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.is_verified`

            **Is Verified.** Whether the workspace domain has been verified. It distinguishes the provider-defined is verified state or classification for the team info.

            * **Enables:** Filter Team Info by whether the workspace domain has been verified in `team_info.is_verified`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the workspace domain has been verified as a boolean on each team info; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-lob-sales-home-enabled-460aa3a42f9d" title="Lob Sales Home Enabled" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.lob_sales_home_enabled`

            **Lob Sales Home Enabled.** Whether the sales home feature is enabled. It distinguishes the provider-defined lob sales home enabled state or classification for the team info.

            * **Enables:** Filter Team Info by whether the sales home feature is enabled in `team_info.lob_sales_home_enabled`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the sales home feature is enabled as a boolean on each team info; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-name-35dfe9820235" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.name`

            **Name.** Workspace name. It gives the team info a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each team info with name from `team_info.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each team info; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-pay-prod-cur-4c955d50c6f9" title="Pay Prod Cur" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.pay_prod_cur`

            **Pay Prod Cur.** Current payment product identifier. It identifies the related provider object that gives the team info its parent, owner, or container context.

            * **Enables:** Connect each team info to the related pay prod cur in `team_info.pay_prod_cur` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports pay prod cur as relationship context on each team info; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-plan-decf16243e3e" title="Plan" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.plan`

            **Plan.** Workspace plan type (e.g., free, std, plus, enterprise). It distinguishes the provider-defined plan state or classification for the team info.

            * **Enables:** Filter Team Info by the exact Slack-defined plan in `team_info.plan` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies plan from its own taxonomy on each team info; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-team-info-url-82be052b95d9" title="URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_info.url`

            **URL.** Full URL to the workspace (e.g., [https://example.Slack.com/](https://example.Slack.com/)). It locates the provider resource or path associated with the team info.

            * **Enables:** Associate each team info with the resource identified by URL in `team_info.url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports URL as a resource locator for each team info; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-user-groups-5480c1a1dcad" title="User Groups" icon="people-group" iconType="sharp-duotone-solid">
        Developer identifier: `user_groups`

        **User Groups.** User groups in the workspace.

        * **Enables:** Inventory Slack user groups and match each handle and member list to its team, channel preferences, and disabled state.
        * **Scope:** Reads the records selected by Slack's `/usergroups.list` operation as a snapshot stream using incremental synchronization. This stream is opt-in. Visibility is limited to resources the Slack bot token can read in its installed Workspace. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. Removal is recognized from the provider's tombstone state rather than absence alone.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-user-groups-auto-provision-67685b2b605d" title="Auto Provision" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.auto_provision`

            **Auto Provision.** Whether the group is auto-provisioned via an identity provider. It distinguishes the provider-defined auto provision state or classification for the user group.

            * **Enables:** Filter User Groups by whether the group is auto-provisioned via an identity provider in `user_groups.auto_provision`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the group is auto-provisioned via an identity provider as a boolean on each user group; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-auto-type-b33679a08b9f" title="Auto Type" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.auto_type`

            **Auto Type.** Automatic group type if system-managed (e.g., 'admin', 'owner'), or null for custom groups. It distinguishes the provider-defined auto type state or classification for the user group.

            * **Enables:** Segment user group entries in User Groups by auto type in `user_groups.auto_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports auto type as a label from its own taxonomy on each user group; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-channel-count-373fcb1c15e3" title="Channel Count" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.channel_count`

            **Channel Count.** Number of default channels associated with this group (available when include\_count is true). It supplies the channel count measure for the user group at the provider's declared unit and grain.

            * **Enables:** Measure channel count through `user_groups.channel_count` for each user group and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports channel count as a measure on each user group; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-created-by-bbe3b455df0b" title="Created By" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.created_by`

            **Created By.** User ID of the person who created the user group. It identifies the related provider object that gives the user group its parent, owner, or container context.

            * **Enables:** Connect each user group to the related created by in `user_groups.created_by` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports created by as relationship context on each user group; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-date-create-696f7b67e477" title="Date Create" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.date_create`

            **Date Create.** Unix timestamp of when the group was created. It anchors the user group on the provider's reported timeline.

            * **Enables:** Order User Groups by date create in `user_groups.date_create` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports date create as a Unix timestamp in a unit not declared by this field on each user group; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-date-delete-7d96f1b23b75" title="Date Delete" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.date_delete`

            **Date Delete.** Unix timestamp of group deletion. 0 if the group is still active. It anchors the user group on the provider's reported timeline.

            * **Enables:** Order User Groups by date delete in `user_groups.date_delete` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports date delete as a Unix timestamp in a unit not declared by this field on each user group; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-date-update-09b616497b22" title="Date Update" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.date_update`

            **Date Update.** Unix timestamp of the last update to the group. It anchors the user group on the provider's reported timeline.

            * **Enables:** Order User Groups by date update in `user_groups.date_update` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports date update as a Unix timestamp in a unit not declared by this field on each user group; derive timezone display separately and do not guess an undeclared unit. A connector directive uses this field to order records for latest-state or incremental processing.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-deleted-by-257c4f0f4541" title="Deleted By" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.deleted_by`

            **Deleted By.** User ID of the person who deleted the user group, if applicable. It identifies the related provider object that gives the user group its parent, owner, or container context.

            * **Enables:** Connect each user group to the related deleted by in `user_groups.deleted_by` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports deleted by as relationship context on each user group; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-description-d06fc0d9f494" title="Description" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.description`

            **Description.** Description of the user group's purpose. It defines the content surface available for this user group.

            * **Enables:** Locate user group records by description in `user_groups.description`; attribute each text match to its parent user group and, when present, its reported author.
            * **Interpretation:** Slack supplies description as text on each user group; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-enterprise-id-b69abe65a20a" title="Enterprise ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.enterprise_id`

            **Enterprise ID.** Identifier of the Enterprise Grid organization, if applicable. It provides the reference needed to connect the user group to the corresponding provider object.

            * **Enables:** Connect each user group in User Groups to the referenced enterprise through `user_groups.enterprise_id`; flag enterprise ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports enterprise ID as an identifier in its enterprise namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-handle-671ef4aaded4" title="Handle" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.handle`

            **Handle.** The @-mention handle for the group (used in messages as @handle). It supplies the handle profile facet used to reconcile or attribute the user group.

            * **Enables:** Reconcile the user group's handle in `user_groups.handle` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports handle as a mutable profile or directory attribute on each user group; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-id-34b3059be76e" title="ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.id`

            **ID.** Unique identifier for the user group (e.g., S0614TZR7). It provides the reference needed to connect the user group to the corresponding provider object.

            * **Enables:** Match repeated user group entries on ID in `user_groups.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its user group namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-is-external-5803f82c92e3" title="Is External" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.is_external`

            **Is External.** Whether this user group includes external (guest) members. It distinguishes the provider-defined is external state or classification for the user group.

            * **Enables:** Filter User Groups by whether this user group includes external (guest) members in `user_groups.is_external`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this user group includes external (guest) members as a boolean on each user group; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-is-subteam-0f8fcfecdc34" title="Is Subteam" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.is_subteam`

            **Is Subteam.** Indicates whether this is a subteam user group. It distinguishes the provider-defined is subteam state or classification for the user group.

            * **Enables:** Filter User Groups by whether this is a subteam user group in `user_groups.is_subteam`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports this is a subteam user group as a boolean on each user group; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-is-usergroup-f2d34a7d41fd" title="Is Usergroup" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.is_usergroup`

            **Is Usergroup.** Always true, indicates this object is a user group. It distinguishes the provider-defined is usergroup state or classification for the user group.

            * **Enables:** Filter User Groups by whether always true, indicates this object is a user group in `user_groups.is_usergroup`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports always true, indicates this object is a user group as a boolean on each user group; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-name-fceb7ca5e902" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.name`

            **Name.** Display name of the user group. It gives the user group a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each user group with name from `user_groups.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each user group; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-prefs-4d58d9474055" title="Prefs" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.prefs`

            **Prefs.** Preferences and default settings for the user group. It preserves the nested context needed to interpret the parent user group.

            * **Enables:** Attribute prefs in `user_groups.prefs` to the parent user group; identify parent records where that nested prefs object is absent.
            * **Interpretation:** Slack reports prefs as a nested object on each user group; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-prefs-channels-ad2f5ff9c902" title="Channels" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.prefs.channels`

            **Channels.** Array of default channel IDs that new members of this group are automatically added to. It preserves the nested context needed to interpret the parent user group.

            * **Enables:** Connect the parent user group to every referenced channel value in `user_groups.SlackUsergroupPrefs.channels`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns channels as an array of channel value entries on each Slack usergroup pref; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-prefs-groups-075d6d0412e3" title="Groups" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.prefs.groups`

            **Groups.** Array of default group (private channel) IDs associated with this user group. It preserves the nested context needed to interpret the parent user group.

            * **Enables:** Connect the parent user group to every referenced group value in `user_groups.SlackUsergroupPrefs.groups`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns groups as an array of group value entries on each Slack usergroup pref; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-team-id-d5892f7dcc78" title="Team ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.team_id`

            **Team ID.** Identifier of the workspace (team) this user group belongs to. It provides the reference needed to connect the user group to the corresponding provider object.

            * **Enables:** Connect each user group in User Groups to the referenced team through `user_groups.team_id`; flag team ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports team ID as an identifier in its team namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-updated-by-c23250b803d6" title="Updated By" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.updated_by`

            **Updated By.** User ID of the person who last updated the user group. It identifies the related provider object that gives the user group its parent, owner, or container context.

            * **Enables:** Connect each user group to the related updated by in `user_groups.updated_by` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports updated by as relationship context on each user group; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-user-count-9e315ba2f4b6" title="User Count" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.user_count`

            **User Count.** Number of users currently in the group. It supplies the user count measure for the user group at the provider's declared unit and grain.

            * **Enables:** Measure user count through `user_groups.user_count` for each user group and compare only values with the same unit and record grain.
            * **Interpretation:** Slack reports user count as a measure on each user group; compare only records with the same unit and aggregation grain.
          </Accordion>

          <Accordion id="provider-permission-field-slack-user-groups-users-5c3f6d49783d" title="Users" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `user_groups.users`

            **Users.** Array of user IDs who are members of this group. It preserves the nested context needed to interpret the parent user group.

            * **Enables:** Match every returned user value in `user_groups.users` to the parent user group; use the element's provider identity or role to reconcile membership and attribution.
            * **Interpretation:** Slack returns users as an array of user value entries on each user group; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-slack-users-8149bdd02419" title="Users" icon="people-group" iconType="sharp-duotone-solid">
        Developer identifier: `users`

        **Users.** Workspace members.

        * **Enables:** Reconcile Slack member identities to profile email, display name, role flags, deletion state, timezone, and team.
        * **Scope:** Reads the records selected by Slack's `/users.list` operation as a snapshot stream using incremental synchronization. Visibility is limited to resources the Slack bot token can read in its installed Workspace. The stream does not include records the credential, parent traversal, configured filters, or provider API omits. Removal is recognized from the provider's tombstone state rather than absence alone.

        <AccordionGroup>
          <Accordion id="provider-permission-field-slack-users-color-ac9c3f0ed432" title="Color" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.color`

            **Color.** Hex color code used for the user in the Slack client (without #). It distinguishes the provider-defined color state or classification for the user.

            * **Enables:** Filter Users by the exact Slack-defined color in `users.color` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies color from its own taxonomy on each user; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-deleted-aaad6ea8a4b0" title="Deleted" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.deleted`

            **Deleted.** Whether the user has been deactivated. It distinguishes the provider-defined deleted state or classification for the user.

            * **Enables:** Filter Users by whether the user has been deactivated in `users.deleted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user has been deactivated as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-2414dc8bc772" title="Enterprise User" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user`

            **Enterprise User.** Enterprise Grid user information, present for Enterprise Grid workspaces. It preserves the nested context needed to interpret the parent user.

            * **Enables:** Attribute enterprise user in `users.enterprise_user` to the parent user; identify parent records where that nested enterprise user object is absent.
            * **Interpretation:** Slack reports enterprise user as a nested object on each user; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-enterprise-id-ccb004fbcbff" title="Enterprise ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.enterprise_id`

            **Enterprise ID.** Enterprise Grid organization ID. It provides the reference needed to connect the user to the corresponding provider object.

            * **Enables:** Connect each Slack enterprise user in Users to the referenced enterprise through `users.SlackEnterpriseUser.enterprise_id`; flag enterprise ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports enterprise ID as an identifier in its enterprise namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-enterprise-name-bcc33672f01f" title="Enterprise Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.enterprise_name`

            **Enterprise Name.** Enterprise Grid organization name. It gives the Slack enterprise user a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack enterprise user with enterprise name from `users.SlackEnterpriseUser.enterprise_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports enterprise name as display text for each Slack enterprise user; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-id-4f4010dbb329" title="ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.id`

            **ID.** Enterprise user ID. It provides the reference needed to connect the user to the corresponding provider object.

            * **Enables:** Connect each Slack enterprise user in Users to the referenced Slack enterprise user through `users.SlackEnterpriseUser.id`; flag ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports ID as an identifier in its Slack enterprise user namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-is-admin-d2577fc66ce0" title="Is Admin" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.is_admin`

            **Is Admin.** Whether the user is an enterprise admin. It distinguishes the provider-defined is admin state or classification for the Slack enterprise user.

            * **Enables:** Filter Users by whether the user is an enterprise admin in `users.SlackEnterpriseUser.is_admin`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is an enterprise admin as a boolean on each Slack enterprise user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-is-owner-e87b3ad8ed5c" title="Is Owner" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.is_owner`

            **Is Owner.** Whether the user is an enterprise owner. It distinguishes the provider-defined is owner state or classification for the Slack enterprise user.

            * **Enables:** Filter Users by whether the user is an enterprise owner in `users.SlackEnterpriseUser.is_owner`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is an enterprise owner as a boolean on each Slack enterprise user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-is-primary-owner-6231d52ae59a" title="Is Primary Owner" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.is_primary_owner`

            **Is Primary Owner.** Whether the user is the primary enterprise owner. It distinguishes the provider-defined is primary owner state or classification for the Slack enterprise user.

            * **Enables:** Filter Users by whether the user is the primary enterprise owner in `users.SlackEnterpriseUser.is_primary_owner`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is the primary enterprise owner as a boolean on each Slack enterprise user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-enterprise-user-teams-706820b8168b" title="Teams" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.enterprise_user.teams`

            **Teams.** List of workspace/team IDs the enterprise user belongs to. It preserves the nested context needed to interpret the parent user.

            * **Enables:** Connect the parent user to every referenced team value in `users.SlackEnterpriseUser.teams`; identify provider IDs that do not resolve to the expected related object.
            * **Interpretation:** Slack returns teams as an array of team value entries on each Slack enterprise user; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-has-2fa-e01739e4f142" title="Has 2fa" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.has_2fa`

            **Has 2fa.** Whether the user has two-factor authentication enabled. It distinguishes the provider-defined has 2fa state or classification for the user.

            * **Enables:** Filter Users by whether the user has two-factor authentication enabled in `users.has_2fa`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user has two-factor authentication enabled as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-id-d4f925bcbcba" title="ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.id`

            **ID.** Unique Slack user ID (e.g., U012AB3CDE). It provides the reference needed to connect the user to the corresponding provider object.

            * **Enables:** Match repeated user entries on ID in `users.id`; collapse only entries that share this declared transform key.
            * **Interpretation:** Slack reports ID as an identifier in its user namespace; it is not a universal identity outside Slack. The connector explicitly marks this field as a transform deduplication key. A connector directive maps this field to account identity.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-admin-0b75f000910e" title="Is Admin" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_admin`

            **Is Admin.** Whether the user is a workspace admin. It distinguishes the provider-defined is admin state or classification for the user.

            * **Enables:** Filter Users by whether the user is a workspace admin in `users.is_admin`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is a workspace admin as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-app-user-7fe6c2e30cdb" title="Is App User" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_app_user`

            **Is App User.** Whether the user is an app user (Slack app bot). It distinguishes the provider-defined is app user state or classification for the user.

            * **Enables:** Filter Users by whether the user is an app user (Slack app bot) in `users.is_app_user`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is an app user (Slack app bot) as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-bot-e6bb0b576046" title="Is Bot" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_bot`

            **Is Bot.** Whether the user is a bot account. It distinguishes the provider-defined is bot state or classification for the user.

            * **Enables:** Filter Users by whether the user is a bot account in `users.is_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is a bot account as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-email-confirmed-cf273c66c299" title="Is Email Confirmed" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_email_confirmed`

            **Is Email Confirmed.** Whether the user has confirmed their email address. It distinguishes the provider-defined is email confirmed state or classification for the user.

            * **Enables:** Filter Users by whether the user has confirmed their email address in `users.is_email_confirmed`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user has confirmed their email address as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-invited-user-3865df129694" title="Is Invited User" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_invited_user`

            **Is Invited User.** Whether the user has been invited but has not yet joined. It distinguishes the provider-defined is invited user state or classification for the user.

            * **Enables:** Filter Users by whether the user has been invited but has not yet joined in `users.is_invited_user`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user has been invited but has not yet joined as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-owner-3a79c017274b" title="Is Owner" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_owner`

            **Is Owner.** Whether the user is a workspace owner. It distinguishes the provider-defined is owner state or classification for the user.

            * **Enables:** Filter Users by whether the user is a workspace owner in `users.is_owner`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is a workspace owner as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-primary-owner-299a13e8ace9" title="Is Primary Owner" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_primary_owner`

            **Is Primary Owner.** Whether the user is the primary workspace owner. It distinguishes the provider-defined is primary owner state or classification for the user.

            * **Enables:** Filter Users by whether the user is the primary workspace owner in `users.is_primary_owner`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is the primary workspace owner as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-restricted-5898b5b16290" title="Is Restricted" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_restricted`

            **Is Restricted.** Whether the user is a multi-channel guest. It distinguishes the provider-defined is restricted state or classification for the user.

            * **Enables:** Filter Users by whether the user is a multi-channel guest in `users.is_restricted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is a multi-channel guest as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-stranger-22a36eeb7894" title="Is Stranger" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_stranger`

            **Is Stranger.** Whether the user is from a different workspace connected via Slack Connect. It distinguishes the provider-defined is stranger state or classification for the user.

            * **Enables:** Filter Users by whether the user is from a different workspace connected via Slack connect in `users.is_stranger`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is from a different workspace connected via Slack connect as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-ultra-restricted-3e1ffb1a78cd" title="Is Ultra Restricted" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_ultra_restricted`

            **Is Ultra Restricted.** Whether the user is a single-channel guest. It distinguishes the provider-defined is ultra restricted state or classification for the user.

            * **Enables:** Filter Users by whether the user is a single-channel guest in `users.is_ultra_restricted`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is a single-channel guest as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-is-workflow-bot-4979947e4ecb" title="Is Workflow Bot" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.is_workflow_bot`

            **Is Workflow Bot.** Whether the user is a Workflow Builder bot. It distinguishes the provider-defined is workflow bot state or classification for the user.

            * **Enables:** Filter Users by whether the user is a workflow builder bot in `users.is_workflow_bot`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user is a workflow builder bot as a boolean on each user; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-locale-948120d0ed5d" title="Locale" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.locale`

            **Locale.** User's locale/language setting (BCP 47 tag, e.g., en-US). It supplies the locale profile facet used to reconcile or attribute the user.

            * **Enables:** Reconcile the user's locale in `users.locale` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports locale as a mutable profile or directory attribute on each user; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-name-1ea3ee345f77" title="Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.name`

            **Name.** Username/handle of the user (without the @ prefix). It gives the user a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each user with name from `users.name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports name as display text for each user; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-015609aee71a" title="Profile" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile`

            **Profile.** The user's profile information including name, email, status, and images. It preserves the nested context needed to interpret the parent user.

            * **Enables:** Attribute profile in `users.profile` to the parent user; identify parent records where that nested profile object is absent.
            * **Interpretation:** Slack reports profile as a nested object on each user; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-always-active-4c53d372011c" title="Always Active" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.always_active`

            **Always Active.** Whether the user (typically a bot) is always shown as active. It distinguishes the provider-defined always active state or classification for the Slack user profile.

            * **Enables:** Filter Users by whether the user (typically a bot) is always shown as active in `users.SlackUserProfile.always_active`; count true, false, and missing results separately.
            * **Interpretation:** Slack reports the user (typically a bot) is always shown as active as a boolean on each Slack user profile; a missing field is unknown, not false.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-api-app-id-19337544a64e" title="API App ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.api_app_id`

            **API App ID.** The Slack app ID associated with this bot user. It provides the reference needed to connect the user to the corresponding provider object.

            * **Enables:** Connect each Slack user profile in Users to the referenced API app through `users.SlackUserProfile.api_app_id`; flag API app ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports API app ID as an identifier in its API app namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-avatar-hash-b24f8b3ea818" title="Avatar Hash" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.avatar_hash`

            **Avatar Hash.** Hash of the user's avatar image. It distinguishes the provider-defined avatar hash state or classification for the Slack user profile.

            * **Enables:** Filter Users by the exact Slack-defined avatar hash in `users.SlackUserProfile.avatar_hash` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies avatar hash from its own taxonomy on each Slack user profile; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-bot-id-c9875a136010" title="Bot ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.bot_id`

            **Bot ID.** Bot ID associated with this profile, if the user is a bot. It provides the reference needed to connect the user to the corresponding provider object.

            * **Enables:** Connect each Slack user profile in Users to the referenced bot through `users.SlackUserProfile.bot_id`; flag bot ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports bot ID as an identifier in its bot namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-display-name-76fede851ae8" title="Display Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.display_name`

            **Display Name.** Display name shown in the Slack UI. It distinguishes the provider-defined display name state or classification for the Slack user profile.

            * **Enables:** Label each Slack user profile with display name from `users.SlackUserProfile.display_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports display name as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-display-name-normalized-14794a6dd178" title="Display Name Normalized" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.display_name_normalized`

            **Display Name Normalized.** Display name with Unicode characters normalized to ASCII equivalents. It distinguishes the provider-defined display name normalized state or classification for the Slack user profile.

            * **Enables:** Label each Slack user profile with display name normalized from `users.SlackUserProfile.display_name_normalized`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports display name normalized as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-email-fdf3a8c770e9" title="Email" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.email`

            **Email.** User's email address from their profile. It supplies the provider-reported address or location facet for the Slack user profile, not a residency determination.

            * **Enables:** Attribute each Slack user profile to a person or account by the exact email in `users.SlackUserProfile.email`; identify addresses that do not match the Slack directory.
            * **Interpretation:** Slack reports email as an address on each Slack user profile; aliases, casing, and unverified addresses can prevent a one-to-one person match. A connector directive maps this field to a person's email identity.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-fields-a407be4277b5" title="Fields" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.fields`

            **Fields.** Custom profile fields as a JSON object with field IDs as keys. It preserves the nested context needed to interpret the parent user.

            * **Enables:** Attribute fields in `users.SlackUserProfile.fields` to the parent user; identify parent records where that nested fields object is absent.
            * **Interpretation:** Slack reports fields as a nested object on each Slack user profile; optional children may be absent from a valid response.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-first-name-4dc0b2df76b1" title="First Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.first_name`

            **First Name.** First name from the user profile. It gives the Slack user profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack user profile with first name from `users.SlackUserProfile.first_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports first name as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-guest-channels-76929bdc59eb" title="Guest Channels" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.guest_channels`

            **Guest Channels.** Comma-separated list of channel IDs a guest user has access to. It identifies the related provider object that gives the Slack user profile its parent, owner, or container context.

            * **Enables:** Connect each Slack user profile to the related guest channels in `users.SlackUserProfile.guest_channels` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports guest channels as relationship context on each Slack user profile; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-guest-expiration-ts-32a73e641442" title="Guest Expiration Ts" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.guest_expiration_ts`

            **Guest Expiration Ts.** Unix timestamp when the guest account expires. It anchors the user on the provider's reported timeline.

            * **Enables:** Order Users by guest expiration ts in `users.SlackUserProfile.guest_expiration_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports guest expiration ts as a Unix timestamp in a unit not declared by this field on each Slack user profile; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-guest-invited-by-dd785dd560c2" title="Guest Invited By" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.guest_invited_by`

            **Guest Invited By.** User ID of who invited this guest user. It identifies the related provider object that gives the Slack user profile its parent, owner, or container context.

            * **Enables:** Connect each Slack user profile to the related guest invited by in `users.SlackUserProfile.guest_invited_by` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports guest invited by as relationship context on each Slack user profile; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-huddle-state-ae66c08cc458" title="Huddle State" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.huddle_state`

            **Huddle State.** Current huddle state of the user. It distinguishes the provider-defined huddle state state or classification for the Slack user profile.

            * **Enables:** Segment Slack user profile entries in Users by huddle state in `users.SlackUserProfile.huddle_state`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports huddle state as a label from its own taxonomy on each Slack user profile; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-huddle-state-expiration-ts-efa0b93865ae" title="Huddle State Expiration Ts" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.huddle_state_expiration_ts`

            **Huddle State Expiration Ts.** Unix timestamp when the huddle state expires. It anchors the user on the provider's reported timeline.

            * **Enables:** Order Users by huddle state expiration ts in `users.SlackUserProfile.huddle_state_expiration_ts` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports huddle state expiration ts as a Unix timestamp in a unit not declared by this field on each Slack user profile; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-1024-238a5f8596bb" title="Image 1024" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_1024`

            **Image 1024.** URL to a 1024x1024 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 1024 in `users.SlackUserProfile.image_1024`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 1024 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-192-66f0bd3090ca" title="Image 192" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_192`

            **Image 192.** URL to a 192x192 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 192 in `users.SlackUserProfile.image_192`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 192 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-24-7748613daa04" title="Image 24" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_24`

            **Image 24.** URL to a 24x24 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 24 in `users.SlackUserProfile.image_24`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 24 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-32-e608ab9f2734" title="Image 32" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_32`

            **Image 32.** URL to a 32x32 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 32 in `users.SlackUserProfile.image_32`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 32 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-48-ffde9d5199e2" title="Image 48" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_48`

            **Image 48.** URL to a 48x48 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 48 in `users.SlackUserProfile.image_48`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 48 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-512-0035bc06a716" title="Image 512" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_512`

            **Image 512.** URL to a 512x512 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 512 in `users.SlackUserProfile.image_512`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 512 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-72-70fa806031ed" title="Image 72" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_72`

            **Image 72.** URL to a 72x72 pixel profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image 72 in `users.SlackUserProfile.image_72`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image 72 as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-image-original-08253667e835" title="Image Original" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.image_original`

            **Image Original.** URL to the original uploaded profile image. It locates the provider resource or path associated with the Slack user profile.

            * **Enables:** Associate each Slack user profile with the resource identified by image original in `users.SlackUserProfile.image_original`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports image original as a resource locator for each Slack user profile; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-last-name-7ba1c07f4d9e" title="Last Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.last_name`

            **Last Name.** Last name from the user profile. It gives the Slack user profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack user profile with last name from `users.SlackUserProfile.last_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports last name as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-phone-c2479c464439" title="Phone" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.phone`

            **Phone.** Phone number from the user profile. It supplies the phone profile facet used to reconcile or attribute the Slack user profile.

            * **Enables:** Reconcile the user's phone in `users.SlackUserProfile.phone` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports phone as a mutable profile or directory attribute on each Slack user profile; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-pronouns-e4d7d61adf9b" title="Pronouns" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.pronouns`

            **Pronouns.** User's pronouns as set in their profile. It supplies the pronouns profile facet used to reconcile or attribute the Slack user profile.

            * **Enables:** Reconcile the user's pronouns in `users.SlackUserProfile.pronouns` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports pronouns as a mutable profile or directory attribute on each Slack user profile; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-real-name-14d263f93acc" title="Real Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.real_name`

            **Real Name.** Full real name from the profile. It gives the Slack user profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack user profile with real name from `users.SlackUserProfile.real_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports real name as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-real-name-normalized-1f59b5d7bf73" title="Real Name Normalized" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.real_name_normalized`

            **Real Name Normalized.** Full real name with Unicode characters normalized to ASCII equivalents. It gives the Slack user profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack user profile with real name normalized from `users.SlackUserProfile.real_name_normalized`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports real name normalized as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-skype-0d7063c0fd57" title="Skype" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.skype`

            **Skype.** Skype handle from the user profile. It supplies the skype profile facet used to reconcile or attribute the Slack user profile.

            * **Enables:** Reconcile the user's skype in `users.SlackUserProfile.skype` with its provider profile or directory identity; confirm ambiguous matches with the stable provider ID.
            * **Interpretation:** Slack reports skype as a mutable profile or directory attribute on each Slack user profile; it may be absent, shared, or non-unique.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-emoji-0280391e038f" title="Status Emoji" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_emoji`

            **Status Emoji.** Emoji code for the user's custom status (e.g., :house\_with\_garden:). It distinguishes the provider-defined status emoji state or classification for the Slack user profile.

            * **Enables:** Segment Slack user profile entries in Users by status emoji in `users.SlackUserProfile.status_emoji`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports status emoji as a label from its own taxonomy on each Slack user profile; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-emoji-display-info-4de2f044fbbf" title="Status Emoji Display Info" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_emoji_display_info`

            **Status Emoji Display Info.** Display information for custom status emoji, including URLs for custom emoji. It preserves the nested context needed to interpret the parent user.

            * **Enables:** Attribute every returned Slack status emoji display info in `users.SlackUserProfile.status_emoji_display_info` to its parent user; keep each relationship distinct and distinguish an absent array from an explicitly empty one.
            * **Interpretation:** Slack returns status emoji display info as an array of Slack status emoji display info entries on each Slack user profile; missing, empty, and permission-redacted arrays are not equivalent.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-emoji-display-info-di-4826fb85d499" title="Display URL" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_emoji_display_info.display_url`

            **Display URL.** URL to the emoji image for display. It distinguishes the provider-defined display URL state or classification for the Slack status emoji display info.

            * **Enables:** Associate each Slack status emoji display info with the resource identified by display URL in `users.SlackStatusEmojiDisplayInfo.display_url`; verify the link resolves to the expected Slack object.
            * **Interpretation:** Slack reports display URL as a resource locator for each Slack status emoji display info; access still depends on viewer permissions and the URL may expire or change.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-emoji-display-info-em-74faf4d4a71e" title="Emoji Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_emoji_display_info.emoji_name`

            **Emoji Name.** The name/code of the emoji. It gives the Slack status emoji display info a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack status emoji display info with emoji name from `users.SlackStatusEmojiDisplayInfo.emoji_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports emoji name as display text for each Slack status emoji display info; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-emoji-display-info-un-3c0b3981d55f" title="Unicode" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_emoji_display_info.unicode`

            **Unicode.** Unicode representation of the emoji if it is a standard emoji. It distinguishes the provider-defined unicode state or classification for the Slack status emoji display info.

            * **Enables:** Filter Users by the exact Slack-defined unicode in `users.SlackStatusEmojiDisplayInfo.unicode` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies unicode from its own taxonomy on each Slack status emoji display info; preserve unknown and newly introduced labels.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-expiration-21ddf055e0f3" title="Status Expiration" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_expiration`

            **Status Expiration.** Unix timestamp when the custom status expires, or 0 for no expiration. It anchors the user on the provider's reported timeline.

            * **Enables:** Order Users by status expiration in `users.SlackUserProfile.status_expiration` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports status expiration as a Unix timestamp in a unit not declared by this field on each Slack user profile; derive timezone display separately and do not guess an undeclared unit.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-text-b40a0013c059" title="Status Text" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_text`

            **Status Text.** Custom status text set by the user. It defines the content surface available for this user.

            * **Enables:** Locate Slack user profile records by status text in `users.SlackUserProfile.status_text`; attribute each text match to its parent user and, when present, its reported author.
            * **Interpretation:** Slack supplies status text as text on each Slack user profile; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-status-text-canonical-c8d39398607b" title="Status Text Canonical" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.status_text_canonical`

            **Status Text Canonical.** Canonical (non-custom) status text if a preset status is used. It defines the content surface available for this user.

            * **Enables:** Locate Slack user profile records by status text canonical in `users.SlackUserProfile.status_text_canonical`; attribute each text match to its parent user and, when present, its reported author.
            * **Interpretation:** Slack supplies status text canonical as text on each Slack user profile; referenced files or media are not implied unless explicitly represented.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-team-856cc0fcf29b" title="Team" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.team`

            **Team.** The workspace/team ID this profile belongs to. It identifies the related provider object that gives the Slack user profile its parent, owner, or container context.

            * **Enables:** Connect each Slack user profile to the related team in `users.SlackUserProfile.team` and verify that the referenced provider object resolves in the expected parent or container.
            * **Interpretation:** Slack reports team as relationship context on each Slack user profile; resolve it in the named provider namespace rather than by display text alone.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-profile-title-8e37e4c6c221" title="Title" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.profile.title`

            **Title.** Job title from the user profile. It gives the Slack user profile a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each Slack user profile with title from `users.SlackUserProfile.title`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports title as display text for each Slack user profile; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-real-name-56db2d3df1ea" title="Real Name" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.real_name`

            **Real Name.** Full real name of the user. It gives the user a human-readable provider label while its identifier remains the stable reference.

            * **Enables:** Label each user with real name from `users.real_name`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports real name as display text for each user; names are mutable and are not stable identities. A connector directive maps this field to a person's display name.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-team-id-999978b4f92c" title="Team ID" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.team_id`

            **Team ID.** The workspace/team ID this user belongs to. It provides the reference needed to connect the user to the corresponding provider object.

            * **Enables:** Connect each user in Users to the referenced team through `users.team_id`; flag team ID values that do not resolve in that provider namespace.
            * **Interpretation:** Slack reports team ID as an identifier in its team namespace; it is not a universal identity outside Slack.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-two-factor-type-bf3bb3d869e4" title="Two Factor Type" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.two_factor_type`

            **Two Factor Type.** The type of 2FA configured (e.g., app, sms). It distinguishes the provider-defined two factor type state or classification for the user.

            * **Enables:** Segment user entries in Users by two factor type in `users.two_factor_type`; compare counts only within the same Slack taxonomy.
            * **Interpretation:** Slack reports two factor type as a label from its own taxonomy on each user; preserve unknown labels rather than mapping them by assumption.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-tz-fba1b52273a0" title="Tz" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.tz`

            **Tz.** User's configured IANA timezone string (e.g., America/Los\_Angeles). It is needed to interpret companion dates and times for the user in the provider's intended zone.

            * **Enables:** Apply the zone in `users.tz` when converting the user's companion start, end, or scheduled timestamps; do not infer it from locale.
            * **Interpretation:** Slack reports tz as a timezone identifier for each user; supported IANA or provider-specific names and daylight-saving behavior must be preserved.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-tz-label-a66e44e1dd71" title="Tz Label" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `users.tz_label`

            **Tz Label.** Human-readable timezone label (e.g., Pacific Daylight Time). It is needed to interpret companion dates and times for the user in the provider's intended zone.

            * **Enables:** Label each user with tz label from `users.tz_label`; distinguish records that share that display name but have different Slack identifiers.
            * **Interpretation:** Slack reports tz label as display text for each user; names are mutable and are not stable identities.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-tz-offset-5ce80de3b349" title="Tz Offset" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.tz_offset`

            **Tz Offset.** Timezone offset from UTC in seconds. It is needed to interpret companion dates and times for the user in the provider's intended zone.

            * **Enables:** Apply the zone in `users.tz_offset` when converting the user's companion start, end, or scheduled timestamps; do not infer it from locale.
            * **Interpretation:** Slack reports tz offset as a timezone identifier for each user; supported IANA or provider-specific names and daylight-saving behavior must be preserved.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-updated-a2a9c0187074" title="Updated" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.updated`

            **Updated.** Unix timestamp of the last profile update. It anchors the user on the provider's reported timeline.

            * **Enables:** Order Users by updated in `users.updated` and isolate records inside an exact provider reporting window.
            * **Interpretation:** Slack reports updated as a Unix timestamp in a unit not declared by this field on each user; derive timezone display separately and do not guess an undeclared unit. A connector directive uses this field to order records for latest-state or incremental processing.
          </Accordion>

          <Accordion id="provider-permission-field-slack-users-who-can-share-contact-card-ffdce94ab687" title="Who Can Share Contact Card" icon="people-group" iconType="sharp-duotone-solid">
            Developer identifier: `users.who_can_share_contact_card`

            **Who Can Share Contact Card.** Setting for who can share this user's contact card. It distinguishes the provider-defined who can share contact card state or classification for the user.

            * **Enables:** Filter Users by the exact Slack-defined who can share contact card in `users.who_can_share_contact_card` and preserve unknown values as distinct categories.
            * **Interpretation:** Slack supplies who can share contact card from its own taxonomy on each user; preserve unknown and newly introduced labels.
          </Accordion>
        </AccordionGroup>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Troubleshooting">
    | Error               | Meaning                     | Solution                                        |
    | ------------------- | --------------------------- | ----------------------------------------------- |
    | `invalid_auth`      | Bad token                   | Verify token is correct and starts with `xoxb-` |
    | `missing_scope`     | Scope not granted           | Add required scope and reinstall app            |
    | `channel_not_found` | No access to channel        | Add **Parable Integration** to the channel      |
    | `not_in_channel`    | Bot is not a channel member | Add **Parable Integration** to the channel      |
    | `ratelimited`       | Rate limit hit              | Implement backoff using `Retry-After` header    |

    #### Common Issues

    #### Bot can't see channel messages

    **Parable Integration** must be added to each channel you want Parable to consume — this applies to both public and private channels. Use `/invite @Parable Integration` in the channel, or add the app from the channel's **Integrations** menu.

    #### Token regeneration

    You can regenerate tokens in the app settings under **OAuth & Permissions** by reinstalling the app.

    **[Slack API](https://api.slack.com/methods)** — API method reference

    **[OAuth Scopes](https://api.slack.com/scopes)** — Complete scope reference
  </Tab>
</Tabs>
