---
title: "Actions: B"
description: "How to set up each action of the 10 apps starting with B."
label: "B"
generated: "the tool catalog in services/core/src/tool-catalog"
---


Apps starting with B. Add any of these from **Integrations → n8n → Add tools → Browse apps**; see [Set up an action](/build/set-up-actions) for each way a key is sent, and the [catalog index](/reference/actions) for every app.

## BambooHR

- **n8n node:** [BambooHR](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.bamboohr/) (`n8n-nodes-base.bambooHr`, version 1), 15 actions.
- **n8n performs it:** runs on the n8n credential *BambooHR API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/bamboohr/)).
- **Veefore performs it:** 15 of 15 actions, with HTTP basic auth: username API key, password `x` (fixed).
- **You enter:** API key.
- **API address:** `https://api.bamboohr.com/api/gateway.php/{subdomain}/v1`.

**BambooHR in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get a company report | `GET /reports/{reportId}/?format={format}&fd={fd}&onlyCurrent={onlyCurrent}` | `reportId`, `format`, `subdomain`, `fd`, `onlyCurrent` |
| Create an employee | `POST /employees` | `synced`, `firstName`, `lastName`, `subdomain` |
| Get an employee | `GET /employees/directory` | `employeeId`, `subdomain` |
| Get many employees | `GET /employees/directory` | `subdomain` |
| Update an employee | `POST /employees/{employeeId}` | `employeeId`, `synced`, `subdomain` |
| Delete an employee document | `DELETE /employees/{employeeId}/files/{fileId}` | `employeeId`, `fileId`, `subdomain` |
| Download an employee document | `GET /employees/{employeeId}/files/{fileId}/` | `employeeId`, `fileId`, `output`, `subdomain` |
| Get many employee documents | `GET /employees/{employeeId}/files/view/` | `employeeId`, `subdomain` |
| Update an employee document | `POST /employees/{employeeId}/files/{fileId}` | `employeeId`, `fileId`, `subdomain` |
| Upload an employee document | `POST /employees/{employeeId}/files` | `employeeId`, `categoryId`, `binaryPropertyName`, `subdomain` |
| Delete a file | `DELETE /files/{fileId}` | `fileId`, `subdomain` |
| Download a file | `GET /files/{fileId}/` | `fileId`, `output`, `subdomain` |
| Get many files | `GET /files/view` | `subdomain` |
| Update a file | `POST /files/{fileId}` | `fileId`, `subdomain` |
| Upload a file | `POST /files` | `binaryPropertyName`, `categoryId`, `subdomain` |

## Bannerbear

- **n8n node:** [Bannerbear](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.bannerbear/) (`n8n-nodes-base.bannerbear`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *Bannerbear API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/bannerbear/)).
- **Veefore performs it:** 4 of 4 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://api.bannerbear.com/v2`.
- **Get the key:** [app.bannerbear.com](https://app.bannerbear.com/projects)

**Bannerbear in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an image | `POST /images` | `templateId` |
| Get an image | `GET /images/{imageId}` | `imageId` |
| Get a template | `GET /templates/{templateId}` | `templateId` |
| Get many templates | `GET /templates` | — |

## Baserow

- **n8n node:** [Baserow](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.baserow/) (`n8n-nodes-base.baserow`, version 1.1), 8 actions.
- **n8n performs it:** runs on the n8n credential *Baserow API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/baserow/)).
- **Veefore performs it:** 8 of 8 actions, with the key in a header, as `Authorization: JWT <key>`.
- **You enter:** API key.
- **API address:** `https://{host}`.
- **Get the key:** [baserow.io](https://baserow.io/dashboard)

**Baserow in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create multiple rows | `POST /api/database/rows/table/{tableId}/batch/` | `databaseId`, `tableId`, `host` |
| Delete multiple rows | `POST /api/database/rows/table/{tableId}/batch-delete/` | `databaseId`, `tableId`, `host` |
| Update multiple rows | `PATCH /api/database/rows/table/{tableId}/batch/` | `databaseId`, `tableId`, `host` |
| Create a row | `POST /api/database/rows/table/{tableId}/` | `databaseId`, `tableId`, `host` |
| Delete a row | `DELETE /api/database/rows/table/{tableId}/{rowId}/` | `databaseId`, `tableId`, `rowId`, `host` |
| Get a row | `GET /api/database/rows/table/{tableId}/{rowId}/` | `databaseId`, `tableId`, `rowId`, `host` |
| Get many rows | `GET /api/database/rows/table/{tableId}/` | `databaseId`, `tableId`, `host` |
| Update a row | `PATCH /api/database/rows/table/{tableId}/{rowId}/` | `databaseId`, `tableId`, `rowId`, `host` |

## Beeminder

- **n8n node:** [Beeminder](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.beeminder/) (`n8n-nodes-base.beeminder`, version 1), 18 actions.
- **n8n performs it:** runs on the n8n credential *Beeminder API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/beeminder/)).
- **Veefore performs it:** 18 of 18 actions, with the key in the query string, as `?auth_token=<key>`.
- **You enter:** Auth token.
- **API address:** `https://www.beeminder.com/api/v1`.
- **Get the key:** [beeminder.com](https://www.beeminder.com/api/v1/auth_token.json)

**Beeminder in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a charge | `POST /users/me/goals/{goalName}/datapoints.json` | `amount`, `goalName` |
| Create datapoint for goal | `POST /users/me/goals/{goalName}/datapoints.json` | `goalName`, `value` |
| Create multiple datapoints at once | `POST /users/me/goals/{goalName}/datapoints/create_all.json` | `goalName`, `datapoints` |
| Delete a datapoint | `DELETE /users/me/goals/{goalName}/datapoints/{datapointId}.json` | `goalName`, `datapointId` |
| Get a single datapoint | `GET /users/me/goals/{goalName}/datapoints/{datapointId}.json` | `goalName`, `datapointId` |
| Get many datapoints for a goal | `GET /users/me/goals/{goalName}/datapoints.json` | `goalName` |
| Update a datapoint | `PUT /users/me/goals/{goalName}/datapoints/{datapointId}.json` | `goalName`, `datapointId` |
| Create a new goal | `POST /users/me/goals/{goalName}/datapoints.json` | `slug`, `title`, `goal_type`, `gunits`, `goalName` |
| Get a specific goal | `GET /users/me/goals/{goalName}/datapoints/{datapointId}.json` | `goalName`, `datapointId` |
| Get many goals | `GET /users/me/goals/{goalName}/datapoints.json` | `goalName` |
| Get archived goals | `GET /users/me/goals/archived.json` | — |
| Update a goal | `PUT /users/me/goals/{goalName}/datapoints/{datapointId}.json` | `goalName`, `datapointId` |
| Refresh goal data | `GET /users/me/goals/{goalName}/refresh_graph.json` | `goalName` |
| Short circuit pledge | `POST /users/me/goals/{goalName}/shortcircuit.json` | `goalName` |
| Step down pledge | `POST /users/me/goals/{goalName}/stepdown.json` | `goalName` |
| Cancel step down | `POST /users/me/goals/{goalName}/cancel_stepdown.json` | `goalName` |
| Derail a goal and charge the pledge amount | `POST /users/me/goals/{goalName}/uncleme.json` | `goalName` |
| Get user information | `GET /users/me/goals/{goalName}/datapoints/{datapointId}.json` | `goalName`, `datapointId` |

## Bitly

- **n8n node:** [Bitly](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.bitly/) (`n8n-nodes-base.bitly`, version 1), 3 actions.
- **n8n performs it:** runs on the n8n credential *Bitly API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/bitly/)).
- **Veefore performs it:** 3 of 3 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Access token.
- **API address:** `https://api-ssl.bitly.com/v4`.
- **Get the key:** [app.bitly.com](https://app.bitly.com/settings/api/)

**Bitly in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a link | `POST /bitlinks` | `longUrl` |
| Get a link | `GET /bitlinks/{id}` | `id` |
| Update a link | `PATCH /bitlinks/{id}` | `id` |

## Bitwarden

- **n8n node:** [Bitwarden](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.bitwarden/) (`n8n-nodes-base.bitwarden`, version 1), 19 actions.
- **n8n performs it:** runs on the n8n credential *Bitwarden API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/bitwarden/)).
- **Veefore performs it:** not available. Bitwarden first exchanges the client ID and secret for a short-lived token; n8n performs it.

**Bitwarden in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Delete a collection | n8n performs it | `collectionId` |
| Get a collection | n8n performs it | `collectionId` |
| Get many collections | n8n performs it | — |
| Update a collection | n8n performs it | `collectionId` |
| Get many events | n8n performs it | — |
| Create a group | n8n performs it | `name` |
| Delete a group | n8n performs it | `groupId` |
| Get a group | n8n performs it | `groupId` |
| Get many groups | n8n performs it | — |
| Get group members | n8n performs it | `groupId` |
| Update a group | n8n performs it | `groupId` |
| Update group members | n8n performs it | `groupId` |
| Create a member | n8n performs it | `type` |
| Delete a member | n8n performs it | `memberId` |
| Get a member | n8n performs it | `memberId` |
| Get groups for a member | n8n performs it | `memberId` |
| Get many members | n8n performs it | — |
| Update a member | n8n performs it | `memberId` |
| Update groups for a member | n8n performs it | `memberId` |

## Box

- **n8n node:** [Box](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.box/) (`n8n-nodes-base.box`, version 1), 13 actions.
- **n8n performs it:** runs on the n8n credential *Box OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/box/)).
- **Veefore performs it:** 12 of 13 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://api.box.com/oauth2/token`.
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://api.box.com/2.0`.
- **Get the key:** [app.box.com](https://app.box.com/developers/console)

**Box in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Copy a file | `POST /files/{fileId}/copy` | `fileId` |
| Delete a file | `DELETE /files/{fileId}` | `fileId` |
| Download a file | `GET /files/{fileId}` | `binaryPropertyName`, `fileId` |
| Get a file | `GET /files/{fileId}` | `fileId` |
| Search a file | `GET /search` | — |
| Share a file | `POST /collaborations` | — |
| Upload a file | n8n performs it | `binaryData`, `fileContent` |
| Create a folder | `POST /folders` | `name` |
| Delete a folder | `DELETE /folders/{folderId}` | `folderId` |
| Get a folder | `GET /folders/{folderId}` | `folderId` |
| Search a folder | `GET /search` | — |
| Share a folder | `POST /collaborations` | — |
| Update a folder | `PUT /folders/{folderId}` | `folderId` |

## Brandfetch

- **n8n node:** [Brandfetch](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.brandfetch/) (`n8n-nodes-base.Brandfetch`, version 2), 4 actions.
- **n8n performs it:** runs on the n8n credential *Brandfetch API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/brandfetch/)).
- **Veefore performs it:** 4 of 4 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://api.brandfetch.io/v2`.
- **Get the key:** [developers.brandfetch.com](https://developers.brandfetch.com/dashboard/keys)

**Brandfetch in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Return a brand's logos, symbols and icon | `GET /brands/{type}/{identifier}` | `type`, `identifier`, `download` |
| Return a brand's accent and brand colors | `GET /brands/{type}/{identifier}` | `type`, `identifier` |
| Return all of a brand's data | `GET /brands/{type}/{identifier}` | `type`, `identifier` |
| Return a brand's context | `GET /context/{domain}` | `domain` |

## Brevo

- **n8n node:** [Brevo](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.sendinblue/) (`n8n-nodes-base.sendInBlue`, version 1.1), 15 actions.
- **n8n performs it:** runs on the n8n credential *Brevo* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/brevo/)).
- **Veefore performs it:** 15 of 15 actions, with the key in a header, as `api-key: <key>`.
- **You enter:** API key.
- **API address:** `https://api.brevo.com`.
- **Get the key:** [app.brevo.com](https://app.brevo.com/settings/keys/api)

**Brevo in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a contact | `POST /v3/contacts` | — |
| Upsert a contact | `POST /v3/contacts` | `email` |
| Delete a contact | `DELETE /v3/contacts/{identifier}` | `identifier` |
| Get a contact | `GET /v3/contacts/{identifier}` | `identifier` |
| Get many contacts | `GET /v3/contacts` | — |
| Update a contact | `PUT /v3/contacts/{identifier}` | `identifier` |
| Create an attribute | `POST /v3/contacts/attributes/{attributeCategory}/{attributeName}` | `attributeCategory`, `attributeName`, `attributeType` |
| Update an attribute | `PUT /v3/contacts/attributes/{updateAttributeCategory}/{updateAttributeName}` | `updateAttributeCategory`, `updateAttributeName` |
| Delete an attribute | `DELETE /v3/contacts/attributes/{deleteAttributeCategory}/{deleteAttributeName}` | `deleteAttributeCategory`, `deleteAttributeName` |
| Get many attributes | `GET /v3/contacts/attributes` | — |
| Send a transactional email | `POST /v3/smtp/email` | `sender`, `recipients` |
| Send an email with an existing Template | `POST /v3/smtp/email` | `recipients` |
| Create a sender | `POST /v3/senders` | `name`, `email` |
| Delete a sender | `DELETE /v3/senders/{id}` | `id` |
| Get many senders | `GET /v3/senders` | — |

**Brevo API (OpenAPI)**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Send a transactional email | `POST https://api.brevo.com/v3/smtp/email` | `htmlContent` or `textContent` or `templateId` |
| Create a contact | `POST https://api.brevo.com/v3/contacts` | — |

## Bubble

- **n8n node:** [Bubble](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.bubble/) (`n8n-nodes-base.bubble`, version 1), 5 actions.
- **n8n performs it:** runs on the n8n credential *Bubble API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/bubble/)).
- **Veefore performs it:** 5 of 5 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** API token.
- **API address:** `https://{appName}.bubbleapps.io/api/1.1`.
- **Get the key:** [manual.bubble.io](https://manual.bubble.io/help-guides/integrations/api)

**Bubble in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an object | `POST /obj/{typeName}` | `typeName`, `appName` |
| Delete an object | `DELETE /obj/{typeName}/{objectId}` | `typeName`, `objectId`, `appName` |
| Get an object | `GET /obj/{typeName}/{objectId}` | `typeName`, `objectId`, `appName` |
| Get many objects | `GET /obj/{typeName}` | `typeName`, `appName` |
| Update an object | `PATCH /obj/{typeName}/{objectId}` | `typeName`, `objectId`, `appName` |
