Slack · Capability

Slack Users API — Users

Slack Users API — Users. 12 operations. Lead operation: Slack Get Users Conversations. Self-contained Naftiko capability covering one Slack business surface.

Run with Naftiko SlackUsers

What You Can Do

GET
Getusersconversations — Slack Get Users Conversations
/v1/users-conversations
POST
Postusersdeletephoto — Slack Post Users Deletephoto
/v1/users-deletephoto
GET
Getusersgetpresence — Slack Get Users Getpresence
/v1/users-getpresence
GET
Getusersidentity — Slack Get Users Identity
/v1/users-identity
GET
Getusersinfo — Slack Get Users Info
/v1/users-info
GET
Getuserslist — Slack Get Users List
/v1/users-list
GET
Getuserslookupbyemail — Slack Get Users Lookupbyemail
/v1/users-lookupbyemail
GET
Getusersprofileget — Slack Get Users Profile Get
/v1/users-profile-get
POST
Postusersprofileset — Slack Post Users Profile Set
/v1/users-profile-set
POST
Postuserssetactive — Slack Post Users Setactive
/v1/users-setactive
POST
Postuserssetphoto — Slack Post Users Setphoto
/v1/users-setphoto
POST
Postuserssetpresence — Slack Post Users Setpresence
/v1/users-setpresence

MCP Tools

slack-get-users-conversations

Slack Get Users Conversations

read-only idempotent
slack-post-users-deletephoto

Slack Post Users Deletephoto

slack-get-users-getpresence

Slack Get Users Getpresence

read-only idempotent
slack-get-users-identity

Slack Get Users Identity

read-only idempotent
slack-get-users-info

Slack Get Users Info

read-only idempotent
slack-get-users-list

Slack Get Users List

read-only idempotent
slack-get-users-lookupbyemail

Slack Get Users Lookupbyemail

read-only idempotent
slack-get-users-profile-get

Slack Get Users Profile Get

read-only idempotent
slack-post-users-profile-set

Slack Post Users Profile Set

slack-post-users-setactive

Slack Post Users Setactive

slack-post-users-setphoto

Slack Post Users Setphoto

slack-post-users-setpresence

Slack Post Users Setpresence

Capability Spec

users-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Slack Users API — Users
  description: 'Slack Users API — Users. 12 operations. Lead operation: Slack Get Users Conversations. Self-contained Naftiko
    capability covering one Slack business surface.'
  tags:
  - Slack
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SLACK_API_KEY: SLACK_API_KEY
capability:
  consumes:
  - type: http
    namespace: users-users
    baseUri: ''
    description: Slack Users API — Users business capability. Self-contained, no shared references.
    resources:
    - name: users.conversations
      path: /users.conversations
      operations:
      - name: getusersconversations
        method: GET
        description: Slack Get Users Conversations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `conversations:read`'
        - name: user
          in: query
          type: string
          description: Browse conversations by a specific user ID's membership. Non-public channels are restricted to those
            where the calling user shares membership.
        - name: types
          in: query
          type: string
          description: Mix and match channel types by providing a comma-separated list of any combination of `public_channel`,
            `private_channel`, `mpim`, `im`
        - name: exclude_archived
          in: query
          type: boolean
          description: Set to `true` to exclude archived channels from the list
        - name: limit
          in: query
          type: integer
          description: The maximum number of items to return. Fewer than the requested number of items may be returned, even
            if the end of the list hasn't been reached. Must be an int
        - name: cursor
          in: query
          type: string
          description: Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute
            returned by a previous request's `response_metadata`. Defaul
    - name: users.deletePhoto
      path: /users.deletePhoto
      operations:
      - name: postusersdeletephoto
        method: POST
        description: Slack Post Users Deletephoto
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: users.getPresence
      path: /users.getPresence
      operations:
      - name: getusersgetpresence
        method: GET
        description: Slack Get Users Getpresence
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `users:read`'
          required: true
        - name: user
          in: query
          type: string
          description: User to get presence info on. Defaults to the authed user.
    - name: users.identity
      path: /users.identity
      operations:
      - name: getusersidentity
        method: GET
        description: Slack Get Users Identity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `identity.basic`'
    - name: users.info
      path: /users.info
      operations:
      - name: getusersinfo
        method: GET
        description: Slack Get Users Info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `users:read`'
          required: true
        - name: include_locale
          in: query
          type: boolean
          description: Set this to `true` to receive the locale for this user. Defaults to `false`
        - name: user
          in: query
          type: string
          description: User to get info on
    - name: users.list
      path: /users.list
      operations:
      - name: getuserslist
        method: GET
        description: Slack Get Users List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `users:read`'
        - name: limit
          in: query
          type: integer
          description: The maximum number of items to return. Fewer than the requested number of items may be returned, even
            if the end of the users list hasn't been reached. Providin
        - name: cursor
          in: query
          type: string
          description: Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute
            returned by a previous request's `response_metadata`. Defaul
        - name: include_locale
          in: query
          type: boolean
          description: Set this to `true` to receive the locale for users. Defaults to `false`
    - name: users.lookupByEmail
      path: /users.lookupByEmail
      operations:
      - name: getuserslookupbyemail
        method: GET
        description: Slack Get Users Lookupbyemail
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `users:read.email`'
          required: true
        - name: email
          in: query
          type: string
          description: An email address belonging to a user in the workspace
          required: true
    - name: users.profile.get
      path: /users.profile.get
      operations:
      - name: getusersprofileget
        method: GET
        description: Slack Get Users Profile Get
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `users.profile:read`'
          required: true
        - name: include_labels
          in: query
          type: boolean
          description: Include labels for each ID in custom profile fields
        - name: user
          in: query
          type: string
          description: User to retrieve profile info for
    - name: users.profile.set
      path: /users.profile.set
      operations:
      - name: postusersprofileset
        method: POST
        description: Slack Post Users Profile Set
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `users.profile:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: users.setActive
      path: /users.setActive
      operations:
      - name: postuserssetactive
        method: POST
        description: Slack Post Users Setactive
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `users:write`'
          required: true
    - name: users.setPhoto
      path: /users.setPhoto
      operations:
      - name: postuserssetphoto
        method: POST
        description: Slack Post Users Setphoto
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: users.setPresence
      path: /users.setPresence
      operations:
      - name: postuserssetpresence
        method: POST
        description: Slack Post Users Setpresence
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `users:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: users-users-rest
    port: 8080
    description: REST adapter for Slack Users API — Users. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/users-conversations
      name: users-conversations
      description: REST surface for users.conversations.
      operations:
      - method: GET
        name: getusersconversations
        description: Slack Get Users Conversations
        call: users-users.getusersconversations
        with:
          token: rest.token
          user: rest.user
          types: rest.types
          exclude_archived: rest.exclude_archived
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-deletephoto
      name: users-deletephoto
      description: REST surface for users.deletePhoto.
      operations:
      - method: POST
        name: postusersdeletephoto
        description: Slack Post Users Deletephoto
        call: users-users.postusersdeletephoto
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-getpresence
      name: users-getpresence
      description: REST surface for users.getPresence.
      operations:
      - method: GET
        name: getusersgetpresence
        description: Slack Get Users Getpresence
        call: users-users.getusersgetpresence
        with:
          token: rest.token
          user: rest.user
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-identity
      name: users-identity
      description: REST surface for users.identity.
      operations:
      - method: GET
        name: getusersidentity
        description: Slack Get Users Identity
        call: users-users.getusersidentity
        with:
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-info
      name: users-info
      description: REST surface for users.info.
      operations:
      - method: GET
        name: getusersinfo
        description: Slack Get Users Info
        call: users-users.getusersinfo
        with:
          token: rest.token
          include_locale: rest.include_locale
          user: rest.user
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-list
      name: users-list
      description: REST surface for users.list.
      operations:
      - method: GET
        name: getuserslist
        description: Slack Get Users List
        call: users-users.getuserslist
        with:
          token: rest.token
          limit: rest.limit
          cursor: rest.cursor
          include_locale: rest.include_locale
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-lookupbyemail
      name: users-lookupbyemail
      description: REST surface for users.lookupByEmail.
      operations:
      - method: GET
        name: getuserslookupbyemail
        description: Slack Get Users Lookupbyemail
        call: users-users.getuserslookupbyemail
        with:
          token: rest.token
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-profile-get
      name: users-profile-get
      description: REST surface for users.profile.get.
      operations:
      - method: GET
        name: getusersprofileget
        description: Slack Get Users Profile Get
        call: users-users.getusersprofileget
        with:
          token: rest.token
          include_labels: rest.include_labels
          user: rest.user
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-profile-set
      name: users-profile-set
      description: REST surface for users.profile.set.
      operations:
      - method: POST
        name: postusersprofileset
        description: Slack Post Users Profile Set
        call: users-users.postusersprofileset
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-setactive
      name: users-setactive
      description: REST surface for users.setActive.
      operations:
      - method: POST
        name: postuserssetactive
        description: Slack Post Users Setactive
        call: users-users.postuserssetactive
        with:
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-setphoto
      name: users-setphoto
      description: REST surface for users.setPhoto.
      operations:
      - method: POST
        name: postuserssetphoto
        description: Slack Post Users Setphoto
        call: users-users.postuserssetphoto
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users-setpresence
      name: users-setpresence
      description: REST surface for users.setPresence.
      operations:
      - method: POST
        name: postuserssetpresence
        description: Slack Post Users Setpresence
        call: users-users.postuserssetpresence
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: users-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Slack Users API — Users. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: slack-get-users-conversations
      description: Slack Get Users Conversations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getusersconversations
      with:
        token: tools.token
        user: tools.user
        types: tools.types
        exclude_archived: tools.exclude_archived
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-users-deletephoto
      description: Slack Post Users Deletephoto
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: users-users.postusersdeletephoto
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-users-getpresence
      description: Slack Get Users Getpresence
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getusersgetpresence
      with:
        token: tools.token
        user: tools.user
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-users-identity
      description: Slack Get Users Identity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getusersidentity
      with:
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-users-info
      description: Slack Get Users Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getusersinfo
      with:
        token: tools.token
        include_locale: tools.include_locale
        user: tools.user
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-users-list
      description: Slack Get Users List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getuserslist
      with:
        token: tools.token
        limit: tools.limit
        cursor: tools.cursor
        include_locale: tools.include_locale
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-users-lookupbyemail
      description: Slack Get Users Lookupbyemail
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getuserslookupbyemail
      with:
        token: tools.token
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-users-profile-get
      description: Slack Get Users Profile Get
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: users-users.getusersprofileget
      with:
        token: tools.token
        include_labels: tools.include_labels
        user: tools.user
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-users-profile-set
      description: Slack Post Users Profile Set
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: users-users.postusersprofileset
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-users-setactive
      description: Slack Post Users Setactive
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: users-users.postuserssetactive
      with:
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-users-setphoto
      description: Slack Post Users Setphoto
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: users-users.postuserssetphoto
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-users-setpresence
      description: Slack Post Users Setpresence
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: users-users.postuserssetpresence
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.