TextQL · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for TextQL Playbook Service API

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

What the actions change

x-apievangelist-phrasing

Targets 40 · first 16 shown; the file carries all of them

$.info
$.paths['/textql.rpc.public.playbook.PlaybookService/AttachDashboard'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/AttachDataset'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/CancelTemplateExecution'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/CreatePlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/DeactivatePlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/DeletePlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/DemoPlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/DeployPlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/DuplicatePlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/FavoriteReport'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/GetActiveSubscribedPlaybooksCount'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/GetChatReportsSummary'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/GetMembersWithPlaybooks'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybook'].post
$.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybookBatchRun'].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 TextQL Playbook Service API
  version: 1.0.0
extends: openapi/textql-playbookservice-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: 39
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/AttachDashboard'].post
  update:
    x-apievangelist-phrasing:
      intent: Attach a dashboard to a playbook
      effect: write
      questions:
      - Can a playbook include one of my existing dashboards?
      - What does linking a dashboard to a scheduled playbook do?
      instructions:
      - text: Attach dashboard {dashboard_id} to playbook {playbook_id}.
        slots:
          dashboard_id: requestBody.dashboardId
          playbook_id: requestBody.playbookId
      - text: Link the dashboard {dashboard_id} into my playbook {playbook_id} so its runs can use it.
        slots:
          dashboard_id: requestBody.dashboardId
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/AttachDataset'].post
  update:
    x-apievangelist-phrasing:
      intent: Attach a dataset to a playbook
      effect: write
      questions:
      - How do I give a playbook access to another dataset?
      - Can I add a dataset to a playbook after it's been created?
      instructions:
      - text: Attach dataset {dataset_id} to playbook {playbook_id}.
        slots:
          dataset_id: requestBody.datasetId
          playbook_id: requestBody.playbookId
      - text: Add the dataset {dataset_id} as a data source for playbook {playbook_id}.
        slots:
          dataset_id: requestBody.datasetId
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/CancelTemplateExecution'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel a playbook's template execution
      effect: destructive
      questions:
      - Can I stop a templated playbook run that is still executing?
      - Is there a way to cancel execution for one template header in a playbook?
      instructions:
      - text: Cancel template execution for template header {template_header_id} in playbook {playbook_id}.
        slots:
          template_header_id: requestBody.templateHeaderId
          playbook_id: requestBody.playbookId
      - text: Stop the running templated executions under header {template_header_id}.
        slots:
          template_header_id: requestBody.templateHeaderId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/CreatePlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new playbook
      effect: write
      questions:
      - How do I start a new TextQL playbook?
      - Can I create a blank playbook and configure it afterwards?
      instructions:
      - text: Create a new empty playbook for me.
      - text: Start a fresh playbook, waiting at most {timeout_ms} ms for the call.
        slots:
          timeout_ms: header.Connect-Timeout-Ms
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/DeactivatePlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Deactivate a playbook
      effect: write
      questions:
      - How can I pause a playbook so it stops running on its schedule?
      - Can I turn a playbook off without deleting it?
      instructions:
      - text: Deactivate playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Switch off playbook {playbook_id} but keep it around.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/DeletePlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete a playbook
      effect: destructive
      questions:
      - How do I permanently remove a playbook?
      - What happens to a playbook when I delete it instead of deactivating it?
      instructions:
      - text: Delete playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Permanently remove the playbook {playbook_id} from my organization.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/DemoPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a demo playbook for a prospect
      effect: write
      questions:
      - Can I build a demo playbook from a chat for a specific person and job title?
      - Which details does a personalized demo playbook need about the recipient?
      instructions:
      - text: Create a demo playbook from chat {chat_id} for {person_name}, {job_title}, sent to {target_email}.
        slots:
          chat_id: requestBody.chatId
          person_name: requestBody.personName
          job_title: requestBody.jobTitle
          target_email: requestBody.targetEmail
      - text: Demo a playbook built on chat {chat_id} for {target_email}.
        slots:
          chat_id: requestBody.chatId
          target_email: requestBody.targetEmail
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/DeployPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Deploy a playbook
      effect: write
      questions:
      - How do I take a draft playbook live?
      - What makes a playbook start running on its trigger?
      instructions:
      - text: Deploy playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Publish my draft playbook {playbook_id} so it goes live.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/DuplicatePlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Duplicate a playbook
      effect: write
      questions:
      - Can I copy an existing playbook as a starting point for a new one?
      - Is there a way to clone a playbook with its settings?
      instructions:
      - text: Duplicate playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Make a copy of the playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/FavoriteReport'].post
  update:
    x-apievangelist-phrasing:
      intent: Favorite a playbook report
      effect: write
      questions:
      - Can I star a playbook report so it's easy to find later?
      - How do I mark a report as a favorite?
      instructions:
      - text: Favorite report {report_id} from playbook {playbook_id}.
        slots:
          report_id: requestBody.reportId
          playbook_id: requestBody.playbookId
      - text: Add report {report_id} to my favorites.
        slots:
          report_id: requestBody.reportId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetActiveSubscribedPlaybooksCount'].post
  update:
    x-apievangelist-phrasing:
      intent: Count active playbooks I'm subscribed to
      effect: read
      questions:
      - How many active playbooks am I subscribed to?
      - What's the count of live playbooks I follow?
      instructions:
      - text: Tell me how many active playbooks I'm subscribed to.
      - text: Count my active playbook subscriptions with a {timeout_ms} ms timeout.
        slots:
          timeout_ms: header.Connect-Timeout-Ms
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetChatReportsSummary'].post
  update:
    x-apievangelist-phrasing:
      intent: Summarize the reports produced in a chat
      effect: read
      questions:
      - Can I get a lightweight summary of the reports in a chat without the full content?
      - What reports were generated in this chat?
      instructions:
      - text: Summarize the reports in chat {chat_id}.
        slots:
          chat_id: requestBody.chatId
      - text: Show the report drawer summaries for chat {chat_id}, without full blocks.
        slots:
          chat_id: requestBody.chatId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetMembersWithPlaybooks'].post
  update:
    x-apievangelist-phrasing:
      intent: List members who own playbooks
      effect: read
      questions:
      - Which people in my organization have created playbooks?
      - Who are the playbook creators I can filter by?
      instructions:
      - text: List the members who have playbooks.
      - text: Show every playbook creator in the org, timing out after {timeout_ms} ms.
        slots:
          timeout_ms: header.Connect-Timeout-Ms
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a playbook's details
      effect: read
      questions:
      - What's configured on a specific playbook?
      - Can I page through the items returned with a single playbook?
      instructions:
      - text: Get playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Fetch playbook {playbook_id} with {limit} entries starting at offset {offset}.
        slots:
          playbook_id: requestBody.playbookId
          limit: requestBody.limit
          offset: requestBody.offset
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybookBatchRun'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a playbook batch run
      effect: read
      questions:
      - What's the status of a specific playbook batch run?
      - Can I look up one batch run by its ID?
      instructions:
      - text: Get batch run {batch_run_id}.
        slots:
          batch_run_id: requestBody.batchRunId
      - text: Show me the details of playbook batch run {batch_run_id}.
        slots:
          batch_run_id: requestBody.batchRunId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybookLineage'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a playbook's data lineage
      effect: read
      questions:
      - Which data sources does a playbook depend on?
      - Can I see the lineage of a playbook?
      instructions:
      - text: Show the lineage for playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Trace where playbook {playbook_id} gets its data from.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybookReports'].post
  update:
    x-apievangelist-phrasing:
      intent: List reports a playbook has produced
      effect: read
      questions:
      - What reports has a playbook generated so far?
      - Can I filter a playbook's reports to a single batch run?
      instructions:
      - text: List the reports from playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Show reports from playbook {playbook_id} produced in batch run {batch_run_id}.
        slots:
          playbook_id: requestBody.playbookId
          batch_run_id: requestBody.batchRunId
      - text: Get the first {limit} reports of playbook {playbook_id} for template data {template_data_id}.
        slots:
          limit: requestBody.limit
          playbook_id: requestBody.playbookId
          template_data_id: requestBody.templateDataId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybookReportsBatch'].post
  update:
    x-apievangelist-phrasing:
      intent: Fetch reports for several template data rows
      effect: read
      questions:
      - Can I fetch reports for many template data IDs in one request?
      - Is there a cap on how many reports come back per template?
      instructions:
      - text: Get reports for template data IDs {template_data_ids} in playbook {playbook_id}.
        slots:
          template_data_ids: requestBody.templateDataIds
          playbook_id: requestBody.playbookId
      - text: Batch-fetch up to {limit_per_template} reports per template for {template_data_ids}.
        slots:
          limit_per_template: requestBody.limitPerTemplate
          template_data_ids: requestBody.templateDataIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Search and list playbooks
      effect: read
      questions:
      - How do I find playbooks by name or status?
      - Can I list only the playbooks shared with me or the ones I subscribe to?
      - Which playbooks did a particular teammate create?
      instructions:
      - text: Search my playbooks for {search_term}.
        slots:
          search_term: requestBody.searchTerm
      - text: List playbooks created by {creator_member_ids}.
        slots:
          creator_member_ids: requestBody.creatorMemberIds
      - text: Show only the playbooks I'm subscribed to.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetPlaybooksPreviews'].post
  update:
    x-apievangelist-phrasing:
      intent: Get lightweight playbook previews
      effect: read
      questions:
      - Is there a quick preview list of playbooks for a sidebar?
      - Can I preview just my subscribed playbooks by status?
      instructions:
      - text: Get playbook previews filtered to status {status_filter}.
        slots:
          status_filter: requestBody.statusFilter
      - text: Preview only my subscribed playbooks.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetReportById'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a single report
      effect: read
      questions:
      - How do I open one playbook report by its ID?
      - Can I retrieve the full content of a specific report?
      instructions:
      - text: Get report {report_id}.
        slots:
          report_id: requestBody.reportId
      - text: Open the full report {report_id}.
        slots:
          report_id: requestBody.reportId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/GetReportsWithFilters'].post
  update:
    x-apievangelist-phrasing:
      intent: Search reports using filters
      effect: read
      questions:
      - Can I query reports across playbooks with custom filters?
      - Which reports match a set of filter criteria?
      instructions:
      - text: Find reports matching filters {filters}.
        slots:
          filters: requestBody.filters
      - text: Query all reports across playbooks using {filters}.
        slots:
          filters: requestBody.filters
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/ListAllSlackChannelContextPlaybooks'].post
  update:
    x-apievangelist-phrasing:
      intent: List Slack channel context playbook mappings
      effect: read
      questions:
      - Which Slack channels in my org have a context playbook set?
      - Can I see every Slack channel to playbook mapping at once?
      instructions:
      - text: List all Slack channel context playbook mappings.
      - text: Show which playbook each Slack channel uses as context, timing out after {timeout_ms} ms.
        slots:
          timeout_ms: header.Connect-Timeout-Ms
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/ListAllTeamsChannelContextPlaybooks'].post
  update:
    x-apievangelist-phrasing:
      intent: List Teams channel context playbook mappings
      effect: read
      questions:
      - Which Microsoft Teams channels have a context playbook assigned?
      - Can I list every Teams channel to playbook mapping in my org?
      instructions:
      - text: List all Teams channel context playbook mappings.
      - text: Show which playbook each Teams channel uses as context, with a {timeout_ms} ms timeout.
        slots:
          timeout_ms: header.Connect-Timeout-Ms
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/ListPlaybookBatchRuns'].post
  update:
    x-apievangelist-phrasing:
      intent: List a playbook's batch runs
      effect: read
      questions:
      - What batch runs has a playbook executed?
      - How many batch runs come back per page by default?
      instructions:
      - text: List batch runs for playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Show {limit} batch runs of playbook {playbook_id} starting at {offset}.
        slots:
          limit: requestBody.limit
          playbook_id: requestBody.playbookId
          offset: requestBody.offset
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/ListSlackChannelsForContextPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: List Slack channels using a context playbook
      effect: read
      questions:
      - Which Slack channels use this playbook as their context?
      - Where in Slack is a given playbook set as the default context?
      instructions:
      - text: List the Slack channels where playbook {playbook_id} is the context.
        slots:
          playbook_id: requestBody.playbookId
      - text: Find Slack channel IDs tied to context playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/ListTeamsChannelsForContextPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: List Teams channels using a context playbook
      effect: read
      questions:
      - Which Teams channels use this playbook as context?
      - Where in Microsoft Teams is a given playbook the default context?
      instructions:
      - text: List the Teams channels where playbook {playbook_id} is the context.
        slots:
          playbook_id: requestBody.playbookId
      - text: Find Teams channel IDs tied to context playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/MarkReportAsRead'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark a report as read
      effect: write
      questions:
      - Can I clear the unread badge on a playbook report?
      - How is read tracking recorded for reports?
      instructions:
      - text: Mark report {report_id} as read.
        slots:
          report_id: requestBody.reportId
      - text: Record that I've read report {report_id}.
        slots:
          report_id: requestBody.reportId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/PreviewSlackReport'].post
  update:
    x-apievangelist-phrasing:
      intent: Preview a playbook report in Slack
      effect: write
      questions:
      - Can I see how a playbook's report will look when posted to Slack?
      - Is it possible to test a Slack report from a chat cell before deploying?
      instructions:
      - text: Preview playbook {playbook_id}'s report in Slack channel {slack_channel_id}.
        slots:
          playbook_id: requestBody.playbookId
          slack_channel_id: requestBody.slackChannelId
      - text: Send a Slack preview of cell {cell} from chat {chat_id}.
        slots:
          cell: requestBody.cell
          chat_id: requestBody.chatId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/RemoveDashboard'].post
  update:
    x-apievangelist-phrasing:
      intent: Detach a dashboard from a playbook
      effect: write
      questions:
      - How do I unlink a dashboard from a playbook?
      - Can a playbook stop using a dashboard without the dashboard being deleted?
      instructions:
      - text: Remove dashboard {dashboard_id} from playbook {playbook_id}.
        slots:
          dashboard_id: requestBody.dashboardId
          playbook_id: requestBody.playbookId
      - text: Detach the dashboard {dashboard_id} from my playbook {playbook_id}.
        slots:
          dashboard_id: requestBody.dashboardId
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/RemoveDataset'].post
  update:
    x-apievangelist-phrasing:
      intent: Detach a dataset from a playbook
      effect: write
      questions:
      - How do I stop a playbook from using a particular dataset?
      - Can I unlink a dataset from a playbook while keeping the dataset?
      instructions:
      - text: Remove dataset {dataset_id} from playbook {playbook_id}.
        slots:
          dataset_id: requestBody.datasetId
          playbook_id: requestBody.playbookId
      - text: Detach the dataset {dataset_id} from my playbook {playbook_id}.
        slots:
          dataset_id: requestBody.datasetId
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/RunPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a playbook now
      effect: write
      questions:
      - Can I trigger a playbook immediately instead of waiting for its schedule?
      - Is there a dry run that doesn't send notifications?
      instructions:
      - text: Run playbook {playbook_id} now.
        slots:
          playbook_id: requestBody.playbookId
      - text: Do a dry run of playbook {playbook_id} without sending notifications.
        slots:
          playbook_id: requestBody.playbookId
      - text: Run playbook {playbook_id} for template {template_id}.
        slots:
          playbook_id: requestBody.playbookId
          template_id: requestBody.templateId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/SetSlackChannelContextPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a Slack channel's context playbook
      effect: write
      questions:
      - Can a Slack channel use a playbook's context by default?
      - How do I associate a playbook with a Slack channel?
      instructions:
      - text: Set playbook {playbook_id} as the context for Slack channel {slack_channel_id}.
        slots:
          playbook_id: requestBody.playbookId
          slack_channel_id: requestBody.slackChannelId
      - text: Make Slack messages in {slack_channel_id} use playbook {playbook_id} by default.
        slots:
          slack_channel_id: requestBody.slackChannelId
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/SetTeamsChannelContextPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a Teams channel's context playbook
      effect: write
      questions:
      - Can a Microsoft Teams channel use a playbook as its default context?
      - What's needed to tie a playbook to a Teams channel?
      instructions:
      - text: Set playbook {playbook_id} as the context for Teams channel {teams_channel_id}.
        slots:
          playbook_id: requestBody.playbookId
          teams_channel_id: requestBody.teamsChannelId
      - text: Make Teams channel {teams_channel_id} answer with playbook {playbook_id}'s context.
        slots:
          teams_channel_id: requestBody.teamsChannelId
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/SubscribeToPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Subscribe to a playbook
      effect: write
      questions:
      - How do I follow a playbook so I get its reports?
      - Can I subscribe to someone else's playbook?
      instructions:
      - text: Subscribe me to playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Follow playbook {playbook_id} so its reports reach me.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/UnsetSlackChannelContextPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Clear a Slack channel's context playbook
      effect: write
      questions:
      - How do I stop a Slack channel from using a playbook's context?
      - Can I remove the default playbook from a Slack channel?
      instructions:
      - text: Clear the context playbook for Slack channel {slack_channel_id}.
        slots:
          slack_channel_id: requestBody.slackChannelId
      - text: Unset the playbook association on Slack channel {slack_channel_id}.
        slots:
          slack_channel_id: requestBody.slackChannelId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/UnsetTeamsChannelContextPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Clear a Teams channel's context playbook
      effect: write
      questions:
      - How do I stop a Teams channel from using a playbook's context?
      - Can I remove the default playbook from a Microsoft Teams channel?
      instructions:
      - text: Clear the context playbook for Teams channel {teams_channel_id}.
        slots:
          teams_channel_id: requestBody.teamsChannelId
      - text: Unset the playbook association on Teams channel {teams_channel_id}.
        slots:
          teams_channel_id: requestBody.teamsChannelId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/UnsubscribeFromPlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Unsubscribe from a playbook
      effect: write
      questions:
      - How do I stop receiving a playbook's reports?
      - Can I unfollow a playbook without affecting other subscribers?
      instructions:
      - text: Unsubscribe me from playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      - text: Stop following playbook {playbook_id}.
        slots:
          playbook_id: requestBody.playbookId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/textql.rpc.public.playbook.PlaybookService/UpdatePlaybook'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a playbook's settings
      effect: write
      questions:
      - Can I change a playbook's prompt or cron schedule?
      - Which recipients, Slack or Teams channels can a playbook deliver to?
      - Is it possible to switch the LLM model a playbook runs with?
      instructions:
      - text: Change the prompt of playbook {playbook_id} to {prompt}.
        slots:
          playbook_id: requestBody.playbookId
          prompt: requestBody.prompt
      - text: Schedule playbook {playbook_id} with cron {cron_string}.
        slots:
          playbook_id: requestBody.playbookId
          cron_string: requestBody.cronString
      - text: Send playbook {playbook_id}'s reports to {email_addresses}.
        slots:
          playbook_id: requestBody.playbookId
          email_addresses: requestBody.emailAddresses
      method: generated
      generated: '2026-10-01'