> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# bubble

> Bubble API

**Server path:** `/bubble` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                  | Description                 |
| ----------------------------------------------------- | --------------------------- |
| [`bubble_create_record`](#bubble_create_record)       | Create a new record         |
| [`bubble_delete_record`](#bubble_delete_record)       | Delete a record             |
| [`bubble_get_record`](#bubble_get_record)             | Get a single record         |
| [`bubble_list_records`](#bubble_list_records)         | List records of a data type |
| [`bubble_replace_record`](#bubble_replace_record)     | Replace a record            |
| [`bubble_trigger_workflow`](#bubble_trigger_workflow) | Trigger an API workflow     |
| [`bubble_update_record`](#bubble_update_record)       | Update a record             |

***

## bubble\_create\_record

Create a new record

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                                                                                                 |
| ---------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `dataType` | string | Yes      | —       | The name of the Bubble data type to create a record for (e.g., 'user', 'product').                                                          |
| `body`     | object | Yes      | —       | Key-value pairs of field names and values for the new record. Field names and types are specific to your Bubble app's data type definition. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataType": {
        "type": "string",
        "description": "The name of the Bubble data type to create a record for (e.g., 'user', 'product')."
      },
      "body": {
        "type": "object",
        "description": "Key-value pairs of field names and values for the new record. Field names and types are specific to your Bubble app's data type definition."
      }
    },
    "required": [
      "PCID",
      "dataType",
      "body"
    ]
  }
  ```
</Expandable>

***

## bubble\_delete\_record

Delete a record

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                 |
| ---------- | ------ | -------- | ------- | ----------------------------------------------------------- |
| `dataType` | string | Yes      | —       | The name of the Bubble data type (e.g., 'user', 'product'). |
| `uniqueId` | string | Yes      | —       | The unique ID of the record to delete.                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataType": {
        "type": "string",
        "description": "The name of the Bubble data type (e.g., 'user', 'product')."
      },
      "uniqueId": {
        "type": "string",
        "description": "The unique ID of the record to delete."
      }
    },
    "required": [
      "PCID",
      "dataType",
      "uniqueId"
    ]
  }
  ```
</Expandable>

***

## bubble\_get\_record

Get a single record

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                 |
| ---------- | ------ | -------- | ------- | ----------------------------------------------------------- |
| `dataType` | string | Yes      | —       | The name of the Bubble data type (e.g., 'user', 'product'). |
| `uniqueId` | string | Yes      | —       | The unique ID of the record to retrieve.                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataType": {
        "type": "string",
        "description": "The name of the Bubble data type (e.g., 'user', 'product')."
      },
      "uniqueId": {
        "type": "string",
        "description": "The unique ID of the record to retrieve."
      }
    },
    "required": [
      "PCID",
      "dataType",
      "uniqueId"
    ]
  }
  ```
</Expandable>

***

## bubble\_list\_records

List records of a data type

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                 |
| ------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dataType`    | string  | Yes      | —       | The name of the Bubble data type to query (e.g., 'user', 'product', 'order').                                                                                                                                                                                                               |
| `cursor`      | integer | No       | —       | Pagination offset — the index of the first item to return (0-based).                                                                                                                                                                                                                        |
| `limit`       | integer | No       | —       | Maximum number of records to return per page (max 100).                                                                                                                                                                                                                                     |
| `sort_field`  | string  | No       | —       | Field name to sort results by (e.g., 'Created Date', 'Modified Date', or any custom field).                                                                                                                                                                                                 |
| `descending`  | boolean | No       | —       | Set to true for descending sort order, false for ascending.                                                                                                                                                                                                                                 |
| `constraints` | string  | No       | —       | JSON array of filter constraints. Each constraint is an object with 'key' (field name), 'constraint\_type' (e.g., 'equals', 'text contains', 'greater than', 'is\_empty', 'in', 'contains'), and optionally 'value'. Example: \[\{"key":"name","constraint\_type":"equals","value":"John"}] |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataType": {
        "type": "string",
        "description": "The name of the Bubble data type to query (e.g., 'user', 'product', 'order')."
      },
      "cursor": {
        "type": "integer",
        "description": "Pagination offset — the index of the first item to return (0-based)."
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of records to return per page (max 100)."
      },
      "sort_field": {
        "type": "string",
        "description": "Field name to sort results by (e.g., 'Created Date', 'Modified Date', or any custom field)."
      },
      "descending": {
        "type": "boolean",
        "description": "Set to true for descending sort order, false for ascending."
      },
      "constraints": {
        "type": "string",
        "description": "JSON array of filter constraints. Each constraint is an object with 'key' (field name), 'constraint_type' (e.g., 'equals', 'text contains', 'greater than', 'is_empty', 'in', 'contains'), and optionally 'value'. Example: [{\"key\":\"name\",\"constraint_type\":\"equals\",\"value\":\"John\"}]"
      }
    },
    "required": [
      "PCID",
      "dataType"
    ]
  }
  ```
</Expandable>

***

## bubble\_replace\_record

Replace a record

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                                  |
| ---------- | ------ | -------- | ------- | ---------------------------------------------------------------------------- |
| `dataType` | string | Yes      | —       | The name of the Bubble data type (e.g., 'user', 'product').                  |
| `uniqueId` | string | Yes      | —       | The unique ID of the record to replace.                                      |
| `body`     | object | Yes      | —       | Complete set of field names and values. Fields not included will be cleared. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataType": {
        "type": "string",
        "description": "The name of the Bubble data type (e.g., 'user', 'product')."
      },
      "uniqueId": {
        "type": "string",
        "description": "The unique ID of the record to replace."
      },
      "body": {
        "type": "object",
        "description": "Complete set of field names and values. Fields not included will be cleared."
      }
    },
    "required": [
      "PCID",
      "dataType",
      "uniqueId",
      "body"
    ]
  }
  ```
</Expandable>

***

## bubble\_trigger\_workflow

Trigger an API workflow

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                                                                                          |
| -------------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `workflowName` | string | Yes      | —       | The URL-friendly name of the API workflow to trigger (e.g., 'send-email', 'process-order'). Found in the Bubble editor's API workflow configuration. |
| `body`         | object | No       | —       | Key-value pairs of workflow parameters. Parameter names and types are defined in the Bubble workflow configuration.                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "workflowName": {
        "type": "string",
        "description": "The URL-friendly name of the API workflow to trigger (e.g., 'send-email', 'process-order'). Found in the Bubble editor's API workflow configuration."
      },
      "body": {
        "type": "object",
        "description": "Key-value pairs of workflow parameters. Parameter names and types are defined in the Bubble workflow configuration."
      }
    },
    "required": [
      "PCID",
      "workflowName"
    ]
  }
  ```
</Expandable>

***

## bubble\_update\_record

Update a record

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                                      |
| ---------- | ------ | -------- | ------- | -------------------------------------------------------------------------------- |
| `dataType` | string | Yes      | —       | The name of the Bubble data type (e.g., 'user', 'product').                      |
| `uniqueId` | string | Yes      | —       | The unique ID of the record to update.                                           |
| `body`     | object | Yes      | —       | Key-value pairs of field names and new values. Only included fields are updated. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataType": {
        "type": "string",
        "description": "The name of the Bubble data type (e.g., 'user', 'product')."
      },
      "uniqueId": {
        "type": "string",
        "description": "The unique ID of the record to update."
      },
      "body": {
        "type": "object",
        "description": "Key-value pairs of field names and new values. Only included fields are updated."
      }
    },
    "required": [
      "PCID",
      "dataType",
      "uniqueId",
      "body"
    ]
  }
  ```
</Expandable>
