✅
Link to the plugin page: https://zeroqode.com/plugin/air-whiteboard-plugin-for-bubble-1739189461680x483768179416318000
Demo to preview the plugin:
✅
Introduction
The Air Whiteboard Plugin allows you to integrate a fully functional, real-time collaborative whiteboard into your Bubble application. It’s perfect for teams, classrooms, and SaaS tools that rely on visual brainstorming or collaborative ideation.
Changes made on one user’s board are instantly synchronized across all connected participants making teamwork seamless and efficient.
Key Features
- Real-time Collaboration – Every change made by one participant is broadcasted to all others in just a few seconds, ensuring everyone stays on the same page.
- Unlimited Boards – Create and manage as many whiteboards as your project needs. Each board operates independently, ideal for different teams or sessions.
- Team Sharing – Invite collaborators to your boards easily. Share access with teammates, clients, or friends for quick feedback and idea exchange.
- Easy Setup – The plugin is designed to be beginner-friendly, requiring minimal configuration while remaining powerful for advanced use cases.
- Perfect for SaaS Apps – Integrate whiteboarding directly into your platform to increase engagement and collaboration.
How to setup
Step 1 – Install the Plugin
- Go to the Plugin Tab
- Open your Bubble Editor.
- Navigate to the Plugins tab on the left panel.
- Add Plugins
- Once in the Plugins tab, click the Add Plugins button.
- Search for the Plugin
- Use the search bar to type Air Whiteboard.
- Locate the plugin in the search results.
- Install/Buy
- If the plugin is free, click Install to add it to your application.
- For a paid plugin, click Buy and follow the purchase instructions.
- Payment Information (For Paid Plugins)
- If the plugin is a paid one, fill in your payment details and make payment.
- Charges will be added to your Bubble billing account.
- Remember, if you unsubscribe from the plugin shortly after installation, charges will be prorated based on the days used.
- Plugin Installed
- Once installed, the plugin will appear under the Installed Plugins list in your Bubble Editor.
Step 2 – Add the Plugin Element to Your Page
- Open the Design tab in your Bubble editor.
- Search for the Wonderful whiteboard element in the Elements panel.
- You’ll see two options:
- Wonderful whiteboard
- Drag and drop the element onto your page.
Step 3 – Get your Client ID and API keys
Get your Client ID and API keys after registration https://www.whiteboard.team/app/panel/developers
- Log in to your Whiteboard account - Open the Whiteboard app and sign in with your developer or admin account.
- Open the Developers area - From the left sidebar, click Developers (or Settings → Developers) to open the developer console.
- Create a new application - Click Create Application (or Create App) to start a new developer app.
- Enter an App Name - In the Create App form, enter a descriptive name (e.g.,
MyWhiteboardApporWonderfulWhiteboard-Prod). This will identify the app in the console. - Accept the Terms - Tick the checkbox to accept the Developer Terms or API terms of use (if present), then click Save to create the app.
- View your App credentials - fter saving, the app details page will display your Client ID and Client Secret. Copy both values now — you’ll need them for plugin configuration.
Step 4 – Configure Properties
Select the element and configure its properties in the Property Editor. Each field maps to a required job posting attribute:
- Client ID – A unique identifier for your whiteboard instance. This ID links your Bubble app to the whiteboard service and ensures that all participants connect to the same workspace.
- Board Code – The unique code or ID for a specific whiteboard session. This allows you to dynamically load and join a particular board (for example, by using a board ID from the page URL or database).
- Role – Defines the user’s permissions on the board. Common roles include editor (can draw and make changes) and viewer (can only view the board).
- Display Name – The participant’s display name shown to other collaborators on the board. This is often linked to the Current User’s name for personalized identification during collaboration.
- Tool – Specifies the currently active drawing tool, such as pen, arrow, or other supported whiteboard tools.
- API-Key – Insert your Client Secret in the API Key fields of the plugin.
Plugin Element Properties - Wonderful Whiteboard
Fields
Title | Description | Type |
Client ID | Enter your Client ID obtained from your Whiteboard Team Developer Panel. You can find it at https://www.whiteboard.team/panel/developers. This ID connects your app to your Whiteboard account. | Text |
Board Code | A unique identifier for each whiteboard session. It must be at least 15 characters long, unique, and unguessable to ensure security and correct session linking. | Text |
Role | Defines the user’s permission level on the board.
• editor – can draw, write, and modify the board.
• viewer – can only view the board content. | Text |
Display Name | The name displayed to other participants during collaboration. Often mapped dynamically to the current user’s name for personalization. | Text (optional) |
Tool | Sets the default drawing tool for the user when they open the board. Available options: pan, pen, line, arrow, circle, filledCircle, rectangle, filledRectangle, text, stickyNote, select. | Dropdown |
Element Actions
1. Get Image – Captures and retrieves the current state of the whiteboard as an image.
2. Zoom In – Increases the zoom level of the whiteboard by one step for a closer view.
3. Zoom Out – Decreases the zoom level by one step to view more of the board.
4. Reset Zoom – Resets the whiteboard zoom back to 100%.
5. Undo – Reverses the most recent action performed by the current user.
6. Fit To Screen – Adjusts the zoom and pan so that the entire whiteboard content fits within the visible area.
7. Get User ID – Retrieves the unique identifier of the currently active user on the board.
8. Notification – Displays a notification message on the whiteboard interface.
Title | Description | Type |
Message | Represents the text or data content of a notification. The message appears on the whiteboard as a visual alert to users. | Text |
9. Full Screen – Expands the whiteboard view to occupy the entire screen for distraction-free collaboration.
10. Reinitialize – Resets and reloads the whiteboard to its default initialized state.
11. Draw Image to Center – Uploads and places an image directly at the center of the whiteboard.
Title | Description | Type |
Image | Refers to a digital visual asset (e.g., JPEG, PNG, GIF) that can be rendered onto the whiteboard. | Image |
12. Draw Image w/ Position – Uploads an image to a specific location on the whiteboard, allowing for precise placement control.
Title | Description | Type |
Image | A digital file (e.g., photo, graphic) that is drawn on the board. | Image |
X Value | Defines the horizontal coordinate where the image will be placed on the board. | Number |
Y Value | Defines the vertical coordinate where the image will be placed on the board. | Number |
Exposed States
Title | Description | Type |
Error Message | Displays an alert or notification when a problem occurs during plugin or API execution. Useful for identifying and troubleshooting issues. | Text |
Current User ID | The unique identifier of the user currently logged in or authenticated within the plugin environment. | Text |
Joined User ID | A unique identifier assigned to a user who has joined a session or collaboration board. Used for tracking and authentication. | Text |
Joined User Display Name | The visible display name of a user who has joined the board or collaborative session. | Text |
Left User ID | The unique identifier of a user who has left or disconnected from the board or active session. | Text |
Left User Display Name | The display name of a user who has left or exited the current whiteboard session. | Text |
Board Image | Represents a visual snapshot or graphical capture of the current whiteboard, useful for saving or sharing progress. | Text |
Board Name | Displays the name of the currently active whiteboard. Run the Get Board Name action before using this state. | Text |
Element Events
Title | Description |
Error | Triggered when an error occurs within the whiteboard, allowing you to handle or display error notifications. |
Ready | Triggered when the whiteboard has fully loaded and is ready for interaction. |
User Joined | Triggered when another participant joins the whiteboard session. Useful for tracking active collaborators. |
User Left | Triggered when a participant leaves the whiteboard session. |
Mouse Leave from Whiteboard | Triggered when the current user's mouse cursor exits the whiteboard area. |
Mouse Enter to Whiteboard | Triggered when the current user's mouse cursor enters or hovers over the whiteboard area. |
Plugin Data
Get All Boards
Get All Boards retrieves a complete list of all existing whiteboards within the system or user account. This function is useful for displaying available boards, managing sessions, or allowing users to select an existing board to join or edit.
Name | Description | Type |
Random Number | To be able to run the API Call repeatedly without refreshing the page, assign a random value here and have this random value change each time the call runs. You can use the expression "Calculate formula" for this. | Text |
Return Values:
Return type: JSON
json{ "data": { "id": "text", "name": "text", "code": "text", "createdDate": "undefined", "lastUse": "undefined", "lastChange": "undefined" }, "totalCount": "number" }
Get Board Details w/ Board ID
Retrieves specific information about a particular whiteboard using its unique Board ID. This function allows you to access board-specific details such as its name, participants, creation date, and other related metadata within the plugin or API.
Name | Description | Type |
Board ID | The unique identifier of the board you want to retrieve details for. You can obtain this ID using the Get All Boards API call. | Text |
Random Number | Allows the API call to run multiple times without requiring a page refresh. Assign a random value that updates each time the call runs using the “Calculate formula” expression in Bubble. | Text |
Return Values:
Return type: JSON
json{ "name": "text", "code": "text", "createdDate": "undefined", "lastUse": "undefined", "lastChange": "undefined", "shareType": "number", "members": { "id": "text", "joinedDate": "text", "isActive": "yes/no", "role": "text" } }
Get Board Details w/ Board Code
This function retrieves detailed information about a specific board using its unique board code. It is useful for accessing board data when you already know the board’s unique code instead of its ID — enabling targeted queries and streamlined data retrieval within your Bubble app or API integration.
Name | Description | Type |
Board Code | The unique alphanumeric code assigned to a specific board. This code identifies the board within the system and is required to fetch its details. | Text |
Random Number | Allows the API call to run repeatedly without needing to refresh the page. Assign a random value that updates with each call using the “Calculate formula” expression in Bubble. | Text |
Return Values:
Return type: JSON
json{ "id": "text", "name": "text", "createdDate": "undefined", "lastUse": "undefined", "lastChange": "undefined", "members": { "id": "text", "joinedDate": "undefined", "isActive": "yes/no", "role": "text" } }
Plugin Actions
Save File
The Save File action allows you to store whiteboard data or snapshots directly through your Bubble app using the plugin’s API. This function saves the board content (in base64 image format) to your server or database, making it ideal for archiving, exporting, or sharing whiteboard sessions.
Name | Description | Type |
Website Home URL | The base or root URL of your website where the main application is hosted. Used to correctly reference the save endpoint within your app. | Text |
Endpoint Name | The specific API endpoint that handles the save operation. It defines where the file should be sent or processed. | Text |
Filename | The name to assign to the saved file (e.g., whiteboard-session-01.png). | Text |
Content | The whiteboard’s image data in base64 format, representing the visual content to be stored. | Text |
Board Code | The unique identifier of the whiteboard to be saved. Used to associate the file with a specific board. | Text |
Return Values:
Return type: JSON
json{ "status": "image" }
Delete A Board
The Delete a Board function allows users to permanently remove a specific whiteboard or workspace from the system. This is useful for managing and cleaning up boards that are no longer needed. Once deleted, the board and its content cannot be recovered.
Name | Description | Type |
Board ID | The unique identifier of the board you wish to delete. You can obtain this ID using the Get All Boards API call. | Text |
Return Values:
Return type: empty
Changelogs
Update 03.07.25 - Version 1.10.0
- Bubble Plugin Page Update (Logo).
Update 11.06.25 - Version 1.9.0
- Marketing update (minor change).
Update 31.05.25 - Version 1.8.0
- Minor update (Marketing update).
Update 08.05.25 - Version 1.7.0
- Minor update (Marketing update).
Update 17.02.25 - Version 1.6.0
- Minor update(Marketing update).
Update 17.02.25 - Version 1.5.0
- Acquired by Zeroqode.
Update 23.08.24 - Version 1.4.0
- Updated Description.
Update 24.07.24 - Version 1.3.1
- Updated Documentation.
Update 22.07.24 - Version 1.3.0
- Update to responsive engine.
Update 13.10.23 - Version 1.2.4
- Updated Description.
Update 12.10.23 - Version 1.2.3
- Updated Description.
Update 02.10.23 - Version 1.2.2
- Updated Demo Page.
Update 13.09.23 - Version 1.2.1
- Minor Fix.
Update 02.01.23 - Version 1.2.0
- New Details.
Update 17.10.22 - Version 1.1.0
- Added a new API Call .
Update 20.09.22 - Version 1.0.0
- 1- First Release.