URL is not clickable when derived from an expression

Hi, 

I am trying to create an action button with type : External : Go to an website and here's the issue

When i hard code "www.google.com" - it works as expected ( there's a button that's clickable and takes me to google.com). 
When i use expressions to return a link to google sheets, the button disappears. 

The expressions I have tried so far 
- ANY(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID])))
- INDEX(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID])),1)
- TRIM(ANY(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID])))
- CONCATENATE("""",ANY(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID]))),"""")
- LINKURL(ANY(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID]))))


I have validated the following and still the button disappears,
- the value in URL column is valid hyperlink
- the test returns a valid url 
- i have updated the value in URLcolumn to "www.google.com" and button still disappears

The button appears and is clickable only when i hardcode the link. 

 

0 1 124
1 REPLY 1

It sounds like the issue is with how AppSheet is handling the dynamically generated URL. Here are a few things to check and try:

1. Check if the column type is "URL"

Make sure that URLcolumn in mytable is explicitly set to "URL" and not "Text". Even if the value is a valid URL, if the column is of type "Text", AppSheet might not treat it as a hyperlink properly.

2. Force the value to a URL type using HYPERLINK()

Try wrapping the expression in HYPERLINK():

HYPERLINK(ANY(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID]))), "Click Here")

If AppSheet requires a text label, this ensures it's a proper URL.

3. Ensure the URL has "https://"

AppSheet might be rejecting URLs without a proper scheme (https:// or http://). Try modifying your formula like this:

CONCATENATE("https://", ANY(SELECT(mytable[URLcolumn],([_THISROW].[ID] = [ID]))))

If your stored URLs already have https://, this step isnโ€™t needed.

4. Test with a simpler approach

Instead of using ANY(), try:

LOOKUP([ID], "mytable", "ID", "URLcolumn") or:

INDEX(mytable[URLcolumn], MATCH([ID], mytable[ID], 0))

This can sometimes return a cleaner result than SELECT().

5. Check for leading/trailing spaces

Use TRIM() to clean up any whitespace:

TRIM(LOOKUP([ID], "mytable", "ID", "URLcolumn"))

 

6. Use AppSheet Debugging

  • Open the Expression Assistant.
  • Check the output of your expression using "Test" to ensure it returns a fully-formed URL.
  • Let me know if any of these solutions work or if you're still having trouble
Top Labels in this Space