How to send data to Parabola from Bubble with webhooks, and from Parabola to Bubble

Hi Parabola x Bubble Squad :wave:

Wanted to share some guidance on connecting Parabola and Bubble through our API connectors!

Authenticating Bubble

Bubble is authorized with an API key. You can retrieve this key in Bubble by going to SettingsAPIGenerate API Key within your Bubble App

  • In Parabola, under the “Authentication” section of our API steps, you can set the Auth type to “Bearer Token”, and paste your token in the box below
  • Also be sure to install the “API Connector” plugin from the Bubble plugin tab
  • While on the API tab, you’ll also want to check the boxes for all data objects you’d like to make accessible through API under the Enable Data API section, and also check the box that says Use field display for ID instead of ID for key names

NOTE: You can work with the API while on a Free Bubble plan if you’re testing with your development database, as indicated by the version-test part of the API endpoint URL. If you wish to use the API on your live Bubble app, you’ll need a paid plan.

Send data from Bubble to Parabola using a Webhook
  • Get your Parabola webhook URL, and initialize your call after setting up your API Connector, as seen below

  • In your workflows in Bubble, select the Plugin action “Parabola - Parabola” and enter the appropriate JSON in the “(param.) message” input field using dynamic Bubble values (ex. “Current User’s phone number’s value”)

Pull Data from Bubble to Parabola using the "Pull from API" Step
  • Pagination: By default, the first 100 rows will be returned by the API until you add pagination settings. You can add these settings for cursor-based pagination in the “Pagination” tab to return additional data. If you’re still not pulling in all rows, you can increase the “Max pages to fetch”

Screen Shot 2021-07-06 at 11.11.00 AM

  • Rate Limiting: Requests are rate-limited by default to 1,000 requests/minute per application and version (live / development)
Send data from Parabola to Bubble

Configuring Bubble’s API

  • The dev endpoint and live endpoints are different - the dev endpoint will include ‘version-test.’ You can test the API with a free Bubble plan, but will need to upgrade in order to access live endpoints

  • The endpoint should end in “/obj/keyname” (ex. if I have a data type called “video,” my endpoint should end in “/obj/video”)

  • In Bubble, check the proper boxes under ‘Settings’ → ‘API’ to enable Data API, and also enable the appropriate resources. Also be sure to check the box that says “use field display instead of ID for key name.” If you don’t, Parabola will be unable to find the resource. This tab is also where you can generate an API key, which can be placed in the Authentication tab of the Parabola export step as a Bearer token

  • Under “Data” → “Privacy,” be sure to set privacy settings for the resources that you plan to create/ modify/ delete

  • You may also need to provide a Google Geocode API key and Google Map API key under the “Settings” → “General” tab in order to properly access your API

Configuring Parabola

  • Creating or Deleting fields in Bubble: Use a POST or DELETE request

  • Updating fields in Bubble: You can use a PATCH request to update fields in Bubble in your “Send to API” step. In the API Endpoint URL, you can add “{_id}” to the end of the request to specify the object to be updated (ex. /obj/videos/{_id}). Feel free to reference Bubble’s documentation here on PATCH requests.

NOTE: to get the record’s unique Bubble ID, you can use the “Pull from API” step to pull in the data with IDs, and then use the “Combine Tables” step to combine your new data with the existing IDs.

  • Trying to create new object in bulk? Check out Bubble’s “Bulk create new things” endpoint

  • Request Body: In Parabola, in the “Send to API” step, the “Request Body” is where you ‘map’ fields in Bubble to Parabola columns. This text box should include JSON like so:

{
	"dish": "{dish Title}",
	"url": "{Path URL}",
	"handle": "{handle}",
	"creatorID": "{message User}"
}

In this example, “dish” is an attribute in Bubble, and “{dish Title}” is a column in Parabola. To help format your JSON, reference a tool such as https://jsonlint.com/.

Good luck using Parabola to enrich and manipulate your Bubble data! Feel free to reply to this post with any questions or recommendations on how this post can be improved.

1 Like