Bubble

Learn how to use Bubble with Composio

Overview

SLUG: BUBBLE

Description

Bubble is a visual programming language and a PaaS developed by Bubble Group.

Authentication Details

full
stringDefaults to https://{{subdomain}}.bubbleapps.io/api/1.1/objRequired
subdomain
stringRequired
bearer_token
stringRequired

Connecting to Bubble

Create an auth config

Use the dashboard to create an auth config for the Bubble toolkit. This allows you to connect multiple Bubble accounts to Composio for agents to use.

1

Select App

Navigate to Bubble.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Bubble Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4bubble_auth_config_id = "ac_YOUR_BUBBLE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Bubble for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, bubble_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Bubble toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BUBBLE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Bulk Create Things

Description

Tool to bulk create multiple Things in Bubble via newline-separated JSON. Use when you need to insert many records at once. Must have Create via API permission.

Action Parameters

custom_domain
string
full_url_override
string
items
arrayRequired
subdomain
string
typename
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Thing

Description

Tool to create a new Thing. Use when providing a complete JSON payload to add a new record.

Action Parameters

custom_domain
string
fields
objectRequired
full_url_override
string
subdomain
string
typename
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Thing By ID

Description

Tool to delete a Bubble Thing by its unique ID. Use when you need to remove a specific record via the Bubble Data API.

Action Parameters

custom_domain
string
full_url_override
string
subdomain
string
typename
stringRequired
uid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Thing By ID

Description

Tool to retrieve a single Thing by its unique ID. Use when you need to fetch a specific record from a Bubble Data Type by providing its type and ID.

Action Parameters

custom_domain
string
full_url_override
string
subdomain
string
typename
stringRequired
uid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Patch Thing By ID

Description

Tool to modify selected fields on a Thing by its unique ID. Use after confirming the Thing exists.

Action Parameters

custom_domain
string
field_updates
objectRequired
full_url_override
string
subdomain
string
typename
stringRequired
uid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Replace Thing by ID

Description

Tool to replace all editable fields on a Thing by its Unique ID. Use when you need a full overwrite of a Thing's fields and reset omitted fields to default.

Action Parameters

custom_domain
string
data
objectRequired
full_url_override
string
subdomain
string
typename
stringRequired
uid
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Download File

Description

Tool to download a file given its URL. Use when you need to retrieve file content and obtain an s3key for subsequent upload tests.

Action Parameters

url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Temp File

Description

Tool to upload bytes as a temporary file to Cloudflare R2 and return an S3 key. Use when you need a short-lived file reference before persisting it in a Thing.

Action Parameters

content
stringRequired
custom_domain
string
full_url_override
string
mimetype
stringRequired
name
stringRequired
subdomain
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload File

Description

Tool to upload a file to Bubble storage. Use when you need to store arbitrary files via Bubble's /fileupload endpoint.

Action Parameters

additional_fields
object
custom_domain
string
file
objectRequired
full_url_override
string
subdomain
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Bubble API Swagger JSON

Description

Tool to retrieve the auto-generated Swagger JSON for enabled APIs. Use after enabling the Swagger file in your Bubble app's API settings.

Action Parameters

custom_domain
string
subdomain
string
swagger_url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get OAuth Access Token

Description

Tool to exchange an authorization code or refresh token for an OAuth2 access token. Use after obtaining an authorization code or when refreshing an expired token.

Action Parameters

additional_body_fields
object
client_id
stringRequired
client_secret
stringRequired
code
string
custom_domain
string
grant_type
string
redirect_uri
stringRequired
refresh_token
string
subdomain
string
token_url_override
string
use_version_test
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: OAuth Authorize

Description

Tool to initiate OAuth2 authorization flow for Bubble. Use when setting up third-party login integration. Returns the URL for user-agent redirection to obtain an authorization code.

Action Parameters

authorize_url_override
string
client_id
stringRequired
custom_domain
string
extra_params
object
redirect_uri
stringRequired
response_type
stringDefaults to code
scope
string
state
string
subdomain
string
use_version_test
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Bubble OAuth Register App

Description

Tool to validate/initialize OAuth application credentials with Bubble. It performs a real call to Bubble's /oauth/authorize endpoint (or provided override) using client_id and redirect_uri to confirm connectivity and returns supplied credentials.

Action Parameters

authorize_url_override
string
client_id
stringRequired
client_secret
string
custom_domain
string
extra_params
object
redirect_uri
stringRequired
subdomain
string
use_version_test
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Trigger Bubble Workflow via GET

Description

Tool to trigger a Bubble API workflow by name using GET. Use after configuring the workflow and its inputs.

Action Parameters

branch
stringDefaults to live
parameters
object
workflow_name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Trigger Bubble Workflow via POST

Description

Tool to trigger a Bubble API workflow by name using POST. Use after configuring the workflow and its inputs.

Action Parameters

branch
stringDefaults to live
parameters
object
workflow_name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired