# Exporting data from Bubble to Airtable

**URL:** <https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308>\
**Category:** Ask a question\
**Tags:** Using-APIs, Building-Flows\
**Created:** [April 7, 2020, 3:13pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308 "2020-04-07T15:13:54Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Saher\_Shodhan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/saher_shodhan/32/200_2.png) [@Saher\_Shodhan](https://community.parabola.io/u/Saher_Shodhan)\
**Post date:** [April 7, 2020, 3:13pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/1 "2020-04-07T15:13:54Z")

</div>

Hi all,

New here so please let me know if I’m breaking any forum rules.

I’ve seen quite a few recipes that connect Airtable to Bubble, however most of these recipes take data from Airtable and upload to Bubble. Does anyone know how to set it up the other way around?

I currently have a database on Bubble that I would like to sync to Airtable. Any help would be most appreciated and I’d be happy to pay someone to help us get this set up.

Many thanks,  
Saher

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 7, 2020, 10:31pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/2 "2020-04-07T22:31:00Z")

</div>

Hey Saher! Welcome to the Parabola Community! Your use case is certainly possible with Parabola.

Have you managed to get data into Parabola from your Bubble app? If not, search for Bubble on the righthand Steps sidebar and drag in the Bubble Import Beta step. You need to update the Endpoint URL with your app name and object name. You’ll also want to paste in your API Key in the `Bearer Token` field.

For exporting data _to_ Airtable, you’ll use our generic API Export step. The Endpoint URL will look something like this:  
`https://api.airtable.com/v0/appxxxxxxx/yyy`  
Make sure to update the URL with your App ID and specify your endpoint.

The Authentication Method will be `Bearer Token`. You’ll paste in your API Key into the `Bearer Token` field.

Hope that helps get you started. Let me know how that goes!

---

<div class="post-metadata">

**Author:** ![temirlan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/temirlan/32/44_2.png) [@temirlan](https://community.parabola.io/u/temirlan)\
**Post date:** [April 8, 2020, 2:18pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/4 "2020-04-08T14:18:22Z")

</div>

Yup! I’ve created a one way sync from MongoDB to Airtable with the API Export as the last step. After some trial & error, works like charm!

In your Airtable base, click on “help” → API Documentation and it will generate the exact JSON that you need to use!

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 16, 2020, 4:53pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/6 "2020-04-16T16:53:50Z")

</div>

Hi Jan - The Body should look something like this:

```auto
 {
      "fields": {
        "Name of Airtable Field": "{Name of Parabola Column}",
        "Name of Airtable Field 2": "{Name of Parabola Column 2}"
      }
    }

```

For your case, I would imagine it would look something like this:

```auto
{
      "fields": {
        "id": "{Name of Parabola Column containing Airtable ID}",
        "Units": "{Name of Parabola Column containing the Units data}"
      }
    }

```

Does that help?

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 17, 2020, 5:13pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/9 "2020-04-17T17:13:39Z")

</div>

Ah, if you just have a single API Export step on your flow, Parabola won’t actually export anything - You need to have at least one import step so Parabola has some data to send through. If you look at the Run History in your published dashboard, you’ll see that we exported 0 rows.

Here’s what I recommend doing:

1. Use our [Airtable Source](https://parabola.io/sources/airtable-source) to import that Airtable base you’re trying to update. We might not end up using this step in your flow but it’s helpful to reference Airtables column names
2. Use our [CSV File step](https://parabola.io/sources/local-file-import) to import a sample CSV that you’ll use to update your Airtable. You should make sure to have the columns: `SKU` and `FBA Stock`
3. Connect your CSV File step to your API Export. When you do that, you’ll see two tabs appear in the step: `Input` and `Results`. This is how you’ll be able to see the data Parabola is sending to Airtable

Let me know once you have that set up, and I can help you finish configuring your API Export!

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 18, 2020, 11:26pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/11 "2020-04-18T23:26:30Z")

</div>

You’re getting close! I think I misunderstood your initial question. You were on the right track in including the record id in your body.

Just to confirm, you’re trying to update FBA Stock, but all the SKUs already exist in your existing Airtable right? Meaning, you’re using `PATCH` to update records instead of `POST` to create new records?

In that case, you’ll want to use the Join step to combine your CSV File with your Airtable Import. That way, you can add the Airtable id into your CSV File. This is how we’ll tell Airtable which record to update.

Connect your CSV File and then your Airtable Import step into a Join step like so:

 ![Screen Shot 2020-04-18 at 4.19.35 PM](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/2fb8e842b1b828a6fde736cecf03010ad0eb3bd9.png)

Configure that Join step to match up your rows by SKU. Make sure your Primary Table is the CSV File. Now, you should see the Airtable records id added as a column to your table.

Once you have that, your API Export Body should actually looks like this:

```auto
{
  "records": 
  [
    {
      "id":"{id}",
      "fields": 
        {
          "SKU":"{SKU}"
          "FBA Stock":{FBA Stock}
        }
    }
  ]
}

```

Let me know how that goes!

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 19, 2020, 5:56pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/13 "2020-04-19T17:56:57Z")

</div>

It looks like you need to filter out the rows that have a blank id.

If you look at the sent data you got back in the error message, you’ll see that we tried sending `"id":""` since there’s no ID attached to the `SKU: "HU-UI84-F37D"`

To be able to use a `PATCH`, all records will need an ID. If you’re adding new SKUs, you’ll want to use a `POST` to _create_ new records for those instead.

---

<div class="post-metadata">

**Author:** ![brian](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/brian/32/11_2.png) [@brian](https://community.parabola.io/u/brian)\
**Post date:** [April 20, 2020, 6:41pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/15 "2020-04-20T18:41:02Z")

</div>

Hey Jan!

Just reset your credits.

If the Airtable API docs have any values not wrapped in quotes, then you should omit them from Parabola as well.

Most likely, Parabola is picking up the blank value in your last row when you remove the quotes.

Without quotes in the JSON, you need to have the word `null` instead of a blank. So, use the Regex step, use `^$` as the expression, and replace it with the word `null`. Apply that to any column that you need to send without quotes!

Let me know If that fixes it.

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 21, 2020, 4:14pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/17 "2020-04-21T16:14:35Z")

</div>

It looks like the values in your `FBA Prep. Stock` column has a space in lieu of a comma, like this: `1 000`.

To fix this, in the same RegEx step that you’ve already added, can you add this rule:

 ![Screen Shot 2020-04-21 at 9.10.12 AM](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/c2de72425d237e8e9a1cb982ee90c415460261ff.png)

This will remove anything that’s not a digit from that column.

Heads up: Since the RegEx step applies the rules from top to bottom, you’ll need to add this rule _above_ the rule this rule:

 ![Screen Shot 2020-04-21 at 9.13.05 AM](https://us1.discourse-cdn.com/flex020/uploads/parabola/original/1X/2b4e55789994e2e2f05f3f58fed6e07aa7379d74.png)

Since you can’t rearrange the order of rules yet, you’ll need to do a little rebuilding of that step.

Keep us posted on how that goes!

---

<div class="post-metadata">

**Author:** ![sachi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.parabola.io/sachi/32/10_2.png) [@sachi](https://community.parabola.io/u/sachi)\
**Post date:** [April 22, 2020, 3:40pm UTC](https://community.parabola.io/t/exporting-data-from-bubble-to-airtable/308/19 "2020-04-22T15:40:34Z")

</div>

Woohoo! No problem, Jan!
