Rollstack
com.rollstack/mcpVersion 1.1.2Build, refresh and send Rollstack reports and slide decks from your company's data.
Status
Responds470 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:13 UTC
- Latency
- 470 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.rollstack.com/public/v1/mcpResponds470 msNo sign-in
Claude Code
claude mcp add --transport http rollstack https://api.rollstack.com/public/v1/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: rollstack
Remote MCP server URL: https://api.rollstack.com/public/v1/mcpCursor
{
"mcpServers": {
"rollstack": {
"url": "https://api.rollstack.com/public/v1/mcp"
}
}
}VS Code
code --add-mcp '{"name":"rollstack","type":"http","url":"https://api.rollstack.com/public/v1/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
119 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
addBurstVariantsAdds variants to a burst by their values of its report parameters, or of its filters for an older report's burst: each is a copy of the template report with its own values, then runs once to fetch its data. An older report's variant is a copy of its file in the burst's folder. Report parameter values and filter ids are checked first, so a request with one the burst can't take adds nothing. Answers at once with the batch's batchId and the names the variants are added with: follow the batch with getBurstVariantBatch until it ends. | No | No | No | No |
addReportDashboardElementsAdds charts of a Tableau view or Power BI page the report holds as a picture, each as a datasheet of its own: its data, to read with getReportDatasheetData or queryReportData and draw on a slide, its picture, or both. Pass the picture's datasheet id, from addReportDatasheets or listReportDatasheets, and the refs of the charts getReportDatasheet lists for it. Each chart is read with the dashboard's filters and the user's access to the connection, and a chart the report already reads that way is reused. Reading a dashboard can take a minute: past the wait the call answers that the source is still being read, so send the same call again, which reuses what the first one added. It runs one at a time with your queryReportData, previewReportDatasheetChanges and saveReportDatasheetChanges calls: send it once they answer. Only the report's editors may. | No | No | No | No |
addReportDatasheetsAdds sources to a report as datasheets, and answers their ids in the order of the sources. A source is a CSV file uploaded with createDataset, or a dashboard of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection: find it with searchDashboards, confirm it with the user, optionally check its tabs and charts with getDashboard, and add it by its connection, id and tabId from getDashboard's tabs, or from searchDashboards for a Sigma workbook found by a link (else the tab it opens on, a Power BI report's or Sigma workbook's first page). A dashboard comes in as one picture of the tab, read with the user's access to the connection, from which the slides agent can add its charts. To draw a Tableau or Power BI dashboard's figures yourself, list its charts with getReportDatasheet on that picture and add the ones you need as data with addReportDashboardElements. A source can also be a tabular or summary report of a Salesforce connection, found with searchDashboards and added by its connection and reportId: it comes in as a table of its rows, read with the user's access to the connection; a matrix or joined report is rejected. A source can also be a table or view of a Snowflake or Databricks connection, found with searchTables and added by its connection, database, schema and table: it stays in the warehouse, where the slides agent queries it with SQL with the user's access to the connection, as its default user when one is set, and the queries the agent saves run again on every update. A source can also be a range of a Google Sheets or Excel file the user added in the app: find the file with searchSpreadsheets, take the sheet's id from getSpreadsheet, and pass the range inside the sheet in A1 notation, like A1:F20. A range comes in as a table, read with the user's own Google or Microsoft account on every run. A source can also be a sheet or a range of an uploaded Excel workbook, whose sheets getDataset lists. Pass the ids as datasheetIds on sendReportMes | No | No | No | No |
applyReportTemplateSwitches a report of type SlideDeck to a template's theme, slide masters, layouts and slide size, as the Templates drawer in the app does. Its slides keep their content and move to the template's matching layouts; the answer names the slides that had no match, and the version saved just before as versionBeforeId: restore it with restoreReportVersion to undo the change. Only its editors may, and not while the report is running or the slides agent is working on it. | Yes | No | No | No |
approveReportMessageProposalApproves the proposal of a settings_proposal or email_send_proposal reply, as its Approve button in the app's chat does: Rollstack makes the change, or sends the email. Only approve what the user approved after seeing the reply's proposal. Answers the reply with the proposal's status: applied once the change is made, and queued for a send, which getReportMessage then follows through sending to sent, partially_sent, failed or unconfirmed, with its counts. Needs also slide_decks:email for an email change or send, and slide_decks:write for the rest. Approving a send answers 409 while the report is updating, such as after a filter change the same message asked for, and counts against the 5 email sends a minute, as sendReportEmail does. Only the user who sent the message may, while they can edit the report. A proposal already decided answers 409. From an AI client, approving a send only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | Yes |
arrangeReportSlidesMoves, removes, hides or shows slides of a slide deck, with nothing on them changed. Read the slides' ids with getReportContent. order puts the slides in a new order and names every slide that stays, once each; remove takes slides out of the report; hide keeps a slide in the report but out of what is presented and exported, and show brings it back. Take the change back by restoring versionBeforeId with restoreReportVersion. Called with nothing to change, it answers every slide in order with whether it is hidden: getReportContent leaves hidden slides out. Only the report's editors may. | Yes | No | No | No |
cancelReportMessageStops a message to the slides agent: a queued one leaves the queue, and a running one stops. A finished one stays as it is. Only the user who sent it may. | Yes | No | No | No |
cancelReportRunCancels a run of a report, whoever started it. Only its editors may. A run that already ended stays as it is. | Yes | No | No | No |
confirmActionRuns a call the user confirmed in its confirmation card, called by the card itself. It needs a token only the card has. | No | No | No | No |
convertReportTurns an older report of type GoogleSlides or MicrosoftPowerPoint, which updates a Google Slides presentation or a PowerPoint file in OneDrive or SharePoint, into a new report of type SlideDeck, as Convert to Rollstack slides in the app does. The new report gets the file's slides, and each sync that can be converted becomes a datasheet reading the same source, drawn by a tile where the sync's chart, table or picture was. The older report and its file stay as they are. The file is read with the older report's owner's account. Answers the new report and what became of each sync, with the reason for one not converted, such as a burst variant's or one of a source with no datasheets: a converted chart with needsRun stays empty until the new report's first run, so start one with startReportRun. Only the older report's editors may. It answers once the conversion ends, which can take a few minutes for a large report: send an Idempotency-Key (MCP: idempotencyKey) so a retry doesn't convert it twice. Counts against the 10 imports a minute per user. | No | No | No | No |
createBurstMakes a report the template of a new burst, and answers the burst, named after the report and with no variants yet. Add them with addBurstVariants. A Rollstack report's variants differ by the report parameters in parameterIds, found with getReportParameters. An older report's variants differ by the filters in filters, found with listReportSyncFilters: a folder is made for the burst in Google Drive or OneDrive and the report's file is copied into it as the template, which can take a minute. Only the report's editors may. | No | No | No | No |
createBurstEmailConfigAdds an email configuration to a burst and answers it: one email to its recipients with the variants it selects, every variant by default. Sends nothing. Only the burst's owner and admins may. | No | No | No | No |
createDatasetStores a CSV for the slides agent to build slides from: a header row, then at least one data row, at most 10 MB. Add it to a report with addReportDatasheets. Over MCP the CSV is written into the tool call, so send large files to this REST endpoint instead. Or send an Excel workbook (.xlsx, at most 10 MB) as multipart/form-data in the file field: it is stored as it is, with all its sheets, formatting and charts, and the user picks its sheets and ranges for a report in the app's editor. Legacy .xls, macro-enabled and password-protected workbooks are rejected. A workbook is read as saved: formulas show their saved results, and nothing is recalculated. When you have the file and a shell, send the file itself with createDatasetUpload instead of writing it into the tool call. List the sheets of a workbook with getDataset, then add a sheet or a range of one to a report with addReportDatasheets. | No | No | No | No |
createDatasetUploadAnswers a link to send a CSV file or an Excel workbook (.xlsx) to from a shell, as it is on disk, at most 10 MB: use it when the user gives you a file, in place of writing a CSV into createDataset, and for every workbook. Run the command it answers with the path of the file. The upload answers the uploaded file with its id, as createDataset does: add it to a report with addReportDatasheets, a workbook after reading its sheets with getDataset. With datasetId, the file replaces the content of that uploaded file. The link works for 10 minutes and for one file: a file that is refused uses it up, so ask for another. Without a shell, write the CSV into createDataset. At most 20 links a minute per user. | No | No | No | No |
createDocumentStores a document for the slides agent to read, such as a brief, a report or meeting notes, as when you attach one in the chat in the app: pass its id in documentIds on sendReportMessage. Over MCP, send the document's whole text as Markdown in text. Over REST, you can instead send the file as multipart/form-data in the file field: a .docx, .doc, .odt, .rtf, .pptx, .pdf, .txt or .md file of at most 100 MB and 100 pages, whose pages the agent can also look at. It joins your document library when you and your organization keep one. | No | No | No | No |
createFolderCreates a folder owned by the user: at the top level, which only owners and admins of the organization may, or inside a folder the user owns or has manage on. Then file reports in it with updateReport's folderId, or create them there with createReport. Each call creates another folder, even with the same name. | No | No | No | No |
createMemoryHas the slides agent remember something of how the user likes their decks, for all their reports or one of them, as adding a preference in the app's Slides settings does. Only add what the user asked to be remembered. Answers the memory. | No | No | No | No |
createReportCreates a report of type SlideDeck, in a folder the user can see when folderId is set. It starts empty, in the look of a saved template from listTemplates when templateId is set, or of another report when templateDeckId is set: its theme, masters and layouts, without its slides. Ask the user which template to use when the organization has company templates. With link, it imports an existing deck instead, with its slides: a PowerPoint file in OneDrive or SharePoint, or a Google Slides presentation, read with the user's own Microsoft or Google account. Rollstack can open only the Google Slides presentations the user picked in Rollstack before, so a link to one they never did answers 422. Over REST, it also imports a PowerPoint (.pptx) file sent as multipart/form-data in the file field, with name and folderId as fields beside it; a report imported from a file is named after it unless name is set. An import answers once the deck is in, which can take a minute for a large one: send an Idempotency-Key (MCP: idempotencyKey) so a retry doesn't import it twice. At most 10 imports a minute per user. | No | No | No | No |
createReportCommentStarts a comment thread on a slide of a report, or replies to a thread, as the user. A reply notifies the thread's other participants who can still open the report. Members who can comment on the report may. | No | No | No | Yes |
createReportParameterCreates a parameter of a report, linked to the dashboard filters and datasheet columns given, as the app's report parameters editor does. With a value, writes it into those filters, and as a row filter into those columns, and reads their datasheets again. Answers the parameter. Only the report's editors may. | Yes | No | No | No |
createTemplateImports a company template from a Google Slides presentation, as the app's Templates drawer does: its theme, slide masters, layouts and slide size, not its slides. The presentation is read with the user's Google account connected to Rollstack. Over REST, you can instead send a PowerPoint file as multipart/form-data in the file field: a .pptx of at most 100 MB, named after the file and kept to the user until shared with updateTemplate. Answers the template as listTemplates lists it, to pass as templateId to createReport or applyReportTemplate. | No | No | No | No |
deleteBurstDeletes a burst with every report in it, the template included, as the app does, and can't be undone. A Rollstack report's burst uses the report it was made from as its template, so that report is deleted too. Files in Google Drive or OneDrive stay. Only the burst's owner may. From an AI client, the deletion only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | No |
deleteBurstEmailConfigDeletes a burst's email configuration. Its past sends stay. Only the burst's owner and admins may. | Yes | No | Yes | No |
deleteDatasetDeletes an uploaded CSV file or workbook. Reports built on it keep what they last showed, and their datasheets fail on the next read. Only the user who created it may. | Yes | No | Yes | No |
deleteMemoryHas the slides agent forget a memory: its runs stop reading it, as forgetting it in the app's Slides settings does. | Yes | No | No | No |
deleteReportParameterDeletes a parameter of a report, as the app's report parameters editor does. The filters and columns it linked keep the last value it wrote, and a burst that varies by it stops varying by it. Refused for the last parameter a burst varies by, and on a burst's variant, whose parameters follow its template report's: delete it there. Only the report's editors may. | Yes | No | No | No |
deleteTemplateDeletes a company template, as the app's Templates drawer does. Reports already built in it keep their look; new ones can no longer start in it. Its creator, or an admin for a shared one, may. | Yes | No | No | No |
duplicateReportCopies a report of type SlideDeck with its slides, datasheets and email setup, as Duplicate in the app does, and answers the copy, which you own. Its schedules and direct shares are copied only when asked. Only members who may duplicate the report may: view access is enough. Each call makes another copy. | No | No | No | No |
exportReportExports a report as PDF or PowerPoint and answers a download link valid for 15 minutes. At most 10 exports a minute per user. | No | Yes | No | No |
getBurstRunWhere the runs of a burst's variants stand, such as those startBurstRun started, with how each variant's latest run ended. Waits up to waitSeconds for none of them to be running and answers as soon as that happens, so call it again while the status is running. A run started in the app or by a schedule counts too. | No | Yes | Yes | No |
getBurstSettingsA burst's settings, as its Settings tab in the app shows them: how its variants are named, and for an older report's burst, how each variant's run updates its file, what it does with empty charts, how it archives and how its filters match. Its folders and schedules are set in the app. | No | Yes | Yes | No |
getBurstVariantBatchA batch of variants being added to a burst, with where each variant stands: copied from the template report, then run once to fetch its data. Waits up to waitSeconds for the batch to end and answers as soon as it does, so call it again while the status is running. Your later batch on the burst reuses the id, so this describes the latest one. | No | Yes | Yes | No |
getDashboardA dashboard of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection, read with the user's access to the connection (a Salesforce report has no tabs or charts to read, so add it with addReportDatasheets directly): its tabs, and the charts and filters of the tab tabId names, one of the ids in tabs (else the one the dashboard opens on, a Power BI report's or Sigma workbook's first page). Tableau and Power BI list no charts or filters here: once the tab is added to a report, its charts are listed from its picture for the slides agent to add; a Sigma page lists its charts and tables, and the workbook's controls as its filters. Find the dashboard's id with searchDashboards. Confirm the dashboard and tab with the user, then add it to a report with addReportDatasheets; for another tab, call it again with that tab's id from tabs. | No | Yes | Yes | No |
getDatasetAn uploaded CSV file or Excel workbook. A workbook comes with its sheets, the range each one uses and its named ranges: pass a sheet's id as sheetId to also read its cells as text, which shows where a table's header row is. Then add the sheet, or a range of it that starts at the header row, to a report with addReportDatasheets. Cells show what the workbook saved: nothing is recalculated. | No | Yes | Yes | No |
getFolderA folder the user can see, with its parent and everyone who has access to it: its owner, the members it is shared with directly, and those who reach it through the folder it is nested in, each with their permission. | No | Yes | Yes | No |
getReportA report of any type with its schedules, who it is shared with and who is emailed when a run fails. lastRunStatus and running tell how its latest run went and whether one is going, and appUrl opens it in Rollstack. type tells which other endpoints work on it. | No | Yes | Yes | No |
getReportCloudExportWhere a report is saved after its runs, in Google Drive, OneDrive or SharePoint, and how its last save went, with a link to the saved file. Answers 404 until it is set up with updateReportCloudExport or in the app's scheduling panel. | No | Yes | Yes | No |
getReportContentWhat a viewer sees on a report's visible slides: titles, text, and each chart's and table's values. On a long report, pass slideIds for only the slides you need, such as a reply's changedSlideIds. | No | Yes | Yes | No |
getReportDataGuideRead this once before you add or shape the data of a report: how to send a CSV or an Excel workbook and pick the range of a sheet, how to check a figure with queryReportData, how to shape data with previewReportDatasheetChanges, renderReportSlides and saveReportDatasheetChanges, and the query model those changes write. It needs no report. With stepFunctions, it also answers the exact params of those step functions, for the steps after a join. | No | Yes | Yes | No |
getReportDatasheetWhat a datasheet's data is written as: its query, in the shape set-query takes, its one SQL statement, or its join and the steps after it, and its formats. Read it before you change a datasheet with previewReportDatasheetChanges: set-query replaces the whole query, so start from this one. For the picture of a Tableau view or Power BI page added with addReportDatasheets, it also lists the charts on it, which addReportDashboardElements adds as data. Only the report's editors may. | No | Yes | Yes | No |
getReportDatasheetDataThe table a report's chart is drawn from: the datasheet's steps run over the copies stored at its sources' last reads; the source is never queried. Only the report's editors may: the table was read with an editor's credentials, can hold columns and rows the slides never show, and skips the source's row-level security. Fails for a `picture` datasheet (its `kind` in `listReportDatasheets`), which has no table. Also fails until every source it reads has been read, after a source's latest read failed, and once a stored copy expires, 30 days after its read. At most 30 reads a minute per user. | No | Yes | Yes | No |
getReportDesignStart here to design a slide deck's slides yourself, as HTML. A call without layoutIds answers the guide to writing a slide for this report, which you follow, and what a slide is drawn on: the canvas size, the theme colours and, when the report has a template, its layouts by name. Call it again with layoutIds for the layouts you will use, to get the box each one's title goes in and the areas to keep clear. | No | Yes | Yes | No |
getReportEmailConfigWho a report's email goes to and how it is sent, for a report of any type. Answers 404 until its email is set up, as on a burst's variant that sends no email of its own. For a burst, read `listBurstVariants`, which has every variant's recipients, and `listBurstEmailConfigs` rather than calling this on each variant. On an older report that sends to several recipient groups, `to`, `cc`, `bcc` and `replyTo` list every group's addresses together. | No | Yes | Yes | No |
getReportMessageA message to the slides agent and its replies. Waits up to waitSeconds for the message to finish and answers as soon as it does, so call it again while the status is queued or running. A clarification reply asks questions: ask the user, then send the options they pick as answers in a new message on the same chat. A proposal reply changes nothing until it is approved: show the user what its proposal changes, then approve or reject it as they decide. Only the user who sent the message may read it, while they can edit the report. | No | Yes | Yes | No |
getReportParametersA report's parameters, with which ones a burst can vary by, the dashboard filters and the datasheet columns a parameter can link, with the parameter that already links each. | No | Yes | Yes | No |
getReportRunA run's status and the datasheets, or visualizations on a report of another type than SlideDeck, it could not refresh. Waits up to waitSeconds for the run to end and answers as soon as it does, so call it again while the status is running. A user's later run of the report reuses the id, so this describes the latest one. | No | Yes | Yes | No |
getReportSchedulesThe schedules of a report of any type, with the syncs each updates and when each runs next, or null for one that never runs again. Read them before `updateReportSchedules`, which replaces them all. | No | Yes | Yes | No |
getReportSlideHtmlThe HTML drafts slides of a slide deck were made from, to change them and save them again with saveReportSlides under the same ids. A slide changed in Rollstack since its draft was saved, by a person in the editor or by Rollstack's agent, answers the draft as it was saved with changedInRollstack, the list of what was changed since: make every one of those changes in the draft first, so the work done there is kept, then make your own. A slide made by hand in the editor has no draft (html is null): a draft sent under its id rewrites the whole slide, dropping what was done there, so look at it with getReportSlideImages and ask the user first. At most 10 slides a call. | No | Yes | Yes | No |
getReportSlideImagesRenders slides of a report as images, as viewers see them, so you can check how they look: text that overflows or overlaps, or a chart too small to read. After a message's turn, pass its replies' changedSlideIds. At most 10 slides a call; hidden slides are left out. Counts against the 10 exports a minute per user. | No | Yes | Yes | No |
getReportViewerSlideImagesThe slide images the report viewer shows, called by the viewer itself. Use getReportSlideImages instead. At most 10 slides a call; hidden slides are left out. | No | Yes | Yes | No |
getReportViewsWho opened a report and how they read it, as its editors see under Views in the app: each person's visits, time spent and whether they opened it since its last successful run, who it is shared with but hasn't opened it since, and how far into it people read, slide by slide. Editors' own time editing doesn't count. Only its editors may. | No | Yes | Yes | No |
getSpreadsheetA Google Sheets or Excel file the user added in the app, with its sheets, read with the user's own Google or Microsoft account. Fails with user-missing-oauth when the user hasn't connected that account in the app. Find the file's id with searchSpreadsheets, then add a range of one of its sheets to a report with addReportDatasheets by the sheet's id. | No | Yes | Yes | No |
getTemplatePickerCoversThe template covers the template picker shows, called by the picker itself. Use showTemplates instead. At most 10 templates a call. | No | Yes | Yes | No |
listBurstEmailConfigsA burst's email configurations, as the app's Burst email settings show them: each one email to its own recipients that includes every variant it selects, sent only when you send it. Unlike each variant's own email, which its runs send to its own recipients. What both sent is in listEmails with burstId. | No | Yes | Yes | No |
listBurstsThe bursts of reports the user can see, newest first: those of Rollstack reports, whose variants differ by report parameters, and those of older reports such as Google Slides or PowerPoint files, whose variants differ by filters, as kind says. Each comes with what its variants differ by and the template report they are copied from. You can filter by name, ignoring case. Answers up to limit bursts, 50 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. listReports leaves out the reports of a burst, its template and variants. | No | Yes | Yes | No |
listBurstVariantsA burst's variants the user can open, oldest first, each with its values of the burst's parameters or filters, how its latest run went, whether one is going, and who its email goes to. adding lists the variants the user is still adding. Answers up to limit variants, 50 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. | No | Yes | Yes | No |
listConnectionsThe data source connections the user can see, without their credentials: each one's type, name, settings such as its URL, owner, admins, default user and whether any user's access works. | No | Yes | Yes | No |
listEmailsThe emails every report the user can see sent, of any type, newest first, each with its report, as the app's Email sends page lists them: pass status failed and since to find the ones that didn't go out, and burstId for one burst's. Same fields as listReportEmails. Answers up to limit emails, 20 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. | No | Yes | Yes | No |
listFoldersThe folders the user can see, each with its parent, null at the top level, and the user's permission on it: null, view, edit or manage. Pass a folder's id as folderId to listReports or createReport, or to getFolder to see who it's shared with. | No | Yes | Yes | No |
listMembersThe members of the organization, with their role, authentication role, insights access and whether they are active. Optionally only those with a status, active or deactivated, or with an email. | No | Yes | Yes | No |
listMemoriesWhat the slides agent remembers of how the user likes their decks, as the app's Slides settings list it: each memory, the part of a deck it is about, and the report it holds for, if only one. Read them before adding one, so as not to repeat one. | No | Yes | Yes | No |
listReportCommentsThe comments on a report's slides, oldest first: each thread's first comment, whose threadId is null and which says whether the thread is resolved, then its replies. Read the open threads to see what reviewers asked for. Members who can view the report may. | No | Yes | Yes | No |
listReportDatasheetsThe datasheets a report's charts and tables are built from, with their source and when each was last read. An entry whose `copyOf` is set repeats that datasheet for one more element of a slide: it shows the same data and is read together with it, so count each piece of data once by skipping the entries with a `copyOf`. Only a datasheet a slide shows has a `lastBuiltAt`. | No | Yes | Yes | No |
listReportEmailsThe emails a report of any type sent, newest first: when, how, to whom, and whether each was delivered, failed or opened. To check many reports, call listEmails instead, which lists every report's emails with their report, and a burst's with its burstId. Answers up to limit emails, 20 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. | No | Yes | Yes | No |
listReportRunsThe runs of a report of any type that ended, newest first, with how each ended, what started it and why it failed, for questions such as why last night's update failed. Answers up to limit runs, 20 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. | No | Yes | Yes | No |
listReportsThe reports the user can see, of every type, newest first. Each report's type tells which endpoints work on it: the slides agent, exports, content, datasheets, parameters, templates, duplicating and ownership transfer take SlideDeck reports only, and syncs take the other types only. You can filter by folderId, name and type; when several are set, all must match, and name matching ignores case. Answers up to limit reports, 50 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. | No | Yes | Yes | No |
listReportSyncFiltersThe filters of the dashboard an older report's sync reads, which a burst of the report can vary by: pass their ids in filters to createBurst. Read from the dashboard with your access to its connection, so it can take a few seconds. Find the report's syncs with listReportSyncs. A Rollstack report bursts by report parameters instead: see getReportParameters. | No | Yes | Yes | No |
listReportSyncsThe syncs of a report other than a SlideDeck, such as a Google Slides presentation or an email report: each chart, table or text it pulls from a source, with how it did the last time it updated and why it failed. Pass the failed ones' ids as `syncIds` to `startReportRun` to update only those. A SlideDeck report has datasheets instead and returns `400`. | No | Yes | Yes | No |
listReportVersionsThe Version history of a report of type SlideDeck, newest first, as the app lists it: the versions Rollstack saved while it was edited, run or changed by the slides agent, and those saved with saveReportVersion, each with what saved it. Answers up to limit versions, 20 by default and 100 at most, and a nextCursor: pass it as cursor for the next page, until it is null. Pass a version's id to restoreReportVersion to take the report back to it. | No | Yes | Yes | No |
listRunsThe runs that ended of every report the user can see, of any type, newest first, each with its report, for questions such as what failed overnight: pass status failed and since. Same fields as listReportRuns. Answers up to limit runs, 20 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. | No | Yes | Yes | No |
listSmtpConnectionsThe user's SMTP connections and the ones shared with the organization, without their credentials. | No | Yes | Yes | No |
listTemplatesThe templates the user can build a slide deck in: their company's, with who imported each and whether it is shared with the organization, then Rollstack's own. Pass a template's id as templateId to createReport or applyReportTemplate. | No | Yes | Yes | No |
previewReportDatasheetChangesTries changes to a report's datasheets, to shape data before it goes on a slide: a new datasheet, a query, steps after a join, a read type, an unpivot. It runs every datasheet the changes touch over the data stored at the sources' last reads and saves nothing, not even a new datasheet. Answers each datasheet's columns and five sample rows, the ids a new datasheet gets, and the revisions to send to saveReportDatasheetChanges. A change that fails answers valid false with its reason, naming the datasheet and step: fix it and preview again. Draw a slide with the same changes by sending them to renderReportSlides. Only the report's editors may. Your previews run one at a time, together with your queryReportData and saveReportDatasheetChanges calls and the renderReportSlides calls that carry datasheetChanges: send the next only once this one answers, never several at once, and try several datasheets' changes in one preview. At most 30 previews and queryReportData calls a minute per user, counted together. | No | Yes | Yes | No |
queryReportDataRuns one read-only SQL query over the tables of a report's datasheets, to check a figure before it goes on a slide or to explore data before shaping it. It reads the copies stored at the sources' last reads, never a source, and saves nothing: a datasheet's table is the one getReportDatasheetData answers. Only the report's editors may. At most 200 rows and 30 seconds a query. Your queries run one at a time, together with your previewReportDatasheetChanges and saveReportDatasheetChanges calls and the renderReportSlides calls that carry datasheetChanges: send the next only once this one answers, never several at once, and check several figures in one query, as columns of one row or rows of a UNION ALL. At most 30 queries and previewReportDatasheetChanges calls a minute per user, counted together. | No | Yes | Yes | No |
reapplyBurstFiltersWrites each variant's filter values into its syncs again, as the app's Reapply does: after syncs were added to the template, or a filter changed on its dashboard. It reads the dashboards with your access to their connections, and runs nothing: run the variants afterwards with startBurstRun. Members who only contribute reapply their own variants. A Rollstack report's burst returns 400. | No | No | Yes | No |
rejectReportMessageProposalRejects the proposal of a settings_proposal or email_send_proposal reply, as its Reject button in the app's chat does: nothing changes. Answers the reply with the proposal's status, rejected for a change and cancelled for an email send. Only the user who sent the message may, while they can edit the report. A proposal already decided answers 409. | No | No | No | No |
removeBurstVariantsRemoves variants of a burst by their ids, and deletes their reports. Find the ids with listBurstVariants, which shows each variant's parameter or filter values, and confirm them with the user. An older report's variant file stays in Google Drive or OneDrive. The user must be able to edit every variant passed, or nothing is removed: the burst's owner and admins can edit them all, other members only their own. From an AI client, the removal only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | Yes | No |
removeReportDatasheetRemoves a datasheet the report's slides no longer show, such as a source that was added and not used, or one whose read keeps failing. A datasheet a chart, table, picture or sentence still shows is refused: change or remove that slide first. The source itself, such as the dashboard or the uploaded file, is not touched. Only the report's editors may. | Yes | No | No | No |
renameBurstRenames a burst and answers it, and with renameVariants its reports too. Only the burst's owner and admins may. | No | No | No | No |
renderReportSlidesRenders slides you wrote as HTML on a slide deck's template, so you can design slides yourself instead of asking the slides agent. It saves nothing. Each draft answers its image, the issues to fix and notes to check by eye: fix the issues and render again until none are left. Call getReportDesign first and follow the guide it answers. A chart or table a draft places is drawn with its datasheet's data, or with the data of datasheetChanges you tried with previewReportDatasheetChanges and have not saved yet: save them with saveReportDatasheetChanges before you save the slides. A render that carries datasheetChanges runs one at a time with your queryReportData, previewReportDatasheetChanges and saveReportDatasheetChanges calls: send it only once those have answered. Only the report's editors may. At most 10 drafts a call, and 20 renders and saves a minute per user. | No | Yes | Yes | No |
replaceDatasetReplaces an uploaded CSV file's rows, or a workbook's content with a new .xlsx sent as multipart/form-data in the file field. It keeps its id, and a CSV is never replaced by a workbook or the other way round. Reports built on it show the new content after their next run or message to the slides agent. An invalid file leaves the current one in place, and a sheet or range the new workbook no longer has fails its datasheets' reads. Only the user who created it may. From an MCP client, send a workbook with createDatasetUpload and this file's id. | Yes | No | Yes | No |
resolveReportCommentResolves a comment thread once what it asked for is done, or opens it again, as the user. Only a thread's first comment can be resolved. Members who can comment on the report may. | No | No | Yes | No |
restoreReportVersionTakes a report of type SlideDeck back to one of its versions, as Restore in the app's Version history does: its slides, and the datasheets when the version saved them, become the version's, replacing every change made since, and members with the report open see it at once. Find the version with listReportVersions, or take a slides agent reply's versionBeforeId to undo that reply. The report as it was is saved first, and the answer names that version as versionBeforeId. Only its editors may, and not while the report is running or the slides agent is working on it. | Yes | No | No | No |
saveReportDatasheetChangesSaves changes to a report's datasheets that you tried with previewReportDatasheetChanges: send the same changes with the revisions it answered. Nothing is saved when a datasheet they edit changed since, or when they fail: the answer says why, and you preview again. The charts and tables on slides that show a changed datasheet are read again, and a new datasheet is placed by the id it answers and the slides saved with saveReportSlides. Take the save back by restoring versionBeforeId with restoreReportVersion. It runs one at a time with your queryReportData and previewReportDatasheetChanges calls and the renderReportSlides calls that carry datasheetChanges: send it only once those have answered. Only the report's editors may. Counts against the 20 renders and saves a minute per user. | No | No | No | No |
saveReportSlidesWrites slides you wrote as HTML into a slide deck, as the slides agent's are: a draft sent under the id of a slide of the report replaces that slide where it is, any other is added right after the slide named in afterSlideId, or at the end without one, and every other slide stays. To move, remove or hide slides, use arrangeReportSlides. Render them with renderReportSlides first: nothing is saved while a draft still has an issue, and the issues come back instead. A chart or table a draft places is filled with its datasheet's data as part of the save, with no change to the slides. Take the save back by restoring versionBeforeId with restoreReportVersion. Only the report's editors may. At most 10 drafts a call, and 20 renders and saves a minute per user. | No | No | No | No |
saveReportVersionSaves a report of type SlideDeck as it is now in its Version history, with an optional name, so it can be restored later with restoreReportVersion, for example before a change the user may want to take back. Rollstack already saves one before each change of the slides agent, each run and each template apply. Only its editors may. Each call saves another version. | No | No | No | No |
searchDashboardsThe dashboards of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection whose name holds any word of query or its singular, in any case, at most 50: those the most of the organization's reports read first, copies, old and personal ones last, then most words first, read with the user's access to the connection. A Tableau dashboard is a workbook, its views its tabs; a Power BI one a report, its pages its tabs; a Sigma one a workbook, its pages its tabs. On a Sigma connection, query can be a link to a workbook the user pasted: it finds only that workbook, with the page the link opens on as tabId, but not the link's control values, saved view or tag, and a link to another Sigma organization is rejected. On a Salesforce connection it finds reports the same way, the most recently run first among equals, each with its format: a report has no tabs, so add a tabular or summary one to a report with addReportDatasheets by its reportId, without getDashboard, and tell the user a matrix or joined one can't be added yet. Search by the name the user gives, confirm the dashboard with the user, then check its tabs and charts with getDashboard or add it to a report with addReportDatasheets. listConnections gives the connection's type and id. | No | Yes | Yes | No |
searchModelsThe models of a Looker, Power BI or Tableau connection whose name or group holds any word of query or its singular, in any case, at most 50: Looker explores grouped by LookML model, Power BI semantic models by workspace, Tableau published data sources by project, read with the user's access to the connection (on Tableau, their own Tableau user). A model is what the slides agent queries in its BI tool for the data a slide needs, where a dashboard tab comes in as a picture. Confirm the model with the user, then add it to a report with addReportDatasheets by its modelId and pass the new datasheet's id to sendReportMessage. listConnections gives the connection's type and id. | No | Yes | Yes | No |
searchSpreadsheetsThe Google Sheets and Excel files the user added in the app whose name holds any word of query, in any case, most words first, at most 50. Rollstack can't search the user's whole Google Drive or OneDrive: for another file, ask the user to add it in the app. Confirm the file with the user, then list its sheets with getSpreadsheet. | No | Yes | Yes | No |
searchTablesThe tables and views of a Snowflake or Databricks connection whose full name, database.schema.table, holds any word of query, in any case, at most 50, read with the user's access to the connection, as its default user when one is set. The first search of a connection reads its whole catalog, which can take a while on a large warehouse. Search by the name the user gives and confirm the table with the user, then add it to a report with addReportDatasheets by its connection, database, schema and table, and pass the datasheet id on sendReportMessage: the slides agent queries it in the warehouse with SQL over all its rows. listConnections gives the connection's type and id. | No | Yes | Yes | No |
sendBurstEmailConfigSends a burst's email configuration now: one email to its recipients with each variant it selects. Building it outlasts the request, so it goes out after the answer. Send a test with sendBurstEmailConfigTest first to check how it looks. Only the burst's owner and admins may. Sends have a low rate limit. From an AI client, the send only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | Yes |
sendBurstEmailConfigTestSends a burst's email configuration to you alone, to check how it looks before sending it. Only the burst's owner and admins may. Sends have a low rate limit. | Yes | No | No | Yes |
sendBurstVariantEmailsSends each variant's own email now, to its own recipients, as the app's Send does: every variant, or those passed. The template sends nothing. Every recipient gets an email. Only the burst's owner and admins may. Sends have a low rate limit. From an AI client, the send only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | Yes |
sendReportEmailEmails a report to its recipients now, as it is. Only its editors may. Answers 400 when it has no recipients. An email report needs its email template set up in the app first. Sends in the background; while the user's send of the report is going, starts nothing. At most 5 sends a minute per user, test sends included. From an AI client, the send only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | Yes |
sendReportMessageAsks the slides agent to build or change a report, or to answer a question about it, as the app's chat does. Answers the message's id at once: follow it with getReportMessage. Without chatId the message starts a new chat, which shows in the user's chat history in the app. With it, the message continues that chat and waits its turn while a reply is still generating. Several chats on a report can generate at once; an agent working on a part of the report another chat is editing works on something else or says so. For slides built from your own data, a connected dashboard, a warehouse table or a spreadsheet, upload the data with createDataset, find the dashboard or Salesforce report with searchDashboards, the Snowflake or Databricks table with searchTables or the spreadsheet with searchSpreadsheets, add any of them with addReportDatasheets and pass the datasheet ids as datasheetIds. For a brief, a report or notes to build from, upload it with createDocument and pass its id in documentIds. Only its editors may. At most 6 messages a minute per user. To write the slides yourself instead, start with getReportDesign. | Yes | No | No | Yes |
sendReportTestEmailSends a report's email to the user only, and waits until it is sent. Only its editors may. Counts against the 5 sends a minute. | Yes | No | No | Yes |
shareFolderShares a folder and everything in it with a member of the organization, or changes their permission, as Share in the app does. A member new to the folder gets an email. Needs manage on the folder, or owning it. | Yes | No | No | Yes |
shareReportShares a report of any type with a member of the organization to view or edit it, or changes their permission. They get an email. A report that updates a file, such as a Google Slides presentation, also shares the file with them, as the app does. | Yes | No | No | Yes |
showReportShows a report to the user in a viewer with every visible slide, when the client can show one, to browse it or review the slides the slides agent changed: pass the replies' changedSlideIds to open on the first of them and mark them all. Answers the slides' ids and titles. Clients that can't show the viewer can look at the slides with getReportSlideImages instead. | No | Yes | Yes | No |
showTemplatesShows the user the templates they can build a slide deck in, each with a preview of its look, when the client can show a picker. Pass reportId when they pick one for an existing report: each template then warns about the report's slides it has no layout for. The template the user picks reaches you with their next message: then apply it with applyReportTemplate, or start a report in it with createReport's templateId, as they ask. Answers the templates as listTemplates does, for clients that can't show the picker. | No | Yes | Yes | No |
startBurstRunStarts a run of every variant of a burst, or of the variants passed, as startReportRun does for each: it refreshes the variant's data, and repairs a Rollstack report's slides with AI. An older report's variants run together as the app's Update runs them, in batches and behind the organization's other burst runs, so a variant can wait its turn before its run shows. Each such run updates the variant's file when it has one, and emails the variant to its recipients when its email trigger is `all`, as startReportRun does. The template report isn't run; run it with startReportRun. Answers each variant's run at once: follow them all with getBurstRun until none is running, or one with getReportRun, passing the variant's id and runId. A variant already running answers that run and starts nothing. From an AI client, a run that emails variants only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | Yes |
startReportRunRefreshes a report's data, or only some of its datasheets, then repairs failed calculations and the slides with AI. On a report of another type than SlideDeck, such as a Google Slides presentation, refreshes every sync, or only the `syncIds` given, instead, as Update in the app does, updating its file when it has one (an Email report has none). A run of the whole report then emails it when its email trigger is `all`; a run of only some `syncIds` never does. Answers the run's id at once; while a run of the report is already going, from the API, the app or its schedule, it answers that run's id with started false and starts nothing. Pass repairSlides false to leave the slides as they are, when you wrote them yourself and will check and fix them. From an AI client, a run that emails the report only asks the user to confirm it in Rollstack: it answers `confirmation-required` and runs once they confirm. | Yes | No | No | Yes |
submitFeedbackTells the Rollstack team about something the user asked for that you couldn't do: a tool or endpoint that is missing, a call that was refused or failed, or a task nothing covers. Send it only after the user agrees: tell them what you couldn't do, offer to report it, and show what you'd send. The team reads every message to decide what to build next; it doesn't answer, and it doesn't fix the problem for the user. | No | No | No | No |
unshareFolderRemoves a member's direct share of a folder, and their access to its reports' files in Drive unless they still reach the folder through a parent folder, as the app does. Access through a parent folder stays: unshare that folder instead. Needs manage on the folder, or owning it, except to unshare it from yourself. | Yes | No | Yes | Yes |
unshareReportRemoves a user's share of a report of any type, and their access to its file when it updates one, as the app does. | Yes | No | Yes | Yes |
updateBurstEmailConfigChanges the fields passed of a burst's email configuration and answers it. Sends nothing. Only the burst's owner and admins may. | No | No | No | No |
updateBurstFiltersReplaces the filters an older report's burst varies by, then writes every variant's values into its syncs again, which can take a minute, and answers the burst. A filter left out is removed with every variant's value of it, unless replace carries those values to its new filter: confirm with the user first. Variants keep their files and names. Only the burst's owner and admins may. A Rollstack report's burst varies by report parameters and returns 400. | Yes | No | Yes | No |
updateBurstSettingsChanges the settings passed and answers them all. A Rollstack report's burst takes only variantNaming. An older report's run settings, such as updateMethod, also apply to its existing variants. Only the burst's owner and admins may. | No | No | No | No |
updateBurstVariantEmailSettingsChanges how the variants' own emails are sent, as the app's Burst settings in its Emailing tab do: only the settings passed, on the template, whose settings new variants copy, and on the variants. Each keeps its recipients: set them with updateBurstVariantRecipients. Sends no email. Members who only contribute change their own variants. See a report's settings with getReportEmailConfig. | Yes | No | No | No |
updateBurstVariantRecipientsSets who each variant's email goes to, replacing its to, cc and bcc. Its other email settings, such as its sender and which runs send it, stay as copied from the template; a variant without email settings gets the defaults. Sends no email. As in the app, the burst's owner and admins can set any variant's recipients, other members only those of variants they own or can edit; the others are skipped, as is a variant with several recipient groups, which the app asks to reconcile first. | Yes | No | Yes | No |
updateFolderRenames a folder, or moves it into another folder or to the top level, with everything in it. Members of the folder it moves into get access to its reports. Needs manage on the folder, or owning it, and the same on the one it moves into. Answers the name and parent of the folder: getFolder gives who has access. | No | No | No | No |
updateMemoryRewords a memory of the slides agent, or moves it to one report or all of them. What you send changes and the rest stays. Answers the memory. | Yes | No | No | No |
updateReportRenames a report of any type, moves it, or changes its timezone or failure notifications. Renaming a report that updates a file, such as a Google Slides presentation, also renames the file, as the app does. Only its editors may. | Yes | No | No | No |
updateReportCloudExportSaves a report to a Google Drive, OneDrive or SharePoint folder after its runs, as the app's scheduling panel does, replacing the setting it had. Each save replaces the same file, or archives a dated copy first with `archive`. The folder is opened with the user's own Google or Microsoft account, which saves the report from then on. To save it now, start a run with startReportRun: a run that doesn't fail then tries to save it when `trigger` is `all`, and getReportCloudExport tells whether the save worked, since a failed save doesn't fail the run. Set `trigger` to `none` to stop saving it. Only its editors may. | Yes | No | Yes | Yes |
updateReportEmailConfigSets who a report's email goes to and how it is sent, for a report of any type, replacing the settings this endpoint covers; Drive sharing, attachment folders and the email's subject and body stay as set in the app. Only its editors may. The sender must be the user's own or shared with the organization. A report that sends to several recipient groups returns 400: change those in the app. | Yes | No | Yes | No |
updateReportParameterChanges a parameter of a report, such as its value to show the report for another region, as the app's report parameters editor does: what you send changes and the rest stays. A new value is written into the filters and columns it links and their datasheets are read again, so the report's slides change; follow that read with runId. Answers the parameter. Only the report's editors may. | Yes | No | No | No |
updateReportSchedulesReplaces the schedules of a report of any type, at most 10; an empty list removes them all. Only its editors may. A scheduled run updates the whole report: an AI update on a SlideDeck report, and a refresh of every sync on a report of another type, or only the `syncIds` a schedule names. Schedules are checked every 15 minutes, so a cron that fires more often still runs at most once per 15 minutes. | Yes | No | Yes | No |
updateReportThemeChanges a slide deck's theme: its colours, its heading font and its body font. This is how a deck takes a brand's colours, such as the ones the user names or the ones of a presentation they gave you: read the colours yourself and send each in the slot whose job it does. Every slide follows wherever it uses the theme's colours, and so do the template's layouts and the slides you write next, which keep using the theme variables that getReportDesign lists. Call it before you write slides, then call getReportDesign again for the colours as they are now. A slot sent with a colour another slot already has is saved one step of blue away from it (#2D6A4F and #2D6A50), which looks the same: saved slides tell theme colours apart by their value, so the answer can differ from what you sent by that step. A change that would leave text unreadable on its background changes nothing and answers the pair to fix, and so does a font the editor does not have. A new font sets text wider or narrower than the old one: on a deck that already has slides, look at each with getReportSlideImages afterwards and save again the ones whose text no longer fits. It changes colours and fonts only: for a presentation's layouts and logo, the user imports it as a template in Rollstack, which answers in listTemplates. Only the report's editors may. Answers the theme after the change and the version saved before it. | No | No | No | No |
updateTemplateRenames a company template, or shares it with the organization or stops sharing it, as the app's Templates drawer does. Its creator can rename it and stop sharing it, only an admin can share their own template with the organization, and admins can also rename any shared one. Reports already built in it keep their look. Answers the template as listTemplates lists it. | Yes | No | No | No |
Details
- Registry status
- Active
- Published
- Nov 5, 2026
- Updated
- Nov 5, 2026
- Repository
- Not given
- Categories (suggested)
- DocumentsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared