Slack Views API

The Views API from Slack — 4 operation(s) for views.

Operations 3

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /views.open Open a modal for a user · Slack Open a Modal View #
Ask an LLM
“How do I pop up a modal after someone runs my slash command?”
“What does my app need from an interaction to open a modal?”
Tell an agent
Open modal {view} using trigger {trigger_id}.
Show the user a new modal {view} from interaction {trigger_id}.
POST /views.update Update an open modal view · Slack Update an Existing View #
Ask an LLM
“Can I change the contents of a modal that's already open?”
“How do I avoid overwriting a view someone else just updated?”
Tell an agent
Replace the contents of view {view_id} with {view}.
Update the view with external ID {external_id} to {view}.
POST /views.publish Publish a user's App Home tab · Slack Publish a View to the App Home Tab #
Ask an LLM
“Can my app show a custom Home tab to each user?”
“Is the App Home view per user or shared by everyone?”
Tell an agent
Publish view {view} to the App Home of user {user_id}.
Refresh user {user_id}'s Home tab with {view}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/slack-views-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

slack-views-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Slack Web Views API
  description: The Slack Web API is an HTTP-based interface that provides access to all of Slack's platform features.
  version: 1.0.0
  termsOfService: https://slack.com/terms-of-service/api
  contact:
    name: Slack Developer Support
    url: https://docs.slack.dev
  license:
    name: Slack API Terms of Service
    url: https://slack.com/terms-of-service/api
servers:
- url: https://slack.com/api
  description: Slack Web API production server
security:
- bearerAuth: []
tags:
- name: Views
  description: Open, update, and manage modals and App Home tabs
paths:
  /views.open:
    post:
      tags:
      - Views
      summary: Slack Open a Modal View
      description: Open a view for a user by providing a trigger_id received from a slash command, shortcut, or interactive component.
      operationId: viewsOpen
      externalDocs:
        description: API method documentation
        url: https://docs.slack.dev/reference/methods/views.open
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - trigger_id
              - view
              properties:
                trigger_id:
                  type: string
                  description: Exchange a trigger to post to the user. Must be obtained from a slash command, shortcut, or interactive component.
                view:
                  type: object
                  description: A view payload in JSON format.
      responses:
        '200':
          description: View opened
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  view:
                    type: object
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /views.update:
    post:
      tags:
      - Views
      summary: Slack Update an Existing View
      description: Update an existing view.
      operationId: viewsUpdate
      externalDocs:
        description: API method documentation
        url: https://docs.slack.dev/reference/methods/views.update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                view_id:
                  type: string
                  description: A unique identifier of the view to be updated.
                external_id:
                  type: string
                view:
                  type: object
                  description: A view payload in JSON format.
                hash:
                  type: string
                  description: A string that represents view state to protect against possible race conditions.
      responses:
        '200':
          description: View updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  view:
                    type: object
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /views.publish:
    post:
      tags:
      - Views
      summary: Slack Publish a View to the App Home Tab
      description: Publish a static view for a user to the App Home tab.
      operationId: viewsPublish
      externalDocs:
        description: API method documentation
        url: https://docs.slack.dev/reference/methods/views.publish
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - user_id
              - view
              properties:
                user_id:
                  type: string
                  description: ID of the user you want to publish a view to.
                view:
                  type: object
                  description: A view payload in JSON format.
                hash:
                  type: string
      responses:
        '200':
          description: View published
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  view:
                    type: object
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Slack API uses Bearer token authentication. Pass a bot token or user token in the Authorization header.