Tables
Every column type, searching and filtering, security, a table as an API, importing.
Column: text
Text is the default kind of column: names, descriptions, licence plates, anything you do not calculate with. You add a required text column to a table of work orders, fill in a row and see what Flow does when the text is missing.
Column: number
A Number column is for anything you calculate with that can have decimals: amounts, weights, kilometres. Flow stores it as a real number, so a workflow can calculate with it and you can sort and filter on it properly. You add an amount to a table of quotes.
Column: whole number
A Whole number is for counts that are never half: items in stock, number of people, a sequence number. Flow does not allow decimals in it. You keep track of the stock of a bike shop.
Column: date
A Date column stores a day, without a time: a delivery date, a date of birth, the due date of an invoice. You pick it with a date picker, and Flow always stores it the same way (year-month-day), so sorting and comparing are right. You add a delivery date to orders.
Column: date and time
A Date and time column stores a moment: an appointment, the time of a delivery, when something came in. You schedule an appointment in the workshop.
Column: yes / no
A Yes / no column is a tick box per row: under warranty or not, paid or not, newsletter or not. You record for repairs whether they fall under the warranty.
Column: choice from fixed values
A Choice column may only hold the values you fix, such as a kind, a category or a branch. On the data screen it becomes a drop-down list: no typing errors, and filtering always works. You sort repairs by kind of work.
Column: status with a course
A Status column has fixed values and a course: at which value a new row starts and which step may follow which. Flow guards that course for everyone (people, workflows and your API) and writes every status change to the audit log. You follow requests for a test ride.
Change and delete rows
Under Data you work directly in the rows of a table, as in a spreadsheet: you change a cell, save that row, or delete a row. Flow checks every change with the same rules as when adding. You update a bike shop's price list.
Table from an Excel file
Flow reads Excel files (.xlsx) too. If the file has several sheets, you pick the one with the data. Flow recognises dates, amounts, counts, yes/no cells and times from what Excel stores in them, whatever the language of the spreadsheet. You read in September's services, exported from the till.
Two people in one table
When a colleague works in the same table at the same time, you see it at once. When they add or remove rows, your table follows by itself and one calm line says who did what. When your colleague removes the very row you were changing, you do not lose your change: Flow says so and puts it back as a new row with one click. And when someone changes the columns, your table adapts and you see what changed. When you both change the same field, Flow asks at that field which value stays (see Building together in Flow).
Column: JSON
A JSON column stores a structured value in one cell: an object with fields, or a list. Handy for what differs per row, such as the parts of a repair or the raw answer from another system. For what you want to filter or sort on, ordinary columns are better.
Search and filter in a table
With the Table step a workflow fetches exactly the rows it needs. With Only rows where… you set conditions that must be equal; for ‘contains’, ‘at least’, ‘one of’ and ‘not’ you use the advanced configuration. In a bike shop's customer questions you look for the open questions about brakes from 50 euros.
A table's security
On a table's Security tab you set how sensitive the data is, whether other modules may use the table, and who may read and change the rows: per role, and separately for consumers through the API and for workflows. You protect a table of customer details.
Publish a table as an API
With one click a table gets the standard REST endpoints: a list (with a filter per column), get one row, add, update and delete. They are ordinary endpoints on an API you already have: they inherit that API's security policy and appear in the OpenAPI description. You open up the bikes for sale to a web shop.