naftiko: 1.0.0-alpha2 info: label: Slack Views API — Views description: 'Slack Views API — Views. 4 operations. Lead operation: Slack Get Views Open. 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: views-views baseUri: '' description: Slack Views API — Views business capability. Self-contained, no shared references. resources: - name: views.open path: /views.open operations: - name: getviewsopen method: GET description: Slack Get Views Open outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `none`' required: true - name: trigger_id in: query type: string description: Exchange a trigger to post to the user. required: true - name: view in: query type: string description: A [view payload](/reference/surfaces/views). This must be a JSON-encoded string. required: true - name: views.publish path: /views.publish operations: - name: getviewspublish method: GET description: Slack Get Views Publish outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `none`' required: true - name: user_id in: query type: string description: '`id` of the user you want publish a view to.' required: true - name: view in: query type: string description: A [view payload](/reference/surfaces/views). This must be a JSON-encoded string. required: true - name: hash in: query type: string description: A string that represents view state to protect against possible race conditions. - name: views.push path: /views.push operations: - name: getviewspush method: GET description: Slack Get Views Push outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `none`' required: true - name: trigger_id in: query type: string description: Exchange a trigger to post to the user. required: true - name: view in: query type: string description: A [view payload](/reference/surfaces/views). This must be a JSON-encoded string. required: true - name: views.update path: /views.update operations: - name: getviewsupdate method: GET description: Slack Get Views Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `none`' required: true - name: view_id in: query type: string description: A unique identifier of the view to be updated. Either `view_id` or `external_id` is required. - name: external_id in: query type: string description: A unique identifier of the view set by the developer. Must be unique for all views on a team. Max length of 255 characters. Either `view_id` or `external_id` is - name: view in: query type: string description: A [view object](/reference/surfaces/views). This must be a JSON-encoded string. - name: hash in: query type: string description: A string that represents view state to protect against possible race conditions. exposes: - type: rest namespace: views-views-rest port: 8080 description: REST adapter for Slack Views 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: GET name: getviewsopen description: Slack Get Views Open call: views-views.getviewsopen with: token: rest.token trigger_id: rest.trigger_id view: rest.view outputParameters: - type: object mapping: $. - path: /v1/views-publish name: views-publish description: REST surface for views.publish. operations: - method: GET name: getviewspublish description: Slack Get Views Publish call: views-views.getviewspublish with: token: rest.token user_id: rest.user_id view: rest.view hash: rest.hash outputParameters: - type: object mapping: $. - path: /v1/views-push name: views-push description: REST surface for views.push. operations: - method: GET name: getviewspush description: Slack Get Views Push call: views-views.getviewspush with: token: rest.token trigger_id: rest.trigger_id view: rest.view outputParameters: - type: object mapping: $. - path: /v1/views-update name: views-update description: REST surface for views.update. operations: - method: GET name: getviewsupdate description: Slack Get Views Update call: views-views.getviewsupdate with: token: rest.token view_id: rest.view_id external_id: rest.external_id view: rest.view hash: rest.hash outputParameters: - type: object mapping: $. - type: mcp namespace: views-views-mcp port: 9090 transport: http description: MCP adapter for Slack Views API — Views. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: slack-get-views-open description: Slack Get Views Open hints: readOnly: true destructive: false idempotent: true call: views-views.getviewsopen with: token: tools.token trigger_id: tools.trigger_id view: tools.view outputParameters: - type: object mapping: $. - name: slack-get-views-publish description: Slack Get Views Publish hints: readOnly: true destructive: false idempotent: true call: views-views.getviewspublish with: token: tools.token user_id: tools.user_id view: tools.view hash: tools.hash outputParameters: - type: object mapping: $. - name: slack-get-views-push description: Slack Get Views Push hints: readOnly: true destructive: false idempotent: true call: views-views.getviewspush with: token: tools.token trigger_id: tools.trigger_id view: tools.view outputParameters: - type: object mapping: $. - name: slack-get-views-update description: Slack Get Views Update hints: readOnly: true destructive: false idempotent: true call: views-views.getviewsupdate with: token: tools.token view_id: tools.view_id external_id: tools.external_id view: tools.view hash: tools.hash outputParameters: - type: object mapping: $.