Bubble n8n integrationAutomate Bubble with n8n.
Your Bubble app holds the data, n8n moves it. The Bubble n8n integration runs on the Data API and exposes one object resource with 5 operations: create, get, get many, update, delete. No trigger node ships for Bubble, so a Schedule Trigger or an incoming webhook starts the run.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Bubble n8n integration really give you?
The Bubble n8n integration talks to the Data API of your app, the endpoint Bubble opens on the object types you built in the editor. The node carries a single resource, Object, and 5 operations that create, read, update and delete records. Authentication runs on an API key stored as a credential, meaning a saved connection n8n reuses in every workflow without retyping the token.
Take a lead capture that happens outside the app. A row lands in Google Sheets, n8n reads it, and object.create writes a record of the type Lead in Bubble with the email and the source already filled. The app treats it like any record a user created, so your existing pages and workflows display it without a single change in the editor.
Nightly reporting works the other way around. object.getAll pulls every record of a type with Return All enabled, and the result goes to Postgres for the analytics team, or to a spreadsheet the finance side already reads. Filters narrow the pull before it leaves Bubble, which keeps the run short when the type holds months of history.
Status changes are the third common pattern. A support tool or a payment provider fires an event, n8n fetches the matching record with object.get, writes the new state with object.update, then posts a line in Slack so nobody refreshes a dashboard waiting for it. Two operations and one message replace a manual check.
Anything the Data API does beyond these 5 operations belongs to the HTTP Request node. It calls any endpoint of the API and reuses the same Bubble credential through predefined authentication, with no second credential to set up. Reach for it when an endpoint exists in Bubble's documentation but not in the node's operation list.
Two limits are worth knowing before you build. Bubble requires a paid plan for API access, and the Data API has to be enabled in the app settings, otherwise every call fails. There is also no Bubble trigger node, so the workflow starts elsewhere, a point covered in the n8n review alongside the rest of the platform, and in more depth during the n8n training.
How do you connect Bubble to n8n?
- 01
Open the Data API on your app
In Bubble, open your app, select Settings in the left navigation, then the API tab. In the Public API Endpoints section, check Enable Data API. The page then shows the Data API root URL, something like
https://n8n-integration.bubbleapps.io/version-test/api/1.1/obj. Keep that page open, the next step reads two values from it. - 02
Generate the API token and read the App Name
Still on the API tab, select Generate a new API token, give it an API Token Label such as
n8n integration, and copy the Private key. That value goes into the API Token field of the n8n credential. For App Name, take the part of the root URL betweenhttps://and.bubbleapps.io, which readsn8n-integrationin the example above. - 03
Pick the environment and the hosting
In n8n, set Environment to Development for an app you have not deployed, the one served under
/version-test, or to Live for a deployed app. Then set Hosting: Bubble Hosting if you stayed on the bubbleapps.io address, or Self Hosted plus your custom Domain if the app answers on your own domain.
What the Bubble node can do
The Bubble node exposes 5 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
Operations index
Object
5 operationsCreate an object
object.createWhat you see in n8n
Notes & use cases
Writes a new record of one of your data types and returns the identifier Bubble assigns to it, which you can reuse in the following nodes.
Key parameters
- Type Name: the name of the data type to create, spelled as it appears in the Bubble editor.
- Properties: the fields to fill, added one by one through
Add Property, often with values coming from the previous node such as{{ $json.email }}.
Delete an object
object.deleteWhat you see in n8n
Notes & use cases
Removes one record from a data type. The deletion is immediate on the app your credential points to, so there is nothing to undo afterwards.
Key parameters
- Type Name: the data type the record belongs to.
- Object ID: the identifier of the record, not its title or its name, usually passed from an earlier node as
{{ $json._id }}.
Get an object
object.getWhat you see in n8n
Notes & use cases
Reads a single record and returns its fields, which lets a workflow decide what to do next instead of guessing the current state.
Key parameters
- Type Name: the data type to read from.
- Object ID: the identifier of the record to retrieve, the value Bubble returned when the record was created.
Get many objects
object.getAllWhat you see in n8n
Notes & use cases
Lists the records of a data type, in one item per record, ready to loop over.
Key parameters
- Type Name: the data type to list.
- Return All: enabled, n8n walks the API pages until every record is back; disabled, Limit caps how many come through.
- Filters: search constraints added through
Add Filter, or the raw version in Filters (JSON) when JSON Parameters is on. - Sort: the order the records come back in.
Update an object
object.updateWhat you see in n8n
Notes & use cases
Changes the fields you name on an existing record and leaves every other field untouched.
Key parameters
- Type Name: the data type holding the record.
- Object ID: the identifier of the record to update.
- Properties: the fields to rewrite, added with
Add Property; a field you leave out keeps its current value.
Need help automating Bubble with n8n?
A person reads every message.



