SeekTable
Analytics & DataConnect AI agents to SeekTable, a pivot table BI and reporting tool. Agents run and export saved reports against a cube, import CSV data into a cube, and share a report by email.
What This Integration Enables
The valuable thing about SeekTable is not that it can produce a number. Everything can produce a number. It is that the report is a saved object with an id, built by whoever on the team actually understands the data, and it can be rendered again later exactly as they built it. That single fact changes what an agent should do here. The wrong pattern is an agent that reconstructs a query in the flow, because now there are two definitions of monthly revenue and they will disagree at the worst possible time. The right pattern is an agent that renders the definition the team already agreed on, reads what came back, and does something about it.
The connector covers that end to end. Export Report renders a saved report in the requested format, returning HTML, CSV, and JSON as content and PDF, Excel, Excel PivotTable, and PNG as a base64 data URI, with optional report parameter overrides that filter the report at export time. List Reports and Get Report make the report catalog discoverable so a flow can resolve a report by name and inspect its type and JSON configuration before rendering it. Share Report by Email renders and sends in one step, embedding the report as HTML in the body, attaching it in one or more formats, or both. Export Dashboard renders a whole collection of reports to PDF or Excel. On the data side, List Cubes and Get Cube expose the datasets reports are built on, Import CSV to Cube uploads CSV content to an existing cube, and Get Account Backup returns a full JSON backup of the account with optional workspaces, dashboards, and team data.
Two constraints are worth designing around rather than discovering. Import CSV to Cube replaces the cube's data, which means it is not an append and it is not a merge, a point the Human-in-Loop section returns to. And on SeekTable Cloud, free accounts are limited to 50 API calls per day, rising to 500 with Advanced publishing, while parameter overrides at export time require the Advanced publishing plan. Self hosted deployments have no call limits. A flow that exports one report per row of a list will exhaust a free account before lunch, so batch at the report level rather than the row level, or point the connector at a self hosted base URL. There are no triggers here: reporting runs on a schedule, or on an event from whatever system the numbers are about.
Without FlowRunner
With FlowRunner
Use Case Scenarios
The Monday report that reads itself before anyone else does
The operations review runs on a saved pivot report the analyst maintains. A Monday morning flow calls List Reports to resolve it by name, Export Report in PDF for the meeting pack, and Export Report again in JSON so the agent can read the same figures the humans are about to look at. Share Report by Email delivers the PDF to the standing recipient list. Then the agent does the part the schedule never did: it compares the JSON figures against the thresholds the team set, and where a region's fulfillment rate has dropped below the line, it posts that single row to the regional manager in Slack with the PDF attached. The report is unchanged, produced by the person who owns it. What changed is that the exception inside it now has a name attached before the meeting starts.
A warehouse extract that becomes a cube on a schedule
The reporting cube is fed from the data warehouse rather than from a live connection. A nightly flow pulls the extract from Snowflake, shapes it to the header row the cube expects, and holds it. Before touching anything it calls Export Report in CSV against the current cube and keeps the result, so there is a record of what the reports said before the swap. It calls Get Cube to confirm it is pointed at the cube it thinks it is, and Get Account Backup on the cadence the team chose, since that backup is the closest thing to a restore point this platform offers. Only then does it propose the import, with the incoming row count and the before figures side by side. What it does not do is call Import CSV to Cube on its own initiative.
Giving a reviewer the numbers behind the exception
An exception arrives from another system, say a supplier whose delivery performance has slipped, and the person being asked to decide something needs the history rather than the alert. The agent calls Export Report with parameter overrides scoped to that supplier and that date range, which requires the Advanced publishing plan on SeekTable Cloud and comes free on a self hosted deployment, then attaches the rendered PNG chart to the decision request. The reviewer sees twelve months of that supplier's performance in the same message that asks them whether to hold the next order. This is what turns an alert into a decision: the number that prompted it and the context that makes it interpretable arrive together.
Human-in-Loop Highlight
Import CSV to Cube uploads CSV content to an existing cube and replaces its data. That word is the whole reason this action deserves a gate. It is not an append, so a partial extract does not add fewer rows, it becomes the entire dataset. Every saved report built on that cube changes at the same instant, and none of them announces it. A pivot that summarized eighteen months now summarizes whatever the file contained, renders cleanly, exports to a perfectly formatted PDF, and goes out through Share Report by Email to a recipient list who have no way of telling that the source moved under them. The failure looks exactly like success, which is the most expensive kind. SeekTable offers no per report warning and no undo on the replaced data; Get Account Backup is a separate, deliberate call that someone has to have thought to make beforehand. So the agent prepares the swap completely and refuses to commit it. It calls Export Report in CSV against the current cube to capture the before state, counts the rows in the incoming file, and posts both to the report owner: "Ready to replace the Fulfillment cube. Current cube backs 6 saved reports and last rendered at 41,208 rows. Incoming file has 12,940 rows, and the earliest date in it is 2026-05-01 rather than 2025-01-01. Import, or hold?" A row count that collapsed by two thirds is the kind of thing a person spots in a second and a scheduled job never spots at all. The owner answers, and only then does the agent call Import CSV to Cube. This is the digital andon cord in its plainest form: the agent noticed that something upstream looked wrong and stopped the line rather than propagating it into every report the company reads.
Agent Capabilities
9 actionsReports
4- Export Report Renders a saved report and returns it in the requested format. Text formats, HTML, CSV, and JSON, come back as content, while binary formats, PDF, Excel, Excel PivotTable, and PNG, come back as a base64 data URI. Optional report parameter overrides filter the report at export time, which requires an Advanced publishing plan on SeekTable Cloud.
- Get Report Retrieves metadata for a single report including its name, report type of pivot or table, and full JSON configuration. Call it when a flow needs to confirm that the report still measures what a threshold assumed it measured.
- List Reports Returns metadata for every report in the authenticated account including report IDs, names, and types. Resolve reports by name through this action rather than hardcoding an id that will outlive the person who chose it.
- Share Report by Email Renders a report and emails it to a recipient, embedding it as HTML in the message body, attaching it in one or more export formats, or both, with optional parameter overrides applied before sending. One call for render and delivery, which also means one call that reaches people outside the flow.
Dashboards
1- Export Dashboard Renders a dashboard, a collection of reports, to PDF or Excel and returns it as a base64 data URI. The right call when the audience needs the whole picture rather than one measure.
Cubes
3- List Cubes Returns metadata for every cube in the authenticated account. Cubes are the datasets that reports are built on, so this is how a flow discovers what data is actually available and under which id.
- Get Cube Retrieves metadata for a single cube including its name and configuration. Worth calling as a precondition before any write, so a flow proves it is pointed at the cube it intends.
- Import CSV to Cube Uploads CSV content to an existing cube, replacing its data. Provide the raw CSV text including the header row. This is the one destructive action in the connector, and it changes every report built on the cube at once.
Account
1- Get Account Backup Returns a full JSON backup of the authenticated account, optionally including workspaces, dashboards, and team data. Useful for archiving and migration, and the nearest thing available to a restore point before a cube import.
Frequently Asked Questions
What can FlowRunner do with SeekTable?
FlowRunner agents can run Export Report, Get Report, and List Reports in SeekTable, plus 6 more actions.
Does connecting SeekTable to FlowRunner require OAuth?
No. SeekTable connects to FlowRunner with an API key, no OAuth flow required.
Can SeekTable trigger a FlowRunner workflow automatically?
SeekTable doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with SeekTable
$100 in credits. No card required. Connect in minutes.