MARKETPLACE
PLUGINS
NATIVE SHARE SHEET MOBILE
Native Share Sheet Mobile logo

Native Share Sheet Mobile

Published September 2026
   β€’    Updated this month

Plugin details

πŸ“€ Share messages, links, files, images, and more using the device’s native share sheet.
You can also use the Share to App action to share text and links directly to apps and social platforms such as WhatsApp, Facebook, X, telegram, email, Pinterest, and more.

Drop it on a page and it is a finished share button. Hide it and drive it from any workflow. No API keys, no backend, no setup.

EDITOR: https://bubble.io/page?id=plugins-testing-46093&test_plugin=1789139229932x125822391101947900_current&tab=Design&name=native_share&type=page&elements=bTLcC

────────────────────────────────
πŸ“¦ WHAT IT SHARES
────────────────────────────────

  • ✍️ Text. Any dynamic text from your app β€” a quote, a code, a message you built in the workflow.
  • πŸ”— Links. Sent as a real URL on iOS, not as a string inside a sentence, so the receiving app shows a proper preview card instead of raw text.
  • πŸ–ΌοΈ Images. Point it at an image URL and the image is downloaded to the phone before the sheet opens. There is nothing else to set up and nothing to store.
  • πŸ“„ Files. 26 file types β€” pdf, doc, docx, xls, xlsx, ppt, pptx, csv, txt, json, zip, jpg, png, gif, webp, heic, bmp, svg, mp4, mov, m4v, mp3, m4a, wav, aac β€” each sent with its correct mime type and its iOS UTI, so the sheet offers the apps that can actually open it. Anything else still shares, as a generic file.
  • 🧩 A photo and its caption in one sheet on iOS. Most implementations make you pick one.
  • πŸ“‹ Copy to clipboard is in here too, because "Copy link" sits next to "Share" in every app your users already use, and a second plugin for one line of text is silly.

────────────────────────────────
πŸ“‘ IT TELLS YOU WHAT HAPPENED
────────────────────────────────

  • βœ… shared β€” it actually went out. This is where you give the referral credit, the badge or the discount.
  • πŸšͺ dismissed β€” they opened the sheet and closed it again. Not the same thing, and now your app can tell the difference. Rewarding a share that never happened is the default everywhere else.
  • πŸ“‹ copied β€” the text went to the clipboard instead.
  • ⚠️ share_failed β€” with a plain-English sentence in last_error saying what went wrong, not a code.
  • πŸ“² And which app took it. On iOS, shared_to comes back as whatsapp, messages, mail, airdrop, instagram, photos, notes, slack, telegram, gmail β€” 32 apps recognised by name. Log it and you learn where your users really share, instead of guessing.
  • ⏳ is_sharing is yes while a file downloads and the sheet is open, so your own buttons can disable themselves without you timing anything.

────────────────────────────────
🎯 STRAIGHT TO ONE APP
────────────────────────────────

Sometimes you do not want the sheet. You want a "Share on WhatsApp" button.

  • πŸ“± Twelve apps, directly: WhatsApp, Telegram, SMS, Email, X, Facebook, Messenger, LinkedIn, Reddit, Pinterest, Threads and Tumblr. Or system for the normal sheet, which matters when the app is a dynamic value from your database.
  • πŸ“ž Send it to someone specific. A phone number for WhatsApp and SMS, an address and a subject line for email. Leave it empty and the app asks.
  • πŸ›Ÿ It never dead-ends. App not installed? The phone opens its website. That fails too? The normal share sheet opens. There is no path where the button does nothing and the user is left tapping it again.
  • 🍎 Built the way iOS actually allows. Custom schemes like whatsapp:// need to be declared in the app's Info.plist at build time, which nobody can do inside Bubble β€” so these are proper web share links that open the installed app and fall back to the browser. It is why they work at all.

────────────────────────────────
🎨 A BUTTON THAT IS ALREADY DESIGNED
────────────────────────────────

  • 🍏 The right icon on each platform. The box-and-arrow on iOS, the three connected dots on Android, drawn as vectors at the size they are shown so they stay sharp on every screen. Users recognise the glyph their phone uses; a generic one reads as a foreign app.
  • πŸŽ›οΈ Five styles. Filled, tinted, outline, plain, and a round icon-only button for a toolbar.
  • 🌈 One colour, and the rest is worked out. Set the button colour and the label picks its own by contrast, so a pale yellow button gets dark text and a deep blue one gets white. No combination you choose can make it unreadable.
  • πŸ“ Sized how you want it β€” height, corner radius, font size, icon on the left or the right, full width or hugging its text.
  • ⏳ It shows it is working. A spinner replaces the icon while a large file downloads, and a second tap cannot open two sheets on top of each other.
  • πŸ«₯ Or hide it completely. One dropdown makes the element invisible and zero-height. Use your own button, your own design, and fire the action from any workflow.


────────────────────────────────
πŸŽ›οΈ FULL WORKFLOW CONTROL
────────────────────────────────

  • πŸ“€ 7 states β€” last result, shared to, is sharing, is available, can share files, last error, last shared text.
  • πŸ“£ 5 events β€” shared, dismissed, share failed, copied, button tapped.
  • βš™οΈ 3 actions β€” Share, Share To App, Copy To Clipboard.
  • 🎯 Usually you fill in one field. Every property on every action is optional and falls back to the element's own setting, so a workflow that shares the usual thing needs nothing filled in at all.
  • 🧠 No share type to pick. Put a file URL in and the file is shared; leave it out and the text and link are. There is no dropdown you have to keep in agreement with the field you filled, which is where this kind of plugin usually goes silently wrong.

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

Questions or a feature you need? Get in touch β€” info@technocode.agency

$20

One time  β€’  Or  $2/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

1. Drop it on the page Drag Native Share onto a mobile page. Out of the box it is a finished share button β€” nothing to size, nothing to wire up. One per page: with two on the same page, the actions talk to the last one placed.

2. Tell it what to share
Fill in any of share_message, share_link or share_file_url on the element. Tapping the button opens the phone's share sheet on it. That is the whole setup β€” no workflow needed.

You can combine them: a message and a link go out together, and on iOS an image and its caption do too.

3. Make it yours
Set button_color to your brand colour and the label picks its own colour by contrast, so you cannot make it unreadable. Pick a button_style β€” filled, tinted, outline, plain, or icon for a round icon-only button. button_icon on auto draws the box-and-arrow on iOS and the three dots on Android, which is the glyph each user already recognises.

4. Or use your own button
Set display_mode to hidden β€” the element becomes invisible and takes no space. Put your own button on the page and run Element Actions β†’ Native Share β†’ Share. Every field on the action is optional and falls back to the element's, so you can fill in just message, or nothing at all.

5. Share an image or a file
Put a public URL in file_url. For a Bubble file, This file's URL works exactly as it comes β€” the protocol-less URL Bubble gives you is repaired automatically. The file is downloaded to the phone and the sheet opens on it.

Add file_name with an extension β€” "Invoice " + This Invoice's number + ".pdf" β€” if the URL does not end in a readable one.

6. Send it straight to one app
Share To App opens WhatsApp, Telegram, SMS, Email, X, Facebook, Messenger, LinkedIn, Reddit, Pinterest, Threads or Tumblr directly. Set app, and to for a phone number or an email address. If the app is not installed the phone opens its website, and if that fails the normal sheet opens β€” it never does nothing.

7. React to what happened
Create When Native Share's shared to run after a completed share, and read Native Share's shared_to to see which app took it. There is also dismissed (they closed the sheet), copied and share_failed, with the reason in last_error.

This is what makes a referral reward honest: shared fires when it went out, dismissed when it did not.

Tips
  • Tick two checkboxes: full_width and copy_if_unavailable. A Bubble checkbox arrives as "no" when unticked, and both are better on.
  • Leave button_text_color empty unless you really need it β€” the label colour is worked out from the button colour, and a pale button gets dark text on its own.
  • Referral links: put the text in share_message and the URL in share_link, not both in the message. On iOS that is what makes the receiving app show a preview card.
  • Sharing an image on Android? The message is not sent with it β€” Android's sheet takes a file or text, not both. iOS sends both. Put the words in the file name if they matter.
  • Disable your own button while it works: bind its condition to is_sharing, which is yes while a large file downloads.
  • A "Copy link" button: point it at Copy To Clipboard with nothing filled in, and use When Native Share's copied to show your confirmation.
  • Letting the user choose the app: Share To App with app set to system opens the normal sheet, so the field can come straight from your database.
  • One element per page. The actions talk to the last one placed.
  • If nothing happens, tick debug_overlay: it shows whether this build has a share sheet, whether it can share files, which action arrived last and which fields came in empty. That last line usually points at the workflow, not the plugin.

Testing
Test on a real device through BubbleGo. The browser preview runs React Native for Web, where the native share sheet does not exist β€” you will see the clipboard fallback or an error there, and that is the preview rather than the plugin. Image and file URLs also have to be publicly reachable, so check that a file behind a privacy rule is one your users can actually fetch.

Types

This plugin can be found under the following types:
Element   β€’   Event   β€’   Action

Categories

This plugin can be found under the following categories:

Resources

Support contact
Documentation
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble