naftiko: 1.0.0-alpha2 info: label: Slack Web API — Views description: 'Slack Web API — Views. 3 operations. Lead operation: Slack Open a Modal View. Self-contained Naftiko capability covering one Slack business surface.' tags: - Slack - Views created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SLACK_API_KEY: SLACK_API_KEY capability: consumes: - type: http namespace: web-views baseUri: https://slack.com/api description: Slack Web API — Views business capability. Self-contained, no shared references. resources: - name: views.open path: /views.open operations: - name: viewsopen method: POST description: Slack Open a Modal View outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: views.publish path: /views.publish operations: - name: viewspublish method: POST description: Slack Publish a View to the App Home Tab outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: views.update path: /views.update operations: - name: viewsupdate method: POST description: Slack Update an Existing View outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.SLACK_API_KEY}}' exposes: - type: rest namespace: web-views-rest port: 8080 description: REST adapter for Slack Web API — Views. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/views-open name: views-open description: REST surface for views.open. operations: - method: POST name: viewsopen description: Slack Open a Modal View call: web-views.viewsopen with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/views-publish name: views-publish description: REST surface for views.publish. operations: - method: POST name: viewspublish description: Slack Publish a View to the App Home Tab call: web-views.viewspublish with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/views-update name: views-update description: REST surface for views.update. operations: - method: POST name: viewsupdate description: Slack Update an Existing View call: web-views.viewsupdate with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: web-views-mcp port: 9090 transport: http description: MCP adapter for Slack Web API — Views. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: slack-open-modal-view description: Slack Open a Modal View hints: readOnly: false destructive: false idempotent: false call: web-views.viewsopen with: body: tools.body outputParameters: - type: object mapping: $. - name: slack-publish-view-app-home description: Slack Publish a View to the App Home Tab hints: readOnly: false destructive: false idempotent: false call: web-views.viewspublish with: body: tools.body outputParameters: - type: object mapping: $. - name: slack-update-existing-view description: Slack Update an Existing View hints: readOnly: false destructive: false idempotent: false call: web-views.viewsupdate with: body: tools.body outputParameters: - type: object mapping: $.