Copy to Clipboard- Custom Action Tool

Copy to Clipboard Action and ShortenURL for AppSheet

I've developed a solution for the highly requested "Copy to Clipboard" functionality in AppSheet, addressing the feature request many users have been asking for.

One Click. That's it.
→ Tap the link
→ It copies the text to your clipboard
→ Browser auto-closes
→ Just paste it wherever you need

No apps. No installs. Just smooth magic.

The Solution I've created a web service that allows you to copy text to clipboard through a simple URL, which works seamlessly with AppSheet's "Open URL" action.

How to Use

  1. Create a Custom Action in your AppSheet app
  2. Set the action type to "Open URL"
  3. Use this formula in the URL field:

 

 

CONCATENATE("https://copy-to-clipboard.onrender.com/copy/", ENCODEURL([Your_Text_Column]))

 

 

  1. Enable "Launch External" in the action settings

When users click the action: 

  • A new tab briefly opens
  • The text is copied to their clipboard
  • The tab automatically closes
  • Once tab is closed click cmd + v or ctrl + v to paste from clipboard

Alternatively to test you can click this and try pasting from clipboard: https://copy-to-clipboard.onrender.com/copy/Extra!%20Extra!%20Clipboard%20functionality%20discovered... 

Technical Overview

The solution uses:

  • A Node.js web service

This implementation provides a workaround until AppSheet implements native clipboard functionality. Feel free to try it out and share your feedback!

This is a community solution addressing the feature request in the linked post, providing immediate functionality while we wait for official implementation.

Note: Tracks usage analytics.


Edit: 

Note: This is not yet completed but can test it out. 

NEW FEATURE: URL Shortener

Integration I've added a URL shortening capability to the service, making it even more versatile for AppSheet users.

How to Use URL Shortener

1. Create a Custom Action in AppSheet

2. Set the action type to "Open URL"

3. Use this formula in the URL field:

 

 

CONCATENATE("https://copy-to-clipboard.onrender.com/shorten/", ENCODEURL([Your_URL_Column]))

 

 

When users click the action: - A new tab briefly opens - A shortened URL is created and copied to their clipboard - The tab automatically closes - Use cmd + v or ctrl + v to paste the shortened

URL Example: Long URL:

https://copy-to-clipboard.onrender.com/shorten/https://www.google.com 

Note: This is not yet completed but can test it out. 

18 33 2,584
  • UX
33 REPLIES 33

Pretty cool!

Thank you for this workaround!

Genius Rifad! Thank you!

Thank you so much @Rifad this is very cool and handy!!!

Thank you everyone! 😊

Hi @Rifad is this working also for LongText columns? When I try it with a LongText column and a simple text like:

Test
Test

Then it opens the new Tab, but it get's stuck in this Tab. It does not close and it does not copy to the clipboard.
The URL is: https://copy-to-clipboard.onrender.com/copy/Test%0ATest

It seems as if it does not like the "%0A". This is the Newline.

I have fixed this 

NEW FEATURE: URL Shortener

Integration I've added a URL shortening capability to the service, making it even more versatile for AppSheet users.

How to Use URL Shortener

1. Create a Custom Action in AppSheet

2. Set the action type to "Open URL"

3. Use this formula in the URL field:

CONCATENATE("https://copy-to-clipboard.onrender.com/shorten/", ENCODEURL([Your_URL_Column]))

When users click the action: - A new tab briefly opens - A shortened URL is created and copied to their clipboard - The tab automatically closes - Use cmd + v or ctrl + v to paste the shortened

URL Example: Long URL: 

https://copy-to-clipboard.onrender.com/shorten/https://www.google.com

 

@Fabian_Weller 

Please note this shorten URL is not completely developed. You may just use it for testing. Once fully done will update here.

It should work with ENCODEURL() I have not tested. I will check this


@Rifad wrote:

It should work with ENCODEURL()


I could not get it done even with ENCODEURL(). LongText seems not to work. 

For what do you use the URL shortener function?


@Fabian_Weller wrote:

For what do you use the URL shortener function?


Typically used to share a record, such as with linktorow() or a file URL. Currently, it doesn't create a permanent database since nothing is connected or stored, making it unsuitable for permanent use. However, it works fine for temporary use cases.

 

Hi everyone, please share your feedback on the copy-to-clipboard feature—I'd like to know if it's useful and working well.

I'm developing a new feature for the AppSheet notification system. Let me know if this will be beneficial. This is a Chrome extension that's not yet approved; I’ll provide access to everyone once it’s approved by the Chrome Web Store and after some testing.

Screenshot 2025-03-14 at 9.33.39 PM.pngScreenshot 2025-03-14 at 10.09.45 PM.png

It's working extra fine for me. Just to be picky, it takes like 2 seconds to open and close, but nothing to say if it give us the copy possibility! Thanks a lot!

It's running on a free server that sleeps after 15 minutes of inactivity and restarts when you copy again. I've implemented a workaround to fix this issue, so it should now be instant moving forward. @APPTandem 

Sorry, it's not a complain because it is an excellent workaround, but it still taking about 3-5 secs

@Rifad Thank you it is working fine. Thank you also for fixing the LongText issue.
To me it still needs some 3-5 sec. to copy just a simple Text like "ABC".

Hi @APPTandem @Fabian_Weller I have pushed a new change now. It should be instant now.

Update: Added a fallback UI for unsupported devices that automatically copies and closes.

Screenshot 2025-03-26 at 4.18.59 PM.png

You rock man! I wish I knew where to start to do things like this. It works perfectly now. Thanks a lot!

Thank you @Rifad now it's very fast click and copy 😀


@Rifad wrote:

NEW FEATURE: URL Shortener


Integration I've added a URL shortening capability to the service, making it even more versatile for AppSheet users.

How to Use URL Shortener

1. Create a Custom Action in AppSheet

2. Set the action type to "Open URL"

3. Use this formula in the URL field:

 

 

CONCATENATE("https://copy-to-clipboard.onrender.com/shorten/", ENCODEURL([Your_URL_Column]))

 

 

When users click the action: - A new tab briefly opens - A shortened URL is created and copied to their clipboard - The tab automatically closes - Use cmd + v or ctrl + v to paste the shortened

URL Example: Long URL:

https://copy-to-clipboard.onrender.com/shorten/https://www.google.com 

Note: This is not yet completed but can test it out. 


This feature is fully developed. You can now use shortened URLs for any AppSheet-related setups.

Screenshot 2025-04-03 at 2.18.17 PM.png

You can add a share button to link to records, creating short URLs for easy sharing of filtered views.

Screenshot 2025-04-03 at 2.20.23 PM.png

Screenshot 2025-04-03 at 2.19.22 PM.png

Here is an example of linktofilteredview: 

CONCATENATE("https://copy-to-clipboard.onrender.com/shorten/", ENCODEURL(CONCATENATE(
  "https://www.appsheet.com/start/f86f54ad-as-4366-94a4-aasd",
  "#view=QUOTES&userfilters=",
  ENCODEURL('[["attribute","Quote Label","' & [_THISROW].[Quote Label] & '"]]'),
  "&table=quote"
)))

You can use it to shorten URLs, which specifically helped me with LINKTOROW(), LINKTOFORM(), etc. It copies the shortened URL to your clipboard for easy sharing.

For example, here’s the output: http://copy-to-clipboard.onrender.com/-rBJ3iv.

The original URL I used to create that was: https://copy-to-clipboard.onrender.com/shorten/https://www.google.com.

Let me know your reviews please! 🙂

Thank you so much @Rifad 
This means we have to create a share action for every table right?
It would be cool if the AppSheet system share button would work this way. The Doc says this:

By default, users can share a link to your app with other users by selecting Share in the app menu. Details about how to install the app are populated in an email that you can customize and send to one or more users.

 
 

Fabian_Weller_2-1744195930123.png

Note: If the current view is a Detail view, the view details are shared instead of installation information.

It would be cool if this Share Button would send the link to the current view.

Any URL can be shortened. This can be any custom URL to link to Form, Row, View, or even any document. You can also use it for custom URLs to share. It simply copies the URL and shortens it.

Hi @Rifad for short column text works really very well, i love it.

Unfortunately for long text still not works (at least for me): any chance to fix it ?

I've tried with a self-made google script that works but open a new window and not automagically close it.

Your solution is way better, if only long text column would be supported ... 

Hi @FaCe How long is your text ? There are character limitations and I am not fully sure about these but this could be potential reason.

Screenshot 2025-04-13 at 8.00.09 PM.png

Hi @Rifad i'm in Chrome and for sure i'm below 32.779 characters.

The issue could be caused by special characters ?
In a (short) text i've:

Points (.) : 7
Commas (,) : 5
Slashes (/) : 2 
Hyphens (-) : 2 (
Euro symbol (€) : 3

I believe ENCODEURL() will be handling this. Let me test and get back to you. 

Hi @Rifad any update on that ? Thank you so much 🤗

Thanks so much for this fabulous contribution.  When you first posted it I was impressed but didn't feel I needed to use it.  Since then, however, it has become clear to me that I need it quite badly in one situation.  I works very, very well!  Thanks again!

Do you mind sharing a screenshot of your config? Since I couldnt make It work yet

Hi!  For background, I share a template version of my app with people.  That allows them to use it for free.  If they need to migrate their data to a newer version of my app, this helps them transfer the settings, which I've put into a single long text string (over 3,000 characters) that the new version parses and then uses to update all of the settings.

That said, the copy to clipboard part of my app is fairly simple.

The interface:

Screenshot 2025-05-27 at 15.20.10.png


The action:

Screenshot 2025-05-27 at 15.20.37.png

 The formula:

Screenshot 2025-05-27 at 15.21.01.png


The formula takes the long text string from a single cell in my spreadsheet.


@Kirk_Masden wrote:

The interface:

Screenshot 2025-05-27 at 15.20.10.png


This is cool. How do you import them, just paste it? Many use cases are opening up for me with this little trick. @Kirk_Masden 

 

Thanks Rifad!  This would be a very rarely used feature for most users (usually either never or once) of my app.   If they DO need to use it they will copy the settings in the old app (via your service) then paste them (as a single long string) into the new app.  Then the new app would parse the string and update the settings.  That's necessary because I publish my app as a template that people copy and use for free.  Once copied, I can't update their templates so if they want to move to a newer, better version of my app they need to use this function.

Thanks for the feedback. 


@Rifad wrote:

This feature is fully developed. You can now use shortened URLs for any AppSheet-related setups.

Screenshot 2025-04-03 at 2.18.17 PM.png

You can add a share button to link to records, creating short URLs for easy sharing of filtered views.

Screenshot 2025-04-03 at 2.20.23 PM.png

Screenshot 2025-04-03 at 2.19.22 PM.png

Here is an example of linktofilteredview: 

CONCATENATE("https://copy-to-clipboard.onrender.com/shorten/", ENCODEURL(CONCATENATE(
  "https://www.appsheet.com/start/f86f54ad-as-4366-94a4-aasd",
  "#view=QUOTES&userfilters=",
  ENCODEURL('[["attribute","Quote Label","' & [_THISROW].[Quote Label] & '"]]'),
  "&table=quote"
)))

You can use it to shorten URLs, which specifically helped me with LINKTOROW(), LINKTOFORM(), etc. It copies the shortened URL to your clipboard for easy sharing.

For example, here’s the output: http://copy-to-clipboard.onrender.com/-rBJ3iv.

The original URL I used to create that was: https://copy-to-clipboard.onrender.com/shorten/https://www.google.com.

Let me know your reviews please! 🙂


Shorten + Copy this is an amazing setup I use for almost every app now. Sharing a dashboard or row was difficult. I have this setup that copes the URL and its amazing. Best part is the userfilter attribute in the URL helps me define the rows or even single record. @Kirk_Masden 

 

Top Labels in this Space