Slack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Slack Chat API

11 actions 11 updates phrasing extends openapi/slack-chat-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Slack's API. It is a proposal applied on top of the contract, not a document Slack publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/chat.delete'].post
$.paths['/chat.deleteScheduledMessage'].post
$.paths['/chat.getPermalink'].get
$.paths['/chat.meMessage'].post
$.paths['/chat.postEphemeral'].post
$.paths['/chat.postMessage'].post
$.paths['/chat.scheduleMessage'].post
$.paths['/chat.scheduledMessages.list'].get
$.paths['/chat.unfurl'].post
$.paths['/chat.update'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Slack Chat API
  version: 1.0.0
extends: openapi/slack-chat-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 10
- target: $.paths['/chat.delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a posted message
      effect: destructive
      questions:
      - How do I delete a message my bot already posted?
      - Can I delete a message as the user rather than as the bot?
      instructions:
      - text: Delete message {ts} in channel {channel}.
        slots:
          ts: requestBody.ts
          channel: requestBody.channel
      - text: Remove the already-posted message at {ts} from {channel}.
        slots:
          ts: requestBody.ts
          channel: requestBody.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.deleteScheduledMessage'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel a scheduled message
      effect: destructive
      questions:
      - Can I cancel a message I scheduled before it gets sent?
      - What do I need to remove a pending scheduled message from the queue?
      instructions:
      - text: Cancel scheduled message {scheduled_message_id} in {channel}.
        slots:
          scheduled_message_id: requestBody.scheduled_message_id
          channel: requestBody.channel
      - text: Remove pending scheduled message {scheduled_message_id} from channel {channel} before it goes out.
        slots:
          scheduled_message_id: requestBody.scheduled_message_id
          channel: requestBody.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.getPermalink'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a permalink to a message
      effect: read
      questions:
      - How do I get a shareable link to a specific message?
      - Can I build a URL that jumps straight to a message in a channel?
      instructions:
      - text: Get the permalink for message {message_ts} in {channel}.
        slots:
          message_ts: query.message_ts
          channel: query.channel
      - text: Give me a link to the message at {message_ts} in channel {channel}.
        slots:
          message_ts: query.message_ts
          channel: query.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.meMessage'].post
  update:
    x-apievangelist-phrasing:
      intent: Post a /me status-style message
      effect: write
      questions:
      - Can I post an italic /me style action message in a channel?
      - What is a me message and when would I send one?
      instructions:
      - text: Post a /me message saying {text} in {channel}.
        slots:
          text: requestBody.text
          channel: requestBody.channel
      - text: Share a me action {text} into channel {channel}.
        slots:
          text: requestBody.text
          channel: requestBody.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.postEphemeral'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a message only one user can see
      effect: write
      questions:
      - How do I send a message in a channel that only one person can see?
      - Can an ephemeral message be posted inside a thread?
      instructions:
      - text: Send {user} an ephemeral message in {channel} saying {text}.
        slots:
          user: requestBody.user
          channel: requestBody.channel
          text: requestBody.text
      - text: Show only {user} the private notice {text} in thread {thread_ts} of {channel}.
        slots:
          user: requestBody.user
          text: requestBody.text
          thread_ts: requestBody.thread_ts
          channel: requestBody.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.postMessage'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a message to a channel
      effect: write
      questions:
      - How do I post a message to a Slack channel from my app?
      - Can I reply in a thread and also broadcast the reply to the channel?
      - Can I send rich Block Kit layouts instead of plain text?
      instructions:
      - text: Post {text} to channel {channel}.
        slots:
          text: requestBody.text
          channel: requestBody.channel
      - text: Reply {text} in thread {thread_ts} of {channel}.
        slots:
          text: requestBody.text
          thread_ts: requestBody.thread_ts
          channel: requestBody.channel
      - text: Send the Block Kit message {blocks} to {channel} right now.
        slots:
          blocks: requestBody.blocks
          channel: requestBody.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.scheduleMessage'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule a message for later
      effect: write
      questions:
      - Can I schedule a message to post at a specific time in the future?
      - Which formats, like blocks or thread replies, work with scheduled messages?
      instructions:
      - text: Schedule {text} to post in {channel} at {post_at}.
        slots:
          text: requestBody.text
          channel: requestBody.channel
          post_at: requestBody.post_at
      - text: Schedule a thread reply {text} to {thread_ts} in {channel} for {post_at}.
        slots:
          text: requestBody.text
          thread_ts: requestBody.thread_ts
          channel: requestBody.channel
          post_at: requestBody.post_at
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.scheduledMessages.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List scheduled messages
      effect: read
      questions:
      - What messages are currently scheduled to go out?
      - Can I see scheduled messages for just one channel within a time range?
      instructions:
      - text: List all my pending scheduled messages.
      - text: List scheduled messages in {channel} due between {oldest} and {latest}.
        slots:
          channel: query.channel
          oldest: query.oldest
          latest: query.latest
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.unfurl'].post
  update:
    x-apievangelist-phrasing:
      intent: Provide custom link previews for posted URLs
      effect: write
      questions:
      - How do I show a custom preview when someone posts a link to my app's domain?
      - Can I ask users to authenticate before my app unfurls their link?
      instructions:
      - text: Unfurl the links in message {ts} of {channel} with previews {unfurls}.
        slots:
          ts: requestBody.ts
          channel: requestBody.channel
          unfurls: requestBody.unfurls
      - text: Prompt the user to sign in at {user_auth_url} before unfurling message {ts} in {channel}.
        slots:
          user_auth_url: requestBody.user_auth_url
          ts: requestBody.ts
          channel: requestBody.channel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/chat.update'].post
  update:
    x-apievangelist-phrasing:
      intent: Edit a message that was already posted
      effect: write
      questions:
      - Can I edit the text of a message after it has been posted?
      - Is it possible to swap an existing message's blocks for new ones?
      instructions:
      - text: Change message {ts} in {channel} to say {text}.
        slots:
          ts: requestBody.ts
          channel: requestBody.channel
          text: requestBody.text
      - text: Replace the blocks of existing message {ts} in {channel} with {blocks}.
        slots:
          ts: requestBody.ts
          channel: requestBody.channel
          blocks: requestBody.blocks
      method: generated
      generated: '2026-09-26'