Looks like a spreadsheet, acts like a database.
Get a URL and emit the full HTTP event on every request (including headers and query parameters). You can also configure the HTTP response code, body, and more.
Get a URL and emit the HTTP body as an event on every request
Emit new event when the content of the URL changes.
Emit an event for each new or modified record in a table
Emit an event for each new or modified record in a view
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.
Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.
Retrieve records in a view with automatic pagination. Optionally sort and filter results.
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
},
})
// To use any npm package on Pipedream, just import it
import axios from "axios"
export default defineComponent({
async run({ steps, $ }) {
const { data } = await axios({
method: "GET",
url: "https://pokeapi.co/api/v2/pokemon/charizard",
})
return data.species
},
})