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.
CONCATENATE("https://copy-to-clipboard.onrender.com/copy/", ENCODEURL([Your_Text_Column]))
When users click the action:
Alternatively to test you can click this and try pasting from clipboard: https://copy-to-clipboard.onrender.com/copy/Extra!%20Extra!%20Clipboard%20functionality%20discovered...
The solution uses:
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.
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
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.
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.
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.
You can add a share button to link to records, creating short URLs for easy sharing of filtered views.
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.
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.
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:
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:
The action:
The formula:
The formula takes the long text string from a single cell in my spreadsheet.
@Kirk_Masden wrote:
The interface:
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.
You can add a share button to link to records, creating short URLs for easy sharing of filtered views.
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