Specify a condition that your workflow must meet and whether you'd like to proceed or end workflow execution.
Emit an event for each new or modified record in a table
Emit an event for each new or modified record in a view
Emits an event each time a record is added, updated, or deleted in an Airtable table. Supports tables up to 10,000 records
Continue workflow execution only if a condition is met
Create one or more records in a table by passing an array of objects containing field names and values as key/value pairs.
Retrieve records from a table with automatic pagination. Optionally sort and filter results.
The Filter API is a great way to build powerful workflows that can manipulate
and transform data. Here are some examples of what you can build using the
Filter API:
export default defineComponent({
async run({ steps, $ }) {
let condition = false
if (condition == false) {
$.flow.exit("Ending workflow early because the condition is false")
} else {
$.export("$summary", "Continuing workflow, since condition for ending was not met.")
}
},
})
Using the Airtable API, you can build applications that can:
module.exports = defineComponent({
props: {
airtable: {
type: "app",
app: "airtable",
},
baseId: {
type: "$.airtable.baseId",
appProp: "airtable",
},
tableId: {
type: "$.airtable.tableId",
baseIdProp: "baseId",
},
},
async run({steps, $}) {
const Airtable = require('airtable');
const base = new Airtable({apiKey: this.airtable.$auth.api_key}).base(this.baseId);
const data = []
await base(this.tableId).select({
// pass optional config parameters here
}).eachPage(function page(records, fetchNextPage) {
// This function (`page`) will get called for each page of records.
records.forEach(function(record) {
data.push(record._rawJson)
});
// To fetch the next page of records, call `fetchNextPage`.
// If there are more records, `page` will get called again.
// If there are no more records, `done` will get called.
fetchNextPage();
})
return data
},
})