Slack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Slack Get API

26 actions 26 updates phrasing extends openapi/slack-get-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 26 · first 16 shown; the file carries all of them

$.info
$.paths['/auth.revoke'].get
$.paths['/auth.test'].get
$.paths['/dialog.open'].get
$.paths['/oauth.token'].get
$.paths['/reminders.info'].get
$.paths['/reminders.list'].get
$.paths['/stars.list'].get
$.paths['/team.accessLogs'].get
$.paths['/team.billableInfo'].get
$.paths['/team.info'].get
$.paths['/team.integrationLogs'].get
$.paths['/team.profile.get'].get
$.paths['/api.test'].get
$.paths['/usergroups.list'].get
$.paths['/usergroups.users.list'].get

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 Get API
  version: 1.0.0
extends: openapi/slack-get-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: 25
- target: $.paths['/auth.revoke'].get
  update:
    x-apievangelist-phrasing:
      intent: Revoke an access token
      effect: destructive
      questions:
      - How do I revoke a Slack token my app no longer needs?
      - Can I dry-run a token revocation to see if it would work without actually revoking it?
      instructions:
      - text: Revoke the access token {token}.
        slots:
          token: query.token
      - text: Test revoking token {token} without actually revoking it, using test mode {test}.
        slots:
          token: query.token
          test: query.test
      method: generated
      generated: '2026-09-26'
- target: $.paths['/auth.test'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a token's authentication and identity
      effect: read
      questions:
      - Is my bot token still valid, and which user and workspace does it belong to?
      - What identity does an access token authenticate as?
      instructions:
      - text: Check whether token {token} is valid and tell me who it authenticates as.
        slots:
          token: header.token
      - text: Verify my current credentials and show the team and user they resolve to.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/dialog.open'].get
  update:
    x-apievangelist-phrasing:
      intent: Open a legacy dialog for a user
      effect: write
      questions:
      - How do I pop up a dialog form after a user clicks a button or runs a slash command?
      - What trigger do I need before I can open a dialog for someone?
      instructions:
      - text: Open dialog {dialog} for the user using trigger {trigger_id}.
        slots:
          dialog: query.dialog
          trigger_id: query.trigger_id
      - text: Show the dialog form {dialog} in response to interaction {trigger_id}.
        slots:
          dialog: query.dialog
          trigger_id: query.trigger_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/oauth.token'].get
  update:
    x-apievangelist-phrasing:
      intent: Exchange an OAuth code for a workspace token
      effect: read
      questions:
      - How do I turn a temporary OAuth verifier code into a workspace token for a workspace app?
      - Can a workspace token be limited to a single channel during the exchange?
      instructions:
      - text: Exchange OAuth code {code} for a workspace token using client {client_id}.
        slots:
          code: query.code
          client_id: query.client_id
      - text: Get a workspace token for code {code} with redirect URI {redirect_uri}, scoped to a single channel.
        slots:
          code: query.code
          redirect_uri: query.redirect_uri
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reminders.info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of one reminder
      effect: read
      questions:
      - What are the details of a specific reminder, like its text and when it fires?
      - Can I look up a single reminder by its ID?
      instructions:
      - text: Show me the details of reminder {reminder}.
        slots:
          reminder: query.reminder
      - text: Look up reminder {reminder} and tell me when it is due.
        slots:
          reminder: query.reminder
      method: generated
      generated: '2026-09-26'
- target: $.paths['/reminders.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's reminders
      effect: read
      questions:
      - Which reminders have been created by me or for me?
      - Can I see all of my pending and completed reminders at once?
      instructions:
      - text: List all reminders created by or for me.
      - text: Show every reminder on the account tied to token {token}.
        slots:
          token: query.token
      method: generated
      generated: '2026-09-26'
- target: $.paths['/stars.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's starred items
      effect: read
      questions:
      - What messages, files and channels have I starred?
      - Can I page through a long list of saved stars with a cursor?
      instructions:
      - text: List my starred items.
      - text: Show the next {limit} starred items after cursor {cursor}.
        slots:
          limit: query.limit
          cursor: query.cursor
      method: generated
      generated: '2026-09-26'
- target: $.paths['/team.accessLogs'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the workspace access logs
      effect: read
      questions:
      - Who has logged into our workspace, from which IPs and devices?
      - Can I pull access logs from before a certain date for a security review?
      instructions:
      - text: Get the workspace access logs from before {before}.
        slots:
          before: query.before
      - text: Show page {page} of the team access logs, {count} entries per page.
        slots:
          page: query.page
          count: query.count
      method: generated
      generated: '2026-09-26'
- target: $.paths['/team.billableInfo'].get
  update:
    x-apievangelist-phrasing:
      intent: Get billable user information for the team
      effect: read
      questions:
      - Which members of our Slack workspace are counted as billable?
      - Is a particular user currently an active billable seat?
      instructions:
      - text: Show billable status for every user in the workspace.
      - text: Check whether user {user} is a billable member.
        slots:
          user: query.user
      method: generated
      generated: '2026-09-26'
- target: $.paths['/team.info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get information about the workspace
      effect: read
      questions:
      - What is my workspace's name, domain and icon?
      - Can I fetch details for a different team than the one my token belongs to?
      instructions:
      - text: Show information about the current workspace.
      - text: Get the name, domain and icon for team {team}.
        slots:
          team: query.team
      method: generated
      generated: '2026-09-26'
- target: $.paths['/team.integrationLogs'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the workspace integration logs
      effect: read
      questions:
      - Who installed or removed apps and integrations in our workspace?
      - Can I filter integration changes to one app or one user?
      instructions:
      - text: Show integration log entries for app {app_id}.
        slots:
          app_id: query.app_id
      - text: List integration changes of type {change_type} made by user {user}.
        slots:
          change_type: query.change_type
          user: query.user
      method: generated
      generated: '2026-09-26'
- target: $.paths['/team.profile.get'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the workspace's profile field definitions
      effect: read
      questions:
      - Which custom profile fields has our workspace defined?
      - Can I see only the profile fields that are visible to everyone?
      instructions:
      - text: List the team's custom profile fields.
      - text: Show team profile fields with visibility {visibility}.
        slots:
          visibility: query.visibility
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api.test'].get
  update:
    x-apievangelist-phrasing:
      intent: Test that API calling code works
      effect: read
      questions:
      - Is there a simple endpoint to check that my code can reach the API at all?
      - Can I force a test error to see how my error handling behaves?
      instructions:
      - text: Run an API connectivity test call.
      - text: Call the API test endpoint and make it return error {error}.
        slots:
          error: query.error
      method: generated
      generated: '2026-09-26'
- target: $.paths['/usergroups.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List the team's user groups
      effect: read
      questions:
      - What user groups, like @engineering, exist in our workspace?
      - Can I include disabled user groups and member counts in the list?
      instructions:
      - text: List all user groups in the workspace.
      - text: List user groups, including disabled ones when {include_disabled} is true.
        slots:
          include_disabled: query.include_disabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/usergroups.users.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List the members of a user group
      effect: read
      questions:
      - Who belongs to a particular user group?
      - Can I list members of a user group even if the group is disabled?
      instructions:
      - text: List the members of user group {usergroup}.
        slots:
          usergroup: query.usergroup
      - text: Show who is in user group {usergroup}, even if it is disabled.
        slots:
          usergroup: query.usergroup
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users.getPresence'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a user's presence
      effect: read
      questions:
      - Is a coworker currently active or away?
      - Can I check my own online presence status?
      instructions:
      - text: Check whether user {user} is active or away.
        slots:
          user: query.user
      - text: Tell me my current presence.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users.identity'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the signed-in user's identity
      effect: read
      questions:
      - After Sign in with Slack, how do I find out who the user is?
      - Which user and team identity comes back for a sign-in token?
      instructions:
      - text: Get the identity of the user who signed in.
      - text: Fetch the user and team identity for sign-in token {token}.
        slots:
          token: query.token
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users.info'].get
  update:
    x-apievangelist-phrasing:
      intent: Get information about a user
      effect: read
      questions:
      - What account details can I get for a specific user ID?
      - Can I include a user's locale when looking them up?
      instructions:
      - text: Get account information for user {user}.
        slots:
          user: query.user
      - text: Look up user {user} and include their locale.
        slots:
          user: query.user
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users.list'].get
  update:
    x-apievangelist-phrasing:
      intent: List all users in the workspace
      effect: read
      questions:
      - How do I get a directory of every member of our workspace?
      - Is the member list paginated, and how many users come back per page?
      instructions:
      - text: List every user in the workspace.
      - text: Get the next {limit} workspace members after cursor {cursor}.
        slots:
          limit: query.limit
          cursor: query.cursor
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users.lookupByEmail'].get
  update:
    x-apievangelist-phrasing:
      intent: Find a user by email address
      effect: read
      questions:
      - Can I find someone's user ID from their email address?
      - Which member account matches a given work email?
      instructions:
      - text: Find the user with email {email}.
        slots:
          email: query.email
      - text: Look up the member ID for {email}.
        slots:
          email: query.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users.profile.get'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user's profile
      effect: read
      questions:
      - What is in a user's profile, like title, phone and status?
      - Can I get custom profile fields back with their labels?
      instructions:
      - text: Get the profile for user {user}.
        slots:
          user: query.user
      - text: Show my own profile with custom field labels included.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/views.open'].get
  update:
    x-apievangelist-phrasing:
      intent: Open a modal view for a user
      effect: write
      questions:
      - How do I open a modal in response to a user's click or shortcut?
      - What do I need to open a new modal from a trigger?
      instructions:
      - text: Open modal {view} for the user with trigger {trigger_id}.
        slots:
          view: query.view
          trigger_id: query.trigger_id
      - text: Show a new modal view {view} from interaction {trigger_id}.
        slots:
          view: query.view
          trigger_id: query.trigger_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/views.publish'].get
  update:
    x-apievangelist-phrasing:
      intent: Publish a user's App Home view
      effect: write
      questions:
      - How do I set what a user sees on my app's Home tab?
      - Can I guard against overwriting a newer Home tab with a view hash?
      instructions:
      - text: Publish Home tab view {view} for user {user_id}.
        slots:
          view: query.view
          user_id: query.user_id
      - text: Update the App Home for {user_id} to {view} only if its hash is still {hash}.
        slots:
          user_id: query.user_id
          view: query.view
          hash: query.hash
      method: generated
      generated: '2026-09-26'
- target: $.paths['/views.push'].get
  update:
    x-apievangelist-phrasing:
      intent: Push a view onto an open modal's stack
      effect: write
      questions:
      - How do I show a second step on top of a modal that is already open?
      - Can I stack another view over an existing modal instead of replacing it?
      instructions:
      - text: Push view {view} on top of the current modal using trigger {trigger_id}.
        slots:
          view: query.view
          trigger_id: query.trigger_id
      - text: Stack the next modal step {view} from interaction {trigger_id}.
        slots:
          view: query.view
          trigger_id: query.trigger_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/views.update'].get
  update:
    x-apievangelist-phrasing:
      intent: Update an existing view
      effect: write
      questions:
      - How do I change the contents of a modal the user already has open?
      - Can I update a view by my own external ID instead of its view ID?
      instructions:
      - text: Replace the contents of view {view_id} with {view}.
        slots:
          view_id: query.view_id
          view: query.view
      - text: Update the view with external ID {external_id} to {view}.
        slots:
          external_id: query.external_id
          view: query.view
      method: generated
      generated: '2026-09-26'