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