PocketBase
List and manage records in PocketBase collections.
On this page
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("pocketbase", "createRecord", {
"collection": "<collection name>",
"recordData": {}
});
if (!res.success) throw new Error(res.error);
ctx.log.info("PocketBase answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "pocketbase-createrecord",
name: "PocketBase: Create Record",
description: "Calls PocketBase when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("pocketbase", {
"action": "createRecord",
"collection": "<collection name>",
"recordData": {}
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/pocketbase/createRecord" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"collection":"<collection name>","recordData":{}}}'Actions
createRecordin catalog
Create Record. Creates a new record in a collection
| Input | Type | Description |
|---|---|---|
collectionrequired | text | The name of the PocketBase collection |
recordDatarequired | JSON | JSON object with the fields to create. E.g.: { "title": "test", "score": 123 } |
expandoptional | text | Auto expand relations. E.g.: relField1,relField2.subRelField |
fieldsoptional | text | Comma separated fields to return. E.g.: *,expand.relField.name |
deleteRecordin catalog
Delete Record. Deletes a single record from a collection
| Input | Type | Description |
|---|---|---|
collectionrequired | text | The name of the PocketBase collection |
recordIdrequired | text | ID of the record to delete |
getFullListin catalog
Get Full List. Gets all the data for a given collection
| Input | Type | Description |
|---|---|---|
collectionrequired | text | The name of the PocketBase collection |
sortoptional | text | Order attribute(s). Use - for DESC, + for ASC. E.g.: -created,id |
filteroptional | text | Filter expression. E.g.: (id='abc' && created>'2022-01-01') |
expandoptional | text | Auto expand relations. E.g.: relField1,relField2.subRelField |
fieldsoptional | text | Comma separated fields to return. E.g.: *,expand.relField.name |
getListin catalog
Get List. Gets a paginated list of records from a collection
| Input | Type | Description |
|---|---|---|
collectionrequired | text | The name of the PocketBase collection |
pageoptional | number | The page (offset) of the paginated list (default: 1) |
perPageoptional | number | Max returned records per page (default: 30) |
sortoptional | text | Order attribute(s). Use - for DESC, + for ASC. E.g.: -created,id |
filteroptional | text | Filter expression. E.g.: (id='abc' && created>'2022-01-01') |
expandoptional | text | Auto expand relations. E.g.: relField1,relField2.subRelField |
fieldsoptional | text | Comma separated fields to return. E.g.: *,expand.relField.name |
skipTotaloptional | boolean | Skip total counts query for faster results (totalItems and totalPages will be -1) |
getRecordin catalog
Get Record. Gets a single record by ID from a collection
| Input | Type | Description |
|---|---|---|
collectionrequired | text | The name of the PocketBase collection |
recordIdrequired | text | ID of the record to view |
expandoptional | text | Auto expand relations. E.g.: relField1,relField2.subRelField |
fieldsoptional | text | Comma separated fields to return. E.g.: *,expand.relField.name |
updateRecordin catalog
Update Record. Updates a single record in a collection
| Input | Type | Description |
|---|---|---|
collectionrequired | text | The name of the PocketBase collection |
recordIdrequired | text | ID of the record to update |
recordDatarequired | JSON | JSON object with the fields to update. E.g.: { "title": "test", "score": 123 } |
expandoptional | text | Auto expand relations. E.g.: relField1,relField2.subRelField |
fieldsoptional | text | Comma separated fields to return. E.g.: *,expand.relField.name |
Details
- Id
pocketbase- Category
- Data and storage
- Tags
- database, backend-as-a-service, open-source, self-hosted
- Package
@activepieces/piece-pocketbase@0.0.2- Tier
- Community