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.
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
# 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'