Knock · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Knock Providers API
8 actions
8 updates
phrasing
extends
openapi/knock-app-providers-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Knock's API. It is a proposal applied on top of the contract, not a document Knock publishes.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/v1/providers/slack/{channel_id}/channels'].get
$.paths['/v1/providers/ms-teams/{channel_id}/auth_check'].get
$.paths['/v1/providers/slack/{channel_id}/auth_check'].get
$.paths['/v1/providers/ms-teams/{channel_id}/channels'].get
$.paths['/v1/providers/slack/{channel_id}/revoke_access'].put
$.paths['/v1/providers/ms-teams/{channel_id}/teams'].get
$.paths['/v1/providers/ms-teams/{channel_id}/revoke_access'].put
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 Knock Providers API
version: 1.0.0
extends: openapi/knock-app-providers-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 7
- target: $.paths['/v1/providers/slack/{channel_id}/channels'].get
update:
x-apievangelist-phrasing:
intent: List Slack channels in a workspace
effect: read
questions:
- How do I let a customer pick which Slack channel to send notifications to?
- Can I exclude archived Slack channels from the list?
instructions:
- text: List Slack channels for channel {channel_id} using token object {access_token_object}.
slots:
channel_id: path.channel_id
access_token_object: query.access_token_object
- text: List Slack channels for {channel_id} and {access_token_object}, limited to {limit}.
slots:
channel_id: path.channel_id
access_token_object: query.access_token_object
limit: query.query_options.limit
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/auth_check'].get
update:
x-apievangelist-phrasing:
intent: Check a Microsoft Teams connection
effect: read
questions:
- How do I verify that a customer has authorized Microsoft Teams?
- Is my Teams tenant object connected?
instructions:
- text: Check Microsoft Teams auth for channel {channel_id} and tenant object {ms_teams_tenant_object}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
- text: Verify the Teams connection on {ms_teams_tenant_object} for channel {channel_id}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/providers/slack/{channel_id}/auth_check'].get
update:
x-apievangelist-phrasing:
intent: Check a Slack connection
effect: read
questions:
- How do I confirm a Slack workspace connection is still authenticated?
- Is the Slack token on my object valid?
instructions:
- text: Check Slack auth for channel {channel_id} with token object {access_token_object}.
slots:
channel_id: path.channel_id
access_token_object: query.access_token_object
- text: Verify the Slack connection on {access_token_object} for channel {channel_id}.
slots:
channel_id: path.channel_id
access_token_object: query.access_token_object
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/channels'].get
update:
x-apievangelist-phrasing:
intent: List channels in a Microsoft Teams team
effect: read
questions:
- How do I list the channels inside a customer's Microsoft Teams team?
- Are private Teams channels included by default?
instructions:
- text: List Teams channels in team {team_id} for channel {channel_id} and tenant object {ms_teams_tenant_object}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
team_id: query.team_id
- text: Show the channels of Microsoft Teams team {team_id} via {ms_teams_tenant_object} on {channel_id}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
team_id: query.team_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/providers/slack/{channel_id}/revoke_access'].put
update:
x-apievangelist-phrasing:
intent: Revoke Slack access
effect: destructive
questions:
- How do I disconnect a customer's Slack workspace?
- Can I revoke the Slack token stored on an object?
instructions:
- text: Revoke Slack access for channel {channel_id} on token object {access_token_object}.
slots:
channel_id: path.channel_id
access_token_object: query.access_token_object
- text: Disconnect Slack from {access_token_object} for channel {channel_id}.
slots:
channel_id: path.channel_id
access_token_object: query.access_token_object
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/teams'].get
update:
x-apievangelist-phrasing:
intent: List Microsoft Teams teams in a tenant
effect: read
questions:
- How do I list the teams in a customer's Microsoft Entra tenant?
- Can I page through Teams teams with a skip token?
instructions:
- text: List Microsoft Teams teams for channel {channel_id} and tenant object {ms_teams_tenant_object}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
- text: Show the first {top} teams in the Entra tenant on {ms_teams_tenant_object} for channel {channel_id}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
top: query.query_options.$top
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/providers/ms-teams/{channel_id}/revoke_access'].put
update:
x-apievangelist-phrasing:
intent: Revoke Microsoft Teams access
effect: destructive
questions:
- How do I disconnect a customer's Microsoft Teams tenant?
- Can I remove the Entra tenant ID from a Teams tenant object?
instructions:
- text: Revoke Microsoft Teams access for channel {channel_id} on {ms_teams_tenant_object}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
- text: Disconnect the Entra tenant from {ms_teams_tenant_object} for channel {channel_id}.
slots:
channel_id: path.channel_id
ms_teams_tenant_object: query.ms_teams_tenant_object
method: generated
generated: '2026-10-01'