Question

Looker Actions - Airtable

  • 5 January 2018
  • 9 replies
  • 1794 views

Userlevel 1

Looker Actions - Airtable


Looker is launching an Airtable Action that will allow sending data directly to an Airtable base from within Looker. This action will let Looker customers push data directly into a table with an established schema for use within Airtable, on a one-off or scheduled basis.


Enable the Airtable Action


Note: Your Looker instance must be on Looker 5.6 or higher.




  1. To enable the action in Looker, go to your Admin panel. Then in the Platform section, click the Actions Tab. (Admin > Platform > Actions).




  2. Select “Enable” on the Action that you would like to enable.




  3. In Airtable, navigate to your Airtable account page. [https://airtable.com/account].




  4. On the Airtable account page, generate and copy an API key.




  5. On the Looker Actions page, paste your Airtable API key into the Airtable API Key field.




Great, now you’ve set up your API keys so that Looker can communicate with Airtable!


Send Data to Airtable


Grab Airtable API Information


You’ll need to get some information from Airtable before setting up the Send or Schedule of data from Looker.




  1. In your Airtable API page select the Base you want to send data to [https://airtable.com/api].




  2. Select the base present in the URL and copy it.




For example, the base would be appXXJyTxBBHH6CbR in this API URL:

[https://airtable.com/appXXJyTxBBHH6CbR/api/docs#curl/introduction]



  1. Scroll to find the Airtable table you want to send data into. You’ll need to specify that table later.


In this example, you will send data to the Users table.



Create and Send or Schedule a Report




  1. In Looker, view a Look or explore data to see the data you want to send to Airtable.




  2. Then start to send the data now or schedule the data to be sent later or periodically.




  3. In the Send or Schedule window’s Destination field, select “Airtable”.




  4. In the Airtable Base field, paste the Airtable base that you copied in a prior step.




  5. In the Airtable Table field, type the name of the table that should receive this data. In the following example, the data will be sent to the Users table.




  6. Click Send.

    Your data will be sent to Airtable and displayed in the Airtable table!




9 replies

Update: I realize now that, based on my second question below, this is due to how data is appended to the table. The table starts out with 3 blank rows and Looker is appending to that.


This integration with Airtable is fantastic! One odd thing I’ve noticed is that the data I send always begins with 3 empty rows in Airtable. This isn’t a huge deal but I wanted to point it out. See screenshot below:


One other question: it looks like the data is appended to the Airtable table rather than overwriting the data. Is there a way to have this action update Airtable based on primary key? If not, Airtable ends up with a bunch of duplicated rows, which makes the scheduling aspect less useful. My goal is to enable syncing between a Look and Airtable Base for workflow purposes. The Google Sheets sharing enables this by simply overwriting everything on refresh.

Userlevel 3

Hey there @favrot, this is something that would need to be configured on the Airtable side of the connection, Looker is just sending data, Airtable decides how to handle it. I’ve found a lively discussion on the issue of de-duplication in the Airtable forums here: https://community.airtable.com/t/record-duplication-detection-deduping-and-duplicate-merging/340/49 there seem to be a few workarounds that people have found useful. Since the Looker side of things is a very simple webhook there’s no logic for only exporting unexported records.

Got it, that makes sense. I thought I’d provide an update to how I’m dealing with this for now:



  • For an events-type table, I can send data once per day (or whatever time period makes sense) and filter the look to only pull data from the previous day. The simple append to Airtable work fine for that case since I’m updating only new data at regular intervals.

  • I don’t yet have a good solution for the case where I want to update data in Airtable in place. The benefit of the Google Sheets import is that the entire Look is pulled in on refresh and so I don’t worry about duplicates. So in this case, I still have to use Google Sheets.


Ultimately, my goal is to enable simple workflows on top of data that’s coming from Looker. We have so many cases where it’s not worthwhile to build software. I’d much prefer to enable my teammates to build what they need themselves. That’s why I’m (cautiously) excited about Airtable. Google Sheets works reasonably well but really lets people get into trouble if they aren’t well versed in the pitfalls of spreadsheets.

Is there a way to go the other way and import an airtable table into looker so I can create looks around it?

Userlevel 7
Badge +1

Hey @cjr! The general rule of “can I reference this data in Looker?” is:


If it’s in a SQL database- yes!

If it’s not in a SQL database - no!


Looker sits on top of databases and talks to them directly. You can totally ETL airtable data into a database (googling gives this resource: https://www.xplenty.com/integrations/airtable/), but Looker can’t directly reference it from airtable.

Thank you Izzy, makes sense!

Does this still work?

Being trying to sync to Airtable following the guide with no luck, can’t see any error reported or clues to what I might be doing wrong.

Can anyone help?
 

Does this still work?

Being trying to sync to Airtable following the guide with no luck, can’t see any error reported or clues to what I might be doing wrong.

Can anyone help?
 

I havent heard of this before, but I am finding success with the Beta test of Emailed CSV to syncd table. Reach out to your AirTable rep for more info.

 

basically i send a daily report to an airtable hosted email and it Trunc+Loads the data into AT.

Reply