Browserless

Powerful browser automation built for developers

Integrate the Browserless API with the Airtable API

Setup the Browserless API trigger to run a workflow which integrates with the Airtable API. Pipedream's integration platform allows you to integrate Browserless and Airtable remarkably fast. Free for developers.

Generate PDF from HTML String with Browserless API on New or Modified Records from Airtable API
Airtable + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New or Modified Records in View from Airtable API
Airtable + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New Records from Airtable API
Airtable + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New Records in View from Airtable API
Airtable + Browserless
 
Try it
Generate PDF from HTML String with Browserless API on New, Modified or Deleted Records from Airtable API
Airtable + Browserless
 
Try it
New or Modified Records from the Airtable API

Emit an event for each new or modified record in a table

 
Try it
New or Modified Records in View from the Airtable API

Emit an event for each new or modified record in a view

 
Try it
New Records from the Airtable API

Emit an event for each new record in a table

 
Try it
New Records in View from the Airtable API

Emit an event for each new record in a view

 
Try it
New, Modified or Deleted Records from the Airtable API

Emits an event each time a record is added, updated, or deleted in an Airtable table. Supports tables up to 10,000 records

 
Try it
Generate PDF from HTML String with the Browserless API
 
Try it
Create single record with the Airtable API

Adds a record to a table.

 
Try it
Take a Screenshot with the Browserless API
 
Try it
Create Multiple Records with the Airtable API

Create one or more records in a table by passing an array of objects containing field names and values as key/value pairs.

 
Try it
List Records with the Airtable API

Retrieve records from a table with automatic pagination. Optionally sort and filter results.

 
Try it

Connect Browserless

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import puppeteer from 'puppeteer-core@14.1.0';

export default defineComponent({
  props: {
    browserless: {
      type: "app",
      app: "browserless",
    }
  },
  async run({steps, $}) {
    // See the browserless docs for more info:
    // https://www.browserless.io/docs/
    const browser = await puppeteer.connect({ 
      browserWSEndpoint: `wss://chrome.browserless.io?token=${this.browserless.$auth.api_key}` 
    })
    const page = await browser.newPage()
    
    const url = "https://example.com"
    const type = "png"
  
    await page.goto(url)
    const screenshot = await page.screenshot()
    
    // export the base64-encoded screenshot for use in future steps,
    // along with the image type and filename
    $.export("screenshot", Buffer.from(screenshot, 'binary').toString('base64'))
    $.export("type", type)
    $.export("filename",`${url.replace(/[&\/\\#, +()$~%.'":*?<>{}]/g, '_')}-${+new Date()}.${type}`)
    
    await browser.close()
  },
})

Connect Airtable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
  },
})

Community Posts

Airtable Webhooks with Slack + Pipedream
Airtable Webhooks with Slack + Pipedream
We love Airtable here at Pipedream. But Airtable lacks one killer feature — webhooks. We took advantage of Airtable’s Slack notifications and built a way to send webhooks to an HTTP endpoint every time a record is created or updated in a base. It takes 10 minutes to setup and it’s free.
Webhooks workaround using Slack
Webhooks workaround using Slack
This has been an open item in the Airtable support community for a few years, see "Webhooks for Records 393" and here 39, & here 28, and we are excited to offer a free solution to the community. Here is the high level solution: Based on the transitive property (A=B and B=C, then A=C), Airtable supports Slack Notifications, and Slack supports webhooks, so Airtable supports webhooks! You just have to know how to set it up correctly. With a simple integration via Pipedream into Slack, all Airtable users can now get near real time notifications of all updated fields and values in Airtable.
Overcoming Airtable Scripting Limitations with Pipedream
Overcoming Airtable Scripting Limitations with Pipedream
How I used Pipedream — Created a workflow having an API endpoint to convert Airtable’s Attachment Image URL to Base64 encode image (to push it to another API). Similarly, there could be a million other use-cases.