MARKETPLACE
PLUGINS
WEBSYNC PRO NATIVE MOBILE
WebSync Pro Native Mobile logo

WebSync Pro Native Mobile

Published September 2026
   •    Updated this week

Plugin details

Connect your Bubble web and native mobile apps with a React Native WebView. WebSync Pro lets you exchange data in both directions, make dynamic url updates and work with Bubble data types, text, numbers, lists, files, images, and JSON — all through Bubble workflows.


────────────────────────────────
SEE DEMO
────────────────────────────────

Live demo

Demo Video

Editor

────────────────────────────────
EVERY BUBBLE DATA TYPE — BOTH DIRECTIONS
────────────────────────────────

Carry your real data, with its real type, in both directions:

Text — arrives as text, ready to use.
Number — arrives as a number.
Yes / No — a real boolean on both ends.
Date — with the timezone handled, so a date never shifts by a day in transit. The other side gets the exact instant, the ISO string, and the device offset.
File — as a full https URL plus the file name and extension.
Image — its own action and its own state, separate from File, so it drops straight into an Image element.
Things — your own Bubble data types, sent by unique id. The other side gets the id in its own state, so a Do a search for hands you back the real record with every field available through Bubble's normal selector.
Users — the same, on a channel of its own, so a user never competes with the rest of your data.
Lists — of texts, numbers, yes/no, dates, files, images or things.
JSON — the escape hatch for anything the typed actions do not cover.
[/list]

Each type has its own action to send it, its own state to read it and its own workflow event when it arrives — on both sides. Nothing to parse, nothing to guess.

────────────────────────────────
TWO ELEMENTS, ONE BRIDGE
────────────────────────────────

WebView Native — the visible one. Goes on your native mobile page and renders the web page inside your app. 13 actions, 18 states, 13 workflow events.
WebView Web — invisible. Goes on the Bubble web page the WebView loads. It is the other end of the bridge, and it has nothing to configure: drop it on the page and it works. 10 actions, 15 states, 11 events.

────────────────────────────────
BUILT FOR A REAL NETWORK
────────────────────────────────

  • Nothing is sent into the void. The native side waits until the page says it is ready. Anything sent before that is queued and delivered in order the moment it connects.
  • A reload does not break the link. The handshake restarts on every page load, and the queue survives it.
  • Nothing arrives twice. Every message is tagged and de-duplicated on both ends.
  • Nothing is lost to timing. A message that arrives before your page has finished starting up is held and replayed, not dropped.
  • Lazy-loaded lists are waited for. Bubble hands a list over when it is ready, not when you ask; the plugin retries until it is, so one click is one click.

────────────────────────────────
FULL CONTROL OF THE WEBVIEW
────────────────────────────────

  • Height, width and background colour as element properties — match the background to your app and the WebView stops looking like an embed.
  • Scrolling and pinch-to-zoom on or off.
  • Navigate To URL and Reload as workflow actions, so the page can change without leaving the screen.
  • Run JavaScript inside the loaded page, from any workflow.
  • States for the current URL and the loading status.
  • A Page Load Error event with the reason, so a page that fails to load is something you handle, not a blank rectangle.


────────────────────────────────
EXAMPLES
────────────────────────────────

  • Checkout, KYC or booking flows that live on the web and report the result back into the app.
  • Seat maps, floor plans and interactive charts that take their data from Bubble and send taps back.
  • Signature pads, drawing canvases and camera-based scanners.
  • Rich text and code editors that save into your Bubble database.
  • Third-party embeds that need to know who the logged-in user is.
  • One web page that renders differently inside the app than it does in a browser.

────────────────────────────────
RISK FREE TRIAL
────────────────────────────────

To try any plugin, simply subscribe to its monthly plan. Bubble's pro-rata billing ensures you only pay for the days you use it (e.g., only ~$0.10 per day for a $4/month plugin).

────────────────────────────────

Questions or a feature you need? Get in touch — info@technocode.agency

$30

One time  •  Or  $3/mo

stars   •   0 ratings
0 installs  
This plugin does not collect or track your personal data.

Platform

Native mobile

Contributor details

Technocode logo
Technocode
Joined 2020   •   18 Plugins
View contributor profile

Instructions

QUICK START
Connect your Bubble web app with your Bubble native mobile app in just a few steps.

1. Add WebSync Pro

Install the plugin in both:

• Your Bubble native mobile app
• The Bubble web app you want to load inside the WebView

2. Add WebView Native

In your native mobile app:

• Add WebView Native to your page
• Set its URL to the web page you want to load
• Give the element a height

Tip: A native WebView without a defined height may appear blank.

3. Add WebView Web

In the web page loaded inside the WebView:

• Add WebView Web anywhere on the page
• No configuration is required

4. Start communicating

That's it. The bridge connects automatically.

You can now send data between your native app and web app using the Send actions and receive it using Received events and states.

---

SENDING DATA

Both WebView Native and WebView Web can send data to the other side.

Available data types:

• Text
• Number
• Boolean
• Date
• File
• Thing
• List of Things
• JSON

Use the corresponding Send [Data Type] action from a workflow.

For example:

WebView Native → Send Text → WebView Web

Add a data_name to identify your data when multiple values are being sent.

---

RECEIVING DATA

Each data type has its own event and state.

For example:

Received Text
received_text

Received Number
received_number

Received Date
received_date

Received Thing
received_json

You can use received_name to identify which value was received.

For example:

data_name = "order_id"

Then trigger your workflow only when:

received_name = "order_id"

---

THINGS & LISTS

Things are sent using their unique ID, allowing you to work with the original Bubble data on the receiving side.

You can also send Lists of Things.

For advanced use cases, you can send additional fields with a Thing or use JSON for custom data structures.

---

BRIDGE READY

Use the Bridge Ready event when you want to start sending data as soon as the connection is established.

You don't have to wait for the page to finish loading — WebSync automatically queues messages sent before the bridge is ready and delivers them once the connection is established.

---

THAT'S IT

WebSync Pro handles the connection between your native and web environments automatically.

Use WebView Native on the native side and WebView Web on the web side, then communicate between them using Bubble workflows.

────────────────────────────────
DOCUMENTATION
────────────────────────────────

Full documentation: https://wide-finch-c12.notion.site/WebSync-Pro-Documentation-3d361f4cca3a80f28e30ccbf06ea5345

Types

This plugin can be found under the following types:
Element   •   Event   •   Action

Categories

This plugin can be found under the following categories:
Mobile   •   Productivity   •   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble