# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Sigma Computing Workbooks API version: 1.0.0 extends: openapi/sigma-computing-workbooks-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: 60 - target: $.paths['/v2/workbooks'].get update: x-apievangelist-phrasing: intent: List workbooks I can access effect: read questions: - Which Sigma workbooks do I have access to? - Can an admin see every workbook in the organization, not just their own? - Is there a way to leave archived workbooks out of the workbook list? instructions: - text: List all the workbooks I can open. - text: List archived workbooks only, {limit} per page. slots: limit: query.limit method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks'].post update: x-apievangelist-phrasing: intent: Create an empty workbook effect: write questions: - How do I create a blank workbook through the API? - Can I choose which folder a new empty workbook is saved in? instructions: - text: Create an empty workbook named {name} in folder {folderId}. slots: name: requestBody.name folderId: requestBody.folderId - text: Create a blank workbook {name} in folder {folderId} owned by user {ownerId}. slots: name: requestBody.name folderId: requestBody.folderId ownerId: requestBody.ownerId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}'].get update: x-apievangelist-phrasing: intent: Get a workbook's details effect: read questions: - How do I look up a single workbook's name, URL and path? - What metadata comes back for one workbook by its ID? instructions: - text: Get the details of workbook {workbookId}. slots: workbookId: path.workbookId - text: Show me the URL and folder path of workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/bookmarks'].get update: x-apievangelist-phrasing: intent: List bookmarks in a workbook effect: read questions: - Which bookmarks exist on a workbook, including ones shared with me? - How can I review the saved bookmarks on an untagged workbook? instructions: - text: List the bookmarks on workbook {workbookId}. slots: workbookId: path.workbookId - text: Show bookmarks shared with me in workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/bookmarks'].post update: x-apievangelist-phrasing: intent: Add a bookmark to a workbook effect: write questions: - How do I save an exploration as a bookmark on a workbook? - Can a new workbook bookmark be shared with other people when I create it? instructions: - text: Add a bookmark called {name} to workbook {workbookId} using explore key {exploreKey}. slots: name: requestBody.name workbookId: path.workbookId exploreKey: requestBody.exploreKey - text: 'Bookmark version {workbookVersion} of workbook {workbookId} as {name}, shared: {isShared}, from exploration {exploreKey}.' slots: workbookVersion: requestBody.workbookVersion workbookId: path.workbookId name: requestBody.name isShared: requestBody.isShared exploreKey: requestBody.exploreKey method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/bookmarks/{bookmarkId}'].get update: x-apievangelist-phrasing: intent: Get one bookmark on a workbook effect: read questions: - How do I fetch the details of a single bookmark on a regular workbook? - What does one workbook bookmark record contain? instructions: - text: Get bookmark {bookmarkId} on workbook {workbookId}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId - text: Show the details of workbook {workbookId}'s bookmark {bookmarkId}. slots: workbookId: path.workbookId bookmarkId: path.bookmarkId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/bookmarks/{bookmarkId}'].delete update: x-apievangelist-phrasing: intent: Delete a bookmark from a workbook effect: destructive questions: - How do I remove a bookmark I no longer need from an untagged workbook? - Can I delete someone's shared bookmark from a workbook by its ID? instructions: - text: Delete bookmark {bookmarkId} from workbook {workbookId}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId - text: Remove the {bookmarkId} bookmark on workbook {workbookId}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/bookmarks/{bookmarkId}'].patch update: x-apievangelist-phrasing: intent: Update a workbook bookmark effect: write questions: - How do I point an existing workbook bookmark at a new exploration? - Can I make a bookmark the default view of a workbook? instructions: - text: Rename bookmark {bookmarkId} on workbook {workbookId} to {name}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId name: requestBody.name - text: 'Make bookmark {bookmarkId} the default for workbook {workbookId}: {isDefault}.' slots: bookmarkId: path.bookmarkId workbookId: path.workbookId isDefault: requestBody.isDefault method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/columns'].get update: x-apievangelist-phrasing: intent: List columns across a workbook effect: read questions: - How can I see every column used in every element of a workbook at once? - What columns does a whole workbook contain? instructions: - text: List all columns across every element in workbook {workbookId}. slots: workbookId: path.workbookId - text: Give me the full column inventory for workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/controls'].get update: x-apievangelist-phrasing: intent: List a workbook's controls effect: read questions: - Which interactive controls like dropdowns and checkboxes does a workbook have? - How do I find the filter controls in a workbook? instructions: - text: List the controls in workbook {workbookId}. slots: workbookId: path.workbookId - text: Show the dropdowns and checkboxes defined in workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/convertToReport'].post update: x-apievangelist-phrasing: intent: Convert a workbook into a report effect: write questions: - Can I turn a workbook into a report without changing the original? - What happens to workbook elements that reports don't support during conversion? instructions: - text: Convert workbook {workbookId} into a new report called {name}. slots: workbookId: path.workbookId name: requestBody.name - text: Convert only pages {pageIds} of workbook {workbookId} into report {name} in folder {destinationFolderId}. slots: pageIds: requestBody.pageIds workbookId: path.workbookId name: requestBody.name destinationFolderId: requestBody.destinationFolderId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/copy'].post update: x-apievangelist-phrasing: intent: Duplicate a workbook effect: write questions: - How do I make a copy of a workbook as a backup? - Can a duplicated workbook keep the original's bookmarks? instructions: - text: Duplicate workbook {workbookId} as {name} into folder {destinationFolderId}. slots: workbookId: path.workbookId name: requestBody.name destinationFolderId: requestBody.destinationFolderId - text: 'Copy the latest workbook {workbookId} to folder {destinationFolderId} named {name}, copying bookmarks: {copyBookmarks}.' slots: workbookId: path.workbookId destinationFolderId: requestBody.destinationFolderId name: requestBody.name copyBookmarks: requestBody.copyBookmarks method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/elements'].get update: x-apievangelist-phrasing: intent: List elements in a workbook effect: read questions: - What charts, tables and controls make up a workbook across all its pages? - Can I list the elements of a workbook as they appear under a specific bookmark? instructions: - text: List every element in workbook {workbookId}. slots: workbookId: path.workbookId - text: List the elements of workbook {workbookId} under bookmark {bookmarkId}. slots: workbookId: path.workbookId bookmarkId: query.bookmarkId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/elements/{elementId}/columns'].get update: x-apievangelist-phrasing: intent: List columns of one workbook element effect: read questions: - What columns and formulas does a specific chart or table in a workbook use? - How do I see the column metadata for a single workbook element? instructions: - text: List the columns of element {elementId} in workbook {workbookId}. slots: elementId: path.elementId workbookId: path.workbookId - text: Show column names and formulas for workbook {workbookId} element {elementId}. slots: workbookId: path.workbookId elementId: path.elementId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/elements/{elementId}/materializationSchedules'].post update: x-apievangelist-phrasing: intent: Schedule materialization for a workbook element effect: write questions: - How do I set up a recurring materialization for one workbook element? - Can I cache an element's data on a schedule to speed it up? instructions: - text: Create a materialization schedule {schedule} for element {elementId} in workbook {workbookId}. slots: schedule: requestBody.schedule elementId: path.elementId workbookId: path.workbookId - text: Start materializing workbook {workbookId} element {elementId} on cadence {schedule}. slots: workbookId: path.workbookId elementId: path.elementId schedule: requestBody.schedule method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/elements/{elementId}/materializationSchedules'].delete update: x-apievangelist-phrasing: intent: Delete an element's materialization schedule effect: destructive questions: - How do I stop scheduled materialization runs for a workbook element? - Does deleting a materialization schedule cancel the upcoming runs? instructions: - text: Delete the materialization schedule on element {elementId} of workbook {workbookId}. slots: elementId: path.elementId workbookId: path.workbookId - text: Cancel future materializations for workbook {workbookId} element {elementId}. slots: workbookId: path.workbookId elementId: path.elementId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/elements/{elementId}/materializationSchedules'].patch update: x-apievangelist-phrasing: intent: Change an element's materialization schedule effect: write questions: - Can I change the cadence or timezone of an existing element materialization schedule? - How do I adjust when an element materializes without recreating the schedule? instructions: - text: Update the materialization schedule for element {elementId} in workbook {workbookId} to {schedule}. slots: elementId: path.elementId workbookId: path.workbookId schedule: requestBody.schedule - text: Change workbook {workbookId} element {elementId} to materialize on cadence {schedule} instead. slots: workbookId: path.workbookId elementId: path.elementId schedule: requestBody.schedule method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/elements/{elementId}/query'].get update: x-apievangelist-phrasing: intent: Get the SQL behind a workbook element effect: read questions: - What SQL does a particular workbook chart or table run? - How do I debug the query generated for one workbook element? instructions: - text: Show the SQL query for element {elementId} in workbook {workbookId}. slots: elementId: path.elementId workbookId: path.workbookId - text: Get the SQL of workbook {workbookId} element {elementId} as seen under bookmark {bookmarkId}. slots: workbookId: path.workbookId elementId: path.elementId bookmarkId: query.bookmarkId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/embeds'].get update: x-apievangelist-phrasing: intent: List a workbook's embeds effect: read questions: - Which embed URLs have been created for a workbook? - How can I tell whether a workbook embed is public? instructions: - text: List the embeds for workbook {workbookId}. slots: workbookId: path.workbookId - text: Show the embed URLs and public status for workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/embeds'].post update: x-apievangelist-phrasing: intent: Create an embed for a workbook effect: write questions: - How do I embed a whole workbook, a page or a single element in my app? - Can I create a public embed for a workbook? instructions: - text: Create a {embedType} embed of workbook {workbookId} with source type {sourceType}. slots: embedType: requestBody.embedType workbookId: path.workbookId sourceType: requestBody.sourceType - text: Embed element {sourceId} of workbook {workbookId} as a {embedType} embed, source type {sourceType}. slots: sourceId: requestBody.sourceId workbookId: path.workbookId embedType: requestBody.embedType sourceType: requestBody.sourceType method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/embeds/{embedId}'].delete update: x-apievangelist-phrasing: intent: Delete an embed from a workbook effect: destructive questions: - How do I clean up an outdated embed on a workbook? - Can I revoke a workbook embed so its URL stops working? instructions: - text: Delete embed {embedId} from workbook {workbookId}. slots: embedId: path.embedId workbookId: path.workbookId - text: Remove the outdated embed {embedId} on workbook {workbookId}. slots: embedId: path.embedId workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/export'].post update: x-apievangelist-phrasing: intent: Export workbook data to a file effect: write questions: - How do I export a workbook's data as a CSV, PDF or JSON file? - Is there a row limit I can set when exporting workbook data? instructions: - text: Export workbook {workbookId} as {exportAs}. slots: workbookId: path.workbookId exportAs: requestBody.exportAs - text: Export up to {rowLimit} rows from workbook {workbookId} starting at offset {offset}. slots: rowLimit: requestBody.rowLimit workbookId: path.workbookId offset: requestBody.offset method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/grants'].post update: x-apievangelist-phrasing: intent: Share a workbook with users or teams effect: write questions: - How do I give a team edit or view access to a workbook? - Can I grant workbook permissions to several users in one request? instructions: - text: 'Grant these permissions on workbook {workbookId}: {grants}.' slots: workbookId: path.workbookId grants: requestBody.grants - text: Give the users and teams in {grants} access to workbook {workbookId}. slots: grants: requestBody.grants workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/grants/{grantId}'].delete update: x-apievangelist-phrasing: intent: Revoke a workbook permission grant effect: destructive questions: - How do I take away someone's access to a workbook? - What happens when I delete a grant on a workbook? instructions: - text: Delete grant {grantId} on workbook {workbookId}. slots: grantId: path.grantId workbookId: path.workbookId - text: Revoke workbook {workbookId} access granted by {grantId}. slots: workbookId: path.workbookId grantId: path.grantId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/lineage'].get update: x-apievangelist-phrasing: intent: Get the full lineage of a workbook effect: read questions: - Which data sources feed a workbook, and what is upstream of them? - How is data connected across all the elements of a workbook? instructions: - text: Show the lineage of every element and source in workbook {workbookId}. slots: workbookId: path.workbookId - text: Map the upstream data sources for workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/lineage/elements/{elementId}'].get update: x-apievangelist-phrasing: intent: Get the lineage of one workbook element effect: read questions: - What does a single chart in a workbook depend on? - How do I trace one element's data back to its sources? instructions: - text: Show the lineage of element {elementId} in workbook {workbookId}. slots: elementId: path.elementId workbookId: path.workbookId - text: Trace the dependencies of workbook {workbookId} element {elementId}. slots: workbookId: path.workbookId elementId: path.elementId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/materialization-schedules'].get update: x-apievangelist-phrasing: intent: List a workbook's materialization schedules (v2) effect: read questions: - When are the elements of a workbook set to materialize, using the original v2 endpoint? - Does the v2 materialization schedule list paginate only when I pass a limit? instructions: - text: List materialization schedules for workbook {workbookId} with the v2 endpoint. slots: workbookId: path.workbookId - text: Using the v2 list, show {limit} materialization schedules of workbook {workbookId} per page. slots: limit: query.limit workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/materializations'].post update: x-apievangelist-phrasing: intent: Run a materialization now effect: write questions: - How do I trigger a scheduled materialization to run immediately? - Can I refresh the cached data for a workbook element on demand? instructions: - text: Run the materialization for sheet {sheetId} in workbook {workbookId} now. slots: sheetId: requestBody.sheetId workbookId: path.workbookId - text: Kick off an immediate materialization of element {sheetId} in workbook {workbookId}. slots: sheetId: requestBody.sheetId workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/materializations/{materializationId}'].get update: x-apievangelist-phrasing: intent: Check a materialization job's status effect: read questions: - Did my materialization job finish, and when did it start and complete? - How do I troubleshoot a materialization run that seems stuck? instructions: - text: Get the status of materialization {materializationId} on workbook {workbookId}. slots: materializationId: path.materializationId workbookId: path.workbookId - text: Check whether materialization job {materializationId} for workbook {workbookId} has completed. slots: materializationId: path.materializationId workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/pages'].get update: x-apievangelist-phrasing: intent: List the pages of a workbook effect: read questions: - What pages does a workbook have? - Can I list the pages of a tagged version of a workbook? instructions: - text: List the pages in workbook {workbookId}. slots: workbookId: path.workbookId - text: List pages of workbook {workbookId} for version tag {tag}. slots: workbookId: path.workbookId tag: query.tag method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/pages/{pageId}/elements'].get update: x-apievangelist-phrasing: intent: List elements on one workbook page effect: read questions: - Which charts and tables sit on a specific page of a workbook? - How do I see only one page's elements instead of the whole workbook? instructions: - text: List the elements on page {pageId} of workbook {workbookId}. slots: pageId: path.pageId workbookId: path.workbookId - text: Show what is on page {pageId} of workbook {workbookId} under bookmark {bookmarkId}. slots: pageId: path.pageId workbookId: path.workbookId bookmarkId: query.bookmarkId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/queries'].get update: x-apievangelist-phrasing: intent: List all SQL queries in a workbook effect: read questions: - How can I audit every SQL query a workbook runs? - Is there a way to pull all of a workbook's queries at once rather than element by element? instructions: - text: List all SQL queries in workbook {workbookId}. slots: workbookId: path.workbookId - text: Pull every query workbook {workbookId} uses so I can review it. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/restoreVersion'].post update: x-apievangelist-phrasing: intent: Restore a workbook to an earlier version effect: write questions: - How do I roll a workbook back to a previous version? - Does restoring an old workbook version overwrite the newer versions? instructions: - text: Restore workbook {workbookId} to version {version}. slots: workbookId: path.workbookId version: requestBody.version - text: Roll back workbook {workbookId} by republishing version {version}. slots: workbookId: path.workbookId version: requestBody.version method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/saveTemplate'].post update: x-apievangelist-phrasing: intent: Save a workbook as a template effect: write questions: - How do I turn an existing workbook into a reusable template? - Can I pick who owns a template created from a workbook? instructions: - text: Save workbook {workbookId} as a template named {name}. slots: workbookId: path.workbookId name: requestBody.name - text: Create a template from workbook {workbookId} owned by {ownerId}. slots: workbookId: path.workbookId ownerId: requestBody.ownerId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/schedules'].get update: x-apievangelist-phrasing: intent: List a workbook's scheduled exports (v2) effect: read questions: - What scheduled exports are set up on a workbook, using the original v2 endpoint? - Will the v2 scheduled-export list stay unpaginated if I omit the limit? instructions: - text: List scheduled exports for workbook {workbookId} with the v2 endpoint. slots: workbookId: path.workbookId - text: Using the v2 schedules list, show {limit} exports per page for workbook {workbookId}. slots: limit: query.limit workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/schedules'].post update: x-apievangelist-phrasing: intent: Schedule a recurring workbook export effect: write questions: - How do I email workbook data to people every week automatically? - Can I schedule a workbook export to a Slack channel or cloud storage? instructions: - text: Schedule workbook {workbookId} to export to {target} on schedule {schedule}. slots: workbookId: path.workbookId target: requestBody.target schedule: requestBody.schedule - text: Add a recurring export of workbook {workbookId} to {target} at {schedule}, described as {description}. slots: workbookId: path.workbookId target: requestBody.target schedule: requestBody.schedule description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/schedules/{scheduleId}'].delete update: x-apievangelist-phrasing: intent: Delete a scheduled workbook export effect: destructive questions: - How do I stop a recurring workbook export from sending? - Can I remove an alert schedule from a workbook? instructions: - text: Delete scheduled export {scheduleId} from workbook {workbookId}. slots: scheduleId: path.scheduleId workbookId: path.workbookId - text: Stop and remove schedule {scheduleId} on workbook {workbookId}. slots: scheduleId: path.scheduleId workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/schedules/{scheduleId}'].patch update: x-apievangelist-phrasing: intent: Update or pause a scheduled export effect: write questions: - Can I pause a scheduled workbook export without deleting it? - How do I change the recipients or timing of an existing export schedule? instructions: - text: Change schedule {scheduleId} on workbook {workbookId} to run at {schedule}. slots: scheduleId: path.scheduleId workbookId: path.workbookId schedule: requestBody.schedule - text: Apply suspension action {suspensionAction} to schedule {scheduleId} on workbook {workbookId}. slots: suspensionAction: requestBody.suspensionAction scheduleId: path.scheduleId workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/schema'].get update: x-apievangelist-phrasing: intent: Get a workbook's schema (deprecated) effect: read questions: - Is the old workbook schema endpoint still usable with workbook layouts? - Can the deprecated workbook schema call include the SQL for each element? instructions: - text: Get the deprecated schema for workbook {workbookId}. slots: workbookId: path.workbookId - text: 'Fetch the legacy schema of workbook {workbookId} including SQL: {includeSql}.' slots: workbookId: path.workbookId includeSql: query.includeSql method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/send'].post update: x-apievangelist-phrasing: intent: Send a workbook export to destinations now effect: write questions: - How do I send a one-off workbook export to an email address or Slack channel? - Can I send a workbook as a specific user with conditions attached? instructions: - text: Send workbook {workbookId} to {targets} with attachments {attachments} and config {config}. slots: workbookId: path.workbookId targets: requestBody.targets attachments: requestBody.attachments config: requestBody.config - text: Send workbook {workbookId} now as user {sendAsUser} to {targets}, attaching {attachments}, using config {config}. slots: workbookId: path.workbookId sendAsUser: requestBody.sendAsUser targets: requestBody.targets attachments: requestBody.attachments config: requestBody.config method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/shareCrossOrg'].post update: x-apievangelist-phrasing: intent: Share a workbook with another organization effect: write questions: - How do I share a workbook or template with a different Sigma organization? - Can I include input table data when sharing a workbook across orgs? instructions: - text: Share workbook {workbookId} with organizations {orgSlugs}. slots: workbookId: path.workbookId orgSlugs: requestBody.orgSlugs - text: Share workbook {workbookId} with {orgSlugs} and email them {emailMessage}. slots: workbookId: path.workbookId orgSlugs: requestBody.orgSlugs emailMessage: requestBody.emailMessage method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/sources'].get update: x-apievangelist-phrasing: intent: List a workbook's data sources effect: read questions: - Which tables, datasets or data models does a workbook pull from? - Does a workbook use custom SQL as one of its sources? instructions: - text: List the data sources of workbook {workbookId}. slots: workbookId: path.workbookId - text: Show which tables and data models feed workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/spec'].get update: x-apievangelist-phrasing: intent: Export a workbook as code effect: read questions: - Can I get a workbook's full definition as YAML or JSON? - How do I pull the code representation of an older workbook version? instructions: - text: Get the code representation of workbook {workbookId} as {format}. slots: workbookId: path.workbookId format: query.format - text: Fetch the spec for version {documentVersion} of workbook {workbookId}. slots: documentVersion: query.documentVersion workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/spec'].put update: x-apievangelist-phrasing: intent: Replace a workbook from its code definition effect: write questions: - How do I update an existing workbook by pushing an edited code representation? - Can I change a workbook's theme through its code definition? instructions: - text: Replace workbook {workbookId} with the code definition using layout {layout}. slots: workbookId: path.workbookId layout: requestBody.layout - text: Update workbook {workbookId} from code and set its theme to {themeName}. slots: workbookId: path.workbookId themeName: requestBody.themeName method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/swapSources'].post update: x-apievangelist-phrasing: intent: Swap a workbook's connection or sources effect: write questions: - How do I point a workbook at a different warehouse connection? - Can I swap a workbook from one table to another and keep input table data? instructions: - text: Swap the connections of workbook {workbookId} using mapping {connectionMapping}. slots: workbookId: path.workbookId connectionMapping: requestBody.connectionMapping - text: Swap the tables behind workbook {workbookId} per {sourceMapping} with the v2 swap endpoint. slots: workbookId: path.workbookId sourceMapping: requestBody.sourceMapping method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tag/{versionTag}/copy'].post update: x-apievangelist-phrasing: intent: Duplicate a tagged workbook version effect: write questions: - How do I create a new workbook from a version-tagged release? - Can I copy the production-tagged version of a workbook into another folder? instructions: - text: Duplicate the {versionTag} version of workbook {workbookId} as {name} in folder {destinationFolderId}. slots: versionTag: path.versionTag workbookId: path.workbookId name: requestBody.name destinationFolderId: requestBody.destinationFolderId - text: Copy tagged workbook {workbookId} at tag {versionTag} into {destinationFolderId} named {name}. slots: workbookId: path.workbookId versionTag: path.versionTag destinationFolderId: requestBody.destinationFolderId name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags'].get update: x-apievangelist-phrasing: intent: Get version tags on a workbook effect: read questions: - Which version tags are applied to a workbook? - How do I check a workbook's tag metadata on demand? instructions: - text: List the version tags on workbook {workbookId}. slots: workbookId: path.workbookId - text: Show tag information for workbook {workbookId}. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags/{tagId}'].delete update: x-apievangelist-phrasing: intent: Remove a version tag from a workbook effect: destructive questions: - How do I untag a workbook when a release stage is over? - Can I remove a single version tag from a workbook? instructions: - text: Remove tag {tagId} from workbook {workbookId}. slots: tagId: path.tagId workbookId: path.workbookId - text: Untag workbook {workbookId} by deleting version tag {tagId}. slots: workbookId: path.workbookId tagId: path.tagId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags/{tagName}/bookmarks'].get update: x-apievangelist-phrasing: intent: List bookmarks in a tagged workbook effect: read questions: - Which bookmarks exist on a version-tagged workbook? - How do I see bookmarks for the production tag of a workbook? instructions: - text: List bookmarks on workbook {workbookId} at tag {tagName}. slots: workbookId: path.workbookId tagName: path.tagName - text: Show the {tagName}-tagged bookmarks of workbook {workbookId}. slots: tagName: path.tagName workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/'].post update: x-apievangelist-phrasing: intent: Add a bookmark to a tagged workbook effect: write questions: - How do I add a bookmark to a version-tagged workbook? - Can bookmarks on a tagged workbook be shared with everyone? instructions: - text: Add bookmark {name} to workbook {workbookId} at tag {tagName} using explore key {exploreKey}. slots: name: requestBody.name workbookId: path.workbookId tagName: path.tagName exploreKey: requestBody.exploreKey - text: On tagged workbook {workbookId} ({tagName}), bookmark version {workbookVersion} as {name}, shared {isShared}, from {exploreKey}. slots: workbookId: path.workbookId tagName: path.tagName workbookVersion: requestBody.workbookVersion name: requestBody.name isShared: requestBody.isShared exploreKey: requestBody.exploreKey method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/{bookmarkId}'].get update: x-apievangelist-phrasing: intent: Get a bookmark in a tagged workbook effect: read questions: - How do I read one bookmark on a version-tagged workbook? - What details are stored for a bookmark under a workbook tag? instructions: - text: Get bookmark {bookmarkId} on workbook {workbookId} at tag {tagName}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId tagName: path.tagName - text: Show tagged bookmark {bookmarkId} in the {tagName} version of workbook {workbookId}. slots: bookmarkId: path.bookmarkId tagName: path.tagName workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/{bookmarkId}'].delete update: x-apievangelist-phrasing: intent: Delete a bookmark from a tagged workbook effect: destructive questions: - How do I remove a bookmark from the tagged version of a workbook? - Can I delete a bookmark that only exists under a version tag? instructions: - text: Delete bookmark {bookmarkId} from workbook {workbookId} at tag {tagName}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId tagName: path.tagName - text: Remove tagged bookmark {bookmarkId} in the {tagName} version of workbook {workbookId}. slots: bookmarkId: path.bookmarkId tagName: path.tagName workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/{bookmarkId}'].patch update: x-apievangelist-phrasing: intent: Update a bookmark in a tagged workbook effect: write questions: - How do I rename a bookmark on a version-tagged workbook? - Can I set the default bookmark for a tagged workbook version? instructions: - text: Rename bookmark {bookmarkId} on workbook {workbookId} at tag {tagName} to {name}. slots: bookmarkId: path.bookmarkId workbookId: path.workbookId tagName: path.tagName name: requestBody.name - text: 'Set tagged bookmark {bookmarkId} ({tagName}) on workbook {workbookId} as default: {isDefault}.' slots: bookmarkId: path.bookmarkId tagName: path.tagName workbookId: path.workbookId isDefault: requestBody.isDefault method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/{workbookId}/version-history'].get update: x-apievangelist-phrasing: intent: Get a workbook's version history effect: read questions: - How can I see every published version of a workbook? - Which versions of a workbook were given a version tag? instructions: - text: Show the version history of workbook {workbookId}. slots: workbookId: path.workbookId - text: List past versions of workbook {workbookId} and any tags on them. slots: workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/spec'].post update: x-apievangelist-phrasing: intent: Create a workbook from a code definition effect: write questions: - Can I create a brand new workbook from a JSON or YAML definition? - How do I programmatically build a workbook as code? instructions: - text: Create workbook {name} in folder {folderId} from my code representation. slots: name: requestBody.name folderId: requestBody.folderId - text: Build a new workbook from code named {name} in {folderId} with description {description}. slots: name: requestBody.name folderId: requestBody.folderId description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/spec/verify'].post update: x-apievangelist-phrasing: intent: Validate a workbook code definition effect: read questions: - Can I check a workbook code representation is valid without creating anything? - How do I dry-run a workbook definition before I build it? instructions: - text: Verify the workbook definition {name} for folder {folderId} without saving it. slots: name: requestBody.name folderId: requestBody.folderId - text: Dry-run validate my workbook code named {name} targeting folder {folderId}. slots: name: requestBody.name folderId: requestBody.folderId method: generated generated: '2026-09-26' - target: $.paths['/v2/workbooks/tag'].post update: x-apievangelist-phrasing: intent: Apply a version tag to a workbook effect: write questions: - How do I tag a workbook version for production? - Can tagging a workbook also swap it to a different connection for that version? instructions: - text: Tag workbook {workbookId} with {tag}. slots: workbookId: requestBody.workbookId tag: requestBody.tag - text: Tag version {workbookVersion} of workbook {workbookId} as {tag} with source mapping {sourceMappingConfig}. slots: workbookVersion: requestBody.workbookVersion workbookId: requestBody.workbookId tag: requestBody.tag sourceMappingConfig: requestBody.sourceMappingConfig method: generated generated: '2026-09-26' - target: $.paths['/v2.1/workbooks/{workbookId}/materialization-schedules'].get update: x-apievangelist-phrasing: intent: List materialization schedules (paginated v2.1) effect: read questions: - Which endpoint pages through a workbook's materialization schedules by default? - How do I page through many materialization schedules on the v2.1 API? instructions: - text: Page through materialization schedules for workbook {workbookId} using v2.1. slots: workbookId: path.workbookId - text: Get page {page} of v2.1 materialization schedules for workbook {workbookId}. slots: page: query.page workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v2.1/workbooks/{workbookId}/schedules'].get update: x-apievangelist-phrasing: intent: List scheduled exports (paginated v2.1) effect: read questions: - Which endpoint returns a workbook's scheduled exports paginated by default? - How do I page through a long list of export schedules on the v2.1 API? instructions: - text: Page through scheduled exports of workbook {workbookId} using v2.1. slots: workbookId: path.workbookId - text: Get page {page} of v2.1 export schedules for workbook {workbookId}. slots: page: query.page workbookId: path.workbookId method: generated generated: '2026-09-26' - target: $.paths['/v3alpha/workbooks/{workbookId}:swapSources'].post update: x-apievangelist-phrasing: intent: Swap each workbook source (v3alpha beta) effect: write questions: - Can I swap a workbook source to a data model element or custom SQL element? - How do I remap each individual data source of a workbook with the beta swap? instructions: - text: Using the v3alpha swap, remap each source of workbook {workbookId} per {sourceMapping}. slots: workbookId: path.workbookId sourceMapping: requestBody.sourceMapping - text: Swap workbook {workbookId}'s sources to data model elements with beta mapping {sourceMapping}. slots: workbookId: path.workbookId sourceMapping: requestBody.sourceMapping method: generated generated: '2026-09-26'